From e562930cc2f43629539e1045c19c5c697b159755 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcos=20Garci=CC=81a=20de=20La=20Fuente?= Date: Sun, 16 Feb 2014 01:00:18 +0100 Subject: [PATCH 001/293] Corrected Vagrant box URL --- dev/vagrant/dolibarrdev/Vagrantfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dev/vagrant/dolibarrdev/Vagrantfile b/dev/vagrant/dolibarrdev/Vagrantfile index eab9f03b69d..13ec1ac8494 100644 --- a/dev/vagrant/dolibarrdev/Vagrantfile +++ b/dev/vagrant/dolibarrdev/Vagrantfile @@ -1,6 +1,6 @@ Vagrant.configure("2") do |config| config.vm.box = "debian-wheezy72-x64-vbox43" - config.vm.box_url = "https://puphpet.s3.amazonaws.com/debian-wheezy72-x64-vbox43.box" + config.vm.box_url = "http://box.puphpet.com/debian-wheezy72-x64-vbox43.box" config.vm.network "private_network", ip: "192.168.42.101" From cb90181719f18fae43c3616cfcbaf511967f6139 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcos=20Garci=CC=81a=20de=20La=20Fuente?= Date: Sun, 16 Feb 2014 02:16:17 +0100 Subject: [PATCH 002/293] Updated doc and removed incompatible .vimrc file --- .gitattributes | 1 - dev/vagrant/README.md | 4 +- dev/vagrant/dolibarrdev/files/dot/.vimrc | 414 ----------------------- 3 files changed, 2 insertions(+), 417 deletions(-) delete mode 100644 dev/vagrant/dolibarrdev/files/dot/.vimrc diff --git a/.gitattributes b/.gitattributes index b3bbb77b211..c5785ace780 100644 --- a/.gitattributes +++ b/.gitattributes @@ -20,7 +20,6 @@ *.yaml text eol=lf .bash_aliases text eol=lf -.vimrc text eol=lf # Denote all files that are truly binary and should not be modified. *.bmp binary diff --git a/dev/vagrant/README.md b/dev/vagrant/README.md index 3a2317abcf1..d09db63048f 100644 --- a/dev/vagrant/README.md +++ b/dev/vagrant/README.md @@ -28,13 +28,13 @@ That's all you need to do. It will build a brand new VirtalBox machine for you w ### Name resolution For easy access to the VM you need to setup name resolution to the machines IP. -Edit the [hosts](https://fr.wikipedia.org/wiki/Hosts) file on the machine you run Vagrant on to map the virtual machine's IP to it's Vhost name. +Edit the hosts file on the machine you run Vagrant on to map the virtual machine's IP to it's Vhost name. Example syntax: 192.168.42.101 dev.dolibarr.org -Once this is done, you will be able to access your VM's service at +Once this is done, you will be able to access your VM's service at Available boxes --------------- diff --git a/dev/vagrant/dolibarrdev/files/dot/.vimrc b/dev/vagrant/dolibarrdev/files/dot/.vimrc deleted file mode 100644 index 2ff1aa60801..00000000000 --- a/dev/vagrant/dolibarrdev/files/dot/.vimrc +++ /dev/null @@ -1,414 +0,0 @@ -set rtp+=$GOROOT/misc/vim - -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" Maintainer: -" Amir Salihefendic -" http://amix.dk - amix@amix.dk -" -" Version: -" 5.0 - 29/05/12 15:43:36 -" -" Blog_post: -" http://amix.dk/blog/post/19691#The-ultimate-Vim-configuration-on-Github -" -" Awesome_version: -" Get this config, nice color schemes and lots of plugins! -" -" Install the awesome version from: -" -" https://github.com/amix/vimrc -" -" Syntax_highlighted: -" http://amix.dk/vim/vimrc.html -" -" Raw_version: -" http://amix.dk/vim/vimrc.txt -" -" Sections: -" -> General -" -> VIM user interface -" -> Colors and Fonts -" -> Files and backups -" -> Text, tab and indent related -" -> Visual mode related -" -> Moving around, tabs and buffers -" -> Status line -" -> Editing mappings -" -> vimgrep searching and cope displaying -" -> Spell checking -" -> Misc -" -> Helper functions -" -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" - - -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" => General -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" Sets how many lines of history VIM has to remember -set history=700 - -" Enable filetype plugins -filetype plugin on -filetype indent on - -" Set to auto read when a file is changed from the outside -set autoread - -" With a map leader it's possible to do extra key combinations -" like w saves the current file -let mapleader = "," -let g:mapleader = "," - -" Fast saving -nmap w :w! - -" :W sudo saves the file -" (useful for handling the permission-denied error) -command W w !sudo tee % > /dev/null - - -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" => VIM user interface -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" Set 7 lines to the cursor - when moving vertically using j/k -set so=7 - -" Turn on the WiLd menu -set wildmenu - -" Ignore compiled files -set wildignore=*.o,*~,*.pyc -if has("win16") || has("win32") - set wildignore+=*/.git/*,*/.hg/*,*/.svn/*,*/.DS_Store -else - set wildignore+=.git\*,.hg\*,.svn\* -endif - -"Always show current position -set ruler - -" Height of the command bar -set cmdheight=2 - -" A buffer becomes hidden when it is abandoned -set hid - -" Configure backspace so it acts as it should act -set backspace=eol,start,indent -set whichwrap+=<,>,h,l - -" Ignore case when searching -set ignorecase - -" When searching try to be smart about cases -set smartcase - -" Highlight search results -set hlsearch - -" Makes search act like search in modern browsers -set incsearch - -" Don't redraw while executing macros (good performance config) -set lazyredraw - -" For regular expressions turn magic on -set magic - -" Show matching brackets when text indicator is over them -set showmatch -" How many tenths of a second to blink when matching brackets -set mat=2 - -" No annoying sound on errors -set noerrorbells -set novisualbell -set t_vb= -set tm=500 - -" Add a bit extra margin to the left -set foldcolumn=1 - - -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" => Colors and Fonts -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" Enable syntax highlighting -syntax enable - -try - colorscheme desert -catch -endtry - -set background=dark - -" Set extra options when running in GUI mode -if has("gui_running") - set guioptions-=T - set guioptions-=e - set t_Co=256 - set guitablabel=%M\ %t -endif - -" Set utf8 as standard encoding and en_US as the standard language -set encoding=utf8 - -" Use Unix as the standard file type -set ffs=unix,dos,mac - - -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" => Files, backups and undo -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" Turn backup off, since most stuff is in SVN, git et.c anyway... -set nobackup -set nowb -set noswapfile - - -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" => Text, tab and indent related -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" Use spaces instead of tabs -set expandtab - -" Be smart when using tabs ;) -set smarttab - -" 1 tab == 4 spaces -set shiftwidth=4 -set tabstop=4 - -" Linebreak on 500 characters -set lbr -set tw=500 - -set ai "Auto indent -set si "Smart indent -set wrap "Wrap lines - - -"""""""""""""""""""""""""""""" -" => Visual mode related -"""""""""""""""""""""""""""""" -" Visual mode pressing * or # searches for the current selection -" Super useful! From an idea by Michael Naumann -vnoremap * :call VisualSelection('f', '') -vnoremap # :call VisualSelection('b', '') - - -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" => Moving around, tabs, windows and buffers -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" Treat long lines as break lines (useful when moving around in them) -map j gj -map k gk - -" Map to / (search) and Ctrl- to ? (backwards search) -map / -map ? - -" Disable highlight when is pressed -map :noh - -" Smart way to move between windows -map j -map k -map h -map l - -" Close the current buffer -map bd :Bclose - -" Close all the buffers -map ba :1,1000 bd! - -" Useful mappings for managing tabs -map tn :tabnew -map to :tabonly -map tc :tabclose -map tm :tabmove -map t :tabnext - -" Opens a new tab with the current buffer's path -" Super useful when editing files in the same directory -map te :tabedit =expand("%:p:h")/ - -" Switch CWD to the directory of the open buffer -map cd :cd %:p:h:pwd - -" Specify the behavior when switching between buffers -try - set switchbuf=useopen,usetab,newtab - set stal=2 -catch -endtry - -" Return to last edit position when opening files (You want this!) -autocmd BufReadPost * - \ if line("'\"") > 0 && line("'\"") <= line("$") | - \ exe "normal! g`\"" | - \ endif -" Remember info about open buffers on close -set viminfo^=% - - -"""""""""""""""""""""""""""""" -" => Status line -"""""""""""""""""""""""""""""" -" Always show the status line -set laststatus=2 - -" Format the status line -set statusline=\ %{HasPaste()}%F%m%r%h\ %w\ \ CWD:\ %r%{getcwd()}%h\ \ \ Line:\ %l - - -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" => Editing mappings -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" Remap VIM 0 to first non-blank character -map 0 ^ - -" Move a line of text using ALT+[jk] or Comamnd+[jk] on mac -nmap mz:m+`z -nmap mz:m-2`z -vmap :m'>+`mzgv`yo`z -vmap :m'<-2`>my` - nmap - vmap - vmap -endif - -" Delete trailing white space on save, useful for Python and CoffeeScript ;) -func! DeleteTrailingWS() - exe "normal mz" - %s/\s\+$//ge - exe "normal `z" -endfunc -autocmd BufWrite *.py :call DeleteTrailingWS() -autocmd BufWrite *.coffee :call DeleteTrailingWS() - - -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" => vimgrep searching and cope displaying -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" When you press gv you vimgrep after the selected text -vnoremap gv :call VisualSelection('gv', '') - -" Open vimgrep and put the cursor in the right position -map g :vimgrep // **/*. - -" Vimgreps in the current file -map :vimgrep // % - -" When you press r you can search and replace the selected text -vnoremap r :call VisualSelection('replace', '') - -" Do :help cope if you are unsure what cope is. It's super useful! -" -" When you search with vimgrep, display your results in cope by doing: -" cc -" -" To go to the next search result do: -" n -" -" To go to the previous search results do: -" p -" -map cc :botright cope -map co ggVGy:tabnew:set syntax=qfpgg -map n :cn -map p :cp - - -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" => Spell checking -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" Pressing ,ss will toggle and untoggle spell checking -map ss :setlocal spell! - -" Shortcuts using -map sn ]s -map sp [s -map sa zg -map s? z= - - -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" => Misc -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" Remove the Windows ^M - when the encodings gets messed up -noremap m mmHmt:%s///ge'tzt'm - -" Quickly open a buffer for scripbble -map q :e ~/buffer - -" Toggle paste mode on and off -map pp :setlocal paste! - - - -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" => Helper functions -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -function! CmdLine(str) - exe "menu Foo.Bar :" . a:str - emenu Foo.Bar - unmenu Foo -endfunction - -function! VisualSelection(direction, extra_filter) range - let l:saved_reg = @" - execute "normal! vgvy" - - let l:pattern = escape(@", '\\/.*$^~[]') - let l:pattern = substitute(l:pattern, "\n$", "", "") - - if a:direction == 'b' - execute "normal ?" . l:pattern . "^M" - elseif a:direction == 'gv' - call CmdLine("vimgrep " . '/'. l:pattern . '/' . ' **/*.' . a:extra_filter) - elseif a:direction == 'replace' - call CmdLine("%s" . '/'. l:pattern . '/') - elseif a:direction == 'f' - execute "normal /" . l:pattern . "^M" - endif - - let @/ = l:pattern - let @" = l:saved_reg -endfunction - - -" Returns true if paste mode is enabled -function! HasPaste() - if &paste - return 'PASTE MODE ' - en - return '' -endfunction - -" Don't close window, when deleting a buffer -command! Bclose call BufcloseCloseIt() -function! BufcloseCloseIt() - let l:currentBufNum = bufnr("%") - let l:alternateBufNum = bufnr("#") - - if buflisted(l:alternateBufNum) - buffer # - else - bnext - endif - - if bufnr("%") == l:currentBufNum - new - endif - - if buflisted(l:currentBufNum) - execute("bdelete! ".l:currentBufNum) - endif -endfunction From 8ac8af0f407c3a9627baa8c9875c89f359d390fe Mon Sep 17 00:00:00 2001 From: BENKE Charles Date: Mon, 17 Feb 2014 12:12:18 +0100 Subject: [PATCH 003/293] Update modProjet.class.php bad incrementation --- htdocs/core/modules/modProjet.class.php | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/htdocs/core/modules/modProjet.class.php b/htdocs/core/modules/modProjet.class.php index fb7fa20533b..a246e8eb371 100644 --- a/htdocs/core/modules/modProjet.class.php +++ b/htdocs/core/modules/modProjet.class.php @@ -87,12 +87,12 @@ class modProjet extends DolibarrModules $this->const[$r][4] = 0; $r++; - $r++; $this->const[$r][0] = "PROJECT_ADDON_PDF_ODT_PATH"; $this->const[$r][1] = "chaine"; $this->const[$r][2] = "DOL_DATA_ROOT/doctemplates/projects"; $this->const[$r][3] = ""; $this->const[$r][4] = 0; + $r++; $this->const[$r][0] = "PROJECT_TASK_ADDON_PDF"; $this->const[$r][1] = "chaine"; @@ -108,7 +108,6 @@ class modProjet extends DolibarrModules $this->const[$r][4] = 0; $r++; - $r++; $this->const[$r][0] = "PROJECT_TASK_ADDON_PDF_ODT_PATH"; $this->const[$r][1] = "chaine"; $this->const[$r][2] = "DOL_DATA_ROOT/doctemplates/tasks"; From 7511f626b3d5eb4bc34afc2d014761c226b6f312 Mon Sep 17 00:00:00 2001 From: simnandez Date: Wed, 19 Feb 2014 17:32:20 +0100 Subject: [PATCH 004/293] Fix: Action event SHIPPING_VALIDATE is not implemented --- ChangeLog | 1 + ...terface_50_modAgenda_ActionsAuto.class.php | 21 ++++++++++++++++++- htdocs/langs/ca_ES/agenda.lang | 1 + htdocs/langs/en_US/agenda.lang | 1 + htdocs/langs/es_ES/agenda.lang | 1 + htdocs/langs/fr_FR/agenda.lang | 1 + 6 files changed, 25 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index a90f737ab4d..d58f3278d2c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -29,6 +29,7 @@ Fix: user right on Holiday for month report nor working. Fix: [ bug #1250 ] "Supplier Ref. product" sidebar search box does not work Fix: Bad space in predefined messages. Fix: Signature was not added for email sent from thirdparty page. +Fix: Action event SHIPPING_VALIDATE is not implemented ***** ChangeLog for 3.5 compared to 3.4.* ***** For users: diff --git a/htdocs/core/triggers/interface_50_modAgenda_ActionsAuto.class.php b/htdocs/core/triggers/interface_50_modAgenda_ActionsAuto.class.php index b089b5487a7..6ab80b6ad88 100644 --- a/htdocs/core/triggers/interface_50_modAgenda_ActionsAuto.class.php +++ b/htdocs/core/triggers/interface_50_modAgenda_ActionsAuto.class.php @@ -1,7 +1,7 @@ * Copyright (C) 2009-2011 Regis Houssin - * Copyright (C) 2011 Juanjo Menent + * Copyright (C) 2011-2013 Juanjo Menent * Copyright (C) 2013 Cedric GROSS * * This program is free software; you can redistribute it and/or modify @@ -373,6 +373,25 @@ class InterfaceActionsAuto // Parameters $object->sendotid defined by caller //$object->sendtoid=0; $ok=1; + } + elseif ($action == 'SHIPPING_VALIDATE') + { + dol_syslog("Trigger '".$this->name."' for action '$action' launched by ".__FILE__.". id=".$object->id); + $langs->load("other"); + $langs->load("sendings"); + $langs->load("agenda"); + + $object->actiontypecode='AC_OTH_AUTO'; + if (empty($object->actionmsg2)) $object->actionmsg2=$langs->transnoentities("ShippingValidated",$object->ref); + if (empty($object->actionmsg)) + { + $object->actionmsg=$langs->transnoentities("ShippingValidated",$object->ref); + $object->actionmsg.="\n".$langs->transnoentities("Author").': '.$user->login; + } + + // Parameters $object->sendtoid defined by caller + //$object->sendtoid=0; + $ok=1; } elseif ($action == 'SHIPPING_SENTBYMAIL') { diff --git a/htdocs/langs/ca_ES/agenda.lang b/htdocs/langs/ca_ES/agenda.lang index 238911047e3..f0612d4abe2 100644 --- a/htdocs/langs/ca_ES/agenda.lang +++ b/htdocs/langs/ca_ES/agenda.lang @@ -52,6 +52,7 @@ InvoiceSentByEMail=Factura a client %s enviada per e-mail SupplierOrderSentByEMail=Comanda a proveïdor %s enviada per e-mail SupplierInvoiceSentByEMail=Factura de proveïdor %s enviada per e-mail ShippingSentByEMail=Expedició %s enviada per e-mail +ShippingValidated=Expedició %s validada InterventionSentByEMail=Intervenció %s enviada per e-mail NewCompanyToDolibarr= Tercer creat DateActionPlannedStart= Data d'inici prevista diff --git a/htdocs/langs/en_US/agenda.lang b/htdocs/langs/en_US/agenda.lang index 187f818210e..0e37d3290f7 100644 --- a/htdocs/langs/en_US/agenda.lang +++ b/htdocs/langs/en_US/agenda.lang @@ -52,6 +52,7 @@ InvoiceSentByEMail=Customer invoice %s sent by EMail SupplierOrderSentByEMail=Supplier order %s sent by EMail SupplierInvoiceSentByEMail=Supplier invoice %s sent by EMail ShippingSentByEMail=Shipping %s sent by EMail +ShippingValidated= Shipping %s validated InterventionSentByEMail=Intervention %s sent by EMail NewCompanyToDolibarr= Third party created DateActionPlannedStart= Planned start date diff --git a/htdocs/langs/es_ES/agenda.lang b/htdocs/langs/es_ES/agenda.lang index 3a70851d276..f25d183a111 100644 --- a/htdocs/langs/es_ES/agenda.lang +++ b/htdocs/langs/es_ES/agenda.lang @@ -52,6 +52,7 @@ InvoiceSentByEMail=Factura a cliente %s enviada por e-mail SupplierOrderSentByEMail=Pedido a proveedor %s enviada por e-mail SupplierInvoiceSentByEMail=Factura de proveedor %s enviada por e-mail ShippingSentByEMail=Expedición %s enviada por e-mail +ShippingValidated= Expedición %s validada InterventionSentByEMail=Intervención %s enviada por e-mail NewCompanyToDolibarr=Tercero creado DateActionPlannedStart=Fecha de inicio prevista diff --git a/htdocs/langs/fr_FR/agenda.lang b/htdocs/langs/fr_FR/agenda.lang index 190c08ad2ac..d21617fde47 100644 --- a/htdocs/langs/fr_FR/agenda.lang +++ b/htdocs/langs/fr_FR/agenda.lang @@ -52,6 +52,7 @@ InvoiceSentByEMail=Facture client %s envoyée par EMail SupplierOrderSentByEMail=Commande fournisseur %s envoyée par EMail SupplierInvoiceSentByEMail=Facture fournisseur %s envoyée par Email ShippingSentByEMail=Bon d'expédition %s envoyé par Email +ShippingValidated=Bon d'expédition %s validée InterventionSentByEMail=Intervention %s envoyée par Email NewCompanyToDolibarr= Tiers créé DateActionPlannedStart= Date de début de réalisation prévue From e5136487bd924317d98c357b8462789b8876547f Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 20 Feb 2014 16:51:37 +0100 Subject: [PATCH 005/293] Fix: The customer code was set to uppercase when using numbering module leopard. We must keep data safe of any change. --- ChangeLog | 2 ++ .../core/modules/societe/mod_codeclient_leopard.php | 11 +++++------ 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index d58f3278d2c..0432585483a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -30,6 +30,8 @@ Fix: [ bug #1250 ] "Supplier Ref. product" sidebar search box does not work Fix: Bad space in predefined messages. Fix: Signature was not added for email sent from thirdparty page. Fix: Action event SHIPPING_VALIDATE is not implemented +Fix: The customer code was set to uppercase when using numbering module leopard. We + must keep data safe of any change. ***** ChangeLog for 3.5 compared to 3.4.* ***** For users: diff --git a/htdocs/core/modules/societe/mod_codeclient_leopard.php b/htdocs/core/modules/societe/mod_codeclient_leopard.php index 584a4941777..affee5274ca 100644 --- a/htdocs/core/modules/societe/mod_codeclient_leopard.php +++ b/htdocs/core/modules/societe/mod_codeclient_leopard.php @@ -1,6 +1,6 @@ - * Copyright (C) 2006-2009 Laurent Destailleur + * Copyright (C) 2006-2014 Laurent Destailleur * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -27,8 +27,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/modules/societe/modules_societe.class.php' /** - * \class mod_codeclient_leopard - * \brief Classe permettant la gestion leopard des codes tiers + * Class to manage numbering of thirdparties code */ class mod_codeclient_leopard extends ModeleThirdPartyCode { @@ -104,7 +103,7 @@ class mod_codeclient_leopard extends ModeleThirdPartyCode global $conf; $result=0; - $code = strtoupper(trim($code)); + $code = trim($code); if (empty($code) && $this->code_null && empty($conf->global->MAIN_COMPANY_CODE_ALWAYS_REQUIRED)) { @@ -115,9 +114,9 @@ class mod_codeclient_leopard extends ModeleThirdPartyCode $result=-2; } - dol_syslog("mod_codeclient_leopard::verif type=".$type." result=".$result); + dol_syslog(get_class($this)."::verif type=".$type." result=".$result); return $result; } } -?> +?> \ No newline at end of file From 22854e5743d81194c53ecc640ab5919d331d1076 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Mon, 24 Feb 2014 16:50:36 +0100 Subject: [PATCH 006/293] New: Sending remind of unpayed invoices by emails (need tester) --- htdocs/compta/facture/impayees.php | 211 +++++++++++++--------- htdocs/core/class/html.formmail.class.php | 10 +- htdocs/langs/en_US/mails.lang | 3 + 3 files changed, 132 insertions(+), 92 deletions(-) diff --git a/htdocs/compta/facture/impayees.php b/htdocs/compta/facture/impayees.php index 36cc7944105..880f13d67d7 100644 --- a/htdocs/compta/facture/impayees.php +++ b/htdocs/compta/facture/impayees.php @@ -31,7 +31,7 @@ require_once DOL_DOCUMENT_ROOT.'/compta/paiement/class/paiement.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/pdf.lib.php'; - +$langs->load("mails"); $langs->load("bills"); $id = (GETPOST('facid','int') ? GETPOST('facid','int') : GETPOST('id','int')); @@ -54,10 +54,16 @@ $resultmasssend=''; */ // Send remind email -if ($action == 'presend' && GETPOST('cancel')) $action=''; +if ($action == 'presend' && GETPOST('cancel')) +{ + $action=''; + if (GETPOST('models')=='facture_relance') $mode='sendmassremind'; // If we made a cancel from submit email form, this means we must be into mode=sendmassremind +} if ($action == 'presend' && GETPOST('sendmail')) { + if (GETPOST('models')=='facture_relance') $mode='sendmassremind'; // If we made a cancel from submit email form, this means we must be into mode=sendmassremind + if (!isset($user->email)) { $error++; @@ -70,10 +76,10 @@ if ($action == 'presend' && GETPOST('sendmail')) $error++; setEventMessage("InvoiceNotChecked","warnings"); } - + if (! $error) { - $compteEmailEnvoi = 0; + $nbsent = 0; $nbignored = 0; for ($i = 0; $i < $countToSend; $i++) @@ -83,13 +89,19 @@ if ($action == 'presend' && GETPOST('sendmail')) if ($result > 0) // Invoice was found { - if ($object->statut != 1) continue; // Payment done or started or canceled + if ($object->statut != 1) + { + continue; // Payment done or started or canceled + } - // Read PDF - $filename=dol_sanitizeFileName($object->ref); + // Read document + // TODO Use future field $object->fullpathdoc to know where is stored default file + // TODO If not defined, use $object->modelpdf (or defaut invoice config) to know what is template to use to regenerate doc. + $filename=dol_sanitizeFileName($object->ref).'.pdf'; $filedir=$conf->facture->dir_output . '/' . dol_sanitizeFileName($object->ref); - $file = $filedir . '/' . $filename.'.pdf'; // TODO What if ODT ? - + $file = $filedir . '/' . $filename; + $mime = 'application/pdf'; + if (dol_is_file($file)) { $object->fetch_thirdparty(); @@ -102,10 +114,20 @@ if ($action == 'presend' && GETPOST('sendmail')) $langs->load("commercial"); $from = $user->getFullName($langs) . ' <' . $user->email .'>'; $replyto = $from; - $message = $conf->global->RELANCES_MASSE_TEXTE_EMAIL; - $subject = $conf->global->RELANCES_MASSE_OBJET_EMAIL; - - $substitutionarray= + $subject = GETPOST('subject'); + $message = GETPOST('message'); + $sendtocc = GETPOST('sentocc'); + + $substitutionarray=array( + '__ID__' => $object->id, + '__EMAIL__' => $object->thirdparty->email, + '__CHECK_READ__' => '', + //'__LASTNAME__' => $obj2->lastname, + //'__FIRSTNAME__' => $obj2->firstname, + '__REF__' => $object->ref, + '__REFCLIENT__' => $object->thirdparty->name + ); + make_substitutions($message, $substitutionarray); $actiontypecode='AC_FAC'; @@ -116,12 +138,9 @@ if ($action == 'presend' && GETPOST('sendmail')) $actionmsg.=$langs->transnoentities('TextUsedInTheMessageBody').":\n"; $actionmsg.=$message; } - // Create form object - include_once(DOL_DOCUMENT_ROOT.'/core/class/html.formmail.class.php'); - $formmail = new FormMail($db); - $formmail->clear_attached_files(); - $formmail->add_attached_files($file, $object->ref.'.pdf', 'application/pdf'); - $attachedfiles=$formmail->get_attached_files(); + + // Create form object + $attachedfiles=array('paths'=>array($file), 'names'=>array($filename), 'mimes'=>array($mime)); $filepath = $attachedfiles['paths']; $filename = $attachedfiles['names']; $mimetype = $attachedfiles['mimes']; @@ -135,7 +154,7 @@ if ($action == 'presend' && GETPOST('sendmail')) } else { - $result=$mailfile->sendfile(); + //$result=$mailfile->sendfile(); if ($result) { $resultmasssend.=$langs->trans('MailSuccessfulySent',$mailfile->getValidAddress($from,2),$mailfile->getValidAddress($sendto,2)); // Must not contain " @@ -157,42 +176,53 @@ if ($action == 'presend' && GETPOST('sendmail')) if ($result < 0) { $error++; $this->errors=$interface->errors; } // Fin appel triggers - if ($error) + if (! $error) + { + $resultmasssend.=$langs->trans("MailSent").': '.$sendto."
\n"; + } + else { dol_print_error($db); } - $compteEmailEnvoi ++; + $nbsent++; } else { $langs->load("other"); - $resultmasssend.='
'; if ($mailfile->error) { $resultmasssend.=$langs->trans('ErrorFailedToSendMail',$from,$sendto); - $resultmasssend.='
'.$mailfile->error; + $resultmasssend.='
'.$mailfile->error.'
'; } else { - $resultmasssend.='No mail sent. Feature is disabled by option MAIN_DISABLE_ALL_MAILS'; + $resultmasssend.='
No mail sent. Feature is disabled by option MAIN_DISABLE_ALL_MAILS
'; } - $resultmasssend.='
'; } } } } else { + $nbignored++; $langs->load("other"); - print $resultmasssend='
'.$langs->trans('ErrorCantReadFile',$file).'
'; + $resultmasssend.='
'.$langs->trans('ErrorCantReadFile',$file).'
'; dol_syslog('Failed to read file: '.$file); break ; } } } - - setEventMessage($compteEmailEnvoi. '/'.$countToSend.' '.$langs->trans("RemindSent")); + + if ($nbsent) + { + $action=''; // Do not show form post if there was at least one successfull sent + setEventMessage($nbsent. '/'.$countToSend.' '.$langs->trans("RemindSent")); + } + else + { + setEventMessage($langs->trans("NoRemindSent"), 'warnings'); + } } } @@ -347,7 +377,7 @@ if (! $sortorder) $sortorder="ASC"; $limit = $conf->liste_limit; -$sql = "SELECT s.nom, s.rowid as socid"; +$sql = "SELECT s.nom, s.rowid as socid, s.email"; $sql.= ", f.rowid as facid, f.facnumber, f.increment, f.total as total_ht, f.tva as total_tva, f.total_ttc, f.localtax1, f.localtax2, f.revenuestamp"; $sql.= ", f.datef as df, f.date_lim_reglement as datelimite"; $sql.= ", f.paye as paye, f.fk_statut, f.type"; @@ -378,7 +408,7 @@ if ($search_societe) $sql .= " AND s.nom LIKE '%".$db->escape($search_societ if ($search_montant_ht) $sql .= " AND f.total = '".$db->escape($search_montant_ht)."'"; if ($search_montant_ttc) $sql .= " AND f.total_ttc = '".$db->escape($search_montant_ttc)."'"; if (GETPOST('sf_ref')) $sql .= " AND f.facnumber LIKE '%".$db->escape(GETPOST('sf_ref'))."%'"; -$sql.= " GROUP BY s.nom, s.rowid, f.rowid, f.facnumber, f.increment, f.total, f.tva, f.total_ttc, f.localtax1, f.localtax2, f.revenuestamp, f.datef, f.date_lim_reglement, f.paye, f.fk_statut, f.type "; +$sql.= " GROUP BY s.nom, s.rowid, s.email, f.rowid, f.facnumber, f.increment, f.total, f.tva, f.total_ttc, f.localtax1, f.localtax2, f.revenuestamp, f.datef, f.date_lim_reglement, f.paye, f.fk_statut, f.type "; if (! $user->rights->societe->client->voir && ! $socid) $sql .= ", sc.fk_soc, sc.fk_user "; $sql.= " ORDER BY "; $listfield=explode(',',$sortfield); @@ -422,11 +452,70 @@ if ($resql) dol_htmloutput_mesg($mesg); - print '
'; + print ''; + + if (! empty($mode) && $action == 'presend') + { + include_once DOL_DOCUMENT_ROOT.'/core/class/html.formmail.class.php'; + $formmail = new FormMail($db); + + print '
'; + print_fiche_titre($langs->trans("SendRemind"),'','').'
'; + + $topicmail="MailTopicSendRemindUnpaidInvoices"; + $modelmail="facture_relance"; + + // Cree l'objet formulaire mail + include_once DOL_DOCUMENT_ROOT.'/core/class/html.formmail.class.php'; + $formmail = new FormMail($db); + $formmail->withform=-1; + $formmail->fromtype = 'user'; + $formmail->fromid = $user->id; + $formmail->fromname = $user->getFullName($langs); + $formmail->frommail = $user->email; + $formmail->withfrom=1; + $liste=array(); + $formmail->withto=$langs->trans("AllRecipientSelectedForRemind"); + $formmail->withtofree=0; + $formmail->withtoreadonly=1; + $formmail->withtocc=1; + $formmail->withtoccc=$conf->global->MAIN_EMAIL_USECCC; + $formmail->withtopic=$langs->transnoentities($topicmail, '__FACREF__', '__REFCLIENT__'); + $formmail->withfile=$langs->trans("EachInvoiceWillBeAttachedToEmail"); + $formmail->withbody=1; + $formmail->withdeliveryreceipt=1; + $formmail->withcancel=1; + // Tableau des substitutions + //$formmail->substit['__FACREF__']=''; + $formmail->substit['__SIGNATURE__']=$user->signature; + //$formmail->substit['__REFCLIENT__']=''; + $formmail->substit['__PERSONALIZED__']=''; + $formmail->substit['__CONTACTCIVNAME__']=''; + + // Tableau des parametres complementaires du post + $formmail->param['action']=$action; + $formmail->param['models']=$modelmail; + $formmail->param['facid']=$object->id; + $formmail->param['returnurl']=$_SERVER["PHP_SELF"].'?id='.$object->id; + + print $formmail->get_form(); + print '
'."\n"; + } + print ''; print ''; if ($late) print ''; + if ($resultmasssend) + { + print '
'.$langs->trans("ResultOfMassSending").':
'."\n"; + print $langs->trans("Selected").': '.$countToSend."\n
"; + print $langs->trans("Ignored").': '.$nbignored."\n
"; + print $langs->trans("Sent").': '.$nbsent."\n
"; + //print $resultmasssend; + print '
'; + } + $i = 0; print ''; print ''; @@ -570,8 +659,9 @@ if ($resql) else { // Checkbox to send remind - print '' ; } @@ -615,64 +705,11 @@ if ($resql) } else { - $langs->load("mails"); - if ($action != 'presend') { print ''; - } - else - { - include_once DOL_DOCUMENT_ROOT.'/core/class/html.formmail.class.php'; - $formmail = new FormMail($db); - - print '
'; - print_fiche_titre($langs->trans("SendRemind"),'','').'
'; - - $topicmail="MailTopicSendRemindUnpaidInvoices"; - $modelmail="facture_relance"; - - // Cree l'objet formulaire mail - include_once DOL_DOCUMENT_ROOT.'/core/class/html.formmail.class.php'; - $formmail = new FormMail($db); - $formmail->fromtype = 'user'; - $formmail->fromid = $user->id; - $formmail->fromname = $user->getFullName($langs); - $formmail->frommail = $user->email; - $formmail->withfrom=1; - $liste=array(); - $formmail->withto=''; - $formmail->withtocc=1; - $formmail->withtoccc=$conf->global->MAIN_EMAIL_USECCC; - $formmail->withtopic=$langs->transnoentities($topicmail, '__FACREF__', '__REFCLIENT__'); - $formmail->withfile=$langs->trans("EachInvoiceWillBeAttachedToEmail"); - $formmail->withbody=1; - $formmail->withdeliveryreceipt=1; - $formmail->withcancel=1; - // Tableau des substitutions - //$formmail->substit['__FACREF__']=''; - $formmail->substit['__SIGNATURE__']=$user->signature; - //$formmail->substit['__REFCLIENT__']=''; - $formmail->substit['__PERSONALIZED__']=''; - $formmail->substit['__CONTACTCIVNAME__']=''; - - // Tableau des parametres complementaires du post - $formmail->param['action']=$action; - $formmail->param['models']=$modelmail; - $formmail->param['facid']=$object->id; - $formmail->param['returnurl']=$_SERVER["PHP_SELF"].'?id='.$object->id; - - print $formmail->get_form(); - - - } - - if ($resultmasssend) - { - print '
'.$langs->trans("ResultOfMassSending").':
'."\n"; - print $resultmasssend; print '
'; } } diff --git a/htdocs/core/class/html.formmail.class.php b/htdocs/core/class/html.formmail.class.php index 7746d178e67..a76877c9994 100644 --- a/htdocs/core/class/html.formmail.class.php +++ b/htdocs/core/class/html.formmail.class.php @@ -35,7 +35,7 @@ class FormMail { var $db; - var $withform; + var $withform; // 1=Include HTML form tag and show submit button, 0=Do not include form tag and submit button, -1=Do not include form tag but include submit button var $fromname; var $frommail; @@ -43,7 +43,7 @@ class FormMail var $replytomail; var $toname; var $tomail; - + var $withsubstit; // Show substitution array var $withfrom; var $withto; // Show recipient emails @@ -249,7 +249,7 @@ class FormMail $form=new Form($this->db); $out.= "\n\n"; - if ($this->withform) + if ($this->withform == 1) { $out.= ''."\n"; $out.= ''; @@ -619,7 +619,7 @@ class FormMail $out.= "\n"; } - if (! empty($this->withform)) + if ($this->withform == 1 || $this->withform == -1) { $out.= ' - +
'; - print ''; + print ''; + if ($objp->email) print ''; + else print img_picto($langs->trans("NoEMail"), 'warning.png'); print '
'; $out.= 'withform)) $out.= ''."\n"; + if ($this->withform == 1) $out.= ''."\n"; $out.= "\n"; return $out; diff --git a/htdocs/langs/en_US/mails.lang b/htdocs/langs/en_US/mails.lang index 88d499ac7e0..f91a4bc9fe3 100644 --- a/htdocs/langs/en_US/mails.lang +++ b/htdocs/langs/en_US/mails.lang @@ -83,6 +83,9 @@ EachInvoiceWillBeAttachedToEmail=A document using default invoice document templ MailTopicSendRemindUnpaidInvoices=Remind of invoice %s (%s) SendRemind=Send remind by EMails RemindSent=%S remind(s) sent +AllRecipientSelectedForRemind=All thirdparties selected and if an email is set (note that one mail per invoice will be sent) +NoRemindSent=No remind by EMail sent +ResultOfMassSending=Result of mass remind sending by EMail # Libelle des modules de liste de destinataires mailing MailingModuleDescContactCompanies=Contacts/addresses of all third parties (customer, prospect, supplier, ...) From b1eef7cd4213031f96f1afb7726537cfa89764a8 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Mon, 24 Feb 2014 17:29:52 +0100 Subject: [PATCH 007/293] Fix: [ bug #1254 ] Error when using "Enter" on qty input box of a product --- htdocs/comm/propal.php | 8 ++++++-- htdocs/commande/fiche.php | 8 ++++++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/htdocs/comm/propal.php b/htdocs/comm/propal.php index 48cd8531a69..fce3661c0ce 100644 --- a/htdocs/comm/propal.php +++ b/htdocs/comm/propal.php @@ -637,7 +637,9 @@ else if ($action == "setabsolutediscount" && $user->rights->propal->creer) else if (($action == 'addline' || $action == 'addline_predef') && $user->rights->propal->creer) { // Set if we used free entry or predefined product - if (GETPOST('addline_libre')) + if (GETPOST('addline_libre') + || (GETPOST('dp_desc') && ! GETPOST('addline_libre') && ! GETPOST('idprod', 'int')>0) // we push enter onto qty field + ) { $predef=''; $idprod=0; @@ -645,7 +647,9 @@ else if (($action == 'addline' || $action == 'addline_predef') && $user->rights- $price_ht = GETPOST('price_ht'); $tva_tx=(GETPOST('tva_tx')?GETPOST('tva_tx'):0); } - if (GETPOST('addline_predefined')) + if (GETPOST('addline_predefined') + || (! GETPOST('dp_desc') && ! GETPOST('addline_predefined') && GETPOST('idprod', 'int')>0) // we push enter onto qty field + ) { $predef=(($conf->global->MAIN_FEATURES_LEVEL < 2) ? '_predef' : ''); $idprod=GETPOST('idprod', 'int'); diff --git a/htdocs/commande/fiche.php b/htdocs/commande/fiche.php index 7a5b74165bb..bfafd72d307 100644 --- a/htdocs/commande/fiche.php +++ b/htdocs/commande/fiche.php @@ -571,7 +571,9 @@ else if ($action == 'addline' && $user->rights->commande->creer) $error = false; // Set if we used free entry or predefined product - if (GETPOST('addline_libre')) + if (GETPOST('addline_libre') + || (GETPOST('dp_desc') && ! GETPOST('addline_libre') && ! GETPOST('idprod', 'int')>0) // we push enter onto qty field + ) { $predef=''; $idprod=0; @@ -579,7 +581,9 @@ else if ($action == 'addline' && $user->rights->commande->creer) $price_ht = GETPOST('price_ht'); $tva_tx=(GETPOST('tva_tx')?GETPOST('tva_tx'):0); } - if (GETPOST('addline_predefined')) + if (GETPOST('addline_predefined') + || (! GETPOST('dp_desc') && ! GETPOST('addline_predefined') && GETPOST('idprod', 'int')>0) // we push enter onto qty field + ) { $predef=(($conf->global->MAIN_FEATURES_LEVEL < 2) ? '_predef' : ''); $idprod=GETPOST('idprod', 'int'); From 8ec10f8efae0d49ee269f7653f1317ab9ea554dd Mon Sep 17 00:00:00 2001 From: Peter Fontaine Date: Mon, 24 Feb 2014 21:20:06 +0100 Subject: [PATCH 008/293] Add state_id in contact for individual third party --- htdocs/societe/class/societe.class.php | 1 + 1 file changed, 1 insertion(+) diff --git a/htdocs/societe/class/societe.class.php b/htdocs/societe/class/societe.class.php index 4f00cef5f9f..f4ba0197e47 100644 --- a/htdocs/societe/class/societe.class.php +++ b/htdocs/societe/class/societe.class.php @@ -313,6 +313,7 @@ class Societe extends CommonObject $contact->zip = $this->zip; $contact->town = $this->town; $contact->phone_pro = $this->phone; + $contact->state_id = $this->state_id; $result = $contact->create($user); if ($result < 0) { $this->error = $contact->error; From fb8ec21f7240711d133d357ba1a088ca32513e74 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcos=20Garci=CC=81a=20de=20La=20Fuente?= Date: Mon, 24 Feb 2014 21:42:40 +0100 Subject: [PATCH 009/293] Updated puphpet vagrant box --- dev/vagrant/dolibarrdev/Vagrantfile | 114 +- .../common.yaml => puphpet/config.yaml} | 70 +- .../{ => puphpet}/files/dot/.bash_aliases | 0 .../dolibarrdev/puphpet/files/dot/.vimrc | 414 ++++++++ .../puphpet/files/exec-always/empty | 0 .../dolibarrdev/puphpet/files/exec-once/empty | 0 .../dolibarrdev/puphpet/puppet/Puppetfile | 19 + .../{ => puphpet/puppet}/hiera.yaml | 4 +- .../dolibarrdev/puphpet/puppet/manifest.pp | 993 ++++++++++++++++++ .../puphpet/shell/execute-files.sh | 18 + .../puphpet/shell/initial-setup.sh | 50 + .../shell/librarian-puppet-vagrant.sh | 31 +- .../{ => puphpet}/shell/os-detect.sh | 10 +- .../{ => puphpet}/shell/self-promotion.txt | 0 .../{ => puphpet}/shell/update-puppet.sh | 18 +- dev/vagrant/dolibarrdev/puppet/Puppetfile | 13 - .../dolibarrdev/puppet/manifests/default.pp | 541 ---------- .../dolibarrdev/shell/initial-setup.sh | 36 - 18 files changed, 1669 insertions(+), 662 deletions(-) rename dev/vagrant/dolibarrdev/{puppet/hieradata/common.yaml => puphpet/config.yaml} (65%) rename dev/vagrant/dolibarrdev/{ => puphpet}/files/dot/.bash_aliases (100%) create mode 100644 dev/vagrant/dolibarrdev/puphpet/files/dot/.vimrc create mode 100644 dev/vagrant/dolibarrdev/puphpet/files/exec-always/empty create mode 100644 dev/vagrant/dolibarrdev/puphpet/files/exec-once/empty create mode 100644 dev/vagrant/dolibarrdev/puphpet/puppet/Puppetfile rename dev/vagrant/dolibarrdev/{ => puphpet/puppet}/hiera.yaml (50%) create mode 100644 dev/vagrant/dolibarrdev/puphpet/puppet/manifest.pp create mode 100644 dev/vagrant/dolibarrdev/puphpet/shell/execute-files.sh create mode 100644 dev/vagrant/dolibarrdev/puphpet/shell/initial-setup.sh rename dev/vagrant/dolibarrdev/{ => puphpet}/shell/librarian-puppet-vagrant.sh (65%) rename dev/vagrant/dolibarrdev/{ => puphpet}/shell/os-detect.sh (85%) rename dev/vagrant/dolibarrdev/{ => puphpet}/shell/self-promotion.txt (100%) rename dev/vagrant/dolibarrdev/{ => puphpet}/shell/update-puppet.sh (70%) delete mode 100644 dev/vagrant/dolibarrdev/puppet/Puppetfile delete mode 100644 dev/vagrant/dolibarrdev/puppet/manifests/default.pp delete mode 100644 dev/vagrant/dolibarrdev/shell/initial-setup.sh diff --git a/dev/vagrant/dolibarrdev/Vagrantfile b/dev/vagrant/dolibarrdev/Vagrantfile index 13ec1ac8494..a4094aa24e4 100644 --- a/dev/vagrant/dolibarrdev/Vagrantfile +++ b/dev/vagrant/dolibarrdev/Vagrantfile @@ -1,42 +1,100 @@ +require 'yaml' + +dir = File.dirname(File.expand_path(__FILE__)) + +configValues = YAML.load_file("#{dir}/puphpet/config.yaml") +data = configValues['vagrantfile-local'] + Vagrant.configure("2") do |config| - config.vm.box = "debian-wheezy72-x64-vbox43" - config.vm.box_url = "http://box.puphpet.com/debian-wheezy72-x64-vbox43.box" + config.vm.box = "#{data['vm']['box']}" + config.vm.box_url = "#{data['vm']['box_url']}" - config.vm.network "private_network", ip: "192.168.42.101" - - - config.vm.synced_folder "../../../", "/var/www", id: "vagrant-root", :nfs => false, owner: "www-data", group: "www-data" - - config.vm.usable_port_range = (2200..2250) - config.vm.provider :virtualbox do |virtualbox| - virtualbox.customize ["modifyvm", :id, "--name", "dolibarrdev"] - virtualbox.customize ["modifyvm", :id, "--natdnshostresolver1", "on"] - virtualbox.customize ["modifyvm", :id, "--memory", "512"] - virtualbox.customize ["setextradata", :id, "--VBoxInternal2/SharedFoldersEnableSymlinksCreate/v-root", "1"] + if data['vm']['hostname'].to_s != '' + config.vm.hostname = "#{data['vm']['hostname']}" end - config.vm.provision :shell, :path => "shell/initial-setup.sh" - config.vm.provision :shell, :path => "shell/update-puppet.sh" - config.vm.provision :shell, :path => "shell/librarian-puppet-vagrant.sh" + if data['vm']['network']['private_network'].to_s != '' + config.vm.network "private_network", ip: "#{data['vm']['network']['private_network']}" + end + + data['vm']['network']['forwarded_port'].each do |i, port| + if port['guest'] != '' && port['host'] != '' + config.vm.network :forwarded_port, guest: port['guest'].to_i, host: port['host'].to_i + end + end + + data['vm']['synced_folder'].each do |i, folder| + if folder['source'] != '' && folder['target'] != '' && folder['id'] != '' + nfs = (folder['nfs'] == "true") ? "nfs" : nil + config.vm.synced_folder "#{folder['source']}", "#{folder['target']}", id: "#{folder['id']}", type: nfs + end + end + + config.vm.usable_port_range = (10200..10500) + + if !data['vm']['provider']['virtualbox'].empty? + config.vm.provider :virtualbox do |virtualbox| + data['vm']['provider']['virtualbox']['modifyvm'].each do |key, value| + if key == "natdnshostresolver1" + value = value ? "on" : "off" + end + virtualbox.customize ["modifyvm", :id, "--#{key}", "#{value}"] + end + end + end + + config.vm.provision "shell" do |s| + s.path = "puphpet/shell/initial-setup.sh" + s.args = "/vagrant/puphpet" + end + config.vm.provision :shell, :path => "puphpet/shell/update-puppet.sh" + config.vm.provision :shell, :path => "puphpet/shell/librarian-puppet-vagrant.sh" + config.vm.provision :puppet do |puppet| + ssh_username = !data['ssh']['username'].nil? ? data['ssh']['username'] : "vagrant" puppet.facter = { - "ssh_username" => "vagrant" + "ssh_username" => "#{ssh_username}" } + puppet.manifests_path = "#{data['vm']['provision']['puppet']['manifests_path']}" + puppet.manifest_file = "#{data['vm']['provision']['puppet']['manifest_file']}" - puppet.manifests_path = "puppet/manifests" - puppet.options = ["--verbose", "--hiera_config /vagrant/hiera.yaml", "--parser future"] + if !data['vm']['provision']['puppet']['options'].empty? + puppet.options = data['vm']['provision']['puppet']['options'] + end end + config.vm.provision :shell, :path => "puphpet/shell/execute-files.sh" + if !data['ssh']['host'].nil? + config.ssh.host = "#{data['ssh']['host']}" + end + if !data['ssh']['port'].nil? + config.ssh.port = "#{data['ssh']['port']}" + end + if !data['ssh']['private_key_path'].nil? + config.ssh.private_key_path = "#{data['ssh']['private_key_path']}" + end + if !data['ssh']['username'].nil? + config.ssh.username = "#{data['ssh']['username']}" + end + if !data['ssh']['guest_port'].nil? + config.ssh.guest_port = data['ssh']['guest_port'] + end + if !data['ssh']['shell'].nil? + config.ssh.shell = "#{data['ssh']['shell']}" + end + if !data['ssh']['keep_alive'].nil? + config.ssh.keep_alive = data['ssh']['keep_alive'] + end + if !data['ssh']['forward_agent'].nil? + config.ssh.forward_agent = data['ssh']['forward_agent'] + end + if !data['ssh']['forward_x11'].nil? + config.ssh.forward_x11 = data['ssh']['forward_x11'] + end + if !data['vagrant']['host'].nil? + config.vagrant.host = data['vagrant']['host'].gsub(":", "").intern + end - - config.ssh.username = "vagrant" - - config.ssh.shell = "bash -l" - - config.ssh.keep_alive = true - config.ssh.forward_agent = false - config.ssh.forward_x11 = false - config.vagrant.host = :detect end diff --git a/dev/vagrant/dolibarrdev/puppet/hieradata/common.yaml b/dev/vagrant/dolibarrdev/puphpet/config.yaml similarity index 65% rename from dev/vagrant/dolibarrdev/puppet/hieradata/common.yaml rename to dev/vagrant/dolibarrdev/puphpet/config.yaml index 2db740bef15..e54c4532766 100644 --- a/dev/vagrant/dolibarrdev/puppet/hieradata/common.yaml +++ b/dev/vagrant/dolibarrdev/puphpet/config.yaml @@ -2,31 +2,31 @@ vagrantfile-local: vm: box: debian-wheezy72-x64-vbox43 - box_url: 'https://puphpet.s3.amazonaws.com/debian-wheezy72-x64-vbox43.box' + box_url: 'http://box.puphpet.com/debian-wheezy72-x64-vbox43.box' hostname: null network: private_network: 192.168.42.101 forwarded_port: - IoUPe5V4KFVe: - host: '' - guest: '' + jHkzZVuBoVtG: + host: '9252' + guest: '22' provider: virtualbox: modifyvm: - name: dolibarrdev natdnshostresolver1: on memory: '512' setextradata: VBoxInternal2/SharedFoldersEnableSymlinksCreate/v-root: 1 provision: puppet: - manifests_path: puppet/manifests + manifests_path: puphpet/puppet + manifest_file: manifest.pp options: - - --verbose - - '--hiera_config /vagrant/hiera.yaml' + - '--verbose' + - '--hiera_config /vagrant/puphpet/puppet/hiera.yaml' - '--parser future' synced_folder: - w8TR2T1V5h4o: + vMRGvEXBrASV: id: vagrant-root source: ../../../ target: /var/www @@ -43,7 +43,7 @@ vagrantfile-local: forward_x11: false shell: 'bash -l' vagrant: - host: ':detect' + host: detect server: packages: - nano @@ -52,12 +52,21 @@ server: - bash_aliases: null _prevent_empty: '' +mailcatcher: + install: '1' + settings: + smtp_ip: 0.0.0.0 + smtp_port: 1025 + http_ip: 0.0.0.0 + http_port: '1080' + path: /usr/local/bin + log: /var/log/mailcatcher/mailcatcher.log apache: modules: - php - rewrite vhosts: - vkJFW364QjeN: + fIrYPRDORtSV: servername: dev.dolibarr.org docroot: /var/www/htdocs port: '80' @@ -68,24 +77,27 @@ apache: user: www-data group: www-data default_vhost: true - mpm_module: prefork + mod_pagespeed: 0 + mod_spdy: 0 php: + install: '1' version: '55' composer: '1' modules: php: - cli + - curl + - gd + - imagick - intl - mcrypt - - curl - - imagick - - gd pear: { } pecl: { } ini: display_errors: On error_reporting: '-1' session.save_path: /var/lib/php/session + sendmail_path: '"/usr/bin/env catchmail"' timezone: UTC xdebug: install: '1' @@ -98,12 +110,16 @@ xdebug: xdebug.remote_port: '9000' xhprof: install: '1' - location: /var/www/xhprof +drush: + install: 0 + settings: + drush.tag_branch: 6.x mysql: root_password: root phpmyadmin: '1' + adminer: 0 databases: - 4TUR1gNNdrQV: + K7xpd6KqfK3E: grant: - ALTER - CREATE @@ -118,4 +134,24 @@ mysql: user: user password: user sql_file: /var/www/dev/initdata/mysqldump_dolibarr_3.5.0.sql +mongodb: + install: 0 + auth: 1 + port: '27017' + databases: { } +beanstalkd: + install: 0 + settings: + listenaddress: 0.0.0.0 + listenport: '13000' + maxjobsize: '65535' + maxconnections: '1024' + binlogdir: /var/lib/beanstalkd/binlog + binlogfsync: null + binlogsize: '10485760' + beanstalk_console: 0 + binlogdir: /var/lib/beanstalkd/binlog +rabbitmq: + install: 0 + port: '5672' diff --git a/dev/vagrant/dolibarrdev/files/dot/.bash_aliases b/dev/vagrant/dolibarrdev/puphpet/files/dot/.bash_aliases similarity index 100% rename from dev/vagrant/dolibarrdev/files/dot/.bash_aliases rename to dev/vagrant/dolibarrdev/puphpet/files/dot/.bash_aliases diff --git a/dev/vagrant/dolibarrdev/puphpet/files/dot/.vimrc b/dev/vagrant/dolibarrdev/puphpet/files/dot/.vimrc new file mode 100644 index 00000000000..2ff1aa60801 --- /dev/null +++ b/dev/vagrant/dolibarrdev/puphpet/files/dot/.vimrc @@ -0,0 +1,414 @@ +set rtp+=$GOROOT/misc/vim + +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +" Maintainer: +" Amir Salihefendic +" http://amix.dk - amix@amix.dk +" +" Version: +" 5.0 - 29/05/12 15:43:36 +" +" Blog_post: +" http://amix.dk/blog/post/19691#The-ultimate-Vim-configuration-on-Github +" +" Awesome_version: +" Get this config, nice color schemes and lots of plugins! +" +" Install the awesome version from: +" +" https://github.com/amix/vimrc +" +" Syntax_highlighted: +" http://amix.dk/vim/vimrc.html +" +" Raw_version: +" http://amix.dk/vim/vimrc.txt +" +" Sections: +" -> General +" -> VIM user interface +" -> Colors and Fonts +" -> Files and backups +" -> Text, tab and indent related +" -> Visual mode related +" -> Moving around, tabs and buffers +" -> Status line +" -> Editing mappings +" -> vimgrep searching and cope displaying +" -> Spell checking +" -> Misc +" -> Helper functions +" +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" + + +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +" => General +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +" Sets how many lines of history VIM has to remember +set history=700 + +" Enable filetype plugins +filetype plugin on +filetype indent on + +" Set to auto read when a file is changed from the outside +set autoread + +" With a map leader it's possible to do extra key combinations +" like w saves the current file +let mapleader = "," +let g:mapleader = "," + +" Fast saving +nmap w :w! + +" :W sudo saves the file +" (useful for handling the permission-denied error) +command W w !sudo tee % > /dev/null + + +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +" => VIM user interface +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +" Set 7 lines to the cursor - when moving vertically using j/k +set so=7 + +" Turn on the WiLd menu +set wildmenu + +" Ignore compiled files +set wildignore=*.o,*~,*.pyc +if has("win16") || has("win32") + set wildignore+=*/.git/*,*/.hg/*,*/.svn/*,*/.DS_Store +else + set wildignore+=.git\*,.hg\*,.svn\* +endif + +"Always show current position +set ruler + +" Height of the command bar +set cmdheight=2 + +" A buffer becomes hidden when it is abandoned +set hid + +" Configure backspace so it acts as it should act +set backspace=eol,start,indent +set whichwrap+=<,>,h,l + +" Ignore case when searching +set ignorecase + +" When searching try to be smart about cases +set smartcase + +" Highlight search results +set hlsearch + +" Makes search act like search in modern browsers +set incsearch + +" Don't redraw while executing macros (good performance config) +set lazyredraw + +" For regular expressions turn magic on +set magic + +" Show matching brackets when text indicator is over them +set showmatch +" How many tenths of a second to blink when matching brackets +set mat=2 + +" No annoying sound on errors +set noerrorbells +set novisualbell +set t_vb= +set tm=500 + +" Add a bit extra margin to the left +set foldcolumn=1 + + +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +" => Colors and Fonts +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +" Enable syntax highlighting +syntax enable + +try + colorscheme desert +catch +endtry + +set background=dark + +" Set extra options when running in GUI mode +if has("gui_running") + set guioptions-=T + set guioptions-=e + set t_Co=256 + set guitablabel=%M\ %t +endif + +" Set utf8 as standard encoding and en_US as the standard language +set encoding=utf8 + +" Use Unix as the standard file type +set ffs=unix,dos,mac + + +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +" => Files, backups and undo +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +" Turn backup off, since most stuff is in SVN, git et.c anyway... +set nobackup +set nowb +set noswapfile + + +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +" => Text, tab and indent related +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +" Use spaces instead of tabs +set expandtab + +" Be smart when using tabs ;) +set smarttab + +" 1 tab == 4 spaces +set shiftwidth=4 +set tabstop=4 + +" Linebreak on 500 characters +set lbr +set tw=500 + +set ai "Auto indent +set si "Smart indent +set wrap "Wrap lines + + +"""""""""""""""""""""""""""""" +" => Visual mode related +"""""""""""""""""""""""""""""" +" Visual mode pressing * or # searches for the current selection +" Super useful! From an idea by Michael Naumann +vnoremap * :call VisualSelection('f', '') +vnoremap # :call VisualSelection('b', '') + + +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +" => Moving around, tabs, windows and buffers +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +" Treat long lines as break lines (useful when moving around in them) +map j gj +map k gk + +" Map to / (search) and Ctrl- to ? (backwards search) +map / +map ? + +" Disable highlight when is pressed +map :noh + +" Smart way to move between windows +map j +map k +map h +map l + +" Close the current buffer +map bd :Bclose + +" Close all the buffers +map ba :1,1000 bd! + +" Useful mappings for managing tabs +map tn :tabnew +map to :tabonly +map tc :tabclose +map tm :tabmove +map t :tabnext + +" Opens a new tab with the current buffer's path +" Super useful when editing files in the same directory +map te :tabedit =expand("%:p:h")/ + +" Switch CWD to the directory of the open buffer +map cd :cd %:p:h:pwd + +" Specify the behavior when switching between buffers +try + set switchbuf=useopen,usetab,newtab + set stal=2 +catch +endtry + +" Return to last edit position when opening files (You want this!) +autocmd BufReadPost * + \ if line("'\"") > 0 && line("'\"") <= line("$") | + \ exe "normal! g`\"" | + \ endif +" Remember info about open buffers on close +set viminfo^=% + + +"""""""""""""""""""""""""""""" +" => Status line +"""""""""""""""""""""""""""""" +" Always show the status line +set laststatus=2 + +" Format the status line +set statusline=\ %{HasPaste()}%F%m%r%h\ %w\ \ CWD:\ %r%{getcwd()}%h\ \ \ Line:\ %l + + +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +" => Editing mappings +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +" Remap VIM 0 to first non-blank character +map 0 ^ + +" Move a line of text using ALT+[jk] or Comamnd+[jk] on mac +nmap mz:m+`z +nmap mz:m-2`z +vmap :m'>+`mzgv`yo`z +vmap :m'<-2`>my` + nmap + vmap + vmap +endif + +" Delete trailing white space on save, useful for Python and CoffeeScript ;) +func! DeleteTrailingWS() + exe "normal mz" + %s/\s\+$//ge + exe "normal `z" +endfunc +autocmd BufWrite *.py :call DeleteTrailingWS() +autocmd BufWrite *.coffee :call DeleteTrailingWS() + + +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +" => vimgrep searching and cope displaying +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +" When you press gv you vimgrep after the selected text +vnoremap gv :call VisualSelection('gv', '') + +" Open vimgrep and put the cursor in the right position +map g :vimgrep // **/*. + +" Vimgreps in the current file +map :vimgrep // % + +" When you press r you can search and replace the selected text +vnoremap r :call VisualSelection('replace', '') + +" Do :help cope if you are unsure what cope is. It's super useful! +" +" When you search with vimgrep, display your results in cope by doing: +" cc +" +" To go to the next search result do: +" n +" +" To go to the previous search results do: +" p +" +map cc :botright cope +map co ggVGy:tabnew:set syntax=qfpgg +map n :cn +map p :cp + + +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +" => Spell checking +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +" Pressing ,ss will toggle and untoggle spell checking +map ss :setlocal spell! + +" Shortcuts using +map sn ]s +map sp [s +map sa zg +map s? z= + + +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +" => Misc +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +" Remove the Windows ^M - when the encodings gets messed up +noremap m mmHmt:%s///ge'tzt'm + +" Quickly open a buffer for scripbble +map q :e ~/buffer + +" Toggle paste mode on and off +map pp :setlocal paste! + + + +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +" => Helper functions +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +function! CmdLine(str) + exe "menu Foo.Bar :" . a:str + emenu Foo.Bar + unmenu Foo +endfunction + +function! VisualSelection(direction, extra_filter) range + let l:saved_reg = @" + execute "normal! vgvy" + + let l:pattern = escape(@", '\\/.*$^~[]') + let l:pattern = substitute(l:pattern, "\n$", "", "") + + if a:direction == 'b' + execute "normal ?" . l:pattern . "^M" + elseif a:direction == 'gv' + call CmdLine("vimgrep " . '/'. l:pattern . '/' . ' **/*.' . a:extra_filter) + elseif a:direction == 'replace' + call CmdLine("%s" . '/'. l:pattern . '/') + elseif a:direction == 'f' + execute "normal /" . l:pattern . "^M" + endif + + let @/ = l:pattern + let @" = l:saved_reg +endfunction + + +" Returns true if paste mode is enabled +function! HasPaste() + if &paste + return 'PASTE MODE ' + en + return '' +endfunction + +" Don't close window, when deleting a buffer +command! Bclose call BufcloseCloseIt() +function! BufcloseCloseIt() + let l:currentBufNum = bufnr("%") + let l:alternateBufNum = bufnr("#") + + if buflisted(l:alternateBufNum) + buffer # + else + bnext + endif + + if bufnr("%") == l:currentBufNum + new + endif + + if buflisted(l:currentBufNum) + execute("bdelete! ".l:currentBufNum) + endif +endfunction diff --git a/dev/vagrant/dolibarrdev/puphpet/files/exec-always/empty b/dev/vagrant/dolibarrdev/puphpet/files/exec-always/empty new file mode 100644 index 00000000000..e69de29bb2d diff --git a/dev/vagrant/dolibarrdev/puphpet/files/exec-once/empty b/dev/vagrant/dolibarrdev/puphpet/files/exec-once/empty new file mode 100644 index 00000000000..e69de29bb2d diff --git a/dev/vagrant/dolibarrdev/puphpet/puppet/Puppetfile b/dev/vagrant/dolibarrdev/puphpet/puppet/Puppetfile new file mode 100644 index 00000000000..8b6cc92cb67 --- /dev/null +++ b/dev/vagrant/dolibarrdev/puphpet/puppet/Puppetfile @@ -0,0 +1,19 @@ +forge "http://forge.puppetlabs.com" +mod 'stdlib', :git => 'https://github.com/puphpet/puppetlabs-stdlib.git' +mod 'concat', :git => 'https://github.com/puphpet/puppetlabs-concat.git' +mod 'apt', :git => 'https://github.com/puphpet/puppetlabs-apt.git' +mod 'yum', :git => 'https://github.com/puphpet/puppet-yum.git' +mod 'vcsrepo', :git => 'https://github.com/puphpet/puppetlabs-vcsrepo.git' +mod 'ntp', :git => 'https://github.com/puphpet/puppetlabs-ntp.git' +mod 'iptables', :git => 'https://github.com/puphpet/puppet-iptables.git' +mod 'mailcatcher', :git => 'https://github.com/puphpet/puppet-mailcatcher.git' +mod 'supervisord', :git => 'https://github.com/puphpet/puppet-supervisord.git' +mod 'apache', :git => 'https://github.com/puphpet/puppetlabs-apache.git' +mod 'php', :git => 'https://github.com/puphpet/puppet-php.git' +mod 'composer', :git => 'https://github.com/puphpet/puppet-composer.git' +mod 'puphpet', :git => 'https://github.com/puphpet/puppet-puphpet.git' +mod 'drush', :git => 'https://github.com/puphpet/puppet-drush.git', :ref => 'new' +mod 'mysql', :git => 'https://github.com/puphpet/puppetlabs-mysql.git' +mod 'mongodb', :git => 'https://github.com/puphpet/puppetlabs-mongodb.git' +mod 'beanstalkd', :git => 'https://github.com/puphpet/puppet-beanstalkd.git' +mod 'rabbitmq', :git => 'https://github.com/puphpet/puppetlabs-rabbitmq.git' diff --git a/dev/vagrant/dolibarrdev/hiera.yaml b/dev/vagrant/dolibarrdev/puphpet/puppet/hiera.yaml similarity index 50% rename from dev/vagrant/dolibarrdev/hiera.yaml rename to dev/vagrant/dolibarrdev/puphpet/puppet/hiera.yaml index 2cab35e31f2..0cde1f6a6a6 100644 --- a/dev/vagrant/dolibarrdev/hiera.yaml +++ b/dev/vagrant/dolibarrdev/puphpet/puppet/hiera.yaml @@ -1,7 +1,7 @@ --- :backends: yaml :yaml: - :datadir: '/vagrant/puppet/hieradata' + :datadir: '/vagrant/puphpet' :hierarchy: - - common + - config :logger: console diff --git a/dev/vagrant/dolibarrdev/puphpet/puppet/manifest.pp b/dev/vagrant/dolibarrdev/puphpet/puppet/manifest.pp new file mode 100644 index 00000000000..7480726aa63 --- /dev/null +++ b/dev/vagrant/dolibarrdev/puphpet/puppet/manifest.pp @@ -0,0 +1,993 @@ +## Begin Server manifest + +if $server_values == undef { + $server_values = hiera('server', false) +} + +# Ensure the time is accurate, reducing the possibilities of apt repositories +# failing for invalid certificates +include '::ntp' + +Exec { path => [ '/bin/', '/sbin/', '/usr/bin/', '/usr/sbin/' ] } +group { 'puppet': ensure => present } +group { 'www-data': ensure => present } + +user { $::ssh_username: + shell => '/bin/bash', + home => "/home/${::ssh_username}", + ensure => present +} + +user { ['apache', 'nginx', 'httpd', 'www-data']: + shell => '/bin/bash', + ensure => present, + groups => 'www-data', + require => Group['www-data'] +} + +file { "/home/${::ssh_username}": + ensure => directory, + owner => $::ssh_username, +} + +# copy dot files to ssh user's home directory +exec { 'dotfiles': + cwd => "/home/${::ssh_username}", + command => "cp -r /vagrant/puphpet/files/dot/.[a-zA-Z0-9]* /home/${::ssh_username}/ \ + && chown -R ${::ssh_username} /home/${::ssh_username}/.[a-zA-Z0-9]* \ + && cp -r /vagrant/puphpet/files/dot/.[a-zA-Z0-9]* /root/", + onlyif => 'test -d /vagrant/puphpet/files/dot', + returns => [0, 1], + require => User[$::ssh_username] +} + +case $::osfamily { + # debian, ubuntu + 'debian': { + class { 'apt': } + + Class['::apt::update'] -> Package <| + title != 'python-software-properties' + and title != 'software-properties-common' + |> + + ensure_packages( ['augeas-tools'] ) + } + # redhat, centos + 'redhat': { + class { 'yum': extrarepo => ['epel'] } + + class { 'yum::repo::rpmforge': } + class { 'yum::repo::repoforgeextras': } + + Class['::yum'] -> Yum::Managed_yumrepo <| |> -> Package <| |> + + if defined(Package['git']) == false { + package { 'git': + ensure => latest, + require => Class['yum::repo::repoforgeextras'] + } + } + + exec { 'bash_git': + cwd => "/home/${::ssh_username}", + command => "curl https://raw.github.com/git/git/master/contrib/completion/git-prompt.sh > /home/${::ssh_username}/.bash_git", + creates => "/home/${::ssh_username}/.bash_git" + } + + exec { 'bash_git for root': + cwd => '/root', + command => "cp /home/${::ssh_username}/.bash_git /root/.bash_git", + creates => '/root/.bash_git', + require => Exec['bash_git'] + } + + file_line { 'link ~/.bash_git': + ensure => present, + line => 'if [ -f ~/.bash_git ] ; then source ~/.bash_git; fi', + path => "/home/${::ssh_username}/.bash_profile", + require => [ + Exec['dotfiles'], + Exec['bash_git'], + ] + } + + file_line { 'link ~/.bash_git for root': + ensure => present, + line => 'if [ -f ~/.bash_git ] ; then source ~/.bash_git; fi', + path => '/root/.bashrc', + require => [ + Exec['dotfiles'], + Exec['bash_git'], + ] + } + + file_line { 'link ~/.bash_aliases': + ensure => present, + line => 'if [ -f ~/.bash_aliases ] ; then source ~/.bash_aliases; fi', + path => "/home/${::ssh_username}/.bash_profile", + require => File_line['link ~/.bash_git'] + } + + file_line { 'link ~/.bash_aliases for root': + ensure => present, + line => 'if [ -f ~/.bash_aliases ] ; then source ~/.bash_aliases; fi', + path => '/root/.bashrc', + require => File_line['link ~/.bash_git for root'] + } + + ensure_packages( ['augeas'] ) + } +} + +if $php_values == undef { + $php_values = hiera('php', false) +} + +case $::operatingsystem { + 'debian': { + include apt::backports + + add_dotdeb { 'packages.dotdeb.org': release => $lsbdistcodename } + + if is_hash($php_values) and has_key($php_values, 'install') and $php_values['install'] == 1 { + # Debian Squeeze 6.0 can do PHP 5.3 (default) and 5.4 + if $lsbdistcodename == 'squeeze' and $php_values['version'] == '54' { + add_dotdeb { 'packages.dotdeb.org-php54': release => 'squeeze-php54' } + } + # Debian Wheezy 7.0 can do PHP 5.4 (default) and 5.5 + elsif $lsbdistcodename == 'wheezy' and $php_values['version'] == '55' { + add_dotdeb { 'packages.dotdeb.org-php55': release => 'wheezy-php55' } + } + } + + $server_lsbdistcodename = downcase($lsbdistcodename) + + apt::force { 'git': + release => "${server_lsbdistcodename}-backports", + timeout => 60 + } + } + 'ubuntu': { + apt::key { '4F4EA0AAE5267A6C': + key_server => 'hkp://keyserver.ubuntu.com:80' + } + apt::key { '4CBEDD5A': + key_server => 'hkp://keyserver.ubuntu.com:80' + } + + apt::ppa { 'ppa:pdoes/ppa': require => Apt::Key['4CBEDD5A'] } + + if is_hash($php_values) and has_key($php_values, 'install') and $php_values['install'] == 1 { + # Ubuntu Lucid 10.04, Precise 12.04, Quantal 12.10 and Raring 13.04 can do PHP 5.3 (default <= 12.10) and 5.4 (default <= 13.04) + if $lsbdistcodename in ['lucid', 'precise', 'quantal', 'raring'] and $php_values['version'] == '54' { + if $lsbdistcodename == 'lucid' { + apt::ppa { 'ppa:ondrej/php5-oldstable': require => Apt::Key['4F4EA0AAE5267A6C'], options => '' } + } else { + apt::ppa { 'ppa:ondrej/php5-oldstable': require => Apt::Key['4F4EA0AAE5267A6C'] } + } + } + # Ubuntu Precise 12.04, Quantal 12.10 and Raring 13.04 can do PHP 5.5 + elsif $lsbdistcodename in ['precise', 'quantal', 'raring'] and $php_values['version'] == '55' { + apt::ppa { 'ppa:ondrej/php5': require => Apt::Key['4F4EA0AAE5267A6C'] } + } + elsif $lsbdistcodename in ['lucid'] and $php_values['version'] == '55' { + err('You have chosen to install PHP 5.5 on Ubuntu 10.04 Lucid. This will probably not work!') + } + } + } + 'redhat', 'centos': { + if is_hash($php_values) and has_key($php_values, 'install') and $php_values['install'] == 1 { + if $php_values['version'] == '54' { + class { 'yum::repo::remi': } + } + # remi_php55 requires the remi repo as well + elsif $php_values['version'] == '55' { + class { 'yum::repo::remi': } + class { 'yum::repo::remi_php55': } + } + } + } +} + +if !empty($server_values['packages']) { + ensure_packages( $server_values['packages'] ) +} + +define add_dotdeb ($release){ + apt::source { $name: + location => 'http://packages.dotdeb.org', + release => $release, + repos => 'all', + required_packages => 'debian-keyring debian-archive-keyring', + key => '89DF5277', + key_server => 'keys.gnupg.net', + include_src => true + } +} + +## Begin MailCatcher manifest + +if $mailcatcher_values == undef { + $mailcatcher_values = hiera('mailcatcher', false) +} + +if is_hash($mailcatcher_values) and has_key($mailcatcher_values, 'install') and $mailcatcher_values['install'] == 1 { + $mailcatcher_path = $mailcatcher_values['settings']['path'] + $mailcatcher_smtp_ip = $mailcatcher_values['settings']['smtp_ip'] + $mailcatcher_smtp_port = $mailcatcher_values['settings']['smtp_port'] + $mailcatcher_http_ip = $mailcatcher_values['settings']['http_ip'] + $mailcatcher_http_port = $mailcatcher_values['settings']['http_port'] + $mailcatcher_log = $mailcatcher_values['settings']['log'] + + class { 'mailcatcher': + mailcatcher_path => $mailcatcher_path, + smtp_ip => $mailcatcher_smtp_ip, + smtp_port => $mailcatcher_smtp_port, + http_ip => $mailcatcher_http_ip, + http_port => $mailcatcher_http_port, + } + + if $::osfamily == 'redhat' and ! defined(Iptables::Allow["tcp/${mailcatcher_smtp_port}"]) { + iptables::allow { "tcp/${mailcatcher_smtp_port}": + port => $mailcatcher_smtp_port, + protocol => 'tcp' + } + } + + if $::osfamily == 'redhat' and ! defined(Iptables::Allow["tcp/${mailcatcher_http_port}"]) { + iptables::allow { "tcp/${mailcatcher_http_port}": + port => $mailcatcher_http_port, + protocol => 'tcp' + } + } + + if ! defined(Class['supervisord']) { + class { 'supervisord': + install_pip => true, + } + } + + $supervisord_mailcatcher_options = sort(join_keys_to_values({ + ' --smtp-ip' => $mailcatcher_smtp_ip, + ' --smtp-port' => $mailcatcher_smtp_port, + ' --http-ip' => $mailcatcher_http_ip, + ' --http-port' => $mailcatcher_http_port + }, ' ')) + + $supervisord_mailcatcher_cmd = "mailcatcher ${supervisord_mailcatcher_options} -f >> ${mailcatcher_log}" + + supervisord::program { 'mailcatcher': + command => $supervisord_mailcatcher_cmd, + priority => '100', + user => 'mailcatcher', + autostart => true, + autorestart => true, + environment => { + 'PATH' => "/bin:/sbin:/usr/bin:/usr/sbin:${mailcatcher_path}" + }, + require => Package['mailcatcher'] + } +} + +## Begin Apache manifest + +if $yaml_values == undef { + $yaml_values = loadyaml('/vagrant/puphpet/config.yaml') +} + +if $apache_values == undef { + $apache_values = $yaml_values['apache'] +} + +if $php_values == undef { + $php_values = hiera('php', false) +} + +if $hhvm_values == undef { + $hhvm_values = hiera('hhvm', false) +} + +include puphpet::params +include apache::params + +$webroot_location = $puphpet::params::apache_webroot_location + +exec { "exec mkdir -p ${webroot_location}": + command => "mkdir -p ${webroot_location}", + creates => $webroot_location, +} + +if ! defined(File[$webroot_location]) { + file { $webroot_location: + ensure => directory, + group => 'www-data', + mode => 0775, + require => [ + Exec["exec mkdir -p ${webroot_location}"], + Group['www-data'] + ] + } +} + +if is_hash($hhvm_values) and has_key($hhvm_values, 'install') and $hhvm_values['install'] == 1 { + $mpm_module = 'worker' + $disallowed_modules = ['php'] + $apache_conf_template = 'puphpet/apache/hhvm-httpd.conf.erb' +} elsif (is_hash($php_values)) { + $mpm_module = 'prefork' + $disallowed_modules = [] + $apache_conf_template = $apache::params::conf_template +} else { + $mpm_module = 'prefork' + $disallowed_modules = [] + $apache_conf_template = $apache::params::conf_template +} + +class { 'apache': + user => $apache_values['user'], + group => $apache_values['group'], + default_vhost => true, + mpm_module => $mpm_module, + manage_user => false, + manage_group => false, + conf_template => $apache_conf_template +} + +if $::osfamily == 'redhat' and ! defined(Iptables::Allow['tcp/80']) { + iptables::allow { 'tcp/80': + port => '80', + protocol => 'tcp' + } +} + +if has_key($apache_values, 'mod_pagespeed') and $apache_values['mod_pagespeed'] == 1 { + class { 'puphpet::apache::modpagespeed': } +} + +if has_key($apache_values, 'mod_spdy') and $apache_values['mod_spdy'] == 1 { + class { 'puphpet::apache::modspdy': } +} + +if count($apache_values['vhosts']) > 0 { + each( $apache_values['vhosts'] ) |$key, $vhost| { + exec { "exec mkdir -p ${vhost['docroot']} @ key ${key}": + command => "mkdir -p ${vhost['docroot']}", + creates => $vhost['docroot'], + } + + if ! defined(File[$vhost['docroot']]) { + file { $vhost['docroot']: + ensure => directory, + require => Exec["exec mkdir -p ${vhost['docroot']} @ key ${key}"] + } + } + } +} + +create_resources(apache::vhost, $apache_values['vhosts']) + +define apache_mod { + if ! defined(Class["apache::mod::${name}"]) and !($name in $disallowed_modules) { + class { "apache::mod::${name}": } + } +} + +if count($apache_values['modules']) > 0 { + apache_mod { $apache_values['modules']: } +} + +## Begin PHP manifest + +if $php_values == undef { + $php_values = hiera('php', false) +} + +if $apache_values == undef { + $apache_values = hiera('apache', false) +} + +if $nginx_values == undef { + $nginx_values = hiera('nginx', false) +} + +if is_hash($php_values) and has_key($php_values, 'install') and $php_values['install'] == 1 { + Class['Php'] -> Class['Php::Devel'] -> Php::Module <| |> -> Php::Pear::Module <| |> -> Php::Pecl::Module <| |> + + if $php_prefix == undef { + $php_prefix = $::operatingsystem ? { + /(?i:Ubuntu|Debian|Mint|SLES|OpenSuSE)/ => 'php5-', + default => 'php-', + } + } + + if $php_fpm_ini == undef { + $php_fpm_ini = $::operatingsystem ? { + /(?i:Ubuntu|Debian|Mint|SLES|OpenSuSE)/ => '/etc/php5/fpm/php.ini', + default => '/etc/php.ini', + } + } + + if is_hash($apache_values) { + include apache::params + + if has_key($apache_values, 'mod_spdy') and $apache_values['mod_spdy'] == 1 { + $php_webserver_service_ini = 'cgi' + } else { + $php_webserver_service_ini = 'httpd' + } + + $php_webserver_service = 'httpd' + $php_webserver_user = $apache::params::user + $php_webserver_restart = true + + class { 'php': + service => $php_webserver_service + } + } elsif is_hash($nginx_values) { + include nginx::params + + $php_webserver_service = "${php_prefix}fpm" + $php_webserver_service_ini = $php_webserver_service + $php_webserver_user = $nginx::params::nx_daemon_user + $php_webserver_restart = true + + class { 'php': + package => $php_webserver_service, + service => $php_webserver_service, + service_autorestart => false, + config_file => $php_fpm_ini, + } + + service { $php_webserver_service: + ensure => running, + enable => true, + hasrestart => true, + hasstatus => true, + require => Package[$php_webserver_service] + } + } else { + $php_webserver_service = undef + $php_webserver_service_ini = undef + $php_webserver_restart = false + + class { 'php': + package => "${php_prefix}cli", + service => $php_webserver_service, + service_autorestart => false, + } + } + + class { 'php::devel': } + + if count($php_values['modules']['php']) > 0 { + php_mod { $php_values['modules']['php']:; } + } + if count($php_values['modules']['pear']) > 0 { + php_pear_mod { $php_values['modules']['pear']:; } + } + if count($php_values['modules']['pecl']) > 0 { + php_pecl_mod { $php_values['modules']['pecl']:; } + } + if count($php_values['ini']) > 0 { + each( $php_values['ini'] ) |$key, $value| { + if is_array($value) { + each( $php_values['ini'][$key] ) |$innerkey, $innervalue| { + puphpet::ini { "${key}_${innerkey}": + entry => "CUSTOM_${innerkey}/${key}", + value => $innervalue, + php_version => $php_values['version'], + webserver => $php_webserver_service_ini + } + } + } else { + puphpet::ini { $key: + entry => "CUSTOM/${key}", + value => $value, + php_version => $php_values['version'], + webserver => $php_webserver_service_ini + } + } + } + + if $php_values['ini']['session.save_path'] != undef { + exec {"mkdir -p ${php_values['ini']['session.save_path']}": + onlyif => "test ! -d ${php_values['ini']['session.save_path']}", + } + + file { $php_values['ini']['session.save_path']: + ensure => directory, + group => 'www-data', + mode => 0775, + require => Exec["mkdir -p ${php_values['ini']['session.save_path']}"] + } + } + } + + puphpet::ini { $key: + entry => 'CUSTOM/date.timezone', + value => $php_values['timezone'], + php_version => $php_values['version'], + webserver => $php_webserver_service_ini + } + + if $php_values['composer'] == 1 { + class { 'composer': + target_dir => '/usr/local/bin', + composer_file => 'composer', + download_method => 'curl', + logoutput => false, + tmp_path => '/tmp', + php_package => "${php::params::module_prefix}cli", + curl_package => 'curl', + suhosin_enabled => false, + } + } +} + + +define php_mod { + php::module { $name: + service_autorestart => $php_webserver_restart, + } +} +define php_pear_mod { + php::pear::module { $name: + use_package => false, + service_autorestart => $php_webserver_restart, + } +} +define php_pecl_mod { + php::pecl::module { $name: + use_package => false, + service_autorestart => $php_webserver_restart, + } +} + +## Begin Xdebug manifest + +if $xdebug_values == undef { + $xdebug_values = hiera('xdebug', false) +} + +if $php_values == undef { + $php_values = hiera('php', false) +} + +if $apache_values == undef { + $apache_values = hiera('apache', false) +} + +if $nginx_values == undef { + $nginx_values = hiera('nginx', false) +} + +if is_hash($apache_values) { + $xdebug_webserver_service = 'httpd' +} elsif is_hash($nginx_values) { + $xdebug_webserver_service = 'nginx' +} else { + $xdebug_webserver_service = undef +} + +if (is_hash($xdebug_values) and has_key($xdebug_values, 'install') and $xdebug_values['install'] == 1) + and is_hash($php_values) and has_key($php_values, 'install') and $php_values['install'] == 1 { + class { 'puphpet::xdebug': + webserver => $xdebug_webserver_service + } + + if is_hash($xdebug_values['settings']) and count($xdebug_values['settings']) > 0 { + each( $xdebug_values['settings'] ) |$key, $value| { + puphpet::ini { $key: + entry => "XDEBUG/${key}", + value => $value, + php_version => $php_values['version'], + webserver => $xdebug_webserver_service + } + } + } +} + +## Begin Xhprof manifest + +if $xhprof_values == undef { + $xhprof_values = hiera('xhprof', false) +} + +if $apache_values == undef { + $apache_values = hiera('apache', false) +} + +if $nginx_values == undef { + $nginx_values = hiera('nginx', false) +} + +if is_hash($apache_values) or is_hash($nginx_values) { + $xhprof_webserver_restart = true +} else { + $xhprof_webserver_restart = false +} + +if (is_hash($xhprof_values) and has_key($xhprof_values, 'install') and $xhprof_values['install'] == 1) + and is_hash($php_values) and has_key($php_values, 'install') and $php_values['install'] == 1 { + if $::operatingsystem == 'ubuntu' { + apt::key { '8D0DC64F': + key_server => 'hkp://keyserver.ubuntu.com:80' + } + + apt::ppa { 'ppa:brianmercer/php5-xhprof': require => Apt::Key['8D0DC64F'] } + } + + $xhprof_package = $puphpet::params::xhprof_package + + if is_hash($apache_values) { + $xhprof_webroot_location = $puphpet::params::apache_webroot_location + $xhprof_webserver_service = Service['httpd'] + } elsif is_hash($nginx_values) { + $xhprof_webroot_location = $puphpet::params::nginx_webroot_location + $xhprof_webserver_service = Service['nginx'] + } else { + $xhprof_webroot_location = $xhprof_values['location'] + $xhprof_webserver_service = undef + } + + if defined(Package[$xhprof_package]) == false { + package { $xhprof_package: + ensure => installed, + require => Package['php'], + notify => $xhprof_webserver_service, + } + } + + ensure_packages( ['graphviz'] ) + + exec { 'delete-xhprof-path-if-not-git-repo': + command => "rm -rf ${xhprofPath}", + onlyif => "test ! -d ${xhprofPath}/.git" + } + + vcsrepo { "${xhprof_webroot_location}/xhprof": + ensure => present, + provider => git, + source => 'https://github.com/facebook/xhprof.git', + require => Exec['delete-xhprof-path-if-not-git-repo'] + } + + file { "${xhprofPath}/xhprof_html": + ensure => directory, + mode => 0775, + require => Vcsrepo["${xhprof_webroot_location}/xhprof"] + } + + composer::exec { 'xhprof-composer-run': + cmd => 'install', + cwd => "${xhprof_webroot_location}/xhprof", + require => [ + Class['composer'], + File["${xhprofPath}/xhprof_html"] + ] + } +} + +## Begin Drush manifest + +if $drush_values == undef { + $drush_values = hiera('drush', false) +} + +if is_hash($drush_values) and has_key($drush_values, 'install') and $drush_values['install'] == 1 { + if ($drush_values['settings']['drush.tag_branch'] != undef) { + $drush_tag_branch = $drush_values['settings']['drush.tag_branch'] + } else { + $drush_tag_branch = '' + } + + include drush::git::drush +} + +## Begin MySQL manifest + +if $mysql_values == undef { + $mysql_values = hiera('mysql', false) +} + +if $php_values == undef { + $php_values = hiera('php', false) +} + +if $apache_values == undef { + $apache_values = hiera('apache', false) +} + +if $nginx_values == undef { + $nginx_values = hiera('nginx', false) +} + +if is_hash($apache_values) or is_hash($nginx_values) { + $mysql_webserver_restart = true +} else { + $mysql_webserver_restart = false +} + +if (is_hash($php_values) and has_key($php_values, 'install') and $php_values['install'] == 1) + or (is_hash($hhvm_values) and has_key($hhvm_values, 'install') and $hhvm_values['install'] == 1) +{ + $mysql_php_installed = true +} else { + $mysql_php_installed = false +} + +if $mysql_values['root_password'] { + class { 'mysql::server': + root_password => $mysql_values['root_password'], + } + + if is_hash($mysql_values['databases']) and count($mysql_values['databases']) > 0 { + create_resources(mysql_db, $mysql_values['databases']) + } + + if is_hash($php_values) and has_key($php_values, 'install') and $php_values['install'] == 1 and ! defined(Php::Pecl::Module[$mongodb_pecl]) { + if $::osfamily == 'redhat' and $php_values['version'] == '53' and ! defined(Php::Module['mysql']) { + php::module { 'mysql': + service_autorestart => $mysql_webserver_restart, + } + } elsif ! defined(Php::Module['mysqlnd']) { + php::module { 'mysqlnd': + service_autorestart => $mysql_webserver_restart, + } + } + } +} + +define mysql_db ( + $user, + $password, + $host, + $grant = [], + $sql_file = false +) { + if $name == '' or $password == '' or $host == '' { + fail( 'MySQL DB requires that name, password and host be set. Please check your settings!' ) + } + + mysql::db { $name: + user => $user, + password => $password, + host => $host, + grant => $grant, + sql => $sql_file, + } +} + +if has_key($mysql_values, 'phpmyadmin') and $mysql_values['phpmyadmin'] == 1 and $mysql_php_installed { + if $::osfamily == 'debian' { + if $::operatingsystem == 'ubuntu' { + apt::key { '80E7349A06ED541C': key_server => 'hkp://keyserver.ubuntu.com:80' } + apt::ppa { 'ppa:nijel/phpmyadmin': require => Apt::Key['80E7349A06ED541C'] } + } + + $phpMyAdmin_package = 'phpmyadmin' + $phpMyAdmin_folder = 'phpmyadmin' + } elsif $::osfamily == 'redhat' { + $phpMyAdmin_package = 'phpMyAdmin.noarch' + $phpMyAdmin_folder = 'phpMyAdmin' + } + + if ! defined(Package[$phpMyAdmin_package]) { + package { $phpMyAdmin_package: + require => Class['mysql::server'] + } + } + + include puphpet::params + + if is_hash($apache_values) { + $mysql_pma_webroot_location = $puphpet::params::apache_webroot_location + } elsif is_hash($nginx_values) { + $mysql_pma_webroot_location = $puphpet::params::nginx_webroot_location + + mysql_nginx_default_conf { 'override_default_conf': + webroot => $mysql_pma_webroot_location + } + } + + exec { 'cp phpmyadmin to webroot': + command => "cp -LR /usr/share/${phpMyAdmin_folder} ${mysql_pma_webroot_location}/phpmyadmin", + onlyif => "test ! -d ${mysql_pma_webroot_location}/phpmyadmin", + require => [ + Package[$phpMyAdmin_package], + File[$mysql_pma_webroot_location] + ] + } +} + +if has_key($mysql_values, 'adminer') and $mysql_values['adminer'] == 1 and $mysql_php_installed { + if is_hash($apache_values) { + $mysql_adminer_webroot_location = $puphpet::params::apache_webroot_location + } elsif is_hash($nginx_values) { + $mysql_adminer_webroot_location = $puphpet::params::nginx_webroot_location + } else { + $mysql_adminer_webroot_location = $puphpet::params::apache_webroot_location + } + + class { 'puphpet::adminer': + location => "${mysql_adminer_webroot_location}/adminer", + owner => 'www-data' + } +} + +# @todo update this +define mysql_nginx_default_conf ( + $webroot +) { + if $php5_fpm_sock == undef { + $php5_fpm_sock = '/var/run/php5-fpm.sock' + } + + if $fastcgi_pass == undef { + $fastcgi_pass = $php_values['version'] ? { + undef => null, + '53' => '127.0.0.1:9000', + default => "unix:${php5_fpm_sock}" + } + } + + class { 'puphpet::nginx': + fastcgi_pass => $fastcgi_pass, + notify => Class['nginx::service'], + } +} + +## Begin MongoDb manifest + +if $mongodb_values == undef { + $mongodb_values = hiera('mongodb', false) +} + +if $php_values == undef { + $php_values = hiera('php', false) +} + +if $apache_values == undef { + $apache_values = hiera('apache', false) +} + +if $nginx_values == undef { + $nginx_values = hiera('nginx', false) +} + +if is_hash($apache_values) or is_hash($nginx_values) { + $mongodb_webserver_restart = true +} else { + $mongodb_webserver_restart = false +} + +if has_key($mongodb_values, 'install') and $mongodb_values['install'] == 1 { + case $::osfamily { + 'debian': { + class {'::mongodb::globals': + manage_package_repo => true, + }-> + class {'::mongodb::server': + auth => $mongodb_values['auth'], + port => $mongodb_values['port'], + } + + $mongodb_pecl = 'mongo' + } + 'redhat': { + class {'::mongodb::globals': + manage_package_repo => true, + }-> + class {'::mongodb::server': + auth => $mongodb_values['auth'], + port => $mongodb_values['port'], + }-> + class {'::mongodb::client': } + + $mongodb_pecl = 'pecl-mongo' + } + } + + if is_hash($mongodb_values['databases']) and count($mongodb_values['databases']) > 0 { + create_resources(mongodb_db, $mongodb_values['databases']) + } + + if is_hash($php_values) and has_key($php_values, 'install') and $php_values['install'] == 1 and ! defined(Php::Pecl::Module[$mongodb_pecl]) { + php::pecl::module { $mongodb_pecl: + service_autorestart => $mariadb_webserver_restart, + require => Class['::mongodb::server'] + } + } +} + +define mongodb_db ( + $user, + $password +) { + if $name == '' or $password == '' { + fail( 'MongoDB requires that name and password be set. Please check your settings!' ) + } + + mongodb::db { $name: + user => $user, + password => $password + } +} + +# Begin beanstalkd + +if $beanstalkd_values == undef { + $beanstalkd_values = hiera('beanstalkd', false) +} + +if $php_values == undef { + $php_values = hiera('php', false) +} + +if $hhvm_values == undef { + $hhvm_values = hiera('hhvm', false) +} + +if $apache_values == undef { + $apache_values = hiera('apache', false) +} + +if $nginx_values == undef { + $nginx_values = hiera('nginx', false) +} + +if is_hash($apache_values) { + $beanstalk_console_webroot_location = "${puphpet::params::apache_webroot_location}/beanstalk_console" +} elsif is_hash($nginx_values) { + $beanstalk_console_webroot_location = "${puphpet::params::nginx_webroot_location}/beanstalk_console" +} else { + $beanstalk_console_webroot_location = undef +} + +if (is_hash($php_values) and has_key($php_values, 'install') and $php_values['install'] == 1) + or (is_hash($hhvm_values) and has_key($hhvm_values, 'install') and $hhvm_values['install'] == 1) +{ + $beanstalkd_php_installed = true +} else { + $beanstalkd_php_installed = false +} + +if is_hash($beanstalkd_values) and has_key($beanstalkd_values, 'install') and $beanstalkd_values['install'] == 1 { + create_resources(beanstalkd::config, {'beanstalkd' => $beanstalkd_values['settings']}) + + if has_key($beanstalkd_values, 'beanstalk_console') and $beanstalkd_values['beanstalk_console'] == 1 and $beanstalk_console_webroot_location != undef and $beanstalkd_php_installed { + exec { 'delete-beanstalk_console-path-if-not-git-repo': + command => "rm -rf ${beanstalk_console_webroot_location}", + onlyif => "test ! -d ${beanstalk_console_webroot_location}/.git" + } + + vcsrepo { $beanstalk_console_webroot_location: + ensure => present, + provider => git, + source => 'https://github.com/ptrofimov/beanstalk_console.git', + require => Exec['delete-beanstalk_console-path-if-not-git-repo'] + } + } +} + +# Begin rabbitmq + +if $rabbitmq_values == undef { + $rabbitmq_values = hiera('rabbitmq', false) +} + +if $php_values == undef { + $php_values = hiera('php', false) +} + +if has_key($rabbitmq_values, 'install') and $rabbitmq_values['install'] == 1 { + class { 'rabbitmq': + port => $rabbitmq_values['port'] + } + + if is_hash($php_values) and has_key($php_values, 'install') and $php_values['install'] == 1 and ! defined(Php::Pecl::Module['amqp']) { + php_pecl_mod { 'amqp': } + } +} + diff --git a/dev/vagrant/dolibarrdev/puphpet/shell/execute-files.sh b/dev/vagrant/dolibarrdev/puphpet/shell/execute-files.sh new file mode 100644 index 00000000000..6cb58597fd5 --- /dev/null +++ b/dev/vagrant/dolibarrdev/puphpet/shell/execute-files.sh @@ -0,0 +1,18 @@ +#!/bin/bash + +VAGRANT_CORE_FOLDER=$(cat "/.puphpet-stuff/vagrant-core-folder.txt") + +shopt -s nullglob +files=("${VAGRANT_CORE_FOLDER}"/files/exec-once/*) + +if [[ ! -f /.puphpet-stuff/exec-once-ran && (${#files[@]} -gt 0) ]]; then + echo 'Running files in files/exec-once' + find "${VAGRANT_CORE_FOLDER}/files/exec-once" -maxdepth 1 -type f \( ! -iname "empty" \) -exec chmod +x '{}' \; -exec {} \; + echo 'Finished running files in files/exec-once' + echo 'To run again, delete file /.puphpet-stuff/exec-once-ran' + touch /.puphpet-stuff/exec-once-ran +fi + +echo 'Running files in files/exec-always' +find "${VAGRANT_CORE_FOLDER}/files/exec-always" -maxdepth 1 -type f \( ! -iname "empty" \) -exec chmod +x '{}' \; -exec {} \; +echo 'Finished running files in files/exec-always' diff --git a/dev/vagrant/dolibarrdev/puphpet/shell/initial-setup.sh b/dev/vagrant/dolibarrdev/puphpet/shell/initial-setup.sh new file mode 100644 index 00000000000..b6fb27aa6b8 --- /dev/null +++ b/dev/vagrant/dolibarrdev/puphpet/shell/initial-setup.sh @@ -0,0 +1,50 @@ +#!/bin/bash + +VAGRANT_CORE_FOLDER=$(echo "$1") + +OS=$(/bin/bash "${VAGRANT_CORE_FOLDER}/shell/os-detect.sh" ID) +CODENAME=$(/bin/bash "${VAGRANT_CORE_FOLDER}/shell/os-detect.sh" CODENAME) + +if [[ ! -d /.puphpet-stuff ]]; then + mkdir /.puphpet-stuff + + echo "${VAGRANT_CORE_FOLDER}" > "/.puphpet-stuff/vagrant-core-folder.txt" + + cat "${VAGRANT_CORE_FOLDER}/shell/self-promotion.txt" + echo "Created directory /.puphpet-stuff" +fi + +if [[ ! -f /.puphpet-stuff/initial-setup-repo-update ]]; then + if [ "${OS}" == 'debian' ] || [ "${OS}" == 'ubuntu' ]; then + echo "Running initial-setup apt-get update" + apt-get update >/dev/null + touch /.puphpet-stuff/initial-setup-repo-update + echo "Finished running initial-setup apt-get update" + elif [[ "${OS}" == 'centos' ]]; then + echo "Running initial-setup yum update" + yum install yum-plugin-fastestmirror -y >/dev/null + yum check-update -y >/dev/null + echo "Finished running initial-setup yum update" + + echo "Updating to Ruby 1.9.3" + yum install centos-release-SCL >/dev/null + yum remove ruby >/dev/null + yum install ruby193 facter hiera ruby193-ruby-irb ruby193-ruby-doc ruby193-rubygem-json ruby193-libyaml >/dev/null + gem update --system >/dev/null + gem install haml >/dev/null + echo "Finished updating to Ruby 1.9.3" + + echo "Installing basic development tools (CentOS)" + yum -y groupinstall "Development Tools" >/dev/null + echo "Finished installing basic development tools (CentOS)" + touch /.puphpet-stuff/initial-setup-repo-update + fi +fi + +if [[ "${OS}" == 'ubuntu' && ("${CODENAME}" == 'lucid' || "${CODENAME}" == 'precise') && ! -f /.puphpet-stuff/ubuntu-required-libraries ]]; then + echo 'Installing basic curl packages (Ubuntu only)' + apt-get install -y libcurl3 libcurl4-gnutls-dev curl >/dev/null + echo 'Finished installing basic curl packages (Ubuntu only)' + + touch /.puphpet-stuff/ubuntu-required-libraries +fi diff --git a/dev/vagrant/dolibarrdev/shell/librarian-puppet-vagrant.sh b/dev/vagrant/dolibarrdev/puphpet/shell/librarian-puppet-vagrant.sh similarity index 65% rename from dev/vagrant/dolibarrdev/shell/librarian-puppet-vagrant.sh rename to dev/vagrant/dolibarrdev/puphpet/shell/librarian-puppet-vagrant.sh index 46569a88424..9c4dc8af238 100644 --- a/dev/vagrant/dolibarrdev/shell/librarian-puppet-vagrant.sh +++ b/dev/vagrant/dolibarrdev/puphpet/shell/librarian-puppet-vagrant.sh @@ -1,7 +1,9 @@ #!/bin/bash -OS=$(/bin/bash /vagrant/shell/os-detect.sh ID) -CODENAME=$(/bin/bash /vagrant/shell/os-detect.sh CODENAME) +VAGRANT_CORE_FOLDER=$(cat "/.puphpet-stuff/vagrant-core-folder.txt") + +OS=$(/bin/bash "${VAGRANT_CORE_FOLDER}/shell/os-detect.sh" ID) +CODENAME=$(/bin/bash "${VAGRANT_CORE_FOLDER}/shell/os-detect.sh" CODENAME) # Directory in which librarian-puppet should manage its modules directory PUPPET_DIR=/etc/puppet/ @@ -9,7 +11,7 @@ PUPPET_DIR=/etc/puppet/ $(which git > /dev/null 2>&1) FOUND_GIT=$? -if [ "$FOUND_GIT" -ne '0' ] && [ ! -f /.puphpet-stuff/librarian-puppet-installed ]; then +if [ "${FOUND_GIT}" -ne '0' ] && [ ! -f /.puphpet-stuff/librarian-puppet-installed ]; then $(which apt-get > /dev/null 2>&1) FOUND_APT=$? $(which yum > /dev/null 2>&1) @@ -27,15 +29,15 @@ if [ "$FOUND_GIT" -ne '0' ] && [ ! -f /.puphpet-stuff/librarian-puppet-installed echo 'Finished installing git' fi -if [[ ! -d "$PUPPET_DIR" ]]; then - mkdir -p "$PUPPET_DIR" - echo "Created directory $PUPPET_DIR" +if [[ ! -d "${PUPPET_DIR}" ]]; then + mkdir -p "${PUPPET_DIR}" + echo "Created directory ${PUPPET_DIR}" fi -cp "/vagrant/puppet/Puppetfile" "$PUPPET_DIR" +cp "${VAGRANT_CORE_FOLDER}/puppet/Puppetfile" "${PUPPET_DIR}" echo "Copied Puppetfile" -if [ "$OS" == 'debian' ] || [ "$OS" == 'ubuntu' ]; then +if [ "${OS}" == 'debian' ] || [ "${OS}" == 'ubuntu' ]; then if [[ ! -f /.puphpet-stuff/librarian-base-packages ]]; then echo 'Installing base packages for librarian' apt-get install -y build-essential ruby-dev >/dev/null @@ -45,7 +47,7 @@ if [ "$OS" == 'debian' ] || [ "$OS" == 'ubuntu' ]; then fi fi -if [ "$OS" == 'ubuntu' ]; then +if [ "${OS}" == 'ubuntu' ]; then if [[ ! -f /.puphpet-stuff/librarian-libgemplugin-ruby ]]; then echo 'Updating libgemplugin-ruby (Ubuntu only)' apt-get install -y libgemplugin-ruby >/dev/null @@ -54,7 +56,7 @@ if [ "$OS" == 'ubuntu' ]; then touch /.puphpet-stuff/librarian-libgemplugin-ruby fi - if [ "$CODENAME" == 'lucid' ] && [ ! -f /.puphpet-stuff/librarian-rubygems-update ]; then + if [ "${CODENAME}" == 'lucid' ] && [ ! -f /.puphpet-stuff/librarian-rubygems-update ]; then echo 'Updating rubygems (Ubuntu Lucid only)' echo 'Ignore all "conflicting chdir" errors!' gem install rubygems-update >/dev/null @@ -71,12 +73,17 @@ if [[ ! -f /.puphpet-stuff/librarian-puppet-installed ]]; then echo 'Finished installing librarian-puppet' echo 'Running initial librarian-puppet' - cd "$PUPPET_DIR" && librarian-puppet install --clean >/dev/null + cd "${PUPPET_DIR}" && librarian-puppet install --clean >/dev/null echo 'Finished running initial librarian-puppet' touch /.puphpet-stuff/librarian-puppet-installed else echo 'Running update librarian-puppet' - cd "$PUPPET_DIR" && librarian-puppet update >/dev/null + cd "${PUPPET_DIR}" && librarian-puppet update >/dev/null echo 'Finished running update librarian-puppet' fi + +echo "Replacing puppetlabs-git module with custom" +rm -rf /etc/puppet/modules/git +git clone https://github.com/puphpet/puppetlabs-git.git /etc/puppet/modules/git +echo "Finished replacing puppetlabs-git module with custom" diff --git a/dev/vagrant/dolibarrdev/shell/os-detect.sh b/dev/vagrant/dolibarrdev/puphpet/shell/os-detect.sh similarity index 85% rename from dev/vagrant/dolibarrdev/shell/os-detect.sh rename to dev/vagrant/dolibarrdev/puphpet/shell/os-detect.sh index 07d2adb4fd3..a521f442798 100644 --- a/dev/vagrant/dolibarrdev/shell/os-detect.sh +++ b/dev/vagrant/dolibarrdev/puphpet/shell/os-detect.sh @@ -9,7 +9,7 @@ ID="unknown" CODENAME="unknown" RELEASE="unknown" -if [ "$OS" == "Linux" ]; then +if [ "${OS}" == "Linux" ]; then # detect centos grep "centos" /etc/issue -i -q if [ $? = '0' ]; then @@ -36,12 +36,12 @@ fi declare -A info -info[id]=$(echo "$ID" | tr '[A-Z]' '[a-z]') -info[codename]=$(echo "$CODENAME" | tr '[A-Z]' '[a-z]') -info[release]=$(echo "$RELEASE" | tr '[A-Z]' '[a-z]') +info[id]=$(echo "${ID}" | tr '[A-Z]' '[a-z]') +info[codename]=$(echo "${CODENAME}" | tr '[A-Z]' '[a-z]') +info[release]=$(echo "${RELEASE}" | tr '[A-Z]' '[a-z]') if [ "$TYPE" ] ; then - echo "${info[$TYPE]}" + echo "${info[${TYPE}]}" else echo -e "ID\t${info[id]}" echo -e "CODENAME\t${info[codename]}" diff --git a/dev/vagrant/dolibarrdev/shell/self-promotion.txt b/dev/vagrant/dolibarrdev/puphpet/shell/self-promotion.txt similarity index 100% rename from dev/vagrant/dolibarrdev/shell/self-promotion.txt rename to dev/vagrant/dolibarrdev/puphpet/shell/self-promotion.txt diff --git a/dev/vagrant/dolibarrdev/shell/update-puppet.sh b/dev/vagrant/dolibarrdev/puphpet/shell/update-puppet.sh similarity index 70% rename from dev/vagrant/dolibarrdev/shell/update-puppet.sh rename to dev/vagrant/dolibarrdev/puphpet/shell/update-puppet.sh index 128707c8292..13eb88d4870 100644 --- a/dev/vagrant/dolibarrdev/shell/update-puppet.sh +++ b/dev/vagrant/dolibarrdev/puphpet/shell/update-puppet.sh @@ -1,13 +1,15 @@ #!/bin/bash -OS=$(/bin/bash /vagrant/shell/os-detect.sh ID) -RELEASE=$(/bin/bash /vagrant/shell/os-detect.sh RELEASE) -CODENAME=$(/bin/bash /vagrant/shell/os-detect.sh CODENAME) +VAGRANT_CORE_FOLDER=$(cat "/.puphpet-stuff/vagrant-core-folder.txt") + +OS=$(/bin/bash "${VAGRANT_CORE_FOLDER}/shell/os-detect.sh" ID) +RELEASE=$(/bin/bash "${VAGRANT_CORE_FOLDER}/shell/os-detect.sh" RELEASE) +CODENAME=$(/bin/bash "${VAGRANT_CORE_FOLDER}/shell/os-detect.sh" CODENAME) if [[ ! -f /.puphpet-stuff/update-puppet ]]; then - if [ "$OS" == 'debian' ] || [ "$OS" == 'ubuntu' ]; then + if [ "${OS}" == 'debian' ] || [ "${OS}" == 'ubuntu' ]; then echo "Downloading http://apt.puppetlabs.com/puppetlabs-release-${CODENAME}.deb" - wget --quiet --tries=5 --timeout=10 -O "/.puphpet-stuff/puppetlabs-release-${CODENAME}.deb" "http://apt.puppetlabs.com/puppetlabs-release-${CODENAME}.deb" + wget --quiet --tries=5 --connect-timeout=10 -O "/.puphpet-stuff/puppetlabs-release-${CODENAME}.deb" "http://apt.puppetlabs.com/puppetlabs-release-${CODENAME}.deb" echo "Finished downloading http://apt.puppetlabs.com/puppetlabs-release-${CODENAME}.deb" dpkg -i "/.puphpet-stuff/puppetlabs-release-${CODENAME}.deb" >/dev/null @@ -19,11 +21,11 @@ if [[ ! -f /.puphpet-stuff/update-puppet ]]; then echo "Updating Puppet to latest version" apt-get -y install puppet >/dev/null PUPPET_VERSION=$(puppet help | grep 'Puppet v') - echo "Finished updating puppet to latest version: $PUPPET_VERSION" + echo "Finished updating puppet to latest version: ${PUPPET_VERSION}" touch /.puphpet-stuff/update-puppet echo "Created empty file /.puphpet-stuff/update-puppet" - elif [ "$OS" == 'centos' ]; then + elif [ "${OS}" == 'centos' ]; then echo "Downloading http://yum.puppetlabs.com/el/${RELEASE}/products/x86_64/puppetlabs-release-6-7.noarch.rpm" yum -y --nogpgcheck install "http://yum.puppetlabs.com/el/${RELEASE}/products/x86_64/puppetlabs-release-6-7.noarch.rpm" >/dev/null echo "Finished downloading http://yum.puppetlabs.com/el/${RELEASE}/products/x86_64/puppetlabs-release-6-7.noarch.rpm" @@ -35,7 +37,7 @@ if [[ ! -f /.puphpet-stuff/update-puppet ]]; then echo "Installing/Updating Puppet to latest version" yum -y install puppet >/dev/null PUPPET_VERSION=$(puppet help | grep 'Puppet v') - echo "Finished installing/updating puppet to latest version: $PUPPET_VERSION" + echo "Finished installing/updating puppet to latest version: ${PUPPET_VERSION}" touch /.puphpet-stuff/update-puppet echo "Created empty file /.puphpet-stuff/update-puppet" diff --git a/dev/vagrant/dolibarrdev/puppet/Puppetfile b/dev/vagrant/dolibarrdev/puppet/Puppetfile deleted file mode 100644 index 252ae8e32cf..00000000000 --- a/dev/vagrant/dolibarrdev/puppet/Puppetfile +++ /dev/null @@ -1,13 +0,0 @@ -forge "http://forge.puppetlabs.com" -mod 'stdlib', :git => 'git://github.com/puphpet/puppetlabs-stdlib.git' -mod 'concat', :git => 'git://github.com/puphpet/puppetlabs-concat.git' -mod 'apt', :git => 'git://github.com/puphpet/puppetlabs-apt.git' -mod 'yum', :git => 'git://github.com/puphpet/puppet-yum.git' -mod 'vcsrepo', :git => 'git://github.com/puphpet/puppetlabs-vcsrepo.git' -mod 'ntp', :git => 'git://github.com/puphpet/puppetlabs-ntp.git' -mod 'iptables', :git => 'git://github.com/puphpet/puppet-iptables.git' -mod 'apache', :git => 'git://github.com/puphpet/puppetlabs-apache.git' -mod 'php', :git => 'git://github.com/puphpet/puppet-php.git' -mod 'composer', :git => 'git://github.com/puphpet/puppet-composer.git' -mod 'puphpet', :git => 'git://github.com/puphpet/puppet-puphpet.git' -mod 'mysql', :git => 'git://github.com/puphpet/puppetlabs-mysql.git' diff --git a/dev/vagrant/dolibarrdev/puppet/manifests/default.pp b/dev/vagrant/dolibarrdev/puppet/manifests/default.pp deleted file mode 100644 index f3fd5a6f930..00000000000 --- a/dev/vagrant/dolibarrdev/puppet/manifests/default.pp +++ /dev/null @@ -1,541 +0,0 @@ -## Begin Server manifest - -if $server_values == undef { - $server_values = hiera('server', false) -} - -# Ensure the time is accurate, reducing the possibilities of apt repositories -# failing for invalid certificates -include '::ntp' - -Exec { path => [ '/bin/', '/sbin/', '/usr/bin/', '/usr/sbin/' ] } -File { owner => 0, group => 0, mode => 0644 } - -group { 'puppet': ensure => present } -group { 'www-data': ensure => present } - -user { $::ssh_username: - shell => '/bin/bash', - home => "/home/${::ssh_username}", - ensure => present -} - -user { ['apache', 'nginx', 'httpd', 'www-data']: - shell => '/bin/bash', - ensure => present, - groups => 'www-data', - require => Group['www-data'] -} - -file { "/home/${::ssh_username}": - ensure => directory, - owner => $::ssh_username, -} - -# copy dot files to ssh user's home directory -exec { 'dotfiles': - cwd => "/home/${::ssh_username}", - command => "cp -r /vagrant/files/dot/.[a-zA-Z0-9]* /home/${::ssh_username}/ && chown -R ${::ssh_username} /home/${::ssh_username}/.[a-zA-Z0-9]*", - onlyif => "test -d /vagrant/files/dot", - require => User[$::ssh_username] -} - -case $::osfamily { - # debian, ubuntu - 'debian': { - class { 'apt': } - - Class['::apt::update'] -> Package <| - title != 'python-software-properties' - and title != 'software-properties-common' - |> - - ensure_packages( ['augeas-tools'] ) - } - # redhat, centos - 'redhat': { - class { 'yum': extrarepo => ['epel'] } - - Class['::yum'] -> Yum::Managed_yumrepo <| |> -> Package <| |> - - exec { 'bash_git': - cwd => "/home/${::ssh_username}", - command => "curl https://raw.github.com/git/git/master/contrib/completion/git-prompt.sh > /home/${::ssh_username}/.bash_git", - creates => "/home/${::ssh_username}/.bash_git" - } - - file_line { 'link ~/.bash_git': - ensure => present, - line => 'if [ -f ~/.bash_git ] ; then source ~/.bash_git; fi', - path => "/home/${::ssh_username}/.bash_profile", - require => [ - Exec['dotfiles'], - Exec['bash_git'], - ] - } - - file_line { 'link ~/.bash_aliases': - ensure => present, - line => 'if [ -f ~/.bash_aliases ] ; then source ~/.bash_aliases; fi', - path => "/home/${::ssh_username}/.bash_profile", - require => [ - File_line['link ~/.bash_git'], - ] - } - - ensure_packages( ['augeas'] ) - } -} - -if $php_values == undef { - $php_values = hiera('php', false) -} - -case $::operatingsystem { - 'debian': { - add_dotdeb { 'packages.dotdeb.org': release => $lsbdistcodename } - - if is_hash($php_values) { - # Debian Squeeze 6.0 can do PHP 5.3 (default) and 5.4 - if $lsbdistcodename == 'squeeze' and $php_values['version'] == '54' { - add_dotdeb { 'packages.dotdeb.org-php54': release => 'squeeze-php54' } - } - # Debian Wheezy 7.0 can do PHP 5.4 (default) and 5.5 - elsif $lsbdistcodename == 'wheezy' and $php_values['version'] == '55' { - add_dotdeb { 'packages.dotdeb.org-php55': release => 'wheezy-php55' } - } - } - } - 'ubuntu': { - apt::key { '4F4EA0AAE5267A6C': } - - if is_hash($php_values) { - # Ubuntu Lucid 10.04, Precise 12.04, Quantal 12.10 and Raring 13.04 can do PHP 5.3 (default <= 12.10) and 5.4 (default <= 13.04) - if $lsbdistcodename in ['lucid', 'precise', 'quantal', 'raring'] and $php_values['version'] == '54' { - if $lsbdistcodename == 'lucid' { - apt::ppa { 'ppa:ondrej/php5-oldstable': require => Apt::Key['4F4EA0AAE5267A6C'], options => '' } - } else { - apt::ppa { 'ppa:ondrej/php5-oldstable': require => Apt::Key['4F4EA0AAE5267A6C'] } - } - } - # Ubuntu Precise 12.04, Quantal 12.10 and Raring 13.04 can do PHP 5.5 - elsif $lsbdistcodename in ['precise', 'quantal', 'raring'] and $php_values['version'] == '55' { - apt::ppa { 'ppa:ondrej/php5': require => Apt::Key['4F4EA0AAE5267A6C'] } - } - elsif $lsbdistcodename in ['lucid'] and $php_values['version'] == '55' { - err('You have chosen to install PHP 5.5 on Ubuntu 10.04 Lucid. This will probably not work!') - } - } - } - 'redhat', 'centos': { - if is_hash($php_values) { - if $php_values['version'] == '54' { - class { 'yum::repo::remi': } - } - # remi_php55 requires the remi repo as well - elsif $php_values['version'] == '55' { - class { 'yum::repo::remi': } - class { 'yum::repo::remi_php55': } - } - } - } -} - -if !empty($server_values['packages']) { - ensure_packages( $server_values['packages'] ) -} - -define add_dotdeb ($release){ - apt::source { $name: - location => 'http://packages.dotdeb.org', - release => $release, - repos => 'all', - required_packages => 'debian-keyring debian-archive-keyring', - key => '89DF5277', - key_server => 'keys.gnupg.net', - include_src => true - } -} - -## Begin Apache manifest - -if $yaml_values == undef { - $yaml_values = loadyaml('/vagrant/puppet/hieradata/common.yaml') -} - -if $apache_values == undef { - $apache_values = $yaml_values['apache'] -} - -include puphpet::params - -$webroot_location = $puphpet::params::apache_webroot_location - -exec { "exec mkdir -p ${webroot_location}": - command => "mkdir -p ${webroot_location}", - onlyif => "test -d ${webroot_location}", -} - -if ! defined(File[$webroot_location]) { - file { $webroot_location: - ensure => directory, - group => 'www-data', - mode => 0775, - require => [ - Exec["exec mkdir -p ${webroot_location}"], - Group['www-data'] - ] - } -} - -class { 'apache': - user => $apache_values['user'], - group => $apache_values['group'], - default_vhost => $apache_values['default_vhost'], - mpm_module => $apache_values['mpm_module'], - manage_user => false, - manage_group => false -} - -if $::osfamily == 'debian' { - case $apache_values['mpm_module'] { - 'prefork': { ensure_packages( ['apache2-mpm-prefork'] ) } - 'worker': { ensure_packages( ['apache2-mpm-worker'] ) } - 'event': { ensure_packages( ['apache2-mpm-event'] ) } - } -} elsif $::osfamily == 'redhat' and ! defined(Iptables::Allow['tcp/80']) { - iptables::allow { 'tcp/80': - port => '80', - protocol => 'tcp' - } -} - -create_resources(apache::vhost, $apache_values['vhosts']) - -define apache_mod { - if ! defined(Class["apache::mod::${name}"]) { - class { "apache::mod::${name}": } - } -} - -if count($apache_values['modules']) > 0 { - apache_mod { $apache_values['modules']: } -} - -## Begin PHP manifest - -if $php_values == undef { - $php_values = hiera('php', false) -} - -if $apache_values == undef { - $apache_values = hiera('apache', false) -} - -if $nginx_values == undef { - $nginx_values = hiera('nginx', false) -} - -Class['Php'] -> Class['Php::Devel'] -> Php::Module <| |> -> Php::Pear::Module <| |> -> Php::Pecl::Module <| |> - -if $php_prefix == undef { - $php_prefix = $::operatingsystem ? { - /(?i:Ubuntu|Debian|Mint|SLES|OpenSuSE)/ => 'php5-', - default => 'php-', - } -} - -if $php_fpm_ini == undef { - $php_fpm_ini = $::operatingsystem ? { - /(?i:Ubuntu|Debian|Mint|SLES|OpenSuSE)/ => '/etc/php5/fpm/php.ini', - default => '/etc/php.ini', - } -} - -if is_hash($apache_values) { - include apache::params - - $php_webserver_service = 'httpd' - $php_webserver_user = $apache::params::user - - class { 'php': - service => $php_webserver_service - } -} elsif is_hash($nginx_values) { - include nginx::params - - $php_webserver_service = "${php_prefix}fpm" - $php_webserver_user = $nginx::params::nx_daemon_user - - class { 'php': - package => $php_webserver_service, - service => $php_webserver_service, - service_autorestart => false, - config_file => $php_fpm_ini, - } - - service { $php_webserver_service: - ensure => running, - enable => true, - hasrestart => true, - hasstatus => true, - require => Package[$php_webserver_service] - } -} - -class { 'php::devel': } - -if count($php_values['modules']['php']) > 0 { - php_mod { $php_values['modules']['php']:; } -} -if count($php_values['modules']['pear']) > 0 { - php_pear_mod { $php_values['modules']['pear']:; } -} -if count($php_values['modules']['pecl']) > 0 { - php_pecl_mod { $php_values['modules']['pecl']:; } -} -if count($php_values['ini']) > 0 { - $php_values['ini'].each { |$key, $value| - puphpet::ini { $key: - entry => "CUSTOM/${key}", - value => $value, - php_version => $php_values['version'], - webserver => $php_webserver_service - } - } - - if $php_values['ini']['session.save_path'] != undef { - exec {"mkdir -p ${php_values['ini']['session.save_path']}": - onlyif => "test ! -d ${php_values['ini']['session.save_path']}", - } - - file { $php_values['ini']['session.save_path']: - ensure => directory, - group => 'www-data', - mode => 0775, - require => Exec["mkdir -p ${php_values['ini']['session.save_path']}"] - } - } -} - -puphpet::ini { $key: - entry => 'CUSTOM/date.timezone', - value => $php_values['timezone'], - php_version => $php_values['version'], - webserver => $php_webserver_service -} - -define php_mod { - php::module { $name: } -} -define php_pear_mod { - php::pear::module { $name: use_package => false } -} -define php_pecl_mod { - php::pecl::module { $name: use_package => false } -} - -if $php_values['composer'] == 1 { - class { 'composer': - target_dir => '/usr/local/bin', - composer_file => 'composer', - download_method => 'curl', - logoutput => false, - tmp_path => '/tmp', - php_package => "${php::params::module_prefix}cli", - curl_package => 'curl', - suhosin_enabled => false, - } -} - -if $xdebug_values == undef { - $xdebug_values = hiera('xdebug', false) -} - -if is_hash($apache_values) { - $xdebug_webserver_service = 'httpd' -} elsif is_hash($nginx_values) { - $xdebug_webserver_service = 'nginx' -} else { - $xdebug_webserver_service = undef -} - -if $xdebug_values['install'] != undef and $xdebug_values['install'] == 1 { - class { 'puphpet::xdebug': - webserver => $xdebug_webserver_service - } - - if is_hash($xdebug_values['settings']) and count($xdebug_values['settings']) > 0 { - $xdebug_values['settings'].each { |$key, $value| - puphpet::ini { $key: - entry => "XDEBUG/${key}", - value => $value, - php_version => $php_values['version'], - webserver => $xdebug_webserver_service - } - } - } -} - -## Begin Xhprof manifest - -if $xhprof_values == undef { - $xhprof_values = hiera('xhprof', false) -} - -if is_hash($xhprof_values) and $xhprof_values['install'] == 1 { - $xhprofPath = $xhprof_values['location'] - - php::pecl::module { 'xhprof': - use_package => false, - preferred_state => 'beta', - } - - exec { 'delete-xhprof-path-if-not-git-repo': - command => "rm -rf ${xhprofPath}", - onlyif => "test ! -d ${xhprofPath}/.git" - } - - vcsrepo { $xhprofPath: - ensure => present, - provider => git, - source => 'https://github.com/facebook/xhprof.git', - require => Exec['delete-xhprof-path-if-not-git-repo'] - } - - file { "${xhprofPath}/xhprof_html": - ensure => directory, - mode => 0775, - require => Vcsrepo[$xhprofPath] - } - - composer::exec { 'xhprof-composer-run': - cmd => 'install', - cwd => $xhprofPath, - require => [ - Class['composer'], - File["${xhprofPath}/xhprof_html"] - ] - } -} - -## Begin MySQL manifest - -if $mysql_values == undef { - $mysql_values = hiera('mysql', false) -} - -if $php_values == undef { - $php_values = hiera('php', false) -} - -if $apache_values == undef { - $apache_values = hiera('apache', false) -} - -if $nginx_values == undef { - $nginx_values = hiera('nginx', false) -} - -if $mysql_values['root_password'] { - class { 'mysql::server': - root_password => $mysql_values['root_password'], - } - - if is_hash($mysql_values['databases']) and count($mysql_values['databases']) > 0 { - create_resources(mysql_db, $mysql_values['databases']) - } - - if is_hash($php_values) { - if $::osfamily == 'redhat' and $php_values['version'] == '53' and ! defined(Php::Module['mysql']) { - php::module { 'mysql': } - } elsif ! defined(Php::Module['mysqlnd']) { - php::module { 'mysqlnd': } - } - } -} - -define mysql_db ( - $user, - $password, - $host, - $grant = [], - $sql_file = false -) { - if $name == '' or $password == '' or $host == '' { - fail( 'MySQL DB requires that name, password and host be set. Please check your settings!' ) - } - - mysql::db { $name: - user => $user, - password => $password, - host => $host, - grant => $grant, - sql => $sql_file, - } -} - -if $mysql_values['phpmyadmin'] == 1 and is_hash($php_values) { - if $::osfamily == 'debian' { - if $::operatingsystem == 'ubuntu' { - apt::key { '80E7349A06ED541C': } - apt::ppa { 'ppa:nijel/phpmyadmin': require => Apt::Key['80E7349A06ED541C'] } - } - - $phpMyAdmin_package = 'phpmyadmin' - $phpMyAdmin_folder = 'phpmyadmin' - } elsif $::osfamily == 'redhat' { - $phpMyAdmin_package = 'phpMyAdmin.noarch' - $phpMyAdmin_folder = 'phpMyAdmin' - } - - if ! defined(Package[$phpMyAdmin_package]) { - package { $phpMyAdmin_package: - require => Class['mysql::server'] - } - } - - include puphpet::params - - if is_hash($apache_values) { - $mysql_webroot_location = $puphpet::params::apache_webroot_location - } elsif is_hash($nginx_values) { - $mysql_webroot_location = $puphpet::params::nginx_webroot_location - - mysql_nginx_default_conf { 'override_default_conf': - webroot => $mysql_webroot_location - } - } - - file { "${mysql_webroot_location}/phpmyadmin": - target => "/usr/share/${phpMyAdmin_folder}", - ensure => link, - replace => 'no', - require => [ - Package[$phpMyAdmin_package], - File[$mysql_webroot_location] - ] - } -} - -define mysql_nginx_default_conf ( - $webroot -) { - if $php5_fpm_sock == undef { - $php5_fpm_sock = '/var/run/php5-fpm.sock' - } - - if $fastcgi_pass == undef { - $fastcgi_pass = $php_values['version'] ? { - undef => null, - '53' => '127.0.0.1:9000', - default => "unix:${php5_fpm_sock}" - } - } - - class { 'puphpet::nginx': - fastcgi_pass => $fastcgi_pass, - notify => Class['nginx::service'], - } -} - diff --git a/dev/vagrant/dolibarrdev/shell/initial-setup.sh b/dev/vagrant/dolibarrdev/shell/initial-setup.sh deleted file mode 100644 index 724963a066d..00000000000 --- a/dev/vagrant/dolibarrdev/shell/initial-setup.sh +++ /dev/null @@ -1,36 +0,0 @@ -#!/bin/bash - -OS=$(/bin/bash /vagrant/shell/os-detect.sh ID) -CODENAME=$(/bin/bash /vagrant/shell/os-detect.sh CODENAME) - -if [[ ! -d /.puphpet-stuff ]]; then - cat /vagrant/shell/self-promotion.txt - mkdir /.puphpet-stuff - echo "Created directory /.puphpet-stuff" -fi - -if [[ ! -f /.puphpet-stuff/initial-setup-repo-update ]]; then - if [ "$OS" == 'debian' ] || [ "$OS" == 'ubuntu' ]; then - echo "Running initial-setup apt-get update" - apt-get update >/dev/null - touch /.puphpet-stuff/initial-setup-repo-update - echo "Finished running initial-setup apt-get update" - elif [[ "$OS" == 'centos' ]]; then - echo "Running initial-setup yum update" - yum update -y >/dev/null - echo "Finished running initial-setup yum update" - - echo "Installing basic development tools (CentOS)" - yum -y groupinstall "Development Tools" >/dev/null - echo "Finished installing basic development tools (CentOS)" - touch /.puphpet-stuff/initial-setup-repo-update - fi -fi - -if [[ "$OS" == 'ubuntu' && ("$CODENAME" == 'lucid' || "$CODENAME" == 'precise') && ! -f /.puphpet-stuff/ubuntu-required-libraries ]]; then - echo 'Installing basic curl packages (Ubuntu only)' - apt-get install -y libcurl3 libcurl4-gnutls-dev >/dev/null - echo 'Finished installing basic curl packages (Ubuntu only)' - - touch /.puphpet-stuff/ubuntu-required-libraries -fi From 7aadeb0a98b4d6cef60b6d05a7659f41cab31f9a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcos=20Garci=CC=81a=20de=20La=20Fuente?= Date: Mon, 24 Feb 2014 21:46:41 +0100 Subject: [PATCH 010/293] Updated vagrant README --- dev/vagrant/README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/dev/vagrant/README.md b/dev/vagrant/README.md index d09db63048f..1a84a8db4b3 100644 --- a/dev/vagrant/README.md +++ b/dev/vagrant/README.md @@ -28,7 +28,7 @@ That's all you need to do. It will build a brand new VirtalBox machine for you w ### Name resolution For easy access to the VM you need to setup name resolution to the machines IP. -Edit the hosts file on the machine you run Vagrant on to map the virtual machine's IP to it's Vhost name. +Edit the [hosts](https://en.wikipedia.org/wiki/Hosts_(file)) file on the machine you run Vagrant on to map the virtual machine's IP to it's Vhost name. Example syntax: @@ -58,3 +58,5 @@ Somewhat bleeding edge vagrant box for develop branch related work. - Debugger: XDebug - Profiler: Xhprof - phpMyAdmin: + +You can access MailCatcher to read all outgoing emails at http://192.168.42.101:1080 From e90f068e3bbfefd51df7758cfbd71261a48b1a44 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcos=20Garci=CC=81a=20de=20La=20Fuente?= Date: Tue, 25 Feb 2014 00:46:04 +0100 Subject: [PATCH 011/293] Documented invoice types --- htdocs/compta/facture/class/facture.class.php | 94 ++++++++++++------- 1 file changed, 59 insertions(+), 35 deletions(-) diff --git a/htdocs/compta/facture/class/facture.class.php b/htdocs/compta/facture/class/facture.class.php index cf15d3f13fc..dc154b2a51f 100644 --- a/htdocs/compta/facture/class/facture.class.php +++ b/htdocs/compta/facture/class/facture.class.php @@ -67,8 +67,8 @@ class Facture extends CommonInvoice var $ref_client; var $ref_ext; var $ref_int; - //! 0=Standard invoice, 1=Replacement invoice, 2=Credit note invoice, 3=Deposit invoice, 4=Proforma invoice - var $type=0; + //Check constants for types + var $type= self::TYPE_STANDARD; //var $amount; var $remise_absolue; @@ -116,6 +116,30 @@ class Facture extends CommonInvoice var $fac_rec; + /** + * Standard invoice + */ + const TYPE_STANDARD = 0; + + /** + * Replacement invoice + */ + const TYPE_REPLACEMENT = 1; + + /** + * Credit note invoice + */ + const TYPE_CREDIT_NOTE = 2; + + /** + * Deposit invoice + */ + const TYPE_DEPOSIT = 3; + + /** + * Proforma invoice + */ + const TYPE_PROFORMA = 4; /** * Constructor @@ -142,7 +166,7 @@ class Facture extends CommonInvoice $error=0; // Clean parameters - if (empty($this->type)) $this->type = 0; + if (empty($this->type)) $this->type = self::TYPE_STANDARD; $this->ref_client=trim($this->ref_client); $this->note=(isset($this->note) ? trim($this->note) : trim($this->note_private)); // deprecated $this->note_private=(isset($this->note_private) ? trim($this->note_private) : trim($this->note_private)); @@ -187,7 +211,7 @@ class Facture extends CommonInvoice $this->remise_percent = $_facrec->remise_percent; // Clean parametres - if (! $this->type) $this->type = 0; + if (! $this->type) $this->type = self::TYPE_STANDARD; $this->ref_client=trim($this->ref_client); $this->note_private=trim($this->note_private); $this->note_public=trim($this->note_public); @@ -765,14 +789,14 @@ class Facture extends CommonInvoice if ($short) return $url; $picto='bill'; - if ($this->type == 1) $picto.='r'; // Replacement invoice - if ($this->type == 2) $picto.='a'; // Credit note - if ($this->type == 3) $picto.='d'; // Deposit invoice + if ($this->type == self::TYPE_REPLACEMENT) $picto.='r'; // Replacement invoice + if ($this->type == self::TYPE_CREDIT_NOTE) $picto.='a'; // Credit note + if ($this->type == self::TYPE_DEPOSIT) $picto.='d'; // Deposit invoice $label=$langs->trans("ShowInvoice").': '.$this->ref; - if ($this->type == 1) $label=$langs->transnoentitiesnoconv("ShowInvoiceReplace").': '.$this->ref; - if ($this->type == 2) $label=$langs->transnoentitiesnoconv("ShowInvoiceAvoir").': '.$this->ref; - if ($this->type == 3) $label=$langs->transnoentitiesnoconv("ShowInvoiceDeposit").': '.$this->ref; + if ($this->type == self::TYPE_REPLACEMENT) $label=$langs->transnoentitiesnoconv("ShowInvoiceReplace").': '.$this->ref; + if ($this->type == self::TYPE_CREDIT_NOTE) $label=$langs->transnoentitiesnoconv("ShowInvoiceAvoir").': '.$this->ref; + if ($this->type == self::TYPE_DEPOSIT) $label=$langs->transnoentitiesnoconv("ShowInvoiceDeposit").': '.$this->ref; if ($moretitle) $label.=' - '.$moretitle; //$linkstart=''; @@ -1016,7 +1040,7 @@ class Facture extends CommonInvoice $error=0; // Clean parameters - if (empty($this->type)) $this->type=0; + if (empty($this->type)) $this->type= self::TYPE_STANDARD; if (isset($this->facnumber)) $this->facnumber=trim($this->ref); if (isset($this->ref_client)) $this->ref_client=trim($this->ref_client); if (isset($this->increment)) $this->increment=trim($this->increment); @@ -1294,7 +1318,7 @@ class Facture extends CommonInvoice } // If we decrament stock on invoice validation, we increment - if ($this->type != 3 && $result >= 0 && ! empty($conf->stock->enabled) && ! empty($conf->global->STOCK_CALCULATE_ON_BILL) && $idwarehouse!=-1) + if ($this->type != self::TYPE_DEPOSIT && $result >= 0 && ! empty($conf->stock->enabled) && ! empty($conf->global->STOCK_CALCULATE_ON_BILL) && $idwarehouse!=-1) { require_once DOL_DOCUMENT_ROOT.'/product/stock/class/mouvementstock.class.php'; $langs->load("agenda"); @@ -1306,7 +1330,7 @@ class Facture extends CommonInvoice { $mouvP = new MouvementStock($this->db); // We decrease stock for product - if ($this->type == 2) $result=$mouvP->livraison($user, $this->lines[$i]->fk_product, $idwarehouse, $this->lines[$i]->qty, $this->lines[$i]->subprice, $langs->trans("InvoiceDeleteDolibarr",$this->ref)); + if ($this->type == self::TYPE_CREDIT_NOTE) $result=$mouvP->livraison($user, $this->lines[$i]->fk_product, $idwarehouse, $this->lines[$i]->qty, $this->lines[$i]->subprice, $langs->trans("InvoiceDeleteDolibarr",$this->ref)); else $result=$mouvP->reception($user, $this->lines[$i]->fk_product, $idwarehouse, $this->lines[$i]->qty, 0, $langs->trans("InvoiceDeleteDolibarr",$this->ref)); // we use 0 for price, to not change the weighted average value } } @@ -1664,7 +1688,7 @@ class Facture extends CommonInvoice $this->fetch_lines(); // Check parameters - if ($this->type == 1) // si facture de remplacement + if ($this->type == self::TYPE_REPLACEMENT) // si facture de remplacement { // Controle que facture source connue if ($this->fk_facture_source <= 0) @@ -1758,7 +1782,7 @@ class Facture extends CommonInvoice $result=$this->client->set_as_client(); // Si active on decremente le produit principal et ses composants a la validation de facture - if ($this->type != 3 && $result >= 0 && ! empty($conf->stock->enabled) && ! empty($conf->global->STOCK_CALCULATE_ON_BILL)) + if ($this->type != self::TYPE_DEPOSIT && $result >= 0 && ! empty($conf->stock->enabled) && ! empty($conf->global->STOCK_CALCULATE_ON_BILL)) { require_once DOL_DOCUMENT_ROOT.'/product/stock/class/mouvementstock.class.php'; $langs->load("agenda"); @@ -1771,7 +1795,7 @@ class Facture extends CommonInvoice { $mouvP = new MouvementStock($this->db); // We decrease stock for product - if ($this->type == 2) $result=$mouvP->reception($user, $this->lines[$i]->fk_product, $idwarehouse, $this->lines[$i]->qty, $this->lines[$i]->subprice, $langs->trans("InvoiceValidatedInDolibarr",$num)); + if ($this->type == self::TYPE_CREDIT_NOTE) $result=$mouvP->reception($user, $this->lines[$i]->fk_product, $idwarehouse, $this->lines[$i]->qty, $this->lines[$i]->subprice, $langs->trans("InvoiceValidatedInDolibarr",$num)); else $result=$mouvP->livraison($user, $this->lines[$i]->fk_product, $idwarehouse, $this->lines[$i]->qty, $this->lines[$i]->subprice, $langs->trans("InvoiceValidatedInDolibarr",$num)); if ($result < 0) { $error++; @@ -1881,7 +1905,7 @@ class Facture extends CommonInvoice if ($result) { // Si on decremente le produit principal et ses composants a la validation de facture, on réincrement - if ($this->type != 3 && $result >= 0 && ! empty($conf->stock->enabled) && ! empty($conf->global->STOCK_CALCULATE_ON_BILL)) + if ($this->type != self::TYPE_DEPOSIT && $result >= 0 && ! empty($conf->stock->enabled) && ! empty($conf->global->STOCK_CALCULATE_ON_BILL)) { require_once DOL_DOCUMENT_ROOT.'/product/stock/class/mouvementstock.class.php'; $langs->load("agenda"); @@ -1893,7 +1917,7 @@ class Facture extends CommonInvoice { $mouvP = new MouvementStock($this->db); // We decrease stock for product - if ($this->type == 2) $result=$mouvP->livraison($user, $this->lines[$i]->fk_product, $idwarehouse, $this->lines[$i]->qty, $this->lines[$i]->subprice, $langs->trans("InvoiceBackToDraftInDolibarr",$this->ref)); + if ($this->type == self::TYPE_CREDIT_NOTE) $result=$mouvP->livraison($user, $this->lines[$i]->fk_product, $idwarehouse, $this->lines[$i]->qty, $this->lines[$i]->subprice, $langs->trans("InvoiceBackToDraftInDolibarr",$this->ref)); else $result=$mouvP->reception($user, $this->lines[$i]->fk_product, $idwarehouse, $this->lines[$i]->qty, 0, $langs->trans("InvoiceBackToDraftInDolibarr",$this->ref)); // we use 0 for price, to not change the weighted average value } } @@ -1974,7 +1998,7 @@ class Facture extends CommonInvoice * @param array $array_option extrafields array * @return int <0 if KO, Id of line if OK */ - function addline($desc, $pu_ht, $qty, $txtva, $txlocaltax1=0, $txlocaltax2=0, $fk_product=0, $remise_percent=0, $date_start='', $date_end='', $ventil=0, $info_bits=0, $fk_remise_except='', $price_base_type='HT', $pu_ttc=0, $type=0, $rang=-1, $special_code=0, $origin='', $origin_id=0, $fk_parent_line=0, $fk_fournprice=null, $pa_ht=0, $label='',$array_option=0) + function addline($desc, $pu_ht, $qty, $txtva, $txlocaltax1=0, $txlocaltax2=0, $fk_product=0, $remise_percent=0, $date_start='', $date_end='', $ventil=0, $info_bits=0, $fk_remise_except='', $price_base_type='HT', $pu_ttc=0, $type= self::TYPE_STANDARD, $rang=-1, $special_code=0, $origin='', $origin_id=0, $fk_parent_line=0, $fk_fournprice=null, $pa_ht=0, $label='',$array_option=0) { global $mysoc; @@ -2055,27 +2079,27 @@ class Facture extends CommonInvoice $this->line->fk_facture=$facid; $this->line->label=$label; $this->line->desc=$desc; - $this->line->qty= ($this->type==2?abs($qty):$qty); // For credit note, quantity is always positive and unit price negative + $this->line->qty= ($this->type==self::TYPE_CREDIT_NOTE?abs($qty):$qty); // For credit note, quantity is always positive and unit price negative $this->line->tva_tx=$txtva; $this->line->localtax1_tx=$txlocaltax1; $this->line->localtax2_tx=$txlocaltax2; $this->line->fk_product=$fk_product; $this->line->product_type=$product_type; $this->line->remise_percent=$remise_percent; - $this->line->subprice= ($this->type==2?-abs($pu_ht):$pu_ht); // For credit note, unit price always negative, always positive otherwise + $this->line->subprice= ($this->type==self::TYPE_CREDIT_NOTE?-abs($pu_ht):$pu_ht); // For credit note, unit price always negative, always positive otherwise $this->line->date_start=$date_start; $this->line->date_end=$date_end; $this->line->ventil=$ventil; $this->line->rang=$rangtouse; $this->line->info_bits=$info_bits; $this->line->fk_remise_except=$fk_remise_except; - $this->line->total_ht= (($this->type==2||$qty<0)?-abs($total_ht):$total_ht); // For credit note and if qty is negative, total is negative - $this->line->total_tva= (($this->type==2||$qty<0)?-abs($total_tva):$total_tva); - $this->line->total_localtax1=(($this->type==2||$qty<0)?-abs($total_localtax1):$total_localtax1); - $this->line->total_localtax2=(($this->type==2||$qty<0)?-abs($total_localtax2):$total_localtax2); + $this->line->total_ht= (($this->type==self::TYPE_CREDIT_NOTE||$qty<0)?-abs($total_ht):$total_ht); // For credit note and if qty is negative, total is negative + $this->line->total_tva= (($this->type==self::TYPE_CREDIT_NOTE||$qty<0)?-abs($total_tva):$total_tva); + $this->line->total_localtax1=(($this->type==self::TYPE_CREDIT_NOTE||$qty<0)?-abs($total_localtax1):$total_localtax1); + $this->line->total_localtax2=(($this->type==self::TYPE_CREDIT_NOTE||$qty<0)?-abs($total_localtax2):$total_localtax2); $this->line->localtax1_type = $localtaxes_type[0]; $this->line->localtax2_type = $localtaxes_type[2]; - $this->line->total_ttc= (($this->type==2||$qty<0)?-abs($total_ttc):$total_ttc); + $this->line->total_ttc= (($this->type==self::TYPE_CREDIT_NOTE||$qty<0)?-abs($total_ttc):$total_ttc); $this->line->special_code=$special_code; $this->line->fk_parent_line=$fk_parent_line; $this->line->origin=$origin; @@ -2145,7 +2169,7 @@ class Facture extends CommonInvoice * @param array $array_option extrafields array * @return int < 0 if KO, > 0 if OK */ - function updateline($rowid, $desc, $pu, $qty, $remise_percent, $date_start, $date_end, $txtva, $txlocaltax1=0, $txlocaltax2=0, $price_base_type='HT', $info_bits=0, $type=0, $fk_parent_line=0, $skip_update_total=0, $fk_fournprice=null, $pa_ht=0, $label='', $special_code=0, $array_option=0) + function updateline($rowid, $desc, $pu, $qty, $remise_percent, $date_start, $date_end, $txtva, $txlocaltax1=0, $txlocaltax2=0, $price_base_type='HT', $info_bits=0, $type= self::TYPE_STANDARD, $fk_parent_line=0, $skip_update_total=0, $fk_fournprice=null, $pa_ht=0, $label='', $special_code=0, $array_option=0) { include_once DOL_DOCUMENT_ROOT.'/core/lib/price.lib.php'; @@ -2217,7 +2241,7 @@ class Facture extends CommonInvoice $this->line->rowid = $rowid; $this->line->label = $label; $this->line->desc = $desc; - $this->line->qty = ($this->type==2?abs($qty):$qty); // For credit note, quantity is always positive and unit price negative + $this->line->qty = ($this->type==self::TYPE_CREDIT_NOTE?abs($qty):$qty); // For credit note, quantity is always positive and unit price negative $this->line->tva_tx = $txtva; $this->line->localtax1_tx = $txlocaltax1; $this->line->localtax2_tx = $txlocaltax2; @@ -2227,11 +2251,11 @@ class Facture extends CommonInvoice $this->line->subprice = ($this->type==2?-abs($pu_ht):$pu_ht); // For credit note, unit price always negative, always positive otherwise $this->line->date_start = $date_start; $this->line->date_end = $date_end; - $this->line->total_ht = (($this->type==2||$qty<0)?-abs($total_ht):$total_ht); // For credit note and if qty is negative, total is negative - $this->line->total_tva = (($this->type==2||$qty<0)?-abs($total_tva):$total_tva); - $this->line->total_localtax1 = (($this->type==2||$qty<0)?-abs($total_localtax1):$total_localtax1); - $this->line->total_localtax2 = (($this->type==2||$qty<0)?-abs($total_localtax2):$total_localtax2); - $this->line->total_ttc = (($this->type==2||$qty<0)?-abs($total_ttc):$total_ttc); + $this->line->total_ht = (($this->type==self::TYPE_CREDIT_NOTE||$qty<0)?-abs($total_ht):$total_ht); // For credit note and if qty is negative, total is negative + $this->line->total_tva = (($this->type==self::TYPE_CREDIT_NOTE||$qty<0)?-abs($total_tva):$total_tva); + $this->line->total_localtax1 = (($this->type==self::TYPE_CREDIT_NOTE||$qty<0)?-abs($total_localtax1):$total_localtax1); + $this->line->total_localtax2 = (($this->type==self::TYPE_CREDIT_NOTE||$qty<0)?-abs($total_localtax2):$total_localtax2); + $this->line->total_ttc = (($this->type==self::TYPE_CREDIT_NOTE||$qty<0)?-abs($total_ttc):$total_ttc); $this->line->info_bits = $info_bits; $this->line->special_code = $special_code; $this->line->product_type = $type; @@ -2824,14 +2848,14 @@ class Facture extends CommonInvoice $sql = "SELECT f.rowid as rowid, f.facnumber, f.fk_statut, f.type, f.paye, pf.fk_paiement"; $sql.= " FROM ".MAIN_DB_PREFIX."facture as f"; $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."paiement_facture as pf ON f.rowid = pf.fk_facture"; - $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."facture as ff ON (f.rowid = ff.fk_facture_source AND ff.type=1)"; + $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."facture as ff ON (f.rowid = ff.fk_facture_source AND ff.type=".self::TYPE_REPLACEMENT.")"; $sql.= " WHERE f.entity = ".$conf->entity; $sql.= " AND f.fk_statut in (1,2)"; // $sql.= " WHERE f.fk_statut >= 1"; // $sql.= " AND (f.paye = 1"; // Classee payee completement // $sql.= " OR f.close_code IS NOT NULL)"; // Classee payee partiellement $sql.= " AND ff.type IS NULL"; // Renvoi vrai si pas facture de remplacement - $sql.= " AND f.type != 2"; // Type non 2 si facture non avoir + $sql.= " AND f.type != ".self::TYPE_CREDIT_NOTE; // Type non 2 si facture non avoir if ($socid > 0) $sql.=" AND f.fk_soc = ".$socid; $sql.= " ORDER BY f.facnumber"; From e83e2bbbd709f48bf1ed07ca8c5c16a069ea5313 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcos=20Garci=CC=81a=20de=20La=20Fuente?= Date: Tue, 25 Feb 2014 01:17:38 +0100 Subject: [PATCH 012/293] Fixed bug #1123: Paid deposit invoices are always shown as partially paid when fully paid --- ChangeLog | 1 + htdocs/compta/paiement/class/paiement.class.php | 11 ++++++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 90b6922d60b..b3aeb46a3a5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -22,6 +22,7 @@ Fix: Page load not ending when large number of thirdparies. We combo feature that is root cause of problem. Fix: [ bug #1231 ] PDF always generated in interventions Fix: Be sure there is no duplicate default rib. +Fix: [ bug #1123 ] Paid deposit invoices are always shown as partially paid when fully paid ***** ChangeLog for 3.5 compared to 3.4.* ***** For users: diff --git a/htdocs/compta/paiement/class/paiement.class.php b/htdocs/compta/paiement/class/paiement.class.php index 7ef5f44fb88..a3e6bfbe286 100644 --- a/htdocs/compta/paiement/class/paiement.class.php +++ b/htdocs/compta/paiement/class/paiement.class.php @@ -2,6 +2,7 @@ /* Copyright (C) 2002-2004 Rodolphe Quiedeville * Copyright (C) 2004-2010 Laurent Destailleur * Copyright (C) 2005 Marc Barilley / Ocebo + * Copyright (C) 2014 Marcos García * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -209,7 +210,15 @@ class Paiement extends CommonObject } } - if ($invoice->type != 0 && $invoice->type != 1 && $invoice->type != 2) dol_syslog("Invoice ".$facid." is not a standard, nor replacement invoice, nor credit note. We do nothing more."); + //Invoice types that are eligible for changing status to paid + $affected_types = array( + 0, + 1, + 2, + 3 + ); + + if (!in_array($invoice->type, $affected_types)) dol_syslog("Invoice ".$facid." is not a standard, nor replacement invoice, nor credit note, nor deposit invoice. We do nothing more."); else if ($remaintopay) dol_syslog("Remain to pay for invoice ".$facid." not null. We do nothing more."); else if ($mustwait) dol_syslog("There is ".$mustwait." differed payment to process, we do nothing more."); else $result=$invoice->set_paid($user,'',''); From f464528dd96ab9e4760ab0482eaa17b0a5ac9dde Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcos=20Garci=CC=81a=20de=20La=20Fuente?= Date: Tue, 25 Feb 2014 01:18:29 +0100 Subject: [PATCH 013/293] Corrected indentation to tabs --- htdocs/compta/paiement/class/paiement.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/compta/paiement/class/paiement.class.php b/htdocs/compta/paiement/class/paiement.class.php index a3e6bfbe286..86ff46d2a53 100644 --- a/htdocs/compta/paiement/class/paiement.class.php +++ b/htdocs/compta/paiement/class/paiement.class.php @@ -212,7 +212,7 @@ class Paiement extends CommonObject //Invoice types that are eligible for changing status to paid $affected_types = array( - 0, + 0, 1, 2, 3 From 968b5771dba0fc468703ab49d72107654438eed5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcos=20Garci=CC=81a=20de=20La=20Fuente?= Date: Tue, 25 Feb 2014 02:39:02 +0100 Subject: [PATCH 014/293] Corrected project contact types translation --- ChangeLog | 1 + htdocs/langs/ar_SA/projects.lang | 8 ++++---- htdocs/langs/bg_BG/projects.lang | 8 ++++---- htdocs/langs/ca_ES/projects.lang | 8 ++++---- htdocs/langs/cs_CZ/projects.lang | 8 ++++---- htdocs/langs/da_DK/projects.lang | 8 ++++---- htdocs/langs/de_AT/projects.lang | 8 ++++---- htdocs/langs/de_DE/projects.lang | 8 ++++---- htdocs/langs/el_GR/projects.lang | 8 ++++---- htdocs/langs/en_US/projects.lang | 8 ++++---- htdocs/langs/es_ES/projects.lang | 8 ++++---- htdocs/langs/et_EE/projects.lang | 8 ++++---- htdocs/langs/fa_IR/projects.lang | 8 ++++---- htdocs/langs/fi_FI/projects.lang | 8 ++++---- htdocs/langs/fr_FR/projects.lang | 8 ++++---- htdocs/langs/he_IL/projects.lang | 8 ++++---- htdocs/langs/hu_HU/projects.lang | 8 ++++---- htdocs/langs/is_IS/projects.lang | 8 ++++---- htdocs/langs/it_IT/projects.lang | 8 ++++---- htdocs/langs/ja_JP/projects.lang | 8 ++++---- htdocs/langs/ko_KR/projects.lang | 8 ++++---- htdocs/langs/lv_LV/projects.lang | 8 ++++---- htdocs/langs/nb_NO/projects.lang | 8 ++++---- htdocs/langs/nl_NL/projects.lang | 8 ++++---- htdocs/langs/pl_PL/projects.lang | 8 ++++---- htdocs/langs/pt_BR/projects.lang | 8 ++++---- htdocs/langs/pt_PT/projects.lang | 8 ++++---- htdocs/langs/ro_RO/projects.lang | 8 ++++---- htdocs/langs/ru_RU/projects.lang | 8 ++++---- htdocs/langs/sk_SK/projects.lang | 8 ++++---- htdocs/langs/sl_SI/projects.lang | 8 ++++---- htdocs/langs/sv_SE/projects.lang | 8 ++++---- htdocs/langs/tr_TR/projects.lang | 8 ++++---- htdocs/langs/uz_UZ/projects.lang | 8 ++++---- htdocs/langs/vi_VN/projects.lang | 8 ++++---- htdocs/langs/zh_CN/projects.lang | 8 ++++---- htdocs/langs/zh_TW/projects.lang | 8 ++++---- 37 files changed, 145 insertions(+), 144 deletions(-) diff --git a/ChangeLog b/ChangeLog index 90b6922d60b..af4662f6a49 100644 --- a/ChangeLog +++ b/ChangeLog @@ -22,6 +22,7 @@ Fix: Page load not ending when large number of thirdparies. We combo feature that is root cause of problem. Fix: [ bug #1231 ] PDF always generated in interventions Fix: Be sure there is no duplicate default rib. +Fix: Corrected project contact types translation ***** ChangeLog for 3.5 compared to 3.4.* ***** For users: diff --git a/htdocs/langs/ar_SA/projects.lang b/htdocs/langs/ar_SA/projects.lang index 56838f58340..287b033cb71 100644 --- a/htdocs/langs/ar_SA/projects.lang +++ b/htdocs/langs/ar_SA/projects.lang @@ -100,12 +100,12 @@ IfNeedToUseOhterObjectKeepEmpty=إذا كانت بعض الكائنات (فات ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=مشروع زعيم TypeContact_project_external_PROJECTLEADER=مشروع زعيم -TypeContact_project_internal_CONTRIBUTOR=مساهم -TypeContact_project_external_CONTRIBUTOR=مساهم +TypeContact_project_internal_PROJECTCONTRIBUTOR=مساهم +TypeContact_project_external_PROJECTCONTRIBUTOR=مساهم TypeContact_project_task_internal_TASKEXECUTIVE=المهمة التنفيذية TypeContact_project_task_external_TASKEXECUTIVE=المهمة التنفيذية -TypeContact_project_task_internal_CONTRIBUTOR=مساهم -TypeContact_project_task_external_CONTRIBUTOR=مساهم +TypeContact_project_task_internal_TASKCONTRIBUTOR=مساهم +TypeContact_project_task_external_TASKCONTRIBUTOR=مساهم # SelectElement=Select element # AddElement=Link to element # Documents models diff --git a/htdocs/langs/bg_BG/projects.lang b/htdocs/langs/bg_BG/projects.lang index 8bface2fd6a..ed3f3c1cd8c 100644 --- a/htdocs/langs/bg_BG/projects.lang +++ b/htdocs/langs/bg_BG/projects.lang @@ -100,12 +100,12 @@ ErrorShiftTaskDate=Невъзможно е да се смени датата н ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Ръководител на проекта TypeContact_project_external_PROJECTLEADER=Ръководител на проекта -TypeContact_project_internal_CONTRIBUTOR=Сътрудник -TypeContact_project_external_CONTRIBUTOR=Сътрудник +TypeContact_project_internal_PROJECTCONTRIBUTOR=Сътрудник +TypeContact_project_external_PROJECTCONTRIBUTOR=Сътрудник TypeContact_project_task_internal_TASKEXECUTIVE=Задача изпълнителен TypeContact_project_task_external_TASKEXECUTIVE=Задача изпълнителен -TypeContact_project_task_internal_CONTRIBUTOR=Сътрудник -TypeContact_project_task_external_CONTRIBUTOR=Сътрудник +TypeContact_project_task_internal_TASKCONTRIBUTOR=Сътрудник +TypeContact_project_task_external_TASKCONTRIBUTOR=Сътрудник # SelectElement=Select element # AddElement=Link to element # Documents models diff --git a/htdocs/langs/ca_ES/projects.lang b/htdocs/langs/ca_ES/projects.lang index e744b64bea4..3be39e7be4e 100644 --- a/htdocs/langs/ca_ES/projects.lang +++ b/htdocs/langs/ca_ES/projects.lang @@ -100,12 +100,12 @@ ProjectCreatedInDolibarr=Projecte %s creat ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Cap de projecte TypeContact_project_external_PROJECTLEADER=Cap de projecte -TypeContact_project_internal_CONTRIBUTOR=Participant -TypeContact_project_external_CONTRIBUTOR=Participant +TypeContact_project_internal_PROJECTCONTRIBUTOR=Participant +TypeContact_project_external_PROJECTCONTRIBUTOR=Participant TypeContact_project_task_internal_TASKEXECUTIVE=Responsable TypeContact_project_task_external_TASKEXECUTIVE=Responsable -TypeContact_project_task_internal_CONTRIBUTOR=Participant -TypeContact_project_task_external_CONTRIBUTOR=Participant +TypeContact_project_task_internal_TASKCONTRIBUTOR=Participant +TypeContact_project_task_external_TASKCONTRIBUTOR=Participant # SelectElement=Select element # AddElement=Link to element # Documents models diff --git a/htdocs/langs/cs_CZ/projects.lang b/htdocs/langs/cs_CZ/projects.lang index c2302ced5bf..fc8937cbb2f 100644 --- a/htdocs/langs/cs_CZ/projects.lang +++ b/htdocs/langs/cs_CZ/projects.lang @@ -98,12 +98,12 @@ ProjectCreatedInDolibarr=Projekt vytvořil %s ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Vedoucí projektu TypeContact_project_external_PROJECTLEADER=Vedoucí projektu -TypeContact_project_internal_CONTRIBUTOR=Přispěvatel -TypeContact_project_external_CONTRIBUTOR=Přispěvatel +TypeContact_project_internal_PROJECTCONTRIBUTOR=Přispěvatel +TypeContact_project_external_PROJECTCONTRIBUTOR=Přispěvatel TypeContact_project_task_internal_TASKEXECUTIVE=Úkol výkonný TypeContact_project_task_external_TASKEXECUTIVE=Úkol výkonný -TypeContact_project_task_internal_CONTRIBUTOR=Přispěvatel -TypeContact_project_task_external_CONTRIBUTOR=Přispěvatel +TypeContact_project_task_internal_TASKCONTRIBUTOR=Přispěvatel +TypeContact_project_task_external_TASKCONTRIBUTOR=Přispěvatel SelectElement=Vyberte prvek AddElement=Odkaz na elementu # Documents models diff --git a/htdocs/langs/da_DK/projects.lang b/htdocs/langs/da_DK/projects.lang index 0d763a3bad4..d5a7bfe9d85 100644 --- a/htdocs/langs/da_DK/projects.lang +++ b/htdocs/langs/da_DK/projects.lang @@ -100,12 +100,12 @@ IfNeedToUseOhterObjectKeepEmpty=Hvis nogle objekter (faktura, ordre, ...), der t ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Projektleder TypeContact_project_external_PROJECTLEADER=Projektleder -TypeContact_project_internal_CONTRIBUTOR=Bidragyder -TypeContact_project_external_CONTRIBUTOR=Bidragyder +TypeContact_project_internal_PROJECTCONTRIBUTOR=Bidragyder +TypeContact_project_external_PROJECTCONTRIBUTOR=Bidragyder TypeContact_project_task_internal_TASKEXECUTIVE=Task udøvende TypeContact_project_task_external_TASKEXECUTIVE=Task udøvende -TypeContact_project_task_internal_CONTRIBUTOR=Bidragyder -TypeContact_project_task_external_CONTRIBUTOR=Bidragyder +TypeContact_project_task_internal_TASKCONTRIBUTOR=Bidragyder +TypeContact_project_task_external_TASKCONTRIBUTOR=Bidragyder # SelectElement=Select element # AddElement=Link to element # Documents models diff --git a/htdocs/langs/de_AT/projects.lang b/htdocs/langs/de_AT/projects.lang index c823c655d0c..b226bb6e8c3 100644 --- a/htdocs/langs/de_AT/projects.lang +++ b/htdocs/langs/de_AT/projects.lang @@ -88,10 +88,10 @@ NoTasks=Keine Aufgaben für dieses Projekt LinkedToAnotherCompany=Mit Partner verknüpft TypeContact_project_internal_PROJECTLEADER=Projektleiter TypeContact_project_external_PROJECTLEADER=Projektleiter -TypeContact_project_internal_CONTRIBUTOR=Mitwirkender -TypeContact_project_external_CONTRIBUTOR=Mitwirkender +TypeContact_project_internal_PROJECTCONTRIBUTOR=Mitwirkender +TypeContact_project_external_PROJECTCONTRIBUTOR=Mitwirkender TypeContact_project_task_internal_TASKEXECUTIVE=Task Exekutive TypeContact_project_task_external_TASKEXECUTIVE=Task Exekutive -TypeContact_project_task_internal_CONTRIBUTOR=Mitwirkender -TypeContact_project_task_external_CONTRIBUTOR=Mitwirkender +TypeContact_project_task_internal_TASKCONTRIBUTOR=Mitwirkender +TypeContact_project_task_external_TASKCONTRIBUTOR=Mitwirkender DocumentModelBaleine=Eine vollständige Projektberichtsvorlage (Logo, ...) diff --git a/htdocs/langs/de_DE/projects.lang b/htdocs/langs/de_DE/projects.lang index abf32062e00..2ea879d1339 100644 --- a/htdocs/langs/de_DE/projects.lang +++ b/htdocs/langs/de_DE/projects.lang @@ -100,12 +100,12 @@ ProjectCreatedInDolibarr=Projekt %s erstellt ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Projektleiter TypeContact_project_external_PROJECTLEADER=Projektleiter -TypeContact_project_internal_CONTRIBUTOR=Mitwirkender -TypeContact_project_external_CONTRIBUTOR=Mitwirkender +TypeContact_project_internal_PROJECTCONTRIBUTOR=Mitwirkender +TypeContact_project_external_PROJECTCONTRIBUTOR=Mitwirkender TypeContact_project_task_internal_TASKEXECUTIVE=Verantwortlich TypeContact_project_task_external_TASKEXECUTIVE=Verantwortlich -TypeContact_project_task_internal_CONTRIBUTOR=Mitwirkender -TypeContact_project_task_external_CONTRIBUTOR=Mitwirkender +TypeContact_project_task_internal_TASKCONTRIBUTOR=Mitwirkender +TypeContact_project_task_external_TASKCONTRIBUTOR=Mitwirkender SelectElement=Element wählen AddElement=Mit Element verknüpfen # Documents models diff --git a/htdocs/langs/el_GR/projects.lang b/htdocs/langs/el_GR/projects.lang index c8b56e0cf57..fea4a433082 100644 --- a/htdocs/langs/el_GR/projects.lang +++ b/htdocs/langs/el_GR/projects.lang @@ -100,12 +100,12 @@ ProjectCreatedInDolibarr=Έργο %s δημιουργήθηκε ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Επικεφαλής του σχεδίου TypeContact_project_external_PROJECTLEADER=Επικεφαλής του σχεδίου -TypeContact_project_internal_CONTRIBUTOR=Συνεισφέρων -TypeContact_project_external_CONTRIBUTOR=Συνεισφέρων +TypeContact_project_internal_PROJECTCONTRIBUTOR=Συνεισφέρων +TypeContact_project_external_PROJECTCONTRIBUTOR=Συνεισφέρων TypeContact_project_task_internal_TASKEXECUTIVE=Εκτελεστική ομάδα TypeContact_project_task_external_TASKEXECUTIVE=Εκτελεστική ομάδα -TypeContact_project_task_internal_CONTRIBUTOR=Συνεισφέρων -TypeContact_project_task_external_CONTRIBUTOR=Συνεισφέρων +TypeContact_project_task_internal_TASKCONTRIBUTOR=Συνεισφέρων +TypeContact_project_task_external_TASKCONTRIBUTOR=Συνεισφέρων SelectElement=Επιλέξτε το στοιχείο AddElement=Σύνδεση με το στοιχείο # Documents models diff --git a/htdocs/langs/en_US/projects.lang b/htdocs/langs/en_US/projects.lang index ba0b6b6dcd2..e7f4ecd1486 100644 --- a/htdocs/langs/en_US/projects.lang +++ b/htdocs/langs/en_US/projects.lang @@ -100,12 +100,12 @@ ProjectCreatedInDolibarr=Project %s created ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Project leader TypeContact_project_external_PROJECTLEADER=Project leader -TypeContact_project_internal_CONTRIBUTOR=Contributor -TypeContact_project_external_CONTRIBUTOR=Contributor +TypeContact_project_internal_PROJECTCONTRIBUTOR=Contributor +TypeContact_project_external_PROJECTCONTRIBUTOR=Contributor TypeContact_project_task_internal_TASKEXECUTIVE=Task executive TypeContact_project_task_external_TASKEXECUTIVE=Task executive -TypeContact_project_task_internal_CONTRIBUTOR=Contributor -TypeContact_project_task_external_CONTRIBUTOR=Contributor +TypeContact_project_task_internal_TASKCONTRIBUTOR=Contributor +TypeContact_project_task_external_TASKCONTRIBUTOR=Contributor SelectElement=Select element AddElement=Link to element # Documents models diff --git a/htdocs/langs/es_ES/projects.lang b/htdocs/langs/es_ES/projects.lang index 1df7fd8d92a..042c94b70b0 100644 --- a/htdocs/langs/es_ES/projects.lang +++ b/htdocs/langs/es_ES/projects.lang @@ -100,12 +100,12 @@ ProjectCreatedInDolibarr=Proyecto %s creado ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Jefe de proyecto TypeContact_project_external_PROJECTLEADER=Jefe de proyecto -TypeContact_project_internal_CONTRIBUTOR=Participante -TypeContact_project_external_CONTRIBUTOR=Participante +TypeContact_project_internal_PROJECTCONTRIBUTOR=Participante +TypeContact_project_external_PROJECTCONTRIBUTOR=Participante TypeContact_project_task_internal_TASKEXECUTIVE=Responsable TypeContact_project_task_external_TASKEXECUTIVE=Responsable -TypeContact_project_task_internal_CONTRIBUTOR=Participante -TypeContact_project_task_external_CONTRIBUTOR=Participante +TypeContact_project_task_internal_TASKCONTRIBUTOR=Participante +TypeContact_project_task_external_TASKCONTRIBUTOR=Participante SelectElement=Seleccione elemento AddElement=Vincular a elmento # Documents models diff --git a/htdocs/langs/et_EE/projects.lang b/htdocs/langs/et_EE/projects.lang index 9b3f382e293..18c86f3bff0 100644 --- a/htdocs/langs/et_EE/projects.lang +++ b/htdocs/langs/et_EE/projects.lang @@ -100,12 +100,12 @@ ProjectCreatedInDolibarr=Projekt %s on loodud ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Projektijuht TypeContact_project_external_PROJECTLEADER=Projektijuht -TypeContact_project_internal_CONTRIBUTOR=Osavõtja -TypeContact_project_external_CONTRIBUTOR=Osavõtja +TypeContact_project_internal_PROJECTCONTRIBUTOR=Osavõtja +TypeContact_project_external_PROJECTCONTRIBUTOR=Osavõtja TypeContact_project_task_internal_TASKEXECUTIVE=Ülesande täitja TypeContact_project_task_external_TASKEXECUTIVE=Ülesande täitja -TypeContact_project_task_internal_CONTRIBUTOR=Osavõtja -TypeContact_project_task_external_CONTRIBUTOR=Osavõtja +TypeContact_project_task_internal_TASKCONTRIBUTOR=Osavõtja +TypeContact_project_task_external_TASKCONTRIBUTOR=Osavõtja SelectElement=Vali element AddElement=Seosta elemendiga # Documents models diff --git a/htdocs/langs/fa_IR/projects.lang b/htdocs/langs/fa_IR/projects.lang index f3871e7af90..530b07d96ea 100644 --- a/htdocs/langs/fa_IR/projects.lang +++ b/htdocs/langs/fa_IR/projects.lang @@ -100,12 +100,12 @@ LinkedToAnotherCompany=ربط طرف ثالث آخر ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=مشروع زعيم TypeContact_project_external_PROJECTLEADER=مشروع زعيم -TypeContact_project_internal_CONTRIBUTOR=مساهم -TypeContact_project_external_CONTRIBUTOR=مساهم +TypeContact_project_internal_PROJECTCONTRIBUTOR=مساهم +TypeContact_project_external_PROJECTCONTRIBUTOR=مساهم TypeContact_project_task_internal_TASKEXECUTIVE=المهمة التنفيذية TypeContact_project_task_external_TASKEXECUTIVE=المهمة التنفيذية -TypeContact_project_task_internal_CONTRIBUTOR=مساهم -TypeContact_project_task_external_CONTRIBUTOR=مساهم +TypeContact_project_task_internal_TASKCONTRIBUTOR=مساهم +TypeContact_project_task_external_TASKCONTRIBUTOR=مساهم # SelectElement=Select element # AddElement=Link to element # Documents models diff --git a/htdocs/langs/fi_FI/projects.lang b/htdocs/langs/fi_FI/projects.lang index ed55afceea0..29a3f4a0bac 100644 --- a/htdocs/langs/fi_FI/projects.lang +++ b/htdocs/langs/fi_FI/projects.lang @@ -100,12 +100,12 @@ IfNeedToUseOhterObjectKeepEmpty=Jos jotkin esineet (lasku, tilaus, ...), jotka k ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Projektin johtaja TypeContact_project_external_PROJECTLEADER=Projektin johtaja -TypeContact_project_internal_CONTRIBUTOR=Avustaja -TypeContact_project_external_CONTRIBUTOR=Avustaja +TypeContact_project_internal_PROJECTCONTRIBUTOR=Avustaja +TypeContact_project_external_PROJECTCONTRIBUTOR=Avustaja TypeContact_project_task_internal_TASKEXECUTIVE=Tehtävä johtoon TypeContact_project_task_external_TASKEXECUTIVE=Tehtävä johtoon -TypeContact_project_task_internal_CONTRIBUTOR=Avustaja -TypeContact_project_task_external_CONTRIBUTOR=Avustaja +TypeContact_project_task_internal_TASKCONTRIBUTOR=Avustaja +TypeContact_project_task_external_TASKCONTRIBUTOR=Avustaja # SelectElement=Select element # AddElement=Link to element # Documents models diff --git a/htdocs/langs/fr_FR/projects.lang b/htdocs/langs/fr_FR/projects.lang index fe04f4155e6..f6e5abb1fde 100644 --- a/htdocs/langs/fr_FR/projects.lang +++ b/htdocs/langs/fr_FR/projects.lang @@ -100,12 +100,12 @@ ProjectCreatedInDolibarr=Projet %s créé ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Chef de projet TypeContact_project_external_PROJECTLEADER=Chef de projet -TypeContact_project_internal_CONTRIBUTOR=Intervenant -TypeContact_project_external_CONTRIBUTOR=Intervenant +TypeContact_project_internal_PROJECTCONTRIBUTOR=Intervenant +TypeContact_project_external_PROJECTCONTRIBUTOR=Intervenant TypeContact_project_task_internal_TASKEXECUTIVE=Responsable TypeContact_project_task_external_TASKEXECUTIVE=Responsable -TypeContact_project_task_internal_CONTRIBUTOR=Intervenant -TypeContact_project_task_external_CONTRIBUTOR=Intervenant +TypeContact_project_task_internal_TASKCONTRIBUTOR=Intervenant +TypeContact_project_task_external_TASKCONTRIBUTOR=Intervenant SelectElement=Séléctionnez l'élément AddElement=Link to element # Documents models diff --git a/htdocs/langs/he_IL/projects.lang b/htdocs/langs/he_IL/projects.lang index eb933a11671..5ce34c1de3d 100644 --- a/htdocs/langs/he_IL/projects.lang +++ b/htdocs/langs/he_IL/projects.lang @@ -100,12 +100,12 @@ Projects=פרוייקטים ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=מנהל הפרויקט TypeContact_project_external_PROJECTLEADER=מנהל הפרויקט -# TypeContact_project_internal_CONTRIBUTOR=Contributor -# TypeContact_project_external_CONTRIBUTOR=Contributor +# TypeContact_project_internal_PROJECTCONTRIBUTOR=Contributor +# TypeContact_project_external_PROJECTCONTRIBUTOR=Contributor # TypeContact_project_task_internal_TASKEXECUTIVE=Task executive # TypeContact_project_task_external_TASKEXECUTIVE=Task executive -# TypeContact_project_task_internal_CONTRIBUTOR=Contributor -# TypeContact_project_task_external_CONTRIBUTOR=Contributor +# TypeContact_project_task_internal_TASKCONTRIBUTOR=Contributor +# TypeContact_project_task_external_TASKCONTRIBUTOR=Contributor # SelectElement=Select element # AddElement=Link to element # Documents models diff --git a/htdocs/langs/hu_HU/projects.lang b/htdocs/langs/hu_HU/projects.lang index 12da2a5d228..3044f32e83d 100644 --- a/htdocs/langs/hu_HU/projects.lang +++ b/htdocs/langs/hu_HU/projects.lang @@ -100,12 +100,12 @@ IfNeedToUseOhterObjectKeepEmpty=Ha egyes tárgyakat (számla, megrendelés, ...) ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Projekt vezető TypeContact_project_external_PROJECTLEADER=Projekt vezető -TypeContact_project_internal_CONTRIBUTOR=Hozzájáruló -TypeContact_project_external_CONTRIBUTOR=Hozzájáruló +TypeContact_project_internal_PROJECTCONTRIBUTOR=Hozzájáruló +TypeContact_project_external_PROJECTCONTRIBUTOR=Hozzájáruló TypeContact_project_task_internal_TASKEXECUTIVE=Kivitelező TypeContact_project_task_external_TASKEXECUTIVE=Task Kivitelező -TypeContact_project_task_internal_CONTRIBUTOR=Hozzájáruló -TypeContact_project_task_external_CONTRIBUTOR=Hozzájáruló +TypeContact_project_task_internal_TASKCONTRIBUTOR=Hozzájáruló +TypeContact_project_task_external_TASKCONTRIBUTOR=Hozzájáruló # SelectElement=Select element # AddElement=Link to element # Documents models diff --git a/htdocs/langs/is_IS/projects.lang b/htdocs/langs/is_IS/projects.lang index 974d142477e..05580f4da4c 100644 --- a/htdocs/langs/is_IS/projects.lang +++ b/htdocs/langs/is_IS/projects.lang @@ -100,12 +100,12 @@ IfNeedToUseOhterObjectKeepEmpty=Ef sumir hlutir (nótum röð ...), sem tilheyra ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Project leiðtogi TypeContact_project_external_PROJECTLEADER=Project leiðtogi -TypeContact_project_internal_CONTRIBUTOR=Framlög -TypeContact_project_external_CONTRIBUTOR=Framlög +TypeContact_project_internal_PROJECTCONTRIBUTOR=Framlög +TypeContact_project_external_PROJECTCONTRIBUTOR=Framlög TypeContact_project_task_internal_TASKEXECUTIVE=Verkefni framkvæmdastjóri TypeContact_project_task_external_TASKEXECUTIVE=Verkefni framkvæmdastjóri -TypeContact_project_task_internal_CONTRIBUTOR=Framlög -TypeContact_project_task_external_CONTRIBUTOR=Framlög +TypeContact_project_task_internal_TASKCONTRIBUTOR=Framlög +TypeContact_project_task_external_TASKCONTRIBUTOR=Framlög # SelectElement=Select element # AddElement=Link to element # Documents models diff --git a/htdocs/langs/it_IT/projects.lang b/htdocs/langs/it_IT/projects.lang index c880b241de0..a52561d7ced 100644 --- a/htdocs/langs/it_IT/projects.lang +++ b/htdocs/langs/it_IT/projects.lang @@ -100,12 +100,12 @@ ProjectCreatedInDolibarr=Progetto %s creato ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Capo progetto TypeContact_project_external_PROJECTLEADER=Capo progetto -TypeContact_project_internal_CONTRIBUTOR=Collaboratore -TypeContact_project_external_CONTRIBUTOR=Collaboratore +TypeContact_project_internal_PROJECTCONTRIBUTOR=Collaboratore +TypeContact_project_external_PROJECTCONTRIBUTOR=Collaboratore TypeContact_project_task_internal_TASKEXECUTIVE=Responsabile del compito TypeContact_project_task_external_TASKEXECUTIVE=Responsabile del compito -TypeContact_project_task_internal_CONTRIBUTOR=Collaboratore -TypeContact_project_task_external_CONTRIBUTOR=Collaboratore +TypeContact_project_task_internal_TASKCONTRIBUTOR=Collaboratore +TypeContact_project_task_external_TASKCONTRIBUTOR=Collaboratore # SelectElement=Select element # AddElement=Link to element # Documents models diff --git a/htdocs/langs/ja_JP/projects.lang b/htdocs/langs/ja_JP/projects.lang index 4f973791ff1..189d145d30d 100644 --- a/htdocs/langs/ja_JP/projects.lang +++ b/htdocs/langs/ja_JP/projects.lang @@ -100,12 +100,12 @@ IfNeedToUseOhterObjectKeepEmpty=いくつかのオブジェクト(請求書、 ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=プロジェクトリーダー TypeContact_project_external_PROJECTLEADER=プロジェクトリーダー -TypeContact_project_internal_CONTRIBUTOR=貢献者 -TypeContact_project_external_CONTRIBUTOR=貢献者 +TypeContact_project_internal_PROJECTCONTRIBUTOR=貢献者 +TypeContact_project_external_PROJECTCONTRIBUTOR=貢献者 TypeContact_project_task_internal_TASKEXECUTIVE=タスクの幹部 TypeContact_project_task_external_TASKEXECUTIVE=タスクの幹部 -TypeContact_project_task_internal_CONTRIBUTOR=貢献者 -TypeContact_project_task_external_CONTRIBUTOR=貢献者 +TypeContact_project_task_internal_TASKCONTRIBUTOR=貢献者 +TypeContact_project_task_external_TASKCONTRIBUTOR=貢献者 # SelectElement=Select element # AddElement=Link to element # Documents models diff --git a/htdocs/langs/ko_KR/projects.lang b/htdocs/langs/ko_KR/projects.lang index f2c0c2b86c6..d432ae0110e 100644 --- a/htdocs/langs/ko_KR/projects.lang +++ b/htdocs/langs/ko_KR/projects.lang @@ -100,12 +100,12 @@ ##### Types de contacts ##### # TypeContact_project_internal_PROJECTLEADER=Project leader # TypeContact_project_external_PROJECTLEADER=Project leader -# TypeContact_project_internal_CONTRIBUTOR=Contributor -# TypeContact_project_external_CONTRIBUTOR=Contributor +# TypeContact_project_internal_PROJECTCONTRIBUTOR=Contributor +# TypeContact_project_external_PROJECTCONTRIBUTOR=Contributor # TypeContact_project_task_internal_TASKEXECUTIVE=Task executive # TypeContact_project_task_external_TASKEXECUTIVE=Task executive -# TypeContact_project_task_internal_CONTRIBUTOR=Contributor -# TypeContact_project_task_external_CONTRIBUTOR=Contributor +# TypeContact_project_task_internal_TASKCONTRIBUTOR=Contributor +# TypeContact_project_task_external_TASKCONTRIBUTOR=Contributor # SelectElement=Select element # AddElement=Link to element # Documents models diff --git a/htdocs/langs/lv_LV/projects.lang b/htdocs/langs/lv_LV/projects.lang index 9863f492886..e7f8f07c1a8 100644 --- a/htdocs/langs/lv_LV/projects.lang +++ b/htdocs/langs/lv_LV/projects.lang @@ -100,12 +100,12 @@ ProjectCreatedInDolibarr=Projekta %s izveidots ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Projekta vadītājs TypeContact_project_external_PROJECTLEADER=Projekta vadītājs -TypeContact_project_internal_CONTRIBUTOR=Ziedotājs -TypeContact_project_external_CONTRIBUTOR=Ziedotājs +TypeContact_project_internal_PROJECTCONTRIBUTOR=Ziedotājs +TypeContact_project_external_PROJECTCONTRIBUTOR=Ziedotājs TypeContact_project_task_internal_TASKEXECUTIVE=Uzdevums izpildvaras TypeContact_project_task_external_TASKEXECUTIVE=Uzdevums izpildvaras -TypeContact_project_task_internal_CONTRIBUTOR=Ziedotājs -TypeContact_project_task_external_CONTRIBUTOR=Ziedotājs +TypeContact_project_task_internal_TASKCONTRIBUTOR=Ziedotājs +TypeContact_project_task_external_TASKCONTRIBUTOR=Ziedotājs SelectElement=Izvēlieties elementu AddElement=Saite uz elementa # Documents models diff --git a/htdocs/langs/nb_NO/projects.lang b/htdocs/langs/nb_NO/projects.lang index 3192a8b9906..a815942786a 100644 --- a/htdocs/langs/nb_NO/projects.lang +++ b/htdocs/langs/nb_NO/projects.lang @@ -100,12 +100,12 @@ IfNeedToUseOhterObjectKeepEmpty=Dersom noen objekter (faktura, orden, ...), som ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Prosjektleder TypeContact_project_external_PROJECTLEADER=Prosjektleder -TypeContact_project_internal_CONTRIBUTOR=Bidragsyter -TypeContact_project_external_CONTRIBUTOR=Bidragsyter +TypeContact_project_internal_PROJECTCONTRIBUTOR=Bidragsyter +TypeContact_project_external_PROJECTCONTRIBUTOR=Bidragsyter TypeContact_project_task_internal_TASKEXECUTIVE=Oppgave Executive TypeContact_project_task_external_TASKEXECUTIVE=Oppgave Executive -TypeContact_project_task_internal_CONTRIBUTOR=Bidragsyter -TypeContact_project_task_external_CONTRIBUTOR=Bidragsyter +TypeContact_project_task_internal_TASKCONTRIBUTOR=Bidragsyter +TypeContact_project_task_external_TASKCONTRIBUTOR=Bidragsyter # SelectElement=Select element # AddElement=Link to element # Documents models diff --git a/htdocs/langs/nl_NL/projects.lang b/htdocs/langs/nl_NL/projects.lang index 7bbb40e726a..13e821b635d 100644 --- a/htdocs/langs/nl_NL/projects.lang +++ b/htdocs/langs/nl_NL/projects.lang @@ -100,12 +100,12 @@ IfNeedToUseOhterObjectKeepEmpty=Als sommige objecten (factuur, order, ...), die ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Projectmanager TypeContact_project_external_PROJECTLEADER=Projectleider -TypeContact_project_internal_CONTRIBUTOR=Bijdrager -TypeContact_project_external_CONTRIBUTOR=Bijdrager +TypeContact_project_internal_PROJECTCONTRIBUTOR=Bijdrager +TypeContact_project_external_PROJECTCONTRIBUTOR=Bijdrager TypeContact_project_task_internal_TASKEXECUTIVE=Verantwoordelijke TypeContact_project_task_external_TASKEXECUTIVE=Verantwoordelijke -TypeContact_project_task_internal_CONTRIBUTOR=Bijdrager -TypeContact_project_task_external_CONTRIBUTOR=Bijdrager +TypeContact_project_task_internal_TASKCONTRIBUTOR=Bijdrager +TypeContact_project_task_external_TASKCONTRIBUTOR=Bijdrager # SelectElement=Select element # AddElement=Link to element # Documents models diff --git a/htdocs/langs/pl_PL/projects.lang b/htdocs/langs/pl_PL/projects.lang index b904fe7bf14..2d18566bd28 100644 --- a/htdocs/langs/pl_PL/projects.lang +++ b/htdocs/langs/pl_PL/projects.lang @@ -100,12 +100,12 @@ IfNeedToUseOhterObjectKeepEmpty=Jeżeli pewne obiekty (faktura, zamówienie, ... ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Kierownik projektu TypeContact_project_external_PROJECTLEADER=Kierownik projektu -TypeContact_project_internal_CONTRIBUTOR=Współpracownik -TypeContact_project_external_CONTRIBUTOR=Współpracownik +TypeContact_project_internal_PROJECTCONTRIBUTOR=Współpracownik +TypeContact_project_external_PROJECTCONTRIBUTOR=Współpracownik TypeContact_project_task_internal_TASKEXECUTIVE=zadań wykonawczych TypeContact_project_task_external_TASKEXECUTIVE=zadań wykonawczych -TypeContact_project_task_internal_CONTRIBUTOR=Współpracownik -TypeContact_project_task_external_CONTRIBUTOR=Współpracownik +TypeContact_project_task_internal_TASKCONTRIBUTOR=Współpracownik +TypeContact_project_task_external_TASKCONTRIBUTOR=Współpracownik # SelectElement=Select element # AddElement=Link to element # Documents models diff --git a/htdocs/langs/pt_BR/projects.lang b/htdocs/langs/pt_BR/projects.lang index cb65c540b0b..cbf4e4c2125 100644 --- a/htdocs/langs/pt_BR/projects.lang +++ b/htdocs/langs/pt_BR/projects.lang @@ -98,12 +98,12 @@ CantRemoveProject=Este projeto não pode ser eliminado porque está referenciado ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Chefe de projeto TypeContact_project_external_PROJECTLEADER=Chefe de projeto -# TypeContact_project_internal_CONTRIBUTOR=Contributor -# TypeContact_project_external_CONTRIBUTOR=Contributor +# TypeContact_project_internal_PROJECTCONTRIBUTOR=Contributor +# TypeContact_project_external_PROJECTCONTRIBUTOR=Contributor # TypeContact_project_task_internal_TASKEXECUTIVE=Task executive # TypeContact_project_task_external_TASKEXECUTIVE=Task executive -# TypeContact_project_task_internal_CONTRIBUTOR=Contributor -# TypeContact_project_task_external_CONTRIBUTOR=Contributor +# TypeContact_project_task_internal_TASKCONTRIBUTOR=Contributor +# TypeContact_project_task_external_TASKCONTRIBUTOR=Contributor # SelectElement=Elements to referring the project # AddElement=Refering # Documents models diff --git a/htdocs/langs/pt_PT/projects.lang b/htdocs/langs/pt_PT/projects.lang index 814f1ae7553..2a7a5ced3bf 100644 --- a/htdocs/langs/pt_PT/projects.lang +++ b/htdocs/langs/pt_PT/projects.lang @@ -100,12 +100,12 @@ ProjectCreatedInDolibarr=Projeto %s criado ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Líder do projeto TypeContact_project_external_PROJECTLEADER=Líder do projeto -TypeContact_project_internal_CONTRIBUTOR=Contribuinte -TypeContact_project_external_CONTRIBUTOR=Contribuinte +TypeContact_project_internal_PROJECTCONTRIBUTOR=Contribuinte +TypeContact_project_external_PROJECTCONTRIBUTOR=Contribuinte TypeContact_project_task_internal_TASKEXECUTIVE=Tarefa executiva TypeContact_project_task_external_TASKEXECUTIVE=Tarefa executiva -TypeContact_project_task_internal_CONTRIBUTOR=Contribuinte -TypeContact_project_task_external_CONTRIBUTOR=Contribuinte +TypeContact_project_task_internal_TASKCONTRIBUTOR=Contribuinte +TypeContact_project_task_external_TASKCONTRIBUTOR=Contribuinte # SelectElement=Select element # AddElement=Link to element # Documents models diff --git a/htdocs/langs/ro_RO/projects.lang b/htdocs/langs/ro_RO/projects.lang index dc42525b5ba..a87be81b54e 100644 --- a/htdocs/langs/ro_RO/projects.lang +++ b/htdocs/langs/ro_RO/projects.lang @@ -100,12 +100,12 @@ ProjectCreatedInDolibarr=Proiect %s creat ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Şef de Proiect TypeContact_project_external_PROJECTLEADER=Şef de Proiect -TypeContact_project_internal_CONTRIBUTOR=Contribuabil -TypeContact_project_external_CONTRIBUTOR=Contribuabil +TypeContact_project_internal_PROJECTCONTRIBUTOR=Contribuabil +TypeContact_project_external_PROJECTCONTRIBUTOR=Contribuabil TypeContact_project_task_internal_TASKEXECUTIVE=Responsabil TypeContact_project_task_external_TASKEXECUTIVE=Responsabil -TypeContact_project_task_internal_CONTRIBUTOR=Contributor -TypeContact_project_task_external_CONTRIBUTOR=Contributor +TypeContact_project_task_internal_TASKCONTRIBUTOR=Contributor +TypeContact_project_task_external_TASKCONTRIBUTOR=Contributor SelectElement=Selectați elementul AddElement=Link către element # Documents models diff --git a/htdocs/langs/ru_RU/projects.lang b/htdocs/langs/ru_RU/projects.lang index 5ebb02e57da..93d6b39abaf 100644 --- a/htdocs/langs/ru_RU/projects.lang +++ b/htdocs/langs/ru_RU/projects.lang @@ -100,12 +100,12 @@ IfNeedToUseOhterObjectKeepEmpty=Если некоторые объекты (сч ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Руководитель проекта TypeContact_project_external_PROJECTLEADER=Руководитель проекта -TypeContact_project_internal_CONTRIBUTOR=Участник -TypeContact_project_external_CONTRIBUTOR=Участник +TypeContact_project_internal_PROJECTCONTRIBUTOR=Участник +TypeContact_project_external_PROJECTCONTRIBUTOR=Участник TypeContact_project_task_internal_TASKEXECUTIVE=Целевая исполнительной TypeContact_project_task_external_TASKEXECUTIVE=Целевая исполнительной -TypeContact_project_task_internal_CONTRIBUTOR=Участник -TypeContact_project_task_external_CONTRIBUTOR=Участник +TypeContact_project_task_internal_TASKCONTRIBUTOR=Участник +TypeContact_project_task_external_TASKCONTRIBUTOR=Участник # SelectElement=Select element # AddElement=Link to element # Documents models diff --git a/htdocs/langs/sk_SK/projects.lang b/htdocs/langs/sk_SK/projects.lang index 3ab27d7082e..21ba3463855 100644 --- a/htdocs/langs/sk_SK/projects.lang +++ b/htdocs/langs/sk_SK/projects.lang @@ -100,12 +100,12 @@ ProjectCreatedInDolibarr=Projekt vytvoril %s ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Vedúci projektu TypeContact_project_external_PROJECTLEADER=Vedúci projektu -TypeContact_project_internal_CONTRIBUTOR=Prispievateľ -TypeContact_project_external_CONTRIBUTOR=Prispievateľ +TypeContact_project_internal_PROJECTCONTRIBUTOR=Prispievateľ +TypeContact_project_external_PROJECTCONTRIBUTOR=Prispievateľ TypeContact_project_task_internal_TASKEXECUTIVE=Úloha výkonný TypeContact_project_task_external_TASKEXECUTIVE=Úloha výkonný -TypeContact_project_task_internal_CONTRIBUTOR=Prispievateľ -TypeContact_project_task_external_CONTRIBUTOR=Prispievateľ +TypeContact_project_task_internal_TASKCONTRIBUTOR=Prispievateľ +TypeContact_project_task_external_TASKCONTRIBUTOR=Prispievateľ SelectElement=Vyberte prvok AddElement=Odkaz na elementu # Documents models diff --git a/htdocs/langs/sl_SI/projects.lang b/htdocs/langs/sl_SI/projects.lang index ba174911afd..e3da05f6a2b 100644 --- a/htdocs/langs/sl_SI/projects.lang +++ b/htdocs/langs/sl_SI/projects.lang @@ -100,12 +100,12 @@ IfNeedToUseOhterObjectKeepEmpty=Če nekateri objekti (računi, naročila, ...), ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Vodja projekta TypeContact_project_external_PROJECTLEADER=Vodja projekta -TypeContact_project_internal_CONTRIBUTOR=Sodelavec -TypeContact_project_external_CONTRIBUTOR=Sodelavec +TypeContact_project_internal_PROJECTCONTRIBUTOR=Sodelavec +TypeContact_project_external_PROJECTCONTRIBUTOR=Sodelavec TypeContact_project_task_internal_TASKEXECUTIVE=Odgovorna oseba TypeContact_project_task_external_TASKEXECUTIVE=Odgovorna oseba -TypeContact_project_task_internal_CONTRIBUTOR=Sodelavec -TypeContact_project_task_external_CONTRIBUTOR=Sodelavec +TypeContact_project_task_internal_TASKCONTRIBUTOR=Sodelavec +TypeContact_project_task_external_TASKCONTRIBUTOR=Sodelavec # SelectElement=Select element # AddElement=Link to element # Documents models diff --git a/htdocs/langs/sv_SE/projects.lang b/htdocs/langs/sv_SE/projects.lang index b3cbf169cf1..753b37b07d0 100644 --- a/htdocs/langs/sv_SE/projects.lang +++ b/htdocs/langs/sv_SE/projects.lang @@ -100,12 +100,12 @@ IfNeedToUseOhterObjectKeepEmpty=Om vissa objekt (faktura, order, ...), som tillh ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Projektledare TypeContact_project_external_PROJECTLEADER=Projektledare -TypeContact_project_internal_CONTRIBUTOR=Medarbetare -TypeContact_project_external_CONTRIBUTOR=Medarbetare +TypeContact_project_internal_PROJECTCONTRIBUTOR=Medarbetare +TypeContact_project_external_PROJECTCONTRIBUTOR=Medarbetare TypeContact_project_task_internal_TASKEXECUTIVE=Uppgift verkställande TypeContact_project_task_external_TASKEXECUTIVE=Uppgift verkställande -TypeContact_project_task_internal_CONTRIBUTOR=Medarbetare -TypeContact_project_task_external_CONTRIBUTOR=Medarbetare +TypeContact_project_task_internal_TASKCONTRIBUTOR=Medarbetare +TypeContact_project_task_external_TASKCONTRIBUTOR=Medarbetare # SelectElement=Select element # AddElement=Link to element # Documents models diff --git a/htdocs/langs/tr_TR/projects.lang b/htdocs/langs/tr_TR/projects.lang index b9998410e6a..31780df9c55 100644 --- a/htdocs/langs/tr_TR/projects.lang +++ b/htdocs/langs/tr_TR/projects.lang @@ -100,12 +100,12 @@ ProjectCreatedInDolibarr=%s projesi oluşturuldu ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Proje önderi TypeContact_project_external_PROJECTLEADER=Proje önderi -TypeContact_project_internal_CONTRIBUTOR=Katılımcı -TypeContact_project_external_CONTRIBUTOR=Katılımcı +TypeContact_project_internal_PROJECTCONTRIBUTOR=Katılımcı +TypeContact_project_external_PROJECTCONTRIBUTOR=Katılımcı TypeContact_project_task_internal_TASKEXECUTIVE=Görev yöneticisi TypeContact_project_task_external_TASKEXECUTIVE=Görev yöneticisi -TypeContact_project_task_internal_CONTRIBUTOR=Katılımcı -TypeContact_project_task_external_CONTRIBUTOR=Katılımcı +TypeContact_project_task_internal_TASKCONTRIBUTOR=Katılımcı +TypeContact_project_task_external_TASKCONTRIBUTOR=Katılımcı SelectElement=Öğe seç AddElement=Öğeye bağlan # Documents models diff --git a/htdocs/langs/uz_UZ/projects.lang b/htdocs/langs/uz_UZ/projects.lang index f2c0c2b86c6..d432ae0110e 100644 --- a/htdocs/langs/uz_UZ/projects.lang +++ b/htdocs/langs/uz_UZ/projects.lang @@ -100,12 +100,12 @@ ##### Types de contacts ##### # TypeContact_project_internal_PROJECTLEADER=Project leader # TypeContact_project_external_PROJECTLEADER=Project leader -# TypeContact_project_internal_CONTRIBUTOR=Contributor -# TypeContact_project_external_CONTRIBUTOR=Contributor +# TypeContact_project_internal_PROJECTCONTRIBUTOR=Contributor +# TypeContact_project_external_PROJECTCONTRIBUTOR=Contributor # TypeContact_project_task_internal_TASKEXECUTIVE=Task executive # TypeContact_project_task_external_TASKEXECUTIVE=Task executive -# TypeContact_project_task_internal_CONTRIBUTOR=Contributor -# TypeContact_project_task_external_CONTRIBUTOR=Contributor +# TypeContact_project_task_internal_TASKCONTRIBUTOR=Contributor +# TypeContact_project_task_external_TASKCONTRIBUTOR=Contributor # SelectElement=Select element # AddElement=Link to element # Documents models diff --git a/htdocs/langs/vi_VN/projects.lang b/htdocs/langs/vi_VN/projects.lang index e7a268f0f6d..c42a2421d60 100644 --- a/htdocs/langs/vi_VN/projects.lang +++ b/htdocs/langs/vi_VN/projects.lang @@ -100,12 +100,12 @@ ProjectCreatedInDolibarr=Đã tạo dự án %s ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Người lãnh đạo dự án TypeContact_project_external_PROJECTLEADER=Người lãnh đạo dự án -TypeContact_project_internal_CONTRIBUTOR=Người đóng góp -TypeContact_project_external_CONTRIBUTOR=Người đóng góp +TypeContact_project_internal_PROJECTCONTRIBUTOR=Người đóng góp +TypeContact_project_external_PROJECTCONTRIBUTOR=Người đóng góp TypeContact_project_task_internal_TASKEXECUTIVE=Thi hành tác vụ TypeContact_project_task_external_TASKEXECUTIVE=Thi hành tác vụ -TypeContact_project_task_internal_CONTRIBUTOR=Người đóng góp -TypeContact_project_task_external_CONTRIBUTOR=Người đóng góp +TypeContact_project_task_internal_TASKCONTRIBUTOR=Người đóng góp +TypeContact_project_task_external_TASKCONTRIBUTOR=Người đóng góp # SelectElement=Select element # AddElement=Link to element # Documents models diff --git a/htdocs/langs/zh_CN/projects.lang b/htdocs/langs/zh_CN/projects.lang index 5a7ca3536ee..a11a7412e4b 100644 --- a/htdocs/langs/zh_CN/projects.lang +++ b/htdocs/langs/zh_CN/projects.lang @@ -100,12 +100,12 @@ ProjectCreatedInDolibarr=项目 %s 创建 ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=项目负责人 TypeContact_project_external_PROJECTLEADER=项目负责人 -TypeContact_project_internal_CONTRIBUTOR=投稿 -TypeContact_project_external_CONTRIBUTOR=投稿 +TypeContact_project_internal_PROJECTCONTRIBUTOR=投稿 +TypeContact_project_external_PROJECTCONTRIBUTOR=投稿 TypeContact_project_task_internal_TASKEXECUTIVE=执行任务 TypeContact_project_task_external_TASKEXECUTIVE=执行任务 -TypeContact_project_task_internal_CONTRIBUTOR=投稿 -TypeContact_project_task_external_CONTRIBUTOR=投稿 +TypeContact_project_task_internal_TASKCONTRIBUTOR=投稿 +TypeContact_project_task_external_TASKCONTRIBUTOR=投稿 # SelectElement=Select element # AddElement=Link to element # Documents models diff --git a/htdocs/langs/zh_TW/projects.lang b/htdocs/langs/zh_TW/projects.lang index 0358036dea3..43c0fe1a4d4 100644 --- a/htdocs/langs/zh_TW/projects.lang +++ b/htdocs/langs/zh_TW/projects.lang @@ -100,12 +100,12 @@ IfNeedToUseOhterObjectKeepEmpty=如果某些對象(發票,訂單,...), ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=項目負責人 TypeContact_project_external_PROJECTLEADER=項目負責人 -TypeContact_project_internal_CONTRIBUTOR=投稿 -TypeContact_project_external_CONTRIBUTOR=投稿 +TypeContact_project_internal_PROJECTCONTRIBUTOR=投稿 +TypeContact_project_external_PROJECTCONTRIBUTOR=投稿 TypeContact_project_task_internal_TASKEXECUTIVE=執行任務 TypeContact_project_task_external_TASKEXECUTIVE=執行任務 -TypeContact_project_task_internal_CONTRIBUTOR=投稿 -TypeContact_project_task_external_CONTRIBUTOR=投稿 +TypeContact_project_task_internal_TASKCONTRIBUTOR=投稿 +TypeContact_project_task_external_TASKCONTRIBUTOR=投稿 # SelectElement=Select element # AddElement=Link to element # Documents models From 7ac405e06727aae1d3b9f9d7c7a508d6867425e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcos=20Garci=CC=81a=20de=20La=20Fuente?= Date: Tue, 25 Feb 2014 03:17:26 +0100 Subject: [PATCH 015/293] Added SpecialCode translation key --- htdocs/langs/en_US/exports.lang | 1 + htdocs/langs/es_ES/exports.lang | 1 + 2 files changed, 2 insertions(+) diff --git a/htdocs/langs/en_US/exports.lang b/htdocs/langs/en_US/exports.lang index f1defa94c36..f6ea95c4ae8 100644 --- a/htdocs/langs/en_US/exports.lang +++ b/htdocs/langs/en_US/exports.lang @@ -123,6 +123,7 @@ BankCode=Bank code DeskCode=Desk code BankAccountNumber=Account number BankAccountNumberKey=Key +SpecialCode=Special code ## filters SelectFilterFields=If you want to filter on some values, just input values here. FilterableFields=Champs Filtrables diff --git a/htdocs/langs/es_ES/exports.lang b/htdocs/langs/es_ES/exports.lang index 61517a81dc5..f90475ce24a 100644 --- a/htdocs/langs/es_ES/exports.lang +++ b/htdocs/langs/es_ES/exports.lang @@ -123,6 +123,7 @@ BankCode=Código banco DeskCode=Código oficina BankAccountNumber=Número cuenta BankAccountNumberKey=Dígito Control +SpecialCode=Código especial ## filters SelectFilterFields=Si quiere aplicar un filtro sobre algunos valores, introdúzcalos aquí. FilterableFields=Campos filtrables From 4157452c6d37b33f101aa078d3d4697149b9cdbe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcos=20Garci=CC=81a=20de=20La=20Fuente?= Date: Tue, 25 Feb 2014 03:19:21 +0100 Subject: [PATCH 016/293] Translated export filters --- htdocs/exports/class/export.class.php | 15 +++++---------- htdocs/langs/en_US/exports.lang | 3 +++ htdocs/langs/es_ES/exports.lang | 3 +++ htdocs/langs/fr_FR/exports.lang | 3 +++ 4 files changed, 14 insertions(+), 10 deletions(-) diff --git a/htdocs/exports/class/export.class.php b/htdocs/exports/class/export.class.php index 39225d26d6e..42299a755b5 100644 --- a/htdocs/exports/class/export.class.php +++ b/htdocs/exports/class/export.class.php @@ -430,30 +430,25 @@ class Export * * @param string $TypeField Type of Field to filter * @return string html string of the input field ex : "" - * TODO replace by translation */ function genDocFilter($TypeField) { + global $langs; + $szMsg=''; $InfoFieldList = explode(":", $TypeField); // build the input field on depend of the type of file switch ($InfoFieldList[0]) { case 'Text': - $szMsg="% permet de remplacer un ou plusieurs caractères dans la chaine"; + $szMsg= $langs->trans('ExportStringFilter'); break; case 'Date': - $szMsg ="'AAAA' 'AAAAMM' 'AAAAMMJJ' : filtre sur une année/mois/jour
"; - $szMsg.="'AAAA+AAAA' 'AAAAMM+AAAAMM' 'AAAAMMJJ+AAAAMMJJ': filtre sur une plage d'année/mois/jour
"; - $szMsg.="'>AAAA' '>AAAAMM' '>AAAAMMJJ' filtre sur les année/mois/jour suivants
"; - $szMsg.="'‹AAAA' '‹AAAAMM' '‹AAAAMMJJ' filtre sur les année/mois/jour précédent
"; + $szMsg = $langs->trans('ExportDateFilter'); break; case 'Duree': break; case 'Numeric': - $szMsg ="'NNNNN' filtre sur une valeur
"; - $szMsg.="'NNNNN+NNNNN' filtre sur une plage de valeur
"; - $szMsg.="'‹NNNNN' filtre sur les valeurs inférieurs
"; - $szMsg.="'>NNNNN' filtre sur les valeurs supérieurs
"; + $szMsg = $langs->trans('ExportNumericFilter'); break; case 'Boolean': break; diff --git a/htdocs/langs/en_US/exports.lang b/htdocs/langs/en_US/exports.lang index f6ea95c4ae8..38d25738a64 100644 --- a/htdocs/langs/en_US/exports.lang +++ b/htdocs/langs/en_US/exports.lang @@ -124,6 +124,9 @@ DeskCode=Desk code BankAccountNumber=Account number BankAccountNumberKey=Key SpecialCode=Special code +ExportStringFilter=%% allows replacing one or more characters in the text +ExportDateFilter='AAAA' 'AAAAMM' 'AAAAMMJJ': filters by one year/month/day
'AAAA+AAAA' 'AAAAMM+AAAAMM' 'AAAAMMJJ+AAAAMMJJ': filters over a range of years/months/days
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filters on the following years/months/days
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filters on the previous years/months/days +ExportNumericFilter='NNNNN' filters by one value
'NNNNN+NNNNN' filters over a range of values
'>NNNNN' filters by lower values
'>NNNNN' filters by higher values ## filters SelectFilterFields=If you want to filter on some values, just input values here. FilterableFields=Champs Filtrables diff --git a/htdocs/langs/es_ES/exports.lang b/htdocs/langs/es_ES/exports.lang index f90475ce24a..a04d2977479 100644 --- a/htdocs/langs/es_ES/exports.lang +++ b/htdocs/langs/es_ES/exports.lang @@ -124,6 +124,9 @@ DeskCode=Código oficina BankAccountNumber=Número cuenta BankAccountNumberKey=Dígito Control SpecialCode=Código especial +ExportStringFilter=%% permite reemplazar uno o más caracteres en el texto +ExportDateFilter='AAAA' 'AAAAMM' 'AAAAMMJJ': filtra por un año/mes/día
'AAAA+AAAA' 'AAAAMM+AAAAMM' 'AAAAMMJJ+AAAAMMJJ': filtra entre un rango de años/meses/días
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filtra por los siguientes años/meses/días
'‹AAAA' '‹AAAAMM' '‹AAAAMMJJ': filtra por los anteriores años/meses/días +ExportNumericFilter='NNNNN' filtra por un valor
'NNNNN+NNNNN' filtra entre un rango de valores
'‹NNNNN' filtra por valores inferiores
'>NNNNN' filtra por valores superiores ## filters SelectFilterFields=Si quiere aplicar un filtro sobre algunos valores, introdúzcalos aquí. FilterableFields=Campos filtrables diff --git a/htdocs/langs/fr_FR/exports.lang b/htdocs/langs/fr_FR/exports.lang index f16e90a5399..5dd55e14781 100644 --- a/htdocs/langs/fr_FR/exports.lang +++ b/htdocs/langs/fr_FR/exports.lang @@ -123,6 +123,9 @@ BankCode=Code banque DeskCode=Code guichet BankAccountNumber=Numéro de compte BankAccountNumberKey=Clé RIB +ExportStringFilter=%% permet de remplacer un ou plusieurs caractères dans la chaine +ExportDateFilter='AAAA' 'AAAAMM' 'AAAAMMJJ': filtre sur une année/mois/jour
'AAAA+AAAA' 'AAAAMM+AAAAMM' 'AAAAMMJJ+AAAAMMJJ': filtre sur une plage d'année/mois/jour
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filtre sur les année/mois/jour suivants
'>AAAA' '>AAAAMM' '>AAAAMMJJ' filtre sur les année/mois/jour précédent +ExportNumericFilter='NNNNN' filtre sur une valeur
'NNNNN+NNNNN' filtre sur une plage de valeur
'>NNNNN' filtre sur les valeurs inférieurs
'>NNNNN' filtre sur les valeurs supérieurs ## filters SelectFilterFields=Si vous voulez filtrer sur certaines valeurs, saisissez ces valeurs. FilterableFields=Champs filtrables From 4411908b23bbc13d48245dd5e7d8f45c5defaefe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcos=20Garci=CC=81a=20de=20La=20Fuente?= Date: Tue, 25 Feb 2014 04:18:13 +0100 Subject: [PATCH 017/293] Fixed translations of project export wizard --- htdocs/core/modules/modProjet.class.php | 12 ++++++------ htdocs/exports/export.php | 5 ++++- htdocs/langs/en_US/projects.lang | 9 +++++++++ htdocs/langs/es_ES/projects.lang | 9 +++++++++ htdocs/theme/eldy/img/object_task_time.png | Bin 0 -> 199 bytes 5 files changed, 28 insertions(+), 7 deletions(-) create mode 100644 htdocs/theme/eldy/img/object_task_time.png diff --git a/htdocs/core/modules/modProjet.class.php b/htdocs/core/modules/modProjet.class.php index fb7fa20533b..e606a2db5a5 100644 --- a/htdocs/core/modules/modProjet.class.php +++ b/htdocs/core/modules/modProjet.class.php @@ -187,8 +187,8 @@ class modProjet extends DolibarrModules $this->export_fields_array[$r]=array('s.rowid'=>"IdCompany",'s.nom'=>'CompanyName','s.address'=>'Address','s.zip'=>'Zip','s.town'=>'Town','s.fk_pays'=>'Country', 's.phone'=>'Phone','s.siren'=>'ProfId1','s.siret'=>'ProfId2','s.ape'=>'ProfId3','s.idprof4'=>'ProfId4','s.code_compta'=>'CustomerAccountancyCode','s.code_compta_fournisseur'=>'SupplierAccountancyCode', - 'p.rowid'=>"ProjectId",'p.ref'=>"ProjectRef",'p.datec'=>"DateCreation",'p.dateo'=>"DateDebutProjet",'p.datee'=>"DateFinProjet",'p.fk_statut'=>'ProjectStatus','p.description'=>"projectNote", - 'pt.rowid'=>'RefTask','pt.dateo'=>"TaskDateo",'pt.datee'=>"TaskDatee",'pt.duration_effective'=>"DurationEffective",'pt.planned_workload'=>"DurationPlanned",'pt.progress'=>"Progress",'pt.description'=>"TaskDesc", + 'p.rowid'=>"ProjectId",'p.ref'=>"RefProject",'p.datec'=>"DateCreation",'p.dateo'=>"DateStart",'p.datee'=>"DateEnd",'p.fk_statut'=>'Status','p.description'=>"Description", + 'pt.rowid'=>'RefTask','pt.dateo'=>"TaskDateStart",'pt.datee'=>"TaskDateEnd",'pt.duration_effective'=>"DurationEffective",'pt.planned_workload'=>"PlannedWorkload",'pt.progress'=>"Progress",'pt.description'=>"TaskDescription", 'ptt.task_date'=>'TaskTimeDate','ptt.task_duration'=>"TimesSpent",'ptt.fk_user'=>"TaskTimeUser",'ptt.note'=>"TaskTimeNote"); $this->export_TypeFields_array[$r]=array('s.rowid'=>"List:societe:nom",'s.nom'=>'Text','s.address'=>'Text','s.zip'=>'Text','s.town'=>'Text','s.fk_pays'=>'List:c_pays:libelle', @@ -197,10 +197,10 @@ class modProjet extends DolibarrModules 'pt.dateo'=>"Date",'pt.datee'=>"Date",'pt.duration_effective'=>"Duree",'pt.planned_workload'=>"Number",'pt.progress'=>"Number",'pt.description'=>"Text", 'ptt.task_date'=>'Date','ptt.task_duration'=>"Duree",'ptt.fk_user'=>"List:user:Name",'ptt.note'=>"Text"); - $this->export_entities_array[$r]=array('s.rowid'=>"company",'s.nom'=>'company','s.address'=>'company','s.cp'=>'company','s.ville'=>'company','s.fk_pays'=>'company', - 's.tel'=>'company','s.siren'=>'company','s.siret'=>'company','s.ape'=>'company','s.idprof4'=>'company','s.code_compta'=>'company','s.code_compta_fournisseur'=>'company', - 'f.rowid'=>"project",'f.ref'=>"project",'f.datec'=>"project",'f.duree'=>"project",'f.fk_statut'=>"project",'f.description'=>"project", - 'pt.rowid'=>'task','pt.dateo'=>"task",'pt.datee'=>"task",'pt.duration_effective'=>"task",'pt.planned_workload'=>"task",'pt.progress'=>"task",'pt.description'=>"task", + $this->export_entities_array[$r]=array('s.rowid'=>"company",'s.nom'=>'company','s.address'=>'company','s.zip'=>'company','s.town'=>'company','s.fk_pays'=>'company', + 's.phone'=>'company','s.siren'=>'company','s.siret'=>'company','s.ape'=>'company','s.idprof4'=>'company','s.code_compta'=>'company','s.code_compta_fournisseur'=>'company', + 'p.rowid'=>"project",'p.ref'=>"project",'p.datec'=>"project",'p.dateo'=>"project",'p.datee'=>"project",'p.duree'=>"project",'p.fk_statut'=>"project",'p.description'=>"project", + 'pt.rowid'=>'projecttask','pt.dateo'=>"projecttask",'pt.datee'=>"projecttask",'pt.duration_effective'=>"projecttask",'pt.planned_workload'=>"projecttask",'pt.progress'=>"projecttask",'pt.description'=>"projecttask", 'ptt.task_date'=>'task_time','ptt.task_duration'=>"task_time",'ptt.fk_user'=>"task_time",'ptt.note'=>"task_time"); diff --git a/htdocs/exports/export.php b/htdocs/exports/export.php index aefe5490802..9d8c59f8eaa 100644 --- a/htdocs/exports/export.php +++ b/htdocs/exports/export.php @@ -91,7 +91,10 @@ $entitytolang = array( 'other' => 'Other', 'trip' => 'TripsAndExpenses', 'shipment' => 'Shipments', - 'shipment_line'=> 'ShipmentLine' + 'shipment_line'=> 'ShipmentLine', + 'project' => 'Projects', + 'projecttask' => 'Tasks', + 'task_time' => 'TaskTimeSpent' ); $array_selected=isset($_SESSION["export_selected_fields"])?$_SESSION["export_selected_fields"]:array(); diff --git a/htdocs/langs/en_US/projects.lang b/htdocs/langs/en_US/projects.lang index ba0b6b6dcd2..c6355cdec95 100644 --- a/htdocs/langs/en_US/projects.lang +++ b/htdocs/langs/en_US/projects.lang @@ -1,4 +1,6 @@ # Dolibarr language file - Source file is en_US - projects +RefProject=Ref. project +ProjectId=Project Id Project=Project Projects=Projects SharedProject=Everybody @@ -30,11 +32,18 @@ TimeSpent=Time spent TimesSpent=Time spent RefTask=Ref. task LabelTask=Label task +TaskTimeSpent=Time spent on tasks +TaskTimeUser=Task time user +TaskTimeNote=Task time note +TaskTimeDate=Task time date NewTimeSpent=New time spent MyTimeSpent=My time spent MyTasks=My tasks Tasks=Tasks Task=Task +TaskDateStart=Task start date +TaskDateEnd=Task end date +TaskDescription=Task description NewTask=New task AddTask=Add task AddDuration=Add duration diff --git a/htdocs/langs/es_ES/projects.lang b/htdocs/langs/es_ES/projects.lang index 1df7fd8d92a..04e5723e9f2 100644 --- a/htdocs/langs/es_ES/projects.lang +++ b/htdocs/langs/es_ES/projects.lang @@ -1,4 +1,6 @@ # Dolibarr language file - Source file is en_US - projects +RefProject=Ref. proyecto +ProjectId=Id proyecto Project=Proyecto Projects=Proyectos SharedProject=Proyecto compartido @@ -30,11 +32,18 @@ TimeSpent=Tiempo dedicado TimesSpent=Tiempos dedicados RefTask=Ref. tarea LabelTask=Etiqueta tarea +TaskTimeSpent=Tiempo dedicado a tareas +TaskTimeUser=Usuario de tiempo dedicado +TaskTimeNote=Nota de tiempo dedicado +TaskTimeDate=Fecha de tiempo dedicado NewTimeSpent=Nuevo tiempo dedicado MyTimeSpent=Mi tiempo dedicado MyTasks=Mis tareas Tasks=Tareas Task=Tarea +TaskDateStart=Fecha inicio tarea +TaskDateEnd=Fecha fin tarea +TaskDescription=Descripción de tarea NewTask=Nueva tarea AddTask=Añadir tarea AddDuration=Indicar duración diff --git a/htdocs/theme/eldy/img/object_task_time.png b/htdocs/theme/eldy/img/object_task_time.png new file mode 100644 index 0000000000000000000000000000000000000000..8cda1f3f2202f020c2aa7f0438b72e06f559c83e GIT binary patch literal 199 zcmeAS@N?(olHy`uVBq!ia0vp^JV4CN!VDyL#uerODaPU;cPEB*=VV?2IYI$GA+G=b z|6jIj*|b?Nu3o(gWX~_#;#?)61X7yh?e4vL>4nJaD4z_MyE9? lK9WujUNMOxAp(mS8H6JFu1;5C6$k2M@O1TaS?83{1OOqAH4Oj& literal 0 HcmV?d00001 From d69939b7b1190c7c13cf605e763ad6bc8c3860c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcos=20Garci=CC=81a=20de=20La=20Fuente?= Date: Tue, 25 Feb 2014 04:27:36 +0100 Subject: [PATCH 018/293] Function dol_clone is now a deprecated function --- htdocs/core/lib/functions.lib.php | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/htdocs/core/lib/functions.lib.php b/htdocs/core/lib/functions.lib.php index 3e73d4320c3..f5e41ae9e8d 100644 --- a/htdocs/core/lib/functions.lib.php +++ b/htdocs/core/lib/functions.lib.php @@ -314,6 +314,7 @@ function dol_buildpath($path, $type=0) * Create a clone of instance of object (new instance with same properties) * This function works for both PHP4 and PHP5 * + * @deprecated Dolibarr no longer supports PHP4, you can now use native function * @param object $object Object to clone * @return object Object clone */ @@ -321,11 +322,6 @@ function dol_clone($object) { dol_syslog("Functions.lib::dol_clone Clone object"); - // We create dynamically a clone function, making a = - if (version_compare(phpversion(), '5.0') < 0 && ! function_exists('clone')) - { - eval('function clone($object){return($object);}'); - } $myclone=clone($object); return $myclone; } From 4fe8e00601bc45dfc48efcd5cc80731f906f5ecc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcos=20Garci=CC=81a=20de=20La=20Fuente?= Date: Tue, 25 Feb 2014 04:29:34 +0100 Subject: [PATCH 019/293] Removed deprecated code --- .../filemanagerdol/connectors/php/util.php | 40 +++++++++---------- 1 file changed, 19 insertions(+), 21 deletions(-) diff --git a/htdocs/core/filemanagerdol/connectors/php/util.php b/htdocs/core/filemanagerdol/connectors/php/util.php index 4f479c1ce7b..d221c936fbf 100644 --- a/htdocs/core/filemanagerdol/connectors/php/util.php +++ b/htdocs/core/filemanagerdol/connectors/php/util.php @@ -208,27 +208,25 @@ function IsImageValid( $filePath, $extension ) return -1; } - $imageCheckExtensions = array('gif', 'jpeg', 'jpg', 'png', 'swf', 'psd', 'bmp', 'iff'); - - // version_compare is available since PHP4 >= 4.0.7 - if ( function_exists('version_compare') ) { - $sCurrentVersion = phpversion(); - if ( version_compare($sCurrentVersion, "4.2.0") >= 0 ) { - $imageCheckExtensions[] = "tiff"; - $imageCheckExtensions[] = "tif"; - } - if ( version_compare($sCurrentVersion, "4.3.0") >= 0 ) { - $imageCheckExtensions[] = "swc"; - } - if ( version_compare($sCurrentVersion, "4.3.2") >= 0 ) { - $imageCheckExtensions[] = "jpc"; - $imageCheckExtensions[] = "jp2"; - $imageCheckExtensions[] = "jpx"; - $imageCheckExtensions[] = "jb2"; - $imageCheckExtensions[] = "xbm"; - $imageCheckExtensions[] = "wbmp"; - } - } + $imageCheckExtensions = array( + 'gif', + 'jpeg', + 'jpg', + 'png', + 'swf', + 'psd', + 'bmp', + 'iff', + 'tiff', + 'tif', + 'swc', + 'jpc', + 'jp2', + 'jpx', + 'jb2', + 'xbm', + 'wbmp' + ); if (!in_array($extension, $imageCheckExtensions) ) { return true; From f7eb4c5b145bddcf39a7f893e979070a19926933 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcos=20Garci=CC=81a=20de=20La=20Fuente?= Date: Tue, 25 Feb 2014 04:39:41 +0100 Subject: [PATCH 020/293] Updated user export labels --- htdocs/core/modules/modUser.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/core/modules/modUser.class.php b/htdocs/core/modules/modUser.class.php index 257f37c5411..e0be7ece744 100644 --- a/htdocs/core/modules/modUser.class.php +++ b/htdocs/core/modules/modUser.class.php @@ -209,7 +209,7 @@ class modUser extends DolibarrModules $this->export_code[$r]=$this->rights_class.'_'.$r; $this->export_label[$r]='Liste des utilisateurs Dolibarr et attributs'; $this->export_permission[$r]=array(array("user","user","export")); - $this->export_fields_array[$r]=array('u.rowid'=>"Id",'u.login'=>"Login",'u.lastname'=>"Lastname",'u.firstname'=>"Firstname",'u.office_phone'=>'Telephone','u.office_fax'=>'Fax','u.email'=>'EMail','u.datec'=>"DateCreation",'u.tms'=>"DateLastModification",'u.admin'=>"Admin",'u.statut'=>'Status','u.note'=>"Note",'u.datelastlogin'=>'LastConnexion','u.datepreviouslogin'=>'PreviousConnexion','u.fk_socpeople'=>"IdContact",'u.fk_societe'=>"IdCompany",'u.fk_member'=>"MemberId"); + $this->export_fields_array[$r]=array('u.rowid'=>"Id",'u.login'=>"Login",'u.lastname'=>"Lastname",'u.firstname'=>"Firstname",'u.office_phone'=>'Phone','u.office_fax'=>'Fax','u.email'=>'EMail','u.datec'=>"DateCreation",'u.tms'=>"DateLastModification",'u.admin'=>"Administrator",'u.statut'=>'Status','u.note'=>"Note",'u.datelastlogin'=>'LastConnexion','u.datepreviouslogin'=>'PreviousConnexion','u.fk_socpeople'=>"IdContact",'u.fk_societe'=>"IdCompany",'u.fk_member'=>"MemberId"); $this->export_TypeFields_array[$r]=array('u.login'=>"Text",'u.lastname'=>"Text",'u.firstname'=>"Text",'u.office_phone'=>'Text','u.office_fax'=>'Text','u.email'=>'Text','u.datec'=>"Date",'u.tms'=>"Date",'u.admin'=>"Boolean",'u.statut'=>'Status','u.note'=>"Text",'u.datelastlogin'=>'Date','u.datepreviouslogin'=>'Date','u.fk_societe'=>"List:societe:nom:rowid",'u.fk_member'=>"List:adherent:nom"); $this->export_entities_array[$r]=array('u.rowid'=>"user",'u.login'=>"user",'u.lastname'=>"user",'u.firstname'=>"user",'u.office_phone'=>'user','u.office_fax'=>'user','u.email'=>'user','u.datec'=>"user",'u.tms'=>"user",'u.admin'=>"user",'u.statut'=>'user','u.note'=>"user",'u.datelastlogin'=>'user','u.datepreviouslogin'=>'user','u.fk_socpeople'=>"contact",'u.fk_societe'=>"company",'u.fk_member'=>"member"); From 8a71245186517d5944ab37e2a26faed4b1e14dd7 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 25 Feb 2014 10:00:57 +0100 Subject: [PATCH 021/293] Look: Use higher menu entries with jmobile. --- htdocs/theme/eldy/style.css.php | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/htdocs/theme/eldy/style.css.php b/htdocs/theme/eldy/style.css.php index 379feea6bd3..a3b8f23c70d 100644 --- a/htdocs/theme/eldy/style.css.php +++ b/htdocs/theme/eldy/style.css.php @@ -2717,9 +2717,11 @@ a.ui-link, a.ui-link:hover, .ui-btn:hover, span.ui-btn-text:hover, span.ui-btn-i min-width: .4em; padding-left: 10px; padding-right: 10px; - + + font-size: 13px; + font-size: px; - + /* white-space: normal; */ /* Warning, enable this break the truncate feature */ } .ui-btn-icon-right .ui-btn-inner { @@ -2817,7 +2819,7 @@ ul.ulmenu { /* Style for first level menu with jmobile */ .ui-bar-b, .lilevel0 { - border: 1px solid #456f9a; + border: 1px solid #5f5f7a !important; background: rgb(); background-repeat: repeat-x; From e963f555933754f9b745e83ea017b3479136db7d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcos=20Garci=CC=81a=20de=20La=20Fuente?= Date: Tue, 25 Feb 2014 13:34:33 +0100 Subject: [PATCH 022/293] Corrected CS error --- htdocs/core/lib/functions.lib.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/core/lib/functions.lib.php b/htdocs/core/lib/functions.lib.php index f5e41ae9e8d..caad40910aa 100644 --- a/htdocs/core/lib/functions.lib.php +++ b/htdocs/core/lib/functions.lib.php @@ -314,9 +314,9 @@ function dol_buildpath($path, $type=0) * Create a clone of instance of object (new instance with same properties) * This function works for both PHP4 and PHP5 * - * @deprecated Dolibarr no longer supports PHP4, you can now use native function * @param object $object Object to clone * @return object Object clone + * @deprecated Dolibarr no longer supports PHP4, you can now use native function */ function dol_clone($object) { From 63a2aa3365386cbbd2b2a42d70ede409be344f9b Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 25 Feb 2014 15:48:13 +0100 Subject: [PATCH 023/293] Fix: sql error with postgres when creating extrafield with an upper cas character. code for new fields must be always lowercase. --- htdocs/core/actions_extrafields.inc.php | 6 +++--- htdocs/core/tpl/admin_extrafields_add.tpl.php | 2 +- htdocs/langs/en_US/admin.lang | 1 + htdocs/langs/en_US/errors.lang | 1 + htdocs/langs/fr_FR/admin.lang | 1 + htdocs/langs/fr_FR/errors.lang | 1 + 6 files changed, 8 insertions(+), 4 deletions(-) diff --git a/htdocs/core/actions_extrafields.inc.php b/htdocs/core/actions_extrafields.inc.php index 74bf7c40ad8..70b173ab014 100644 --- a/htdocs/core/actions_extrafields.inc.php +++ b/htdocs/core/actions_extrafields.inc.php @@ -117,8 +117,8 @@ if ($action == 'add') if (! $error) { - // Type et taille non encore pris en compte => varchar(255) - if (isset($_POST["attrname"]) && preg_match("/^\w[a-zA-Z0-9-_]*$/",$_POST['attrname'])) + // attrname must be alphabetical and lower case only + if (isset($_POST["attrname"]) && preg_match("/^[a-z0-9-_]+$/",$_POST['attrname'])) { // Construct array for parameter (value of select list) $default_value = GETPOST('default_value'); @@ -159,7 +159,7 @@ if ($action == 'add') { $error++; $langs->load("errors"); - $mesg=$langs->trans("ErrorFieldCanNotContainSpecialCharacters",$langs->transnoentities("AttributeCode")); + $mesg=$langs->trans("ErrorFieldCanNotContainSpecialNorUpperCharacters",$langs->transnoentities("AttributeCode")); setEventMessage($mesg,'errors'); $action = 'create'; } diff --git a/htdocs/core/tpl/admin_extrafields_add.tpl.php b/htdocs/core/tpl/admin_extrafields_add.tpl.php index d1f8fc6bb37..e4c4d75c85e 100644 --- a/htdocs/core/tpl/admin_extrafields_add.tpl.php +++ b/htdocs/core/tpl/admin_extrafields_add.tpl.php @@ -70,7 +70,7 @@
trans("Label"); ?>
trans("AttributeCode"); ?> (trans("AlphaNumOnlyCharsAndNoSpace"); ?>)
trans("AttributeCode"); ?> (trans("AlphaNumOnlyLowerCharsAndNoSpace"); ?>)
trans("Type"); ?> selectarray('type',$type2label,GETPOST('type')); ?> diff --git a/htdocs/langs/en_US/admin.lang b/htdocs/langs/en_US/admin.lang index a72ab80eb3f..ee651563845 100644 --- a/htdocs/langs/en_US/admin.lang +++ b/htdocs/langs/en_US/admin.lang @@ -983,6 +983,7 @@ ExtraFieldsProject=Complementary attributes (projects) ExtraFieldsProjectTask=Complementary attributes (tasks) ExtraFieldHasWrongValue=Attribut %s has a wrong value. AlphaNumOnlyCharsAndNoSpace=only alphanumericals characters without space +AlphaNumOnlyLowerCharsAndNoSpace=only alphanumericals and lower case characters without space SendingMailSetup=Setup of sendings by email SendmailOptionNotComplete=Warning, on some Linux systems, to send email from your email, sendmail execution setup must contains option -ba (parameter mail.force_extra_parameters into your php.ini file). If some recipients never receive emails, try to edit this PHP parameter with mail.force_extra_parameters = -ba). PathToDocuments=Path to documents diff --git a/htdocs/langs/en_US/errors.lang b/htdocs/langs/en_US/errors.lang index ac4d439a208..3ebd9720118 100644 --- a/htdocs/langs/en_US/errors.lang +++ b/htdocs/langs/en_US/errors.lang @@ -62,6 +62,7 @@ ErrorNoValueForCheckBoxType=Please fill value for checkbox list ErrorNoValueForRadioType=Please fill value for radio list ErrorBadFormatValueList=The list value cannot have more than one come : %s, but need at least one: llave,valores ErrorFieldCanNotContainSpecialCharacters=Field %s must not contains special characters. +ErrorFieldCanNotContainSpecialNorUpperCharacters=Field %s must not contains special characters, nor upper case characters. ErrorNoAccountancyModuleLoaded=No accountancy module activated ErrorExportDuplicateProfil=This profil name already exists for this export set. ErrorLDAPSetupNotComplete=Dolibarr-LDAP matching is not complete. diff --git a/htdocs/langs/fr_FR/admin.lang b/htdocs/langs/fr_FR/admin.lang index 9562d51fd58..244dc51d3db 100644 --- a/htdocs/langs/fr_FR/admin.lang +++ b/htdocs/langs/fr_FR/admin.lang @@ -983,6 +983,7 @@ ExtraFieldsProject=Attributs supplémentaires (projets) ExtraFieldsProjectTask=Attributs supplémentaires (tâches) ExtraFieldHasWrongValue=L'attribut %s a une valeur incorrecte. AlphaNumOnlyCharsAndNoSpace=uniquement caractères alphanumériques sans espace +AlphaNumOnlyLowerCharsAndNoSpace=uniquement caractères minuscules alphanumériques sans espace SendingMailSetup=Configuration de l'envoi par email SendmailOptionNotComplete=Attention, sur certains systèmes Linux, avec cette méthode d'envoi, pour pouvoir envoyer des emails en votre nom, la configuration d'exécution de sendmail doit contenir l'option -ba (paramètre mail.force_extra_parameters dans le fichier php.ini). Si certains de vos destinataires ne reçoivent pas de message, essayer de modifier ce paramètre PHP avec mail.force_extra_parameters = -ba. PathToDocuments=Chemin d'accès aux documents diff --git a/htdocs/langs/fr_FR/errors.lang b/htdocs/langs/fr_FR/errors.lang index 5dea9e06d48..a1ed822619e 100644 --- a/htdocs/langs/fr_FR/errors.lang +++ b/htdocs/langs/fr_FR/errors.lang @@ -62,6 +62,7 @@ ErrorNoValueForCheckBoxType=Les valeurs de la liste de case a cochées doivent ErrorNoValueForRadioType=Les valeurs de la liste d'options doivent être renseignées ErrorBadFormatValueList=Les valeurs de la liste ne peuvent pas contenir plus d'une virgule : %s, mais doivent en avoir au moins une: clef,valeur ErrorFieldCanNotContainSpecialCharacters=Le champ %s ne peut contenir de caractères spéciaux. +ErrorFieldCanNotContainSpecialNorUpperCharacters=Le champ %s ne peut contenir de caractères spéciaux, ni de caractères en majuscules. ErrorNoAccountancyModuleLoaded=Aucun module de comptabilité activé ErrorExportDuplicateProfil=Ce nom de profil existe déjà pour ce lot d'export. ErrorLDAPSetupNotComplete=Le matching Dolibarr-LDAP est incomplet. From 736778d56a30b7eb791334ed1a398f5a2283b6c7 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 25 Feb 2014 16:13:23 +0100 Subject: [PATCH 024/293] New: Add message to explain how to use the page. Make things more clear for user. --- htdocs/commande/liste.php | 4 +++- htdocs/langs/en_US/orders.lang | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/htdocs/commande/liste.php b/htdocs/commande/liste.php index c4a416f1898..2beb0b73b55 100644 --- a/htdocs/commande/liste.php +++ b/htdocs/commande/liste.php @@ -417,8 +417,10 @@ if ($resql) print '
'; - print ''; + print ''."\n"; + print '
'.img_help(1,'').' '.$langs->trans("ToBillSeveralOrderSelectCustomer", $langs->transnoentitiesnoconv("CreateInvoiceForThisCustomer")).'
'; + $db->free($resql); } else diff --git a/htdocs/langs/en_US/orders.lang b/htdocs/langs/en_US/orders.lang index ad8de300a8e..096261bd918 100644 --- a/htdocs/langs/en_US/orders.lang +++ b/htdocs/langs/en_US/orders.lang @@ -164,3 +164,4 @@ Ordered=Ordered OrderCreated=Your orders have been created OrderFail=An error happened during your orders creation CreateOrders=Create orders +ToBillSeveralOrderSelectCustomer=To create an invoice for several orders, click first onto customer, then choose "%s". \ No newline at end of file From 1790f905c943d352a7a55b4ffe1b3347cd59e2d1 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 25 Feb 2014 18:25:17 +0100 Subject: [PATCH 025/293] Removed some code specific to databases and use instead correct abstract method of drivers. --- htdocs/admin/system/database.php | 79 +++++++++++++------------------- htdocs/core/db/mysql.class.php | 8 ++-- htdocs/core/db/mysqli.class.php | 8 ++-- htdocs/core/db/pgsql.class.php | 11 ++--- htdocs/core/db/sqlite.class.php | 12 ++--- 5 files changed, 47 insertions(+), 71 deletions(-) diff --git a/htdocs/admin/system/database.php b/htdocs/admin/system/database.php index f60714dc3a3..f32122df7b9 100644 --- a/htdocs/admin/system/database.php +++ b/htdocs/admin/system/database.php @@ -1,6 +1,6 @@ - * Copyright (C) 2004-2013 Laurent Destailleur + * Copyright (C) 2004-2014 Laurent Destailleur * Copyright (C) 2004 Sebastien Di Cintio * Copyright (C) 2004 Benoit Mortier * @@ -63,33 +63,17 @@ print 'db->type == 'pgsql') -{ - $sqls[0] = "select name,setting from pg_settings"; // TODO function getServerParametersValues - //$sqls[1] = ""; // TODO Use function getServerStatusValues - $base=2; -} -else if ($conf->db->type == 'mssql') -{ - //$sqls[0] = ""; - //$base=3; -} +$listofvars=$db->getServerParametersValues(); +$listofstatus=$db->getServerStatusValues(); +$arraylist=array('listofvars','listofstatus'); -if (! $base) +if (! count($listofvars) && ! count($listofstatus)) { print $langs->trans("FeatureNotAvailableWithThisDatabaseDriver"); } else { - foreach($sqls as $sql) + foreach($arraylist as $listname) { print '
'; print ''; @@ -97,7 +81,7 @@ else print ''; print ''; print ''."\n"; - + // arraytest is an array of test to do $arraytest=array(); if (preg_match('/mysql/i',$db->type)) @@ -107,38 +91,37 @@ else 'collation_database'=>array('var'=>'dolibarr_main_db_collation','valifempty'=>'utf8_general_ci') ); } + + $listtouse=array(); + if ($listname == 'listofvars') $listtouse=$listofvars; + if ($listname == 'listofstatus') $listtouse=$listofstatus; - $resql = $db->query($sql); - if ($resql) + $var=true; + foreach($listtouse as $param => $paramval) { - $var=True; - while ($row = $db->fetch_row($resql)) + $var=!$var; + print ''; + print ''; + print ''; - print ''; - print ''; - print ''."\n"; + if ($key != $param) continue; + $val2=${$val['var']}; + $text='Should be in line with value of param '.$val['var'].' thas is '.($val2?$val2:"'' (=".$val['valifempty'].")").''; + $show=1; } - $db->free($resql); + if ($show==0) print $paramval; + if ($show==1) print $form->textwithpicto($paramval,$text); + if ($show==2) print $form->textwithpicto($paramval,$text,1,'warning'); + print ''; + print ''."\n"; } print '
'.$langs->trans("Parameters").''.$langs->trans("Value").'
'; + print $param; + print ''; + $show=0;$text=''; + foreach($arraytest as $key => $val) { - $var=!$var; - print '
'; - print $row[0]; - print ''; - $show=0;$text=''; - foreach($arraytest as $key => $val) - { - if ($key != $row[0]) continue; - $val2=${$val['var']}; - $text='Should be in line with value of param '.$val['var'].' thas is '.($val2?$val2:"'' (=".$val['valifempty'].")").''; - $show=1; - } - if ($show==0) print $row[1]; - if ($show==1) print $form->textwithpicto($row[1],$text); - if ($show==2) print $form->textwithpicto($row[1],$text,1,'warning'); - print '
'."\n"; } } llxFooter(); -?> +?> \ No newline at end of file diff --git a/htdocs/core/db/mysql.class.php b/htdocs/core/db/mysql.class.php index 59d302aa3f2..5ff714cef7b 100644 --- a/htdocs/core/db/mysql.class.php +++ b/htdocs/core/db/mysql.class.php @@ -1207,12 +1207,11 @@ class DoliDBMysql extends DoliDB $result=array(); $sql='SHOW VARIABLES'; - if ($filter) $sql.=" LIKE '".addslashes($filter)."'"; + if ($filter) $sql.=" LIKE '".$this->escape($filter)."'"; $resql=$this->query($sql); if ($resql) { - $obj=$this->fetch_object($resql); - $result[$obj->Variable_name]=$obj->Value; + while ($obj=$this->fetch_object($resql)) $result[$obj->Variable_name]=$obj->Value; } return $result; @@ -1233,8 +1232,7 @@ class DoliDBMysql extends DoliDB $resql=$this->query($sql); if ($resql) { - $obj=$this->fetch_object($resql); - $result[$obj->Variable_name]=$obj->Value; + while ($obj=$this->fetch_object($resql)) $result[$obj->Variable_name]=$obj->Value; } return $result; diff --git a/htdocs/core/db/mysqli.class.php b/htdocs/core/db/mysqli.class.php index d26026e9f95..dc65eddbbd8 100644 --- a/htdocs/core/db/mysqli.class.php +++ b/htdocs/core/db/mysqli.class.php @@ -1210,12 +1210,11 @@ class DoliDBMysqli extends DoliDB $result=array(); $sql='SHOW VARIABLES'; - if ($filter) $sql.=" LIKE '".addslashes($filter)."'"; + if ($filter) $sql.=" LIKE '".$this->escape($filter)."'"; $resql=$this->query($sql); if ($resql) { - $obj=$this->fetch_object($resql); - $result[$obj->Variable_name]=$obj->Value; + while($obj=$this->fetch_object($resql)) $result[$obj->Variable_name]=$obj->Value; } return $result; @@ -1236,8 +1235,7 @@ class DoliDBMysqli extends DoliDB $resql=$this->query($sql); if ($resql) { - $obj=$this->fetch_object($resql); - $result[$obj->Variable_name]=$obj->Value; + while($obj=$this->fetch_object($resql)) $result[$obj->Variable_name]=$obj->Value; } return $result; diff --git a/htdocs/core/db/pgsql.class.php b/htdocs/core/db/pgsql.class.php index cfb25e76508..eb3677b5f6d 100644 --- a/htdocs/core/db/pgsql.class.php +++ b/htdocs/core/db/pgsql.class.php @@ -1137,15 +1137,15 @@ class DoliDBPgsql extends DoliDB /** * Create a user to connect to database * - * @param string $dolibarr_main_db_host Ip serveur - * @param string $dolibarr_main_db_user Nom user a creer - * @param string $dolibarr_main_db_pass Mot de passe user a creer + * @param string $dolibarr_main_db_host Ip server + * @param string $dolibarr_main_db_user Name of user to create + * @param string $dolibarr_main_db_pass Password of user to create * @param string $dolibarr_main_db_name Database name where user must be granted * @return int <0 if KO, >=0 if OK */ function DDLCreateUser($dolibarr_main_db_host,$dolibarr_main_db_user,$dolibarr_main_db_pass,$dolibarr_main_db_name) { - $sql = "create user \"".addslashes($dolibarr_main_db_user)."\" with password '".addslashes($dolibarr_main_db_pass)."'"; + $sql = "CREATE USER '".$this->escape($dolibarr_main_db_user)."' with password '".$this->escape($dolibarr_main_db_pass)."'"; dol_syslog(get_class($this)."::DDLCreateUser", LOG_DEBUG); // No sql to avoid password in log $resql=$this->query($sql); @@ -1401,8 +1401,7 @@ class DoliDBPgsql extends DoliDB $resql=$this->query($resql); if ($resql) { - $obj=$this->fetch_object($resql); - $result[$obj->name]=$obj->setting; + while ($obj=$this->fetch_object($resql)) $result[$obj->name]=$obj->setting; } return $result; diff --git a/htdocs/core/db/sqlite.class.php b/htdocs/core/db/sqlite.class.php index 496de961d68..b3a9e35cf1f 100644 --- a/htdocs/core/db/sqlite.class.php +++ b/htdocs/core/db/sqlite.class.php @@ -1185,7 +1185,7 @@ class DoliDBSqlite extends DoliDB { $sql = "INSERT INTO user "; $sql.= "(Host,User,password,Select_priv,Insert_priv,Update_priv,Delete_priv,Create_priv,Drop_priv,Index_Priv,Alter_priv,Lock_tables_priv)"; - $sql.= " VALUES ('".addslashes($dolibarr_main_db_host)."','".addslashes($dolibarr_main_db_user)."',password('".addslashes($dolibarr_main_db_pass)."')"; + $sql.= " VALUES ('".$this->escape($dolibarr_main_db_host)."','".$this->escape($dolibarr_main_db_user)."',password('".addslashes($dolibarr_main_db_pass)."')"; $sql.= ",'Y','Y','Y','Y','Y','Y','Y','Y','Y')"; dol_syslog(get_class($this)."::DDLCreateUser", LOG_DEBUG); // No sql to avoid password in log @@ -1198,7 +1198,7 @@ class DoliDBSqlite extends DoliDB $sql = "INSERT INTO db "; $sql.= "(Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv,Create_priv,Drop_priv,Index_Priv,Alter_priv,Lock_tables_priv)"; - $sql.= " VALUES ('".addslashes($dolibarr_main_db_host)."','".addslashes($dolibarr_main_db_name)."','".addslashes($dolibarr_main_db_user)."'"; + $sql.= " VALUES ('".$this->escape($dolibarr_main_db_host)."','".$this->escape($dolibarr_main_db_name)."','".addslashes($dolibarr_main_db_user)."'"; $sql.= ",'Y','Y','Y','Y','Y','Y','Y','Y','Y')"; dol_syslog(get_class($this)."::DDLCreateUser sql=".$sql); @@ -1319,12 +1319,11 @@ class DoliDBSqlite extends DoliDB $result=array(); $sql='SHOW VARIABLES'; - if ($filter) $sql.=" LIKE '".addslashes($filter)."'"; + if ($filter) $sql.=" LIKE '".$this->escape($filter)."'"; $resql=$this->query($sql); if ($resql) { - $obj=$this->fetch_object($resql); - $result[$obj->Variable_name]=$obj->Value; + while ($obj=$this->fetch_object($resql)) $result[$obj->Variable_name]=$obj->Value; } return $result; @@ -1345,8 +1344,7 @@ class DoliDBSqlite extends DoliDB $resql=$this->query($sql); if ($resql) { - $obj=$this->fetch_object($resql); - $result[$obj->Variable_name]=$obj->Value; + while ($obj=$this->fetch_object($resql)) $result[$obj->Variable_name]=$obj->Value; } return $result; From e8cadf3a3e52cbce3938a4d5e8a521067f431237 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 25 Feb 2014 18:32:12 +0100 Subject: [PATCH 026/293] New: Add form search customer order on commercial main page. --- ChangeLog | 2 +- htdocs/comm/index.php | 21 +++++++++++++++++---- htdocs/commande/index.php | 6 ++---- htdocs/langs/en_US/orders.lang | 1 + 4 files changed, 21 insertions(+), 9 deletions(-) diff --git a/ChangeLog b/ChangeLog index f0f038b7235..40cf93e9e3b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -4,6 +4,7 @@ English Dolibarr ChangeLog ***** ChangeLog for 3.6 compared to 3.5.* ***** For users: +- New: Add form search customer order on commercial main page. - New: Can input barcode during product creation step. - New: Add autonumbering of barcode value for products. - New: Can create contract from an order. @@ -32,7 +33,6 @@ TODO - New: [ task #927 ] Add extrafield feature on Proposal lines. - New: [ task #928 ] Add extrafield feature on invoice lines. - For translators: - Update language files. diff --git a/htdocs/comm/index.php b/htdocs/comm/index.php index d0a5f12727a..a3cde90d102 100644 --- a/htdocs/comm/index.php +++ b/htdocs/comm/index.php @@ -69,7 +69,7 @@ print_fiche_titre($langs->trans("CustomerArea")); print '
'; -// Recherche Propal +// Search proposal if (! empty($conf->propal->enabled) && $user->rights->propal->lire) { $var=false; @@ -86,9 +86,22 @@ if (! empty($conf->propal->enabled) && $user->rights->propal->lire) print "
\n"; } -/* - * Recherche Contrat - */ +// Search customer order +if (! empty($conf->commande->enabled) && $user->rights->commande->lire) +{ + $var=false; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print "
'.$langs->trans("SearchACustomerOrder").'
'; + print $langs->trans("Ref").':
'.$langs->trans("Other").':

\n"; +} + +// Search contract if (! empty($conf->contrat->enabled) && $user->rights->contrat->lire) { $var=false; diff --git a/htdocs/commande/index.php b/htdocs/commande/index.php index 2327c2063be..c8dc5e61d6d 100644 --- a/htdocs/commande/index.php +++ b/htdocs/commande/index.php @@ -60,12 +60,10 @@ print_fiche_titre($langs->trans("OrdersArea")); print '
'; -/* - * Search form - */ +// Search customer orders $var=false; print ''; -print ''; +print ''; print ''; print ''; print ''; - print ''; + print ''; print ''; if (! empty($conf->banque->enabled)) print ''; @@ -2790,10 +2790,10 @@ if ($action == 'create') { dol_print_error($db); } - if ($object->type != 2) { + if ($object->type != Facture::TYPE_CREDIT_NOTE) { // Total already paid print ''; @@ -2828,9 +2828,9 @@ if ($action == 'create') { print 'rowid . '">' . img_delete() . ''; print ''; $i ++; - if ($invoice->type == 2) + if ($invoice->type == Facture::TYPE_CREDIT_NOTE) $creditnoteamount += $obj->amount_ttc; - if ($invoice->type == 3) + if ($invoice->type == Facture::TYPE_DEPOSIT) $depositamount += $obj->amount_ttc; } } else { @@ -2922,11 +2922,11 @@ if ($action == 'create') { print '
'.$langs->trans("SearchOrder").'
'; diff --git a/htdocs/langs/en_US/orders.lang b/htdocs/langs/en_US/orders.lang index 096261bd918..ad29ce6eb86 100644 --- a/htdocs/langs/en_US/orders.lang +++ b/htdocs/langs/en_US/orders.lang @@ -55,6 +55,7 @@ DraftOrWaitingShipped=Draft or validated not yet shipped MenuOrdersToBill=Orders delivered MenuOrdersToBill2=Orders to bill SearchOrder=Search order +SearchACustomerOrder=Search a customer order ShipProduct=Ship product Discount=Discount CreateOrder=Create Order From abff284ab11628543b4fac9e2bf0f9cc5df25ec8 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 25 Feb 2014 19:07:42 +0100 Subject: [PATCH 027/293] Fix: The delivery date was missing. --- .../commande/doc/pdf_einstein.modules.php | 28 ++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/htdocs/core/modules/commande/doc/pdf_einstein.modules.php b/htdocs/core/modules/commande/doc/pdf_einstein.modules.php index a58a52aec67..3f859199654 100644 --- a/htdocs/core/modules/commande/doc/pdf_einstein.modules.php +++ b/htdocs/core/modules/commande/doc/pdf_einstein.modules.php @@ -152,7 +152,8 @@ class pdf_einstein extends ModelePDFCommandes $outputlangs->load("bills"); $outputlangs->load("products"); $outputlangs->load("orders"); - + $outputlangs->load("deliveries"); + if ($conf->commande->dir_output) { $object->fetch_thirdparty(); @@ -594,6 +595,31 @@ class pdf_einstein extends ModelePDFCommandes $posy=$pdf->GetY()+1; } */ + if (! empty($object->date_livraison)) + { + $pdf->SetXY($this->marge_gauche, $posy); + $pdf->SetFont('','B', $default_font_size - 2); + $text=$outputlangs->transnoentities("DeliveryDate").':'; + $pdf->MultiCell(80, 3, $text, 0, 'L', 0); + + $pdf->SetFont('','', $default_font_size - 2); + $pdf->SetXY($posxval, $posy); + $text=dol_print_date($object->date_livraison,'day','',$outputlangs); + $pdf->MultiCell(80, 3, $text, 0, 'L', 0); + + $posy=$pdf->GetY()+1; + } + /* TODO + else if (! empty($object->availability_code)) + { + $pdf->SetXY($this->marge_gauche, $posy); + $pdf->SetTextColor(200,0,0); + $pdf->SetFont('','B', $default_font_size - 2); + $pdf->MultiCell(80, 3, $outputlangs->transnoentities("AvailabilityPeriod").': '.,0,'L',0); + $pdf->SetTextColor(0,0,0); + + $posy=$pdf->GetY()+1; + }*/ // Show payment mode if ($object->mode_reglement_code From d4d69e41b1e680e1ed630e1da8c8c40b92d7d724 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 25 Feb 2014 19:14:58 +0100 Subject: [PATCH 028/293] Fix: Right to left support --- htdocs/theme/eldy/style.css.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/htdocs/theme/eldy/style.css.php b/htdocs/theme/eldy/style.css.php index a3b8f23c70d..c01a01223b7 100644 --- a/htdocs/theme/eldy/style.css.php +++ b/htdocs/theme/eldy/style.css.php @@ -447,7 +447,7 @@ td.showDragHandle { float: none; vertical-align: top; } -#id- { +#id-right { /* This must stay id-right ant not be replaced with echo $right */ width: 100%; } @@ -480,7 +480,7 @@ div.fichehalfright { dol_optimize_smallscreen)) { print "width: 50%;\n"; } ?> } div.ficheaddleft { - dol_optimize_smallscreen)) { print "padding-left: 16px;\n"; } + dol_optimize_smallscreen)) { print "padding-".$left.": 16px;\n"; } else print "margin-top: 10px;\n"; ?> } .containercenter { @@ -513,7 +513,7 @@ div#tmenu_tooltip { display:none; height: px; - padding-right: 100px; + padding-: 100px; background: ; box-shadow: 0 0 6px rgba(0, 0, 0, .4) !important; From a822bc0736ccf2fa0f34f2885fda97676b82df77 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 25 Feb 2014 19:07:42 +0100 Subject: [PATCH 029/293] Fix: The delivery date was missing. --- .../commande/doc/pdf_einstein.modules.php | 28 ++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/htdocs/core/modules/commande/doc/pdf_einstein.modules.php b/htdocs/core/modules/commande/doc/pdf_einstein.modules.php index a954c68c906..4aa428f23fa 100644 --- a/htdocs/core/modules/commande/doc/pdf_einstein.modules.php +++ b/htdocs/core/modules/commande/doc/pdf_einstein.modules.php @@ -152,7 +152,8 @@ class pdf_einstein extends ModelePDFCommandes $outputlangs->load("bills"); $outputlangs->load("products"); $outputlangs->load("orders"); - + $outputlangs->load("deliveries"); + if ($conf->commande->dir_output) { $object->fetch_thirdparty(); @@ -582,6 +583,31 @@ class pdf_einstein extends ModelePDFCommandes $posy=$pdf->GetY()+1; } */ + if (! empty($object->date_livraison)) + { + $pdf->SetXY($this->marge_gauche, $posy); + $pdf->SetFont('','B', $default_font_size - 2); + $text=$outputlangs->transnoentities("DeliveryDate").':'; + $pdf->MultiCell(80, 3, $text, 0, 'L', 0); + + $pdf->SetFont('','', $default_font_size - 2); + $pdf->SetXY($posxval, $posy); + $text=dol_print_date($object->date_livraison,'day','',$outputlangs); + $pdf->MultiCell(80, 3, $text, 0, 'L', 0); + + $posy=$pdf->GetY()+1; + } + /* TODO + else if (! empty($object->availability_code)) + { + $pdf->SetXY($this->marge_gauche, $posy); + $pdf->SetTextColor(200,0,0); + $pdf->SetFont('','B', $default_font_size - 2); + $pdf->MultiCell(80, 3, $outputlangs->transnoentities("AvailabilityPeriod").': '.,0,'L',0); + $pdf->SetTextColor(0,0,0); + + $posy=$pdf->GetY()+1; + }*/ // Show payment mode if ($object->mode_reglement_code From e8e8879e9e561958f68752e2feaf5de573b5d3e0 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 25 Feb 2014 19:14:58 +0100 Subject: [PATCH 030/293] Fix: Right to left support --- htdocs/theme/eldy/style.css.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/htdocs/theme/eldy/style.css.php b/htdocs/theme/eldy/style.css.php index c767f5b956e..d41df53975e 100644 --- a/htdocs/theme/eldy/style.css.php +++ b/htdocs/theme/eldy/style.css.php @@ -444,7 +444,7 @@ td.showDragHandle { float: none; vertical-align: top; } -#id- { +#id-right { /* This must stay id-right ant not be replaced with echo $right */ width: 100%; } @@ -477,7 +477,7 @@ div.fichehalfright { dol_optimize_smallscreen)) { print "width: 50%;\n"; } ?> } div.ficheaddleft { - dol_optimize_smallscreen)) { print "padding-left: 16px;\n"; } + dol_optimize_smallscreen)) { print "padding-".$left.": 16px;\n"; } else print "margin-top: 10px;\n"; ?> } .containercenter { @@ -510,7 +510,7 @@ div#tmenu_tooltip { display:none; height: px; - padding-right: 100px; + padding-: 100px; background: ; box-shadow: 0 0 6px rgba(0, 0, 0, .4) !important; From ad928cb443369a67d6036535852dabe5506f8746 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcos=20Garci=CC=81a=20de=20La=20Fuente?= Date: Wed, 26 Feb 2014 00:56:36 +0100 Subject: [PATCH 031/293] Replacing invoice integer types with Facture constants --- htdocs/adherents/card_subscriptions.php | 2 +- htdocs/cashdesk/validation_verif.php | 2 +- htdocs/compta/facture/apercu.php | 8 ++++---- htdocs/compta/facture/prelevement.php | 24 ++++++++++++------------ 4 files changed, 18 insertions(+), 18 deletions(-) diff --git a/htdocs/adherents/card_subscriptions.php b/htdocs/adherents/card_subscriptions.php index 29b6ef1f1f2..2e8822b75d2 100644 --- a/htdocs/adherents/card_subscriptions.php +++ b/htdocs/adherents/card_subscriptions.php @@ -338,7 +338,7 @@ if ($user->rights->adherent->cotisation->creer && $action == 'cotisation' && ! $ } // Create draft invoice - $invoice->type=0; + $invoice->type= Facture::TYPE_STANDARD; $invoice->cond_reglement_id=$customer->cond_reglement_id; if (empty($invoice->cond_reglement_id)) { diff --git a/htdocs/cashdesk/validation_verif.php b/htdocs/cashdesk/validation_verif.php index ffaa01b7a94..7cd29a54ec5 100644 --- a/htdocs/cashdesk/validation_verif.php +++ b/htdocs/cashdesk/validation_verif.php @@ -53,7 +53,7 @@ switch ($action) $invoice=new Facture($db); $invoice->date=dol_now(); - $invoice->type=0; + $invoice->type= Facture::TYPE_STANDARD; $num=$invoice->getNextNumRef($company); $obj_facturation->numInvoice($num); diff --git a/htdocs/compta/facture/apercu.php b/htdocs/compta/facture/apercu.php index ab508e50035..afe5586ab13 100644 --- a/htdocs/compta/facture/apercu.php +++ b/htdocs/compta/facture/apercu.php @@ -107,13 +107,13 @@ if ($id > 0 || ! empty($ref)) // Type print '
'.$langs->trans('Type').''; print $object->getLibType(); - if ($object->type == 1) + if ($object->type == Facture::TYPE_REPLACEMENT) { $facreplaced=new Facture($db); $facreplaced->fetch($object->fk_facture_source); print ' ('.$langs->transnoentities("ReplaceInvoice",$facreplaced->getNomUrl(1)).')'; } - if ($object->type == 2) + if ($object->type == Facture::TYPE_CREDIT_NOTE) { $facusing=new Facture($db); $facusing->fetch($object->fk_facture_source); @@ -155,7 +155,7 @@ if ($id > 0 || ! empty($ref)) if ($absolute_discount > 0) { print '. '; - if ($object->statut > 0 || $object->type == 2 || $object->type == 3) + if ($object->statut > 0 || $object->type == Facture::TYPE_CREDIT_NOTE || $object->type == Facture::TYPE_DEPOSIT) { if ($object->statut == 0) { @@ -164,7 +164,7 @@ if ($id > 0 || ! empty($ref)) } else { - if ($object->statut < 1 || $object->type == 2 || $object->type == 3) + if ($object->statut < 1 || $object->type == Facture::TYPE_CREDIT_NOTE || $object->type == Facture::TYPE_DEPOSIT) { $text=$langs->trans("CompanyHasAbsoluteDiscount",price($absolute_discount),$langs->transnoentities("Currency".$conf->currency)); print '
'.$text.'.
'; diff --git a/htdocs/compta/facture/prelevement.php b/htdocs/compta/facture/prelevement.php index 48b08946469..740bd8ea11a 100644 --- a/htdocs/compta/facture/prelevement.php +++ b/htdocs/compta/facture/prelevement.php @@ -183,13 +183,13 @@ if ($object->id > 0) // Type print '
'.$langs->trans('Type').''; print $object->getLibType(); - if ($object->type == 1) + if ($object->type == Facture::TYPE_REPLACEMENT) { $facreplaced=new Facture($db); $facreplaced->fetch($object->fk_facture_source); print ' ('.$langs->transnoentities("ReplaceInvoice",$facreplaced->getNomUrl(1)).')'; } - if ($object->type == 2) + if ($object->type == Facture::TYPE_CREDIT_NOTE) { $facusing=new Facture($db); $facusing->fetch($object->fk_facture_source); @@ -228,7 +228,7 @@ if ($object->id > 0) print '. '; if ($absolute_discount > 0) { - if ($object->statut > 0 || $object->type == 2 || $object->type == 3) + if ($object->statut > 0 || $object->type == Facture::TYPE_CREDIT_NOTE || $object->type == Facture::TYPE_DEPOSIT) { if ($object->statut == 0) { @@ -236,7 +236,7 @@ if ($object->id > 0) } else { - if ($object->statut < 1 || $object->type == 2 || $object->type == 3) + if ($object->statut < 1 || $object->type == Facture::TYPE_CREDIT_NOTE || $object->type == Facture::TYPE_DEPOSIT) { $text=$langs->trans("CompanyHasAbsoluteDiscount",price($absolute_discount),$langs->transnoentities("Currency".$conf->currency)); print '
'.$text.'.
'; @@ -260,9 +260,9 @@ if ($object->id > 0) if ($absolute_creditnote > 0) { // If validated, we show link "add credit note to payment" - if ($object->statut != 1 || $object->type == 2 || $object->type == 3) + if ($object->statut != 1 || $object->type == Facture::TYPE_DEPOSIT || $object->type == Facture::TYPE_CREDIT_NOTE) { - if ($object->statut == 0 && $object->type != 3) + if ($object->statut == 0 && $object->type != Facture::TYPE_DEPOSIT) { $text=$langs->trans("CompanyHasCreditNote",price($absolute_creditnote),$langs->transnoentities("Currency".$conf->currency)); print $form->textwithpicto($text,$langs->trans("CreditNoteDepositUse")); @@ -285,11 +285,11 @@ if ($object->id > 0) print ''; - if ($object->type != 2 && $action != 'editinvoicedate' && ! empty($object->brouillon) && $user->rights->facture->creer) print ''; + if ($object->type != Facture::TYPE_CREDIT_NOTE && $action != 'editinvoicedate' && ! empty($object->brouillon) && $user->rights->facture->creer) print ''; print '
'; print $langs->trans('Date'); print 'id.'">'.img_edit($langs->trans('SetDate'),1).'id.'">'.img_edit($langs->trans('SetDate'),1).'
'; print '
'; - if ($object->type != 2) + if ($object->type != Facture::TYPE_CREDIT_NOTE) { if ($action == 'editinvoicedate') { @@ -312,10 +312,10 @@ if ($object->id > 0) print ''; - if ($object->type != 2 && $action != 'editpaymentterm' && ! empty($object->brouillon) && $user->rights->facture->creer) print ''; + if ($object->type != Facture::TYPE_CREDIT_NOTE && $action != 'editpaymentterm' && ! empty($object->brouillon) && $user->rights->facture->creer) print ''; print '
'; print $langs->trans('DateMaxPayment'); print 'id.'">'.img_edit($langs->trans('SetDate'),1).'id.'">'.img_edit($langs->trans('SetDate'),1).'
'; print '
'; - if ($object->type != 2) + if ($object->type != Facture::TYPE_CREDIT_NOTE) { if ($action == 'editpaymentterm') { @@ -338,10 +338,10 @@ if ($object->id > 0) print ''; - if ($object->type != 2 && $action != 'editconditions' && ! empty($object->brouillon) && $user->rights->facture->creer) print ''; + if ($object->type != Facture::TYPE_CREDIT_NOTE && $action != 'editconditions' && ! empty($object->brouillon) && $user->rights->facture->creer) print ''; print '
'; print $langs->trans('PaymentConditionsShort'); print 'id.'">'.img_edit($langs->trans('SetConditions'),1).'id.'">'.img_edit($langs->trans('SetConditions'),1).'
'; print '
'; - if ($object->type != 2) + if ($object->type != Facture::TYPE_CREDIT_NOTE) { if ($action == 'editconditions') { From 8099d7ff428065c03e5f0c0ab34b990700b54c32 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcos=20Garci=CC=81a=20de=20La=20Fuente?= Date: Wed, 26 Feb 2014 01:03:26 +0100 Subject: [PATCH 032/293] Replacing invoice integer types with Facture constants --- htdocs/compta/facture.php | 100 +++++++++++++++++++------------------- 1 file changed, 50 insertions(+), 50 deletions(-) diff --git a/htdocs/compta/facture.php b/htdocs/compta/facture.php index d845a364c1d..32cebbe8284 100644 --- a/htdocs/compta/facture.php +++ b/htdocs/compta/facture.php @@ -211,7 +211,7 @@ else if ($action == 'valid' && $user->rights->facture->creer) { $object->fetch($id); // On verifie signe facture - if ($object->type == 2) { + if ($object->type == Facture::TYPE_CREDIT_NOTE) { // Si avoir, le signe doit etre negatif if ($object->total_ht >= 0) { $mesgs [] = '
' . $langs->trans("ErrorInvoiceAvoirMustBeNegative") . '
'; @@ -354,7 +354,7 @@ else if ($action == 'confirm_valid' && $confirm == 'yes' && $user->rights->factu } // Check for warehouse - if ($object->type != 3 && ! empty($conf->global->STOCK_CALCULATE_ON_BILL) && $qualified_for_stock_change) { + if ($object->type != Facture::TYPE_DEPOSIT && ! empty($conf->global->STOCK_CALCULATE_ON_BILL) && $qualified_for_stock_change) { if (! $idwarehouse || $idwarehouse == - 1) { $error ++; setEventMessage($langs->trans('ErrorFieldRequired', $langs->transnoentitiesnoconv("Warehouse")), 'errors'); @@ -401,7 +401,7 @@ else if ($action == 'confirm_modif' && ((empty($conf->global->MAIN_USE_ADVANCED_ } // Check parameters - if ($object->type != 3 && ! empty($conf->global->STOCK_CALCULATE_ON_BILL) && $qualified_for_stock_change) { + if ($object->type != Facture::TYPE_DEPOSIT && ! empty($conf->global->STOCK_CALCULATE_ON_BILL) && $qualified_for_stock_change) { if (! $idwarehouse || $idwarehouse == - 1) { $error ++; setEventMessage($langs->trans('ErrorFieldRequired', $langs->transnoentitiesnoconv("Warehouse")), 'errors'); @@ -504,9 +504,9 @@ else if ($action == 'confirm_converttoreduc' && $confirm == 'yes' && $user->righ // Insert one discount by VAT rate category $discount = new DiscountAbsolute($db); - if ($object->type == 2) + if ($object->type == Facture::TYPE_CREDIT_NOTE) $discount->description = '(CREDIT_NOTE)'; - elseif ($object->type == 3) + elseif ($object->type == Facture::TYPE_DEPOSIT) $discount->description = '(DEPOSIT)'; else { $this->error = "CantConvertToReducAnInvoiceOfThisType"; @@ -596,7 +596,7 @@ else if ($action == 'add' && $user->rights->facture->creer) { // Proprietes particulieres a facture de remplacement $object->fk_facture_source = $_POST ['fac_replacement']; - $object->type = 1; + $object->type = Facture::TYPE_REPLACEMENT; $id = $object->createFromCurrent($user); if ($id <= 0) @@ -639,7 +639,7 @@ else if ($action == 'add' && $user->rights->facture->creer) { // Proprietes particulieres a facture avoir $object->fk_facture_source = $_POST ['fac_avoir']; - $object->type = 2; + $object->type = Facture::TYPE_CREDIT_NOTE; $id = $object->create($user); @@ -1262,7 +1262,7 @@ elseif ($action == 'updateligne' && $user->rights->facture->creer && ! GETPOST(' $label = ((GETPOST('update_label') && GETPOST('product_label')) ? GETPOST('product_label') : ''); // Check price is not lower than minimum (check is done only for standard or replacement invoices) - if (($object->type == 0 || $object->type == 1) && $price_min && (price2num($pu_ht) * (1 - price2num(GETPOST('remise_percent')) / 100) < price2num($price_min))) { + if (($object->type == Facture::TYPE_STANDARD || $object->type == Facture::TYPE_REPLACEMENT) && $price_min && (price2num($pu_ht) * (1 - price2num(GETPOST('remise_percent')) / 100) < price2num($price_min))) { setEventMessage($langs->trans("CantBeLessThanMinPrice", price(price2num($price_min, 'MU'), 0, $langs, 0, 0, - 1, $conf->currency)), 'errors'); $error ++; } @@ -2282,11 +2282,11 @@ if ($action == 'create') { $qualified_for_stock_change = $object->hasProductsOrServices(1); } - if ($object->type != 3 && ! empty($conf->global->STOCK_CALCULATE_ON_BILL) && $qualified_for_stock_change && $object->statut >= 1) { + if ($object->type != Facture::TYPE_DEPOSIT && ! empty($conf->global->STOCK_CALCULATE_ON_BILL) && $qualified_for_stock_change && $object->statut >= 1) { $langs->load("stocks"); require_once DOL_DOCUMENT_ROOT . '/product/class/html.formproduct.class.php'; $formproduct = new FormProduct($db); - $label = $object->type == 2 ? $langs->trans("SelectWarehouseForStockDecrease") : $langs->trans("SelectWarehouseForStockIncrease"); + $label = $object->type == Facture::TYPE_CREDIT_NOTE ? $langs->trans("SelectWarehouseForStockDecrease") : $langs->trans("SelectWarehouseForStockIncrease"); $formquestion = array( // 'text' => $langs->trans("ConfirmClone"), // array('type' => 'checkbox', 'name' => 'clone_content', 'label' => $langs->trans("CloneMainAttributes"), 'value' => @@ -2332,7 +2332,7 @@ if ($action == 'create') { $qualified_for_stock_change = $object->hasProductsOrServices(1); } - if ($object->type != 3 && ! empty($conf->global->STOCK_CALCULATE_ON_BILL) && $qualified_for_stock_change) { + if ($object->type != Facture::TYPE_DEPOSIT && ! empty($conf->global->STOCK_CALCULATE_ON_BILL) && $qualified_for_stock_change) { $langs->load("stocks"); require_once DOL_DOCUMENT_ROOT . '/product/class/html.formproduct.class.php'; require_once DOL_DOCUMENT_ROOT . '/product/stock/class/entrepot.class.php'; @@ -2340,10 +2340,10 @@ if ($action == 'create') { $warehouse = new Entrepot($db); $warehouse_array = $warehouse->list_array(); if (count($warehouse_array) == 1) { - $label = $object->type == 2 ? $langs->trans("WarehouseForStockIncrease", current($warehouse_array)) : $langs->trans("WarehouseForStockDecrease", current($warehouse_array)); + $label = $object->type == Facture::TYPE_CREDIT_NOTE ? $langs->trans("WarehouseForStockIncrease", current($warehouse_array)) : $langs->trans("WarehouseForStockDecrease", current($warehouse_array)); $value = ''; } else { - $label = $object->type == 2 ? $langs->trans("SelectWarehouseForStockIncrease") : $langs->trans("SelectWarehouseForStockDecrease"); + $label = $object->type == Facture::TYPE_CREDIT_NOTE ? $langs->trans("SelectWarehouseForStockIncrease") : $langs->trans("SelectWarehouseForStockDecrease"); $value = $formproduct->selectWarehouses(GETPOST('idwarehouse'), 'idwarehouse', '', 1); } $formquestion = array( @@ -2354,11 +2354,11 @@ if ($action == 'create') { // => 1), array('type' => 'other','name' => 'idwarehouse','label' => $label,'value' => $value)); } - if ($object->type != 2 && $object->total_ttc < 0) // Can happen only if $conf->global->FACTURE_ENABLE_NEGATIVE is on + if ($object->type != Facture::TYPE_CREDIT_NOTE && $object->total_ttc < 0) // Can happen only if $conf->global->FACTURE_ENABLE_NEGATIVE is on { $text .= '
' . img_warning() . ' ' . $langs->trans("ErrorInvoiceOfThisTypeMustBePositive"); } - $formconfirm = $form->formconfirm($_SERVER ["PHP_SELF"] . '?facid=' . $object->id, $langs->trans('ValidateBill'), $text, 'confirm_valid', $formquestion, (($object->type != 2 && $object->total_ttc < 0) ? "no" : "yes"), ($conf->notification->enabled ? 0 : 2)); + $formconfirm = $form->formconfirm($_SERVER ["PHP_SELF"] . '?facid=' . $object->id, $langs->trans('ValidateBill'), $text, 'confirm_valid', $formquestion, (($object->type != Facture::TYPE_CREDIT_NOTE && $object->total_ttc < 0) ? "no" : "yes"), ($conf->notification->enabled ? 0 : 2)); } // Confirm back to draft status @@ -2372,7 +2372,7 @@ if ($action == 'create') { } else { $qualified_for_stock_change = $object->hasProductsOrServices(1); } - if ($object->type != 3 && ! empty($conf->global->STOCK_CALCULATE_ON_BILL) && $qualified_for_stock_change) { + if ($object->type != Facture::TYPE_DEPOSIT && ! empty($conf->global->STOCK_CALCULATE_ON_BILL) && $qualified_for_stock_change) { $langs->load("stocks"); require_once DOL_DOCUMENT_ROOT . '/product/class/html.formproduct.class.php'; require_once DOL_DOCUMENT_ROOT . '/product/stock/class/entrepot.class.php'; @@ -2380,10 +2380,10 @@ if ($action == 'create') { $warehouse = new Entrepot($db); $warehouse_array = $warehouse->list_array(); if (count($warehouse_array) == 1) { - $label = $object->type == 2 ? $langs->trans("WarehouseForStockDecrease", current($warehouse_array)) : $langs->trans("WarehouseForStockIncrease", current($warehouse_array)); + $label = $object->type == Facture::TYPE_CREDIT_NOTE ? $langs->trans("WarehouseForStockDecrease", current($warehouse_array)) : $langs->trans("WarehouseForStockIncrease", current($warehouse_array)); $value = ''; } else { - $label = $object->type == 2 ? $langs->trans("SelectWarehouseForStockDecrease") : $langs->trans("SelectWarehouseForStockIncrease"); + $label = $object->type == Facture::TYPE_CREDIT_NOTE ? $langs->trans("SelectWarehouseForStockDecrease") : $langs->trans("SelectWarehouseForStockIncrease"); $value = $formproduct->selectWarehouses(GETPOST('idwarehouse'), 'idwarehouse', '', 1); } $formquestion = array( @@ -2563,12 +2563,12 @@ if ($action == 'create') { // Type print '
' . $langs->trans('Type') . ''; print $object->getLibType(); - if ($object->type == 1) { + if ($object->type == Facture::TYPE_REPLACEMENT) { $facreplaced = new Facture($db); $facreplaced->fetch($object->fk_facture_source); print ' (' . $langs->transnoentities("ReplaceInvoice", $facreplaced->getNomUrl(1)) . ')'; } - if ($object->type == 2) { + if ($object->type == Facture::TYPE_CREDIT_NOTE) { $facusing = new Facture($db); $facusing->fetch($object->fk_facture_source); print ' (' . $langs->transnoentities("CorrectInvoice", $facusing->getNomUrl(1)) . ')'; @@ -2611,12 +2611,12 @@ if ($action == 'create') { if ($absolute_discount > 0) { print '. '; - if ($object->statut > 0 || $object->type == 2 || $object->type == 3) { + if ($object->statut > 0 || $object->type == Facture::TYPE_CREDIT_NOTE || $object->type == Facture::TYPE_DEPOSIT) { if ($object->statut == 0) { print $langs->trans("CompanyHasAbsoluteDiscount", price($absolute_discount), $langs->transnoentities("Currency" . $conf->currency)); print '. '; } else { - if ($object->statut < 1 || $object->type == 2 || $object->type == 3) { + if ($object->statut < 1 || $object->type == Facture::TYPE_CREDIT_NOTE || $object->type == Facture::TYPE_DEPOSIT) { $text = $langs->trans("CompanyHasAbsoluteDiscount", price($absolute_discount), $langs->transnoentities("Currency" . $conf->currency)); print '
' . $text . '.
'; } else { @@ -2633,7 +2633,7 @@ if ($action == 'create') { } else { if ($absolute_creditnote > 0) // If not, link will be added later { - if ($object->statut == 0 && $object->type != 2 && $object->type != 3) + if ($object->statut == 0 && $object->type != TYPE_CREDIT_NOTE && $object->type != TYPE_DEPOSIT) print ' (' . $addabsolutediscount . ')
'; else print '. '; @@ -2642,8 +2642,8 @@ if ($action == 'create') { } if ($absolute_creditnote > 0) { // If validated, we show link "add credit note to payment" - if ($object->statut != 1 || $object->type == 2 || $object->type == 3) { - if ($object->statut == 0 && $object->type != 3) { + if ($object->statut != 1 || $object->type == Facture::TYPE_CREDIT_NOTE || $object->type == Facture::TYPE_DEPOSIT) { + if ($object->statut == 0 && $object->type != Facture::TYPE_DEPOSIT) { $text = $langs->trans("CompanyHasCreditNote", price($absolute_creditnote), $langs->transnoentities("Currency" . $conf->currency)); print $form->textwithpicto($text, $langs->trans("CreditNoteDepositUse")); } else { @@ -2669,7 +2669,7 @@ if ($action == 'create') { } if (! $absolute_discount && ! $absolute_creditnote) { print $langs->trans("CompanyHasNoAbsoluteDiscount"); - if ($object->statut == 0 && $object->type != 2 && $object->type != 3) + if ($object->statut == 0 && $object->type != Facture::TYPE_CREDIT_NOTE && $object->type != Facture::TYPE_DEPOSIT) print ' (' . $addabsolutediscount . ')
'; else print '. '; @@ -2688,12 +2688,12 @@ if ($action == 'create') { print ''; - if ($object->type != 2 && $action != 'editinvoicedate' && ! empty($object->brouillon) && $user->rights->facture->creer) + if ($object->type != Facture::TYPE_CREDIT_NOTE && $action != 'editinvoicedate' && ! empty($object->brouillon) && $user->rights->facture->creer) print ''; print '
'; print $langs->trans('Date'); print 'id . '">' . img_edit($langs->trans('SetDate'), 1) . '
'; print '
'; - if ($object->type != 2) { + if ($object->type != Facture::TYPE_CREDIT_NOTE) { if ($action == 'editinvoicedate') { $form->form_date($_SERVER ['PHP_SELF'] . '?facid=' . $object->id, $object->date, 'invoicedate'); } else { @@ -2707,7 +2707,7 @@ if ($action == 'create') { // List of payments $sign = 1; - if ($object->type == 2) + if ($object->type == Facture::TYPE_CREDIT_NOTE) $sign = - 1; $nbrows = 8; @@ -2730,7 +2730,7 @@ if ($action == 'create') { // List of payments already done print '
' . ($object->type == 2 ? $langs->trans("PaymentsBack") : $langs->trans('Payments')) . '' . ($object->type == Facture::TYPE_CREDIT_NOTE ? $langs->trans("PaymentsBack") : $langs->trans('Payments')) . '' . $langs->trans('Type') . '' . $langs->trans('BankAccount') . '
'; - if ($object->type != 3) + if ($object->type != Facture::TYPE_DEPOSIT) print $langs->trans('AlreadyPaidNoCreditNotesNoDeposits'); else print $langs->trans('AlreadyPaid'); @@ -2817,9 +2817,9 @@ if ($action == 'create') { $obj = $db->fetch_object($resql); $invoice->fetch($obj->fk_facture_source); print '
'; - if ($invoice->type == 2) + if ($invoice->type == Facture::TYPE_CREDIT_NOTE) print $langs->trans("CreditNote") . ' '; - if ($invoice->type == 3) + if ($invoice->type == Facture::TYPE_DEPOSIT) print $langs->trans("Deposit") . ' '; print $invoice->getNomUrl(0); print ' :
'; - if ($object->type != 2 && $action != 'editconditions' && ! empty($object->brouillon) && $user->rights->facture->creer) + if ($object->type != Facture::TYPE_CREDIT_NOTE && $action != 'editconditions' && ! empty($object->brouillon) && $user->rights->facture->creer) print ''; print '
'; print $langs->trans('PaymentConditionsShort'); print 'id . '">' . img_edit($langs->trans('SetConditions'), 1) . '
'; print ''; - if ($object->type != 2) { + if ($object->type != Facture::TYPE_CREDIT_NOTE) { if ($action == 'editconditions') { $form->form_conditions_reglement($_SERVER ['PHP_SELF'] . '?facid=' . $object->id, $object->cond_reglement_id, 'cond_reglement_id'); } else { @@ -2942,11 +2942,11 @@ if ($action == 'create') { print ''; - if ($object->type != 2 && $action != 'editpaymentterm' && ! empty($object->brouillon) && $user->rights->facture->creer) + if ($object->type != Facture::TYPE_CREDIT_NOTE && $action != 'editpaymentterm' && ! empty($object->brouillon) && $user->rights->facture->creer) print ''; print '
'; print $langs->trans('DateMaxPayment'); print 'id . '">' . img_edit($langs->trans('SetDate'), 1) . '
'; print ''; - if ($object->type != 2) { + if ($object->type != Facture::TYPE_CREDIT_NOTE) { if ($action == 'editpaymentterm') { $form->form_date($_SERVER ['PHP_SELF'] . '?facid=' . $object->id, $object->date_lim_reglement, 'paymentterm'); } else { @@ -3188,7 +3188,7 @@ if ($action == 'create') { } // Reopen a standard paid invoice - if (($object->type == 0 || $object->type == 1) && ($object->statut == 2 || $object->statut == 3) && $user->rights->facture->creer) // A paid + if (($object->type == Facture::TYPE_STANDARD || $object->type == Facture::TYPE_REPLACEMENT) && ($object->statut == Facture::TYPE_CREDIT_NOTE || $object->statut == Facture::TYPE_DEPOSIT) && $user->rights->facture->creer) // A paid // invoice // (partially or // completely) @@ -3202,7 +3202,7 @@ if ($action == 'create') { } // Validate - if ($object->statut == 0 && count($object->lines) > 0 && ((($object->type == 0 || $object->type == 1 || $object->type == 3 || $object->type == 4) && (! empty($conf->global->FACTURE_ENABLE_NEGATIVE) || $object->total_ttc >= 0)) || ($object->type == 2 && $object->total_ttc <= 0))) { + if ($object->statut == 0 && count($object->lines) > 0 && ((($object->type == Facture::TYPE_STANDARD || $object->type == Facture::TYPE_REPLACEMENT || $object->type == Facture::TYPE_DEPOSIT || $object->type == Facture::TYPE_PROFORMA) && (! empty($conf->global->FACTURE_ENABLE_NEGATIVE) || $object->total_ttc >= 0)) || ($object->type == Facture::TYPE_CREDIT_NOTE && $object->total_ttc <= 0))) { if ($user->rights->facture->valider) { print ''; } @@ -3235,7 +3235,7 @@ if ($action == 'create') { } // Create payment - if ($object->type != 2 && $object->statut == 1 && $object->paye == 0 && $user->rights->facture->paiement) { + if ($object->type != Facture::TYPE_CREDIT_NOTE && $object->statut == 1 && $object->paye == 0 && $user->rights->facture->paiement) { if ($objectidnext) { print '
' . $langs->trans('DoPayment') . '
'; } else { @@ -3248,23 +3248,23 @@ if ($action == 'create') { } // Reverse back money or convert to reduction - if ($object->type == 2 || $object->type == 3) { + if ($object->type == Facture::TYPE_CREDIT_NOTE || $object->type == Facture::TYPE_DEPOSIT) { // For credit note only - if ($object->type == 2 && $object->statut == 1 && $object->paye == 0 && $user->rights->facture->paiement) { + if ($object->type == Facture::TYPE_CREDIT_NOTE && $object->statut == 1 && $object->paye == 0 && $user->rights->facture->paiement) { print ''; } // For credit note - if ($object->type == 2 && $object->statut == 1 && $object->paye == 0 && $user->rights->facture->creer && $object->getSommePaiement() == 0) { + if ($object->type == Facture::TYPE_CREDIT_NOTE && $object->statut == 1 && $object->paye == 0 && $user->rights->facture->creer && $object->getSommePaiement() == 0) { print ''; } // For deposit invoice - if ($object->type == 3 && $object->statut == 1 && $resteapayer == 0 && $user->rights->facture->creer) { + if ($object->type == Facture::TYPE_DEPOSIT && $object->statut == 1 && $resteapayer == 0 && $user->rights->facture->creer) { print ''; } } // Classify paid (if not deposit and not credit note. Such invoice are "converted") - if ($object->statut == 1 && $object->paye == 0 && $user->rights->facture->paiement && (($object->type != 2 && $object->type != 3 && $resteapayer <= 0) || ($object->type == 2 && $resteapayer >= 0))) { + if ($object->statut == 1 && $object->paye == 0 && $user->rights->facture->paiement && (($object->type != Facture::TYPE_CREDIT_NOTE && $object->type != Facture::TYPE_DEPOSIT && $resteapayer <= 0) || ($object->type == Facture::TYPE_CREDIT_NOTE && $resteapayer >= 0))) { print ''; } @@ -3283,12 +3283,12 @@ if ($action == 'create') { } // Clone - if (($object->type == 0 || $object->type == 3 || $object->type == 4) && $user->rights->facture->creer) { + if (($object->type == Facture::TYPE_STANDARD || $object->type == Facture::TYPE_DEPOSIT || $object->type == Facture::TYPE_PROFORMA) && $user->rights->facture->creer) { print ''; } // Clone as predefined - if (($object->type == 0 || $object->type == 3 || $object->type == 4) && $object->statut == 0 && $user->rights->facture->creer) { + if (($object->type == Facture::TYPE_STANDARD || $object->type == Facture::TYPE_DEPOSIT || $object->type == Facture::TYPE_PROFORMA) && $object->statut == 0 && $user->rights->facture->creer) { if (! $objectidnext) { print ''; } From 0eedadd7f20b25d71e83f53f3aaf786a0eb86b7b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcos=20Garci=CC=81a=20de=20La=20Fuente?= Date: Wed, 26 Feb 2014 01:09:22 +0100 Subject: [PATCH 033/293] Replacing invoice integer types with Facture constants --- htdocs/compta/facture/apercu.php | 12 ++++++------ htdocs/compta/facture/class/facture.class.php | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/htdocs/compta/facture/apercu.php b/htdocs/compta/facture/apercu.php index afe5586ab13..36802709c0a 100644 --- a/htdocs/compta/facture/apercu.php +++ b/htdocs/compta/facture/apercu.php @@ -189,7 +189,7 @@ if ($id > 0 || ! empty($ref)) { if ($absolute_creditnote > 0) // If not linke will be added later { - if ($object->statut == 0 && $object->type != 2 && $object->type != 3) print ' - '.$addabsolutediscount.'
'; + if ($object->statut == 0 && $object->type != Facture::TYPE_CREDIT_NOTE && $object->type != Facture::TYPE_DEPOSIT) print ' - '.$addabsolutediscount.'
'; else print '.'; } else print '. '; @@ -197,9 +197,9 @@ if ($id > 0 || ! empty($ref)) if ($absolute_creditnote > 0) { // If validated, we show link "add credit note to payment" - if ($object->statut != 1 || $object->type == 2 || $object->type == 3) + if ($object->statut != 1 || $object->type == Facture::TYPE_CREDIT_NOTE || $object->type == Facture::TYPE_DEPOSIT) { - if ($object->statut == 0 && $object->type != 3) + if ($object->statut == 0 && $object->type != Facture::TYPE_DEPOSIT) { $text=$langs->trans("CompanyHasCreditNote",price($absolute_creditnote),$langs->transnoentities("Currency".$conf->currency)); print $form->textwithpicto($text,$langs->trans("CreditNoteDepositUse")); @@ -220,7 +220,7 @@ if ($id > 0 || ! empty($ref)) if (! $absolute_discount && ! $absolute_creditnote) { print $langs->trans("CompanyHasNoAbsoluteDiscount"); - if ($object->statut == 0 && $object->type != 2 && $object->type != 3) print ' - '.$addabsolutediscount.'
'; + if ($object->statut == 0 && $object->type != Facture::TYPE_CREDIT_NOTE && $object->type != Facture::TYPE_DEPOSIT) print ' - '.$addabsolutediscount.'
'; else print '. '; } /*if ($object->statut == 0 && $object->type != 2 && $object->type != 3) @@ -242,10 +242,10 @@ if ($id > 0 || ! empty($ref)) print ''; - if ($object->type != 2 && $action != 'editpaymentterm' && $object->brouillon && $user->rights->facture->creer) print ''; + if ($object->type != Facture::TYPE_CREDIT_NOTE && $action != 'editpaymentterm' && $object->brouillon && $user->rights->facture->creer) print ''; print '
'; print $langs->trans('DateMaxPayment'); print 'id.'">'.img_edit($langs->trans('SetDate'),1).'id.'">'.img_edit($langs->trans('SetDate'),1).'
'; print ''; - if ($object->type != 2) + if ($object->type != Facture::TYPE_CREDIT_NOTE) { if ($action == 'editpaymentterm') { diff --git a/htdocs/compta/facture/class/facture.class.php b/htdocs/compta/facture/class/facture.class.php index dc154b2a51f..ec86fbcbaec 100644 --- a/htdocs/compta/facture/class/facture.class.php +++ b/htdocs/compta/facture/class/facture.class.php @@ -68,7 +68,7 @@ class Facture extends CommonInvoice var $ref_ext; var $ref_int; //Check constants for types - var $type= self::TYPE_STANDARD; + var $type = self::TYPE_STANDARD; //var $amount; var $remise_absolue; From 607effdc7a4a423853580ddcb06715825a5c349f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcos=20Garci=CC=81a=20de=20La=20Fuente?= Date: Wed, 26 Feb 2014 01:09:34 +0100 Subject: [PATCH 034/293] Replacing invoice integer types with FactureFournisseur constants --- .../fourn/class/fournisseur.facture.class.php | 30 +++++++++++++++++-- htdocs/fourn/facture/document.php | 4 +-- htdocs/fourn/facture/fiche.php | 6 ++-- htdocs/fourn/facture/note.php | 4 +-- 4 files changed, 34 insertions(+), 10 deletions(-) diff --git a/htdocs/fourn/class/fournisseur.facture.class.php b/htdocs/fourn/class/fournisseur.facture.class.php index 74949814577..b9bcaaa4a6c 100644 --- a/htdocs/fourn/class/fournisseur.facture.class.php +++ b/htdocs/fourn/class/fournisseur.facture.class.php @@ -46,8 +46,8 @@ class FactureFournisseur extends CommonInvoice var $product_ref; var $ref_supplier; var $socid; - //! 0=Standard invoice, 1=Replacement invoice, 2=Credit note invoice, 3=Deposit invoice, 4=Proforma invoice - var $type; + //Check constants for types + var $type = self::TYPE_STANDARD; //! 0=draft, //! 1=validated //! 2=classified paid partially (close_code='discount_vat','badcustomer') or completely (close_code=null), @@ -87,6 +87,30 @@ class FactureFournisseur extends CommonInvoice var $extraparams=array(); + /** + * Standard invoice + */ + const TYPE_STANDARD = 0; + + /** + * Replacement invoice + */ + const TYPE_REPLACEMENT = 1; + + /** + * Credit note invoice + */ + const TYPE_CREDIT_NOTE = 2; + + /** + * Deposit invoice + */ + const TYPE_DEPOSIT = 3; + + /** + * Proforma invoice + */ + const TYPE_PROFORMA = 4; /** * Constructor @@ -338,7 +362,7 @@ class FactureFournisseur extends CommonInvoice $this->ref_supplier = $obj->ref_supplier; $this->entity = $obj->entity; - $this->type = empty($obj->type)?0:$obj->type; + $this->type = empty($obj->type)? self::TYPE_STANDARD:$obj->type; $this->fk_soc = $obj->fk_soc; $this->datec = $this->db->jdate($obj->datec); $this->date = $this->db->jdate($obj->datef); diff --git a/htdocs/fourn/facture/document.php b/htdocs/fourn/facture/document.php index 6c47f66ec7d..9a228f28802 100644 --- a/htdocs/fourn/facture/document.php +++ b/htdocs/fourn/facture/document.php @@ -125,13 +125,13 @@ if ($object->id > 0) // Type print ''.$langs->trans('Type').''; print $object->getLibType(); - if ($object->type == 1) + if ($object->type == FactureFournisseur::TYPE_REPLACEMENT) { $facreplaced=new FactureFournisseur($db); $facreplaced->fetch($object->fk_facture_source); print ' ('.$langs->transnoentities("ReplaceInvoice",$facreplaced->getNomUrl(1)).')'; } - if ($object->type == 2) + if ($object->type == FactureFournisseur::TYPE_CREDIT_NOTE) { $facusing=new FactureFournisseur($db); $facusing->fetch($object->fk_facture_source); diff --git a/htdocs/fourn/facture/fiche.php b/htdocs/fourn/facture/fiche.php index 6d095e48b93..c6aab783018 100644 --- a/htdocs/fourn/facture/fiche.php +++ b/htdocs/fourn/facture/fiche.php @@ -1518,13 +1518,13 @@ else // Type print ''.$langs->trans('Type').''; print $object->getLibType(); - if ($object->type == 1) + if ($object->type == FactureFournisseur::TYPE_REPLACEMENT) { $facreplaced=new FactureFournisseur($db); $facreplaced->fetch($object->fk_facture_source); print ' ('.$langs->transnoentities("ReplaceInvoice",$facreplaced->getNomUrl(1)).')'; } - if ($object->type == 2) + if ($object->type == FactureFournisseur::TYPE_CREDIT_NOTE) { $facusing=new FactureFournisseur($db); $facusing->fetch($object->fk_facture_source); @@ -2166,7 +2166,7 @@ else } // Reopen a standard paid invoice - if (($object->type == 0 || $object->type == 1) && ($object->statut == 2 || $object->statut == 3)) // A paid invoice (partially or completely) + if (($object->type == FactureFournisseur::TYPE_STANDARD || $object->type == FactureFournisseur::TYPE_REPLACEMENT) && ($object->statut == 2 || $object->statut == 3)) // A paid invoice (partially or completely) { if (! $facidnext && $object->close_code != 'replaced') // Not replaced by another invoice { diff --git a/htdocs/fourn/facture/note.php b/htdocs/fourn/facture/note.php index e3963a5f738..12b754dea19 100644 --- a/htdocs/fourn/facture/note.php +++ b/htdocs/fourn/facture/note.php @@ -98,13 +98,13 @@ if ($object->id > 0) // Type print ''.$langs->trans('Type').''; print $object->getLibType(); - if ($object->type == 1) + if ($object->type == FactureFournisseur::TYPE_REPLACEMENT) { $facreplaced=new FactureFournisseur($db); $facreplaced->fetch($object->fk_facture_source); print ' ('.$langs->transnoentities("ReplaceInvoice",$facreplaced->getNomUrl(1)).')'; } - if ($object->type == 2) + if ($object->type == FactureFournisseur::TYPE_CREDIT_NOTE) { $facusing=new FactureFournisseur($db); $facusing->fetch($object->fk_facture_source); From 473b0f73be5be19c60bc4dbb452ada1911b25614 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 26 Feb 2014 10:42:45 +0100 Subject: [PATCH 035/293] New: build_class_from_table can work with a distant database server. --- dev/skeletons/build_class_from_table.php | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/dev/skeletons/build_class_from_table.php b/dev/skeletons/build_class_from_table.php index cc6d557c58c..cae093ef89f 100755 --- a/dev/skeletons/build_class_from_table.php +++ b/dev/skeletons/build_class_from_table.php @@ -1,6 +1,6 @@ #!/usr/bin/php +/* Copyright (C) 2008-2014 Laurent Destailleur * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -50,12 +50,18 @@ print "***** $script_file ($version) *****\n"; // -------------------- START OF BUILD_CLASS_FROM_TABLE SCRIPT -------------------- // Check parameters -if (! isset($argv[1])) +if (! isset($argv[1]) || (isset($argv[2]) && ! isset($argv[6]))) { - print "Usage: $script_file tablename\n"; + print "Usage: $script_file tablename [server port databasename user pass]\n"; exit; } +if (isset($argv[2]) && isset($argv[3]) && isset($argv[4]) && isset($argv[5]) && isset($argv[6])) +{ + print 'Use specific database ids'."\n"; + $db=getDoliDBInstance('mysqli',$argv[2],$argv[5],$argv[6],$argv[4],$argv[3]); +} + if ($db->type != 'mysql' && $db->type != 'mysqli') { print "Error: This script works with mysql or mysqli driver only\n"; @@ -184,7 +190,7 @@ $varprop="\n"; $cleanparam=''; foreach($property as $key => $prop) { - if ($prop['field'] != 'rowid') + if ($prop['field'] != 'rowid' && $prop['field'] != 'id') { $varprop.="\tvar \$".$prop['field']; if ($prop['istime']) $varprop.="=''"; @@ -201,7 +207,7 @@ $varprop="\n"; $cleanparam=''; foreach($property as $key => $prop) { - if ($prop['field'] != 'rowid' && ! $prop['istime']) + if ($prop['field'] != 'rowid' && $prop['field'] != 'id' && ! $prop['istime']) { $varprop.="\t\tif (isset(\$this->".$prop['field'].")) \$this->".$prop['field']."=trim(\$this->".$prop['field'].");"; $varprop.="\n"; @@ -283,7 +289,7 @@ $i=0; foreach($property as $key => $prop) { $i++; - if ($prop['field'] != 'rowid') + if ($prop['field'] != 'rowid' && $prop['field'] != 'id') { $varprop.="\t\t\$sql.= \" "; $varprop.=$prop['field'].'='; @@ -324,7 +330,7 @@ $i=0; foreach($property as $key => $prop) { $i++; - if ($prop['field'] != 'rowid') + if ($prop['field'] != 'rowid' && $prop['field'] != 'id') { $varprop.="\t\t\t\t\$this->".$prop['field']." = "; if ($prop['istime']) $varprop.='$this->db->jdate('; @@ -343,7 +349,7 @@ $varprop="\n"; $cleanparam=''; foreach($property as $key => $prop) { - if ($prop['field'] != 'rowid') + if ($prop['field'] != 'rowid' && $prop['field'] != 'id') { $varprop.="\t\t\$this->".$prop['field']."='';"; $varprop.="\n"; @@ -462,6 +468,6 @@ else $error++; // -------------------- END OF BUILD_CLASS_FROM_TABLE SCRIPT -------------------- -print "You can now rename generated files by removing the 'out.' prefix in their name and store them in a directory of your choice.\n"; +print "You can now rename generated files by removing the 'out.' prefix in their name and store them into directory /yourmodule/class.\n"; return $error; ?> From 0918fd21b0a8ae1231628a514788cbf58f2edaab Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 26 Feb 2014 14:48:53 +0100 Subject: [PATCH 036/293] Fix: Css errors --- htdocs/theme/cameleo/style.css.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/htdocs/theme/cameleo/style.css.php b/htdocs/theme/cameleo/style.css.php index 2d5c1bc337d..7a8277a4cdc 100644 --- a/htdocs/theme/cameleo/style.css.php +++ b/htdocs/theme/cameleo/style.css.php @@ -1345,7 +1345,7 @@ div.divButAction { margin-bottom: 1.4em; } .butActionRefused { background: #FFe7ec; - color: #666; + color: #aaa !important; } global->MAIN_BUTTON_HIDE_UNAUTHORIZED)) { ?> @@ -1602,6 +1602,7 @@ tr.pair td.nohover { -webkit-box-shadow: 4px 4px 4px #DDD; box-shadow: 4px 4px 4px #DDD; margin-bottom: 8px !important;*/ + background: #FFFFFF; border: 1px solid #AAA; text-align: center; border-radius: 5px; From 855dac45eae6ee34b2604822de19232a2059a213 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 26 Feb 2014 15:29:40 +0100 Subject: [PATCH 037/293] Fix: select_comptes was always making a filter on field clos making other filter field not working in some case. --- htdocs/core/class/html.form.class.php | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/htdocs/core/class/html.form.class.php b/htdocs/core/class/html.form.class.php index 7aa09f556b9..452d0e7110d 100644 --- a/htdocs/core/class/html.form.class.php +++ b/htdocs/core/class/html.form.class.php @@ -2364,7 +2364,7 @@ class Form * * @param string $selected Id account pre-selected * @param string $htmlname Name of select zone - * @param int $statut Status of searched accounts (0=open, 1=closed) + * @param int $statut Status of searched accounts (0=open, 1=closed, 2=both) * @param string $filtre To filter list * @param int $useempty 1=Add an empty value in list, 2=Add an empty value in list only if there is more than 2 entries. * @param string $moreattrib To add more attribute on select @@ -2376,10 +2376,10 @@ class Form $langs->load("admin"); - $sql = "SELECT rowid, label, bank"; + $sql = "SELECT rowid, label, bank, clos as status"; $sql.= " FROM ".MAIN_DB_PREFIX."bank_account"; - $sql.= " WHERE clos = '".$statut."'"; - $sql.= " AND entity IN (".getEntity('bank_account', 1).")"; + $sql.= " WHERE entity IN (".getEntity('bank_account', 1).")"; + if ($statut != 2) $sql.= " AND clos = '".$statut."'"; if ($filtre) $sql.=" AND ".$filtre; $sql.= " ORDER BY label"; @@ -2409,6 +2409,7 @@ class Form print ''; $i++; } From 9505f9e47caf48eba2b03fa6707842ce1a460803 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 25 Feb 2014 19:07:42 +0100 Subject: [PATCH 038/293] Fix: The delivery date was missing. --- .../commande/doc/pdf_einstein.modules.php | 28 ++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/htdocs/core/modules/commande/doc/pdf_einstein.modules.php b/htdocs/core/modules/commande/doc/pdf_einstein.modules.php index a954c68c906..4aa428f23fa 100644 --- a/htdocs/core/modules/commande/doc/pdf_einstein.modules.php +++ b/htdocs/core/modules/commande/doc/pdf_einstein.modules.php @@ -152,7 +152,8 @@ class pdf_einstein extends ModelePDFCommandes $outputlangs->load("bills"); $outputlangs->load("products"); $outputlangs->load("orders"); - + $outputlangs->load("deliveries"); + if ($conf->commande->dir_output) { $object->fetch_thirdparty(); @@ -582,6 +583,31 @@ class pdf_einstein extends ModelePDFCommandes $posy=$pdf->GetY()+1; } */ + if (! empty($object->date_livraison)) + { + $pdf->SetXY($this->marge_gauche, $posy); + $pdf->SetFont('','B', $default_font_size - 2); + $text=$outputlangs->transnoentities("DeliveryDate").':'; + $pdf->MultiCell(80, 3, $text, 0, 'L', 0); + + $pdf->SetFont('','', $default_font_size - 2); + $pdf->SetXY($posxval, $posy); + $text=dol_print_date($object->date_livraison,'day','',$outputlangs); + $pdf->MultiCell(80, 3, $text, 0, 'L', 0); + + $posy=$pdf->GetY()+1; + } + /* TODO + else if (! empty($object->availability_code)) + { + $pdf->SetXY($this->marge_gauche, $posy); + $pdf->SetTextColor(200,0,0); + $pdf->SetFont('','B', $default_font_size - 2); + $pdf->MultiCell(80, 3, $outputlangs->transnoentities("AvailabilityPeriod").': '.,0,'L',0); + $pdf->SetTextColor(0,0,0); + + $posy=$pdf->GetY()+1; + }*/ // Show payment mode if ($object->mode_reglement_code From df2eb95882009299a0402903204428dfdcbdd662 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 25 Feb 2014 19:14:58 +0100 Subject: [PATCH 039/293] Fix: Right to left support --- htdocs/theme/eldy/style.css.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/htdocs/theme/eldy/style.css.php b/htdocs/theme/eldy/style.css.php index c767f5b956e..d41df53975e 100644 --- a/htdocs/theme/eldy/style.css.php +++ b/htdocs/theme/eldy/style.css.php @@ -444,7 +444,7 @@ td.showDragHandle { float: none; vertical-align: top; } -#id- { +#id-right { /* This must stay id-right ant not be replaced with echo $right */ width: 100%; } @@ -477,7 +477,7 @@ div.fichehalfright { dol_optimize_smallscreen)) { print "width: 50%;\n"; } ?> } div.ficheaddleft { - dol_optimize_smallscreen)) { print "padding-left: 16px;\n"; } + dol_optimize_smallscreen)) { print "padding-".$left.": 16px;\n"; } else print "margin-top: 10px;\n"; ?> } .containercenter { @@ -510,7 +510,7 @@ div#tmenu_tooltip { display:none; height: px; - padding-right: 100px; + padding-: 100px; background: ; box-shadow: 0 0 6px rgba(0, 0, 0, .4) !important; From 66db46a693228d7ad57b7e6d9ef4147ee5c2d0b7 Mon Sep 17 00:00:00 2001 From: Christophe Battarel Date: Wed, 26 Feb 2014 15:57:43 +0100 Subject: [PATCH 040/293] Fix: default ref was DOLIBARR instead of SPECIMEN, so specimen generation did not work and crashed dolibarr --- htdocs/contrat/class/contrat.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/contrat/class/contrat.class.php b/htdocs/contrat/class/contrat.class.php index 61e41356b6b..b7ad87e644d 100644 --- a/htdocs/contrat/class/contrat.class.php +++ b/htdocs/contrat/class/contrat.class.php @@ -1689,7 +1689,7 @@ class Contrat extends CommonObject $this->id=0; $this->specimen=1; - $this->ref = 'DOLIBARR'; + $this->ref = 'SPECIMEN'; $this->socid = 1; $this->statut= 0; $this->date_contrat = dol_now(); From 8ffa11fe16c3dc5179c20e3d1e4b2888bc603761 Mon Sep 17 00:00:00 2001 From: simnandez Date: Wed, 26 Feb 2014 16:50:38 +0100 Subject: [PATCH 041/293] Fix: Loading actions extrafields fails. --- ChangeLog | 1 + htdocs/comm/action/fiche.php | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 0432585483a..9c230457e91 100644 --- a/ChangeLog +++ b/ChangeLog @@ -32,6 +32,7 @@ Fix: Signature was not added for email sent from thirdparty page. Fix: Action event SHIPPING_VALIDATE is not implemented Fix: The customer code was set to uppercase when using numbering module leopard. We must keep data safe of any change. +Fix: Loading actions extrafields fails. ***** ChangeLog for 3.5 compared to 3.4.* ***** For users: diff --git a/htdocs/comm/action/fiche.php b/htdocs/comm/action/fiche.php index ee20189f14f..c47b89ad9ed 100644 --- a/htdocs/comm/action/fiche.php +++ b/htdocs/comm/action/fiche.php @@ -3,7 +3,7 @@ * Copyright (C) 2004-2013 Laurent Destailleur * Copyright (C) 2005 Simon TOSSER * Copyright (C) 2005-2012 Regis Houssin - * Copyright (C) 2010 Juanjo Menent + * Copyright (C) 2010-2013 Juanjo Menent * Copyright (C) 2013 Florian Henry * * This program is free software; you can redistribute it and/or modify @@ -863,7 +863,7 @@ if ($id > 0) $reshook=$hookmanager->executeHooks('formObjectOptions',$parameters,$act,$action); // Note that $action and $object may have been modified by hook if (empty($reshook) && ! empty($extrafields->attribute_label)) { - print $actioncomm->showOptionals($extrafields,'edit'); + print $act->showOptionals($extrafields,'edit'); } From 0c2ca119d77b031fe145983a10ae78ed579ebc23 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 26 Feb 2014 16:51:38 +0100 Subject: [PATCH 042/293] Fix: Add a test to avoid the non stable and experimental fuc... feature "MAIN_MENU_USE_JQUERY_LAYOUT" to make application hang. --- htdocs/core/class/menubase.class.php | 5 +---- htdocs/main.inc.php | 29 +++++++++++++--------------- 2 files changed, 14 insertions(+), 20 deletions(-) diff --git a/htdocs/core/class/menubase.class.php b/htdocs/core/class/menubase.class.php index 6777c37b374..961cfd5733c 100644 --- a/htdocs/core/class/menubase.class.php +++ b/htdocs/core/class/menubase.class.php @@ -547,15 +547,12 @@ class Menubase $tmpcond=$menu['enabled']; if ($leftmenu == 'all') $tmpcond=preg_replace('/\$leftmenu\s*==\s*["\'a-zA-Z_]+/','1==1',$tmpcond); // Force part of condition to true $enabled = verifCond($tmpcond); - if ($conf->use_javascript_ajax && ! empty($conf->global->MAIN_MENU_USE_JQUERY_ACCORDION) && preg_match('/^\$leftmenu/',$menu['enabled'])) $enabled=1; - //print "verifCond rowid=".$menu['rowid']." ".$tmpcond.":".$enabled."
\n"; + //if ($conf->use_javascript_ajax && ! empty($conf->global->MAIN_MENU_USE_JQUERY_ACCORDION) && empty($conf->dol_use_jmobile) && preg_match('/^\$leftmenu/',$menu['enabled'])) $enabled=1; } // Define $title if ($enabled) { -//$tmp3=dol_microtime_float(); -//print '>>> 2 '.($tmp3 - $tmp1).'
'; $title = $langs->trans($menu['titre']); if ($title == $menu['titre']) // Translation not found { diff --git a/htdocs/main.inc.php b/htdocs/main.inc.php index 877ddc5aa9c..255b4fd4afd 100644 --- a/htdocs/main.inc.php +++ b/htdocs/main.inc.php @@ -261,7 +261,7 @@ if (! empty($conf->file->main_force_https)) } -// Loading of additional presentation includes +// Loading of additional presentation includes if (! defined('NOREQUIREHTML')) require_once DOL_DOCUMENT_ROOT .'/core/class/html.form.class.php'; // Need 660ko memory (800ko in 2.2) if (! defined('NOREQUIREAJAX') && $conf->use_javascript_ajax) require_once DOL_DOCUMENT_ROOT.'/core/lib/ajax.lib.php'; // Need 22ko memory @@ -1084,7 +1084,7 @@ function top_htmlhead($head, $title='', $disablejs=0, $disablehead=0, $arrayofjs print ''."\n"; print ''."\n"; // jQuery Layout - if (! empty($conf->global->MAIN_MENU_USE_JQUERY_LAYOUT) || defined('REQUIRE_JQUERY_LAYOUT')) + if (empty($conf->dol_use_jmobile) && ! empty($conf->global->MAIN_MENU_USE_JQUERY_LAYOUT) || defined('REQUIRE_JQUERY_LAYOUT')) { print ''."\n"; } @@ -1293,7 +1293,7 @@ function top_menu($head, $title='', $target='', $disablejs=0, $disablehead=0, $a if ($conf->use_javascript_ajax) { - if (! empty($conf->global->MAIN_MENU_USE_JQUERY_LAYOUT)) + if (empty($conf->dol_use_jmobile) && ! empty($conf->global->MAIN_MENU_USE_JQUERY_LAYOUT)) { print ''; } - if (! empty($conf->global->MAIN_MENU_USE_JQUERY_ACCORDION)) + /* This make menu bugged + if ($conf->use_javascript_ajax && ! empty($conf->global->MAIN_MENU_USE_JQUERY_ACCORDION) && empty($conf->dol_use_jmobile)) { print "\n".''; - } + } */ // Wrapper to show tooltips print "\n".''; $desc = $form->textwithpicto($langs->trans("InvoiceDeposit"), $langs->transnoentities("InvoiceDepositDesc"), 1); print ''; if (($origin == 'propal') || ($origin == 'commande')) { @@ -1938,27 +1954,35 @@ if ($action == 'create') { $arraylist = array('amount' => 'FixAmount','variable' => 'VarAmount'); print $form->selectarray('typedeposit', $arraylist, GETPOST('typedeposit'), 0, 0, 0, '', 1); print ''; - print '
' . $desc . '' . $langs->trans('Value') . ':'; + print '' . $langs->trans('Value') . ':'; } print '
'; print '' . "\n"; } - - if ($socid > 0) { + + if ($socid > 0) + { // Replacement print ''; - print ''; print ''; + print ''; $text = $langs->trans("InvoiceReplacementAsk") . ' '; $text .= '' . "\n"; } - + print ''; print ''; - + if ($socid > 0) { // Discounts for third party print '' . $langs->trans('Discounts') . ''; @@ -2016,32 +2041,32 @@ if ($action == 'create') { print '.'; print ''; } - + // Date invoice print '' . $langs->trans('Date') . ''; $form->select_date($dateinvoice, '', '', '', '', "add", 1, 1); print ''; - + // Payment term print '' . $langs->trans('PaymentConditionsShort') . ''; $form->select_conditions_paiements(isset($_POST ['cond_reglement_id']) ? $_POST ['cond_reglement_id'] : $cond_reglement_id, 'cond_reglement_id'); print ''; - + // Payment mode print '' . $langs->trans('PaymentMode') . ''; $form->select_types_paiements(isset($_POST ['mode_reglement_id']) ? $_POST ['mode_reglement_id'] : $mode_reglement_id, 'mode_reglement_id'); print ''; - + // Project if (! empty($conf->projet->enabled) && $socid > 0) { $formproject = new FormProjets($db); - + $langs->load('projects'); print '' . $langs->trans('Project') . ''; $formproject->select_projects($soc->id, $projectid, 'projectid'); print ''; } - + // Other attributes $parameters = array('objectsrc' => $objectsrc,'colspan' => ' colspan="3"'); $reshook = $hookmanager->executeHooks('formObjectOptions', $parameters, $object, $action); // Note that $action and $object may have been modified by @@ -2049,7 +2074,7 @@ if ($action == 'create') { if (empty($reshook) && ! empty($extrafields->attribute_label)) { print $object->showOptionals($extrafields, 'edit'); } - + // Modele PDF print '' . $langs->trans('Model') . ''; print ''; @@ -2057,7 +2082,7 @@ if ($action == 'create') { $liste = ModelePDFFactures::liste_modeles($db); print $form->selectarray('model', $liste, $conf->global->FACTURE_ADDON_PDF); print ""; - + // Public note print ''; print '' . $langs->trans('NotePublic') . ''; @@ -2069,9 +2094,9 @@ if ($action == 'create') { } $doleditor = new DolEditor('note_public', $note_public, '', 80, 'dolibarr_notes', 'In', 0, false, true, ROWS_3, 70); print $doleditor->Create(1); - + // print ''; - + // Private note if (empty($user->societe_id)) { print ''; @@ -2086,7 +2111,7 @@ if ($action == 'create') { print $doleditor->Create(1); // print ''; } - + if (! empty($origin) && ! empty($originid) && is_object($objectsrc)) { // TODO for compatibility if ($origin == 'contrat') { @@ -2095,7 +2120,7 @@ if ($action == 'create') { $objectsrc->remise_percent = $remise_percent; $objectsrc->update_price(1, - 1, 1); } - + print "\n"; print "\n"; print '' . "\n"; @@ -2103,7 +2128,7 @@ if ($action == 'create') { print '' . "\n"; print ''; print ''; - + $newclassname = $classname; if ($newclassname == 'Propal') $newclassname = 'CommercialProposal'; @@ -2111,7 +2136,7 @@ if ($action == 'create') { $newclassname = 'Order'; elseif ($newclassname == 'Expedition') $newclassname = 'Sending'; - + print '' . $langs->trans($newclassname) . '' . $objectsrc->getNomUrl(1) . ''; print '' . $langs->trans('TotalHT') . '' . price($objectsrc->total_ht) . ''; print '' . $langs->trans('TotalVAT') . '' . price($objectsrc->total_tva) . ""; @@ -2119,7 +2144,7 @@ if ($action == 'create') { { print '' . $langs->transcountry("AmountLT1", $mysoc->country_code) . '' . price($objectsrc->total_localtax1) . ""; } - + if ($mysoc->localtax2_assuj == "1") // Localtax2 IRPF { print '' . $langs->transcountry("AmountLT2", $mysoc->country_code) . '' . price($objectsrc->total_localtax2) . ""; @@ -2129,7 +2154,7 @@ if ($action == 'create') { // Show deprecated optional form to add product line here if (! empty($conf->global->PRODUCT_SHOW_WHEN_CREATE)) { print ''; - + // Zone de choix des produits predefinis a la creation print ''; print ''; @@ -2171,73 +2196,73 @@ if ($action == 'create') { } print "\n"; } - + print '
'; print ''; } } - + print "\n"; - + // Button "Create Draft" print '
'; - + print "\n"; - + // Show origin lines if (! empty($origin) && ! empty($originid) && is_object($objectsrc)) { print '
'; - + $title = $langs->trans('ProductsAndServices'); print_titre($title); - + print ''; - + $objectsrc->printOriginLinesList(); - + print '
'; } - + print '
'; } else if ($id > 0 || ! empty($ref)) { /* * Show object in view mode */ - + $result = $object->fetch($id, $ref); if ($result <= 0) { dol_print_error($db, $object->error); exit(); } - + // fetch optionals attributes and labels $extralabels = $extrafields->fetch_name_optionals_label($object->table_element); - + if ($user->societe_id > 0 && $user->societe_id != $object->socid) accessforbidden('', 0); - + $result = $object->fetch_thirdparty(); - + $soc = new Societe($db); $soc->fetch($object->socid); $selleruserevenustamp = $mysoc->useRevenueStamp(); - + $totalpaye = $object->getSommePaiement(); $totalcreditnotes = $object->getSumCreditNotesUsed(); $totaldeposits = $object->getSumDepositsUsed(); // print "totalpaye=".$totalpaye." totalcreditnotes=".$totalcreditnotes." totaldeposts=".$totaldeposits." // selleruserrevenuestamp=".$selleruserevenustamp; - + // We can also use bcadd to avoid pb with floating points // For example print 239.2 - 229.3 - 9.9; does not return 0. // $resteapayer=bcadd($object->total_ttc,$totalpaye,$conf->global->MAIN_MAX_DECIMALS_TOT); // $resteapayer=bcadd($resteapayer,$totalavoir,$conf->global->MAIN_MAX_DECIMALS_TOT); $resteapayer = price2num($object->total_ttc - $totalpaye - $totalcreditnotes - $totaldeposits, 'MT'); - + if ($object->paye) $resteapayer = 0; $resteapayeraffiche = $resteapayer; - + if (! empty($conf->global->FACTURE_DEPOSITS_ARE_JUST_PAYMENTS)) { $filterabsolutediscount = "fk_facture_source IS NULL"; // If we want deposit to be substracted to payments only and not to total of final invoice $filtercreditnote = "fk_facture_source IS NOT NULL"; // If we want deposit to be substracted to payments only and not to total of final invoice @@ -2245,43 +2270,43 @@ if ($action == 'create') { $filterabsolutediscount = "fk_facture_source IS NULL OR (fk_facture_source IS NOT NULL AND description='(DEPOSIT)')"; $filtercreditnote = "fk_facture_source IS NOT NULL AND description <> '(DEPOSIT)'"; } - + $absolute_discount = $soc->getAvailableDiscounts('', $filterabsolutediscount); $absolute_creditnote = $soc->getAvailableDiscounts('', $filtercreditnote); $absolute_discount = price2num($absolute_discount, 'MT'); $absolute_creditnote = price2num($absolute_creditnote, 'MT'); - + $author = new User($db); if ($object->user_author) { $author->fetch($object->user_author); } - + $objectidnext = $object->getIdReplacingInvoice(); - + $head = facture_prepare_head($object); - + dol_fiche_head($head, 'compta', $langs->trans('InvoiceCustomer'), 0, 'bill'); - + $formconfirm = ''; - + // Confirmation de la conversion de l'avoir en reduc if ($action == 'converttoreduc') { $text = $langs->trans('ConfirmConvertToReduc'); $formconfirm = $form->formconfirm($_SERVER ['PHP_SELF'] . '?facid=' . $object->id, $langs->trans('ConvertToReduc'), $text, 'confirm_converttoreduc', '', "yes", 2); } - + // Confirmation to delete invoice if ($action == 'delete') { $text = $langs->trans('ConfirmDeleteBill', $object->ref); $formquestion = array(); - + $qualified_for_stock_change = 0; if (empty($conf->global->STOCK_SUPPORTS_SERVICES)) { $qualified_for_stock_change = $object->hasProductsOrServices(2); } else { $qualified_for_stock_change = $object->hasProductsOrServices(1); } - + if ($object->type != Facture::TYPE_DEPOSIT && ! empty($conf->global->STOCK_CALCULATE_ON_BILL) && $qualified_for_stock_change && $object->statut >= 1) { $langs->load("stocks"); require_once DOL_DOCUMENT_ROOT . '/product/class/html.formproduct.class.php'; @@ -2299,7 +2324,7 @@ if ($action == 'create') { $formconfirm = $form->formconfirm($_SERVER ['PHP_SELF'] . '?facid=' . $object->id, $langs->trans('DeleteBill'), $text, 'confirm_delete', '', '', 1); } } - + // Confirmation de la validation if ($action == 'valid') { // on verifie si l'objet est en numerotation provisoire @@ -2315,7 +2340,7 @@ if ($action == 'create') { } else { $numref = $object->ref; } - + $text = $langs->trans('ConfirmValidateBill', $numref); if (! empty($conf->notification->enabled)) { require_once DOL_DOCUMENT_ROOT . '/core/class/notify.class.php'; @@ -2324,14 +2349,14 @@ if ($action == 'create') { $text .= $notify->confirmMessage('BILL_VALIDATE', $object->socid); } $formquestion = array(); - + $qualified_for_stock_change = 0; if (empty($conf->global->STOCK_SUPPORTS_SERVICES)) { $qualified_for_stock_change = $object->hasProductsOrServices(2); } else { $qualified_for_stock_change = $object->hasProductsOrServices(1); } - + if ($object->type != Facture::TYPE_DEPOSIT && ! empty($conf->global->STOCK_CALCULATE_ON_BILL) && $qualified_for_stock_change) { $langs->load("stocks"); require_once DOL_DOCUMENT_ROOT . '/product/class/html.formproduct.class.php'; @@ -2360,12 +2385,12 @@ if ($action == 'create') { } $formconfirm = $form->formconfirm($_SERVER ["PHP_SELF"] . '?facid=' . $object->id, $langs->trans('ValidateBill'), $text, 'confirm_valid', $formquestion, (($object->type != Facture::TYPE_CREDIT_NOTE && $object->total_ttc < 0) ? "no" : "yes"), ($conf->notification->enabled ? 0 : 2)); } - + // Confirm back to draft status if ($action == 'modif') { $text = $langs->trans('ConfirmUnvalidateBill', $object->ref); $formquestion = array(); - + $qualified_for_stock_change = 0; if (empty($conf->global->STOCK_SUPPORTS_SERVICES)) { $qualified_for_stock_change = $object->hasProductsOrServices(2); @@ -2394,10 +2419,10 @@ if ($action == 'create') { // => 1), array('type' => 'other','name' => 'idwarehouse','label' => $label,'value' => $value)); } - + $formconfirm = $form->formconfirm($_SERVER ["PHP_SELF"] . '?facid=' . $object->id, $langs->trans('UnvalidateBill'), $text, 'confirm_modif', $formquestion, "yes", 1); } - + // Confirmation du classement paye if ($action == 'paid' && $resteapayer <= 0) { $formconfirm = $form->formconfirm($_SERVER ["PHP_SELF"] . '?facid=' . $object->id, $langs->trans('ClassifyPaid'), $langs->trans('ConfirmClassifyPaidBill', $object->ref), 'confirm_paid', '', "yes", 1); @@ -2425,13 +2450,13 @@ if ($action == 'create') { foreach ($close as $key => $val) { $arrayreasons [$close [$key] ['code']] = $close [$key] ['reason']; } - + // Cree un tableau formulaire $formquestion = array('text' => $langs->trans("ConfirmClassifyPaidPartiallyQuestion"),array('type' => 'radio','name' => 'close_code','label' => $langs->trans("Reason"),'values' => $arrayreasons),array('type' => 'text','name' => 'close_note','label' => $langs->trans("Comment"),'value' => '','size' => '100')); // Paiement incomplet. On demande si motif = escompte ou autre $formconfirm = $form->formconfirm($_SERVER ["PHP_SELF"] . '?facid=' . $object->id, $langs->trans('ClassifyPaid'), $langs->trans('ConfirmClassifyPaidPartially', $object->ref), 'confirm_paid_partially', $formquestion, "yes"); } - + // Confirmation du classement abandonne if ($action == 'canceled') { // S'il y a une facture de remplacement pas encore validee (etat brouillon), @@ -2456,19 +2481,19 @@ if ($action == 'create') { // arrayreasons $arrayreasons [$close [1] ['code']] = $close [1] ['reason']; $arrayreasons [$close [2] ['code']] = $close [2] ['reason']; - + // Cree un tableau formulaire $formquestion = array('text' => $langs->trans("ConfirmCancelBillQuestion"),array('type' => 'radio','name' => 'close_code','label' => $langs->trans("Reason"),'values' => $arrayreasons),array('type' => 'text','name' => 'close_note','label' => $langs->trans("Comment"),'value' => '','size' => '100')); - + $formconfirm = $form->formconfirm($_SERVER ['PHP_SELF'] . '?facid=' . $object->id, $langs->trans('CancelBill'), $langs->trans('ConfirmCancelBill', $object->ref), 'confirm_canceled', $formquestion, "yes"); } } - + // Confirmation de la suppression d'une ligne produit if ($action == 'ask_deleteline') { $formconfirm = $form->formconfirm($_SERVER ["PHP_SELF"] . '?facid=' . $object->id . '&lineid=' . $lineid, $langs->trans('DeleteProductLine'), $langs->trans('ConfirmDeleteProductLine'), 'confirm_deleteline', '', 'no', 1); } - + // Clone confirmation if ($action == 'clone') { // Create an array for form @@ -2479,22 +2504,22 @@ if ($action == 'create') { // Paiement incomplet. On demande si motif = escompte ou autre $formconfirm = $form->formconfirm($_SERVER ["PHP_SELF"] . '?facid=' . $object->id, $langs->trans('CloneInvoice'), $langs->trans('ConfirmCloneInvoice', $object->ref), 'confirm_clone', $formquestion, 'yes', 1); } - + if (! $formconfirm) { $parameters = array('lineid' => $lineid); $formconfirm = $hookmanager->executeHooks('formConfirm', $parameters, $object, $action); // Note that $action and $object may have been modified by // hook } - + // Print form confirm print $formconfirm; - + // Invoice content - + print ''; - + $linkback = '' . $langs->trans("BackToList") . ''; - + // Ref print ''; print ''; - + // Ref customer print '\n"; // Tracking number @@ -711,12 +749,18 @@ if ($action == 'create') print ''; print ''; print ''; if (! empty($conf->stock->enabled)) { + if (empty($conf->productbatch->enabled)) { print ''; + } else { + print ''; + } } print "\n"; } @@ -812,6 +856,7 @@ if ($action == 'create') if (($line->product_type == 1 && empty($conf->global->STOCK_SUPPORTS_SERVICES)) || $defaultqty < 0) $defaultqty=0; } + if (empty($conf->productbatch->enabled) || ! $product->hasbatch()) { // Quantity to send print ''; + $subj=0; + print ''; + foreach ($product->stock_warehouse[GETPOST('entrepot_id','int')]->detail_batch as $dbatch) { + //var_dump($dbatch); + $substock=$dbatch->qty +0 ; + print ''; + + print ''; } + if (! empty($conf->productbatch->enabled)) + { + print ''; + } + print "\n"; $var=false; @@ -1315,6 +1387,20 @@ else if ($id || $ref) print ''; } + // Batch number managment + if (! empty($conf->productbatch->enabled)) { + if (isset($lines[$i]->detail_batch) ) { + print ''; + } else { + print ''; + } + } print ""; $var=!$var; diff --git a/htdocs/langs/en_US/productbatch.lang b/htdocs/langs/en_US/productbatch.lang index 0d530722306..863506e0e57 100644 --- a/htdocs/langs/en_US/productbatch.lang +++ b/htdocs/langs/en_US/productbatch.lang @@ -9,3 +9,9 @@ atleast1batchfield= Eat-by date or Sell-by date or Batch number batch_number= Batch number l_eatby= Eat-by date l_sellby= Sell-by date +DetailBatchNumber= Batch details +DetailBatchFormat= E:%s S: %s BATCH: %s (Qty : %d) +printBatch= Batch: %s +printEatby= Eat-by: %s +printSellby= Sell-by: %s +printQty= Qty: %d diff --git a/htdocs/langs/fr_FR/productbatch.lang b/htdocs/langs/fr_FR/productbatch.lang index 0954e74ef16..081ea1ba291 100644 --- a/htdocs/langs/fr_FR/productbatch.lang +++ b/htdocs/langs/fr_FR/productbatch.lang @@ -9,4 +9,10 @@ atleast1batchfield= DLC ou DLUO ou Numéro de lot batch_number= Numéro de lot l_eatby= DLC l_sellby= DLUO +DetailBatchNumber= Détails des lots +DetailBatchFormat= C:%s UO: %s LOT: %s (Qté : %d) +printBatch= Lot: %s +printEatby= DLC: %s +printSellby= DLUO: %s +printQty= Qté: %d From f0be1f7c21ddc2a0f3e5cde1adff60c079ad615d Mon Sep 17 00:00:00 2001 From: KreizIT Date: Fri, 7 Mar 2014 11:51:26 +0100 Subject: [PATCH 120/293] Fix: Typo on class name --- htdocs/expedition/class/expedition.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/expedition/class/expedition.class.php b/htdocs/expedition/class/expedition.class.php index 8c103603fbe..914ec871951 100644 --- a/htdocs/expedition/class/expedition.class.php +++ b/htdocs/expedition/class/expedition.class.php @@ -873,7 +873,7 @@ class Expedition extends CommonObject $this->db->begin(); if ($conf->productbatch->enabled) { - if ( ExpeditionLignebatch::deletefromexp($this->db,$this->id)<0) + if ( ExpeditionLigneBatch::deletefromexp($this->db,$this->id)<0) {$error++;$this->errors[]="Error ".$this->db->lasterror();} } // Stock control From 0a2a6357552b8cacb8a37a5781f25ed6a524f3d3 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Fri, 7 Mar 2014 11:58:30 +0100 Subject: [PATCH 121/293] Fix: td balance. Fix: New price was not used when editing a line when margin module was on. --- htdocs/core/tpl/objectline_edit.tpl.php | 40 +++++++++++++++---------- 1 file changed, 25 insertions(+), 15 deletions(-) diff --git a/htdocs/core/tpl/objectline_edit.tpl.php b/htdocs/core/tpl/objectline_edit.tpl.php index 58ce0e6481f..d48abbc0aa1 100644 --- a/htdocs/core/tpl/objectline_edit.tpl.php +++ b/htdocs/core/tpl/objectline_edit.tpl.php @@ -30,14 +30,10 @@ global->MAIN_VIEW_LINE_NUMBER)) { - $coldisplay=2; -} else { - $coldisplay=0; -} - ?> +$coldisplay=-1; // We remove first td +?> > - global->MAIN_VIEW_LINE_NUMBER) ? ' colspan="2"' : ''); ?>> + global->MAIN_VIEW_LINE_NUMBER) ? ' colspan="2"' : ''); ?>>global->MAIN_VIEW_LINE_NUMBER))?2:1; ?>
@@ -138,28 +134,29 @@ if (! empty($conf->global->MAIN_VIEW_LINE_NUMBER)) { rights->margins->creer) { if (! empty($conf->global->DISPLAY_MARGIN_RATES)) { - $margin_rate = (isset($_POST["marginRate"])?$_POST["marginRate"]:(($line->pa_ht == 0)?'':price($line->marge_tx))); + $margin_rate = (isset($_POST["np_marginRate"])?$_POST["np_marginRate"]:(($line->pa_ht == 0)?'':price($line->marge_tx))); // if credit note, dont allow to modify margin if ($line->subprice < 0) echo '
'; else - echo ''; + echo ''; $coldisplay++; } elseif (! empty($conf->global->DISPLAY_MARK_RATES)) { - $mark_rate = (isset($_POST["markRate"])?$_POST["markRate"]:price($line->marque_tx)); + $mark_rate = (isset($_POST["np_markRate"])?$_POST["np_markRate"]:price($line->marque_tx)); // if credit note, dont allow to modify margin if ($line->subprice < 0) echo ''; else - echo ''; + echo ''; $coldisplay++; } } } ?> - @@ -383,6 +380,17 @@ if (! empty($conf->margin->enabled)) ?> jQuery(document).ready(function() { + /* Add rule to clear margin when we change price_ht or buying_price, so when we change sell or buy price, margin will be recalculated after submitting form */ + jQuery("#price_ht").keyup(function() { + jQuery("input[name='np_marginRate']:first").val(''); + jQuery("input[name='np_markRate']:first").val(''); + }); + jQuery("#buying_price").keyup(function() { + jQuery("input[name='np_marginRate']:first").val(''); + jQuery("input[name='np_markRate']:first").val(''); + }); + + /* Init field buying_price and fournprice */ $.post('/fourn/ajax/getSupplierPrices.php', {'idprod': fk_product?$line->fk_product:0; ?>}, function(data) { if (data && data.length > 0) { var options = ''; @@ -419,6 +427,7 @@ if (! empty($conf->margin->enabled)) } }, 'json'); + /* Add rules to reset price_ht from margin info */ global->DISPLAY_MARGIN_RATES)) { @@ -446,15 +455,16 @@ if (! empty($conf->margin->enabled)) }); - // TODO This works for french numbers only + /* If margin rate field empty, do nothing. */ + /* Force content of price_ht to 0 or if a discount is set recalculate it from margin rate */ function checkEditLine(e, npRate) { var buying_price = $("input[name='buying_price']:first"); var remise = $("input[name='remise_percent']:first"); var rate = $("input[name='"+npRate+"']:first"); - if (rate.val() == '') - return true; + if (rate.val() == '') return true; + if (! $.isNumeric(rate.val().replace(',','.'))) { alert('trans("rateMustBeNumeric"); ?>'); From 18e4703438a52385ca2d64c8f2ab6d7b43c43ab4 Mon Sep 17 00:00:00 2001 From: KreizIT Date: Fri, 7 Mar 2014 12:21:35 +0100 Subject: [PATCH 122/293] Travis fix --- htdocs/expedition/class/expeditionbatch.class.php | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/htdocs/expedition/class/expeditionbatch.class.php b/htdocs/expedition/class/expeditionbatch.class.php index 9721db2eeb6..cf57929ca0f 100644 --- a/htdocs/expedition/class/expeditionbatch.class.php +++ b/htdocs/expedition/class/expeditionbatch.class.php @@ -23,6 +23,10 @@ * with batch record */ + /** + * CRUD class for batch number management within shipment + */ + class ExpeditionLigneBatch extends CommonObject { var $element='expeditionlignebatch'; //!< Id that identify managed objects @@ -77,7 +81,7 @@ class ExpeditionLigneBatch extends CommonObject $this->eatby = $this->db->jdate($obj->eatby); $this->batch = $obj->batch; $this->entrepot_id= $obj->fk_entrepot; - $this->fk_origin_stock=(int)$id_stockdluo; + $this->fk_origin_stock=(int) $id_stockdluo; } $this->db->free($resql); @@ -141,7 +145,7 @@ class ExpeditionLigneBatch extends CommonObject * Delete batch record attach to a shipment * * @param object $db Database object - * @param int $id_expedtion rowid of shipment + * @param int $id_expedition rowid of shipment * * @return int -1 if KO, 1 if OK */ From c65d681d87daaad12113cf76c937dd3a2334a5a8 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 8 Mar 2014 12:11:01 +0100 Subject: [PATCH 123/293] New: Update ckeditor to version 4 (part 1) --- htdocs/includes/ckeditor/.htaccess | 24 - htdocs/includes/ckeditor/CHANGES.html | 1548 ---- htdocs/includes/ckeditor/CHANGES.md | 442 ++ htdocs/includes/ckeditor/INSTALL.html | 92 - htdocs/includes/ckeditor/LICENSE.html | 1327 ---- htdocs/includes/ckeditor/LICENSE.md | 1264 ++++ htdocs/includes/ckeditor/README.md | 39 + htdocs/includes/ckeditor/_source/CHANGES.md | 442 ++ htdocs/includes/ckeditor/_source/LICENSE.md | 1274 ++++ htdocs/includes/ckeditor/_source/README.md | 39 + .../ckeditor/_source/adapters/jquery.js | 306 - .../includes/ckeditor/_source/build-config.js | 165 + htdocs/includes/ckeditor/_source/ckeditor.js | 42 + htdocs/includes/ckeditor/_source/config.js | 17 + htdocs/includes/ckeditor/_source/contents.css | 123 + .../ckeditor/_source/core/_bootstrap.js | 105 +- .../ckeditor/_source/core/ckeditor.js | 219 +- .../ckeditor/_source/core/ckeditor_base.js | 324 +- .../ckeditor/_source/core/ckeditor_basic.js | 228 +- .../includes/ckeditor/_source/core/command.js | 314 +- .../_source/core/commanddefinition.js | 190 +- .../includes/ckeditor/_source/core/config.js | 604 +- .../ckeditor/_source/core/creators/inline.js | 153 + .../_source/core/creators/themedui.js | 457 ++ .../ckeditor/_source/core/dataprocessor.js | 57 +- htdocs/includes/ckeditor/_source/core/dom.js | 17 +- .../ckeditor/_source/core/dom/comment.js | 59 +- .../ckeditor/_source/core/dom/document.js | 475 +- .../_source/core/dom/documentfragment.js | 76 +- .../ckeditor/_source/core/dom/domobject.js | 208 +- .../ckeditor/_source/core/dom/element.js | 3399 +++++---- .../ckeditor/_source/core/dom/elementpath.js | 248 +- .../ckeditor/_source/core/dom/event.js | 177 +- .../ckeditor/_source/core/dom/iterator.js | 500 ++ .../ckeditor/_source/core/dom/node.js | 1215 +-- .../ckeditor/_source/core/dom/nodelist.js | 41 +- .../ckeditor/_source/core/dom/range.js | 2158 +++--- .../ckeditor/_source/core/dom/rangelist.js | 288 +- .../ckeditor/_source/core/dom/text.js | 187 +- .../ckeditor/_source/core/dom/walker.js | 658 +- .../ckeditor/_source/core/dom/window.js | 153 +- htdocs/includes/ckeditor/_source/core/dtd.js | 480 +- .../ckeditor/_source/core/editable.js | 1968 +++++ .../includes/ckeditor/_source/core/editor.js | 2068 ++++-- .../ckeditor/_source/core/editor_basic.js | 194 +- htdocs/includes/ckeditor/_source/core/env.js | 422 +- .../includes/ckeditor/_source/core/event.js | 417 +- .../ckeditor/_source/core/eventInfo.js | 159 +- .../includes/ckeditor/_source/core/filter.js | 2072 ++++++ .../ckeditor/_source/core/focusmanager.js | 353 +- .../_source/core/htmldataprocessor.js | 989 +++ .../ckeditor/_source/core/htmlparser.js | 193 +- .../_source/core/htmlparser/basicwriter.js | 135 +- .../ckeditor/_source/core/htmlparser/cdata.js | 55 +- .../_source/core/htmlparser/comment.js | 96 +- .../_source/core/htmlparser/element.js | 615 +- .../_source/core/htmlparser/filter.js | 545 +- .../_source/core/htmlparser/fragment.js | 586 +- .../ckeditor/_source/core/htmlparser/node.js | 150 + .../ckeditor/_source/core/htmlparser/text.js | 81 +- .../ckeditor/_source/core/keystrokehandler.js | 153 + htdocs/includes/ckeditor/_source/core/lang.js | 171 +- .../includes/ckeditor/_source/core/loader.js | 241 +- .../ckeditor/_source/core/plugindefinition.js | 129 +- .../includes/ckeditor/_source/core/plugins.js | 138 +- .../ckeditor/_source/core/resourcemanager.js | 219 +- .../ckeditor/_source/core/scriptloader.js | 288 +- .../ckeditor/_source/core/selection.js | 2224 ++++++ htdocs/includes/ckeditor/_source/core/skin.js | 335 + .../includes/ckeditor/_source/core/skins.js | 184 - .../includes/ckeditor/_source/core/style.js | 1714 +++++ .../ckeditor/_source/core/template.js | 69 + .../includes/ckeditor/_source/core/themes.js | 19 - .../includes/ckeditor/_source/core/tools.js | 1294 ++-- htdocs/includes/ckeditor/_source/core/ui.js | 172 +- .../ckeditor/_source/lang/_languages.js | 84 - .../_source/lang/_translationstatus.txt | 125 +- htdocs/includes/ckeditor/_source/lang/af.js | 872 +-- htdocs/includes/ckeditor/_source/lang/ar.js | 872 +-- htdocs/includes/ckeditor/_source/lang/bg.js | 872 +-- htdocs/includes/ckeditor/_source/lang/bn.js | 872 +-- htdocs/includes/ckeditor/_source/lang/bs.js | 872 +-- htdocs/includes/ckeditor/_source/lang/ca.js | 872 +-- htdocs/includes/ckeditor/_source/lang/cs.js | 872 +-- htdocs/includes/ckeditor/_source/lang/cy.js | 872 +-- htdocs/includes/ckeditor/_source/lang/da.js | 872 +-- htdocs/includes/ckeditor/_source/lang/de.js | 872 +-- htdocs/includes/ckeditor/_source/lang/el.js | 872 +-- .../includes/ckeditor/_source/lang/en-au.js | 872 +-- .../includes/ckeditor/_source/lang/en-ca.js | 872 +-- .../includes/ckeditor/_source/lang/en-gb.js | 872 +-- htdocs/includes/ckeditor/_source/lang/en.js | 872 +-- htdocs/includes/ckeditor/_source/lang/eo.js | 872 +-- htdocs/includes/ckeditor/_source/lang/es.js | 872 +-- htdocs/includes/ckeditor/_source/lang/et.js | 872 +-- htdocs/includes/ckeditor/_source/lang/eu.js | 872 +-- htdocs/includes/ckeditor/_source/lang/fa.js | 872 +-- htdocs/includes/ckeditor/_source/lang/fi.js | 872 +-- htdocs/includes/ckeditor/_source/lang/fo.js | 872 +-- .../includes/ckeditor/_source/lang/fr-ca.js | 872 +-- htdocs/includes/ckeditor/_source/lang/fr.js | 872 +-- htdocs/includes/ckeditor/_source/lang/gl.js | 872 +-- htdocs/includes/ckeditor/_source/lang/gu.js | 872 +-- htdocs/includes/ckeditor/_source/lang/he.js | 872 +-- htdocs/includes/ckeditor/_source/lang/hi.js | 872 +-- htdocs/includes/ckeditor/_source/lang/hr.js | 872 +-- htdocs/includes/ckeditor/_source/lang/hu.js | 872 +-- htdocs/includes/ckeditor/_source/lang/id.js | 876 +-- htdocs/includes/ckeditor/_source/lang/is.js | 872 +-- htdocs/includes/ckeditor/_source/lang/it.js | 872 +-- htdocs/includes/ckeditor/_source/lang/ja.js | 872 +-- htdocs/includes/ckeditor/_source/lang/ka.js | 872 +-- htdocs/includes/ckeditor/_source/lang/km.js | 872 +-- htdocs/includes/ckeditor/_source/lang/ko.js | 872 +-- htdocs/includes/ckeditor/_source/lang/ku.js | 97 + htdocs/includes/ckeditor/_source/lang/lt.js | 872 +-- htdocs/includes/ckeditor/_source/lang/lv.js | 872 +-- htdocs/includes/ckeditor/_source/lang/mk.js | 876 +-- htdocs/includes/ckeditor/_source/lang/mn.js | 872 +-- htdocs/includes/ckeditor/_source/lang/ms.js | 872 +-- htdocs/includes/ckeditor/_source/lang/nb.js | 872 +-- htdocs/includes/ckeditor/_source/lang/nl.js | 872 +-- htdocs/includes/ckeditor/_source/lang/no.js | 872 +-- htdocs/includes/ckeditor/_source/lang/pl.js | 872 +-- .../includes/ckeditor/_source/lang/pt-br.js | 872 +-- htdocs/includes/ckeditor/_source/lang/pt.js | 872 +-- htdocs/includes/ckeditor/_source/lang/ro.js | 872 +-- htdocs/includes/ckeditor/_source/lang/ru.js | 872 +-- htdocs/includes/ckeditor/_source/lang/si.js | 97 + htdocs/includes/ckeditor/_source/lang/sk.js | 872 +-- htdocs/includes/ckeditor/_source/lang/sl.js | 872 +-- htdocs/includes/ckeditor/_source/lang/sq.js | 97 + .../includes/ckeditor/_source/lang/sr-latn.js | 872 +-- htdocs/includes/ckeditor/_source/lang/sr.js | 872 +-- htdocs/includes/ckeditor/_source/lang/sv.js | 872 +-- htdocs/includes/ckeditor/_source/lang/th.js | 872 +-- htdocs/includes/ckeditor/_source/lang/tr.js | 872 +-- htdocs/includes/ckeditor/_source/lang/ug.js | 876 +-- htdocs/includes/ckeditor/_source/lang/uk.js | 872 +-- htdocs/includes/ckeditor/_source/lang/vi.js | 872 +-- .../includes/ckeditor/_source/lang/zh-cn.js | 872 +-- htdocs/includes/ckeditor/_source/lang/zh.js | 872 +-- .../plugins/a11yhelp/dialogs/a11yhelp.js | 439 +- .../dialogs/lang/_translationstatus.txt | 25 + .../plugins/a11yhelp/dialogs/lang/ar.js | 147 + .../plugins/a11yhelp/dialogs/lang/bg.js | 147 + .../plugins/a11yhelp/dialogs/lang/ca.js | 147 + .../plugins/a11yhelp/dialogs/lang/cs.js | 147 + .../plugins/a11yhelp/dialogs/lang/cy.js | 147 + .../plugins/a11yhelp/dialogs/lang/da.js | 147 + .../plugins/a11yhelp/dialogs/lang/de.js | 147 + .../plugins/a11yhelp/dialogs/lang/el.js | 147 + .../plugins/a11yhelp/dialogs/lang/en-gb.js | 147 + .../plugins/a11yhelp/dialogs/lang/en.js | 168 + .../plugins/a11yhelp/dialogs/lang/eo.js | 147 + .../plugins/a11yhelp/dialogs/lang/es.js | 147 + .../plugins/a11yhelp/dialogs/lang/et.js | 147 + .../plugins/a11yhelp/dialogs/lang/fa.js | 147 + .../plugins/a11yhelp/dialogs/lang/fi.js | 147 + .../plugins/a11yhelp/dialogs/lang/fr-ca.js | 147 + .../plugins/a11yhelp/dialogs/lang/fr.js | 147 + .../plugins/a11yhelp/dialogs/lang/gl.js | 147 + .../plugins/a11yhelp/dialogs/lang/gu.js | 147 + .../plugins/a11yhelp/dialogs/lang/he.js | 147 + .../plugins/a11yhelp/dialogs/lang/hi.js | 147 + .../plugins/a11yhelp/dialogs/lang/hr.js | 147 + .../plugins/a11yhelp/dialogs/lang/hu.js | 147 + .../plugins/a11yhelp/dialogs/lang/id.js | 147 + .../plugins/a11yhelp/dialogs/lang/it.js | 147 + .../plugins/a11yhelp/dialogs/lang/ja.js | 147 + .../plugins/a11yhelp/dialogs/lang/km.js | 147 + .../plugins/a11yhelp/dialogs/lang/ko.js | 147 + .../plugins/a11yhelp/dialogs/lang/ku.js | 147 + .../plugins/a11yhelp/dialogs/lang/lt.js | 147 + .../plugins/a11yhelp/dialogs/lang/lv.js | 147 + .../plugins/a11yhelp/dialogs/lang/mk.js | 147 + .../plugins/a11yhelp/dialogs/lang/mn.js | 147 + .../plugins/a11yhelp/dialogs/lang/nb.js | 147 + .../plugins/a11yhelp/dialogs/lang/nl.js | 147 + .../plugins/a11yhelp/dialogs/lang/no.js | 147 + .../plugins/a11yhelp/dialogs/lang/pl.js | 147 + .../plugins/a11yhelp/dialogs/lang/pt-br.js | 147 + .../plugins/a11yhelp/dialogs/lang/pt.js | 147 + .../plugins/a11yhelp/dialogs/lang/ro.js | 147 + .../plugins/a11yhelp/dialogs/lang/ru.js | 147 + .../plugins/a11yhelp/dialogs/lang/si.js | 147 + .../plugins/a11yhelp/dialogs/lang/sk.js | 147 + .../plugins/a11yhelp/dialogs/lang/sl.js | 147 + .../plugins/a11yhelp/dialogs/lang/sq.js | 147 + .../plugins/a11yhelp/dialogs/lang/sr-latn.js | 147 + .../plugins/a11yhelp/dialogs/lang/sr.js | 147 + .../plugins/a11yhelp/dialogs/lang/sv.js | 147 + .../plugins/a11yhelp/dialogs/lang/th.js | 147 + .../plugins/a11yhelp/dialogs/lang/tr.js | 147 + .../plugins/a11yhelp/dialogs/lang/ug.js | 147 + .../plugins/a11yhelp/dialogs/lang/uk.js | 147 + .../plugins/a11yhelp/dialogs/lang/vi.js | 147 + .../plugins/a11yhelp/dialogs/lang/zh-cn.js | 147 + .../plugins/a11yhelp/dialogs/lang/zh.js | 147 + .../a11yhelp/lang/_translationstatus.txt | 25 - .../_source/plugins/a11yhelp/lang/cs.js | 89 - .../_source/plugins/a11yhelp/lang/cy.js | 89 - .../_source/plugins/a11yhelp/lang/da.js | 89 - .../_source/plugins/a11yhelp/lang/de.js | 89 - .../_source/plugins/a11yhelp/lang/el.js | 89 - .../_source/plugins/a11yhelp/lang/en.js | 108 - .../_source/plugins/a11yhelp/lang/eo.js | 89 - .../_source/plugins/a11yhelp/lang/fa.js | 89 - .../_source/plugins/a11yhelp/lang/fi.js | 89 - .../_source/plugins/a11yhelp/lang/fr.js | 89 - .../_source/plugins/a11yhelp/lang/gu.js | 89 - .../_source/plugins/a11yhelp/lang/he.js | 89 - .../_source/plugins/a11yhelp/lang/it.js | 89 - .../_source/plugins/a11yhelp/lang/mk.js | 89 - .../_source/plugins/a11yhelp/lang/nb.js | 89 - .../_source/plugins/a11yhelp/lang/nl.js | 89 - .../_source/plugins/a11yhelp/lang/no.js | 89 - .../_source/plugins/a11yhelp/lang/pt-br.js | 89 - .../_source/plugins/a11yhelp/lang/ro.js | 89 - .../_source/plugins/a11yhelp/lang/tr.js | 89 - .../_source/plugins/a11yhelp/lang/ug.js | 89 - .../_source/plugins/a11yhelp/lang/vi.js | 89 - .../_source/plugins/a11yhelp/lang/zh-cn.js | 89 - .../_source/plugins/a11yhelp/plugin.js | 97 +- .../_source/plugins/about/dialogs/about.js | 151 +- .../about/dialogs/hidpi/logo_ckeditor.png | Bin 0 -> 13339 bytes .../plugins/about/dialogs/logo_ckeditor.png | Bin 2759 -> 6757 bytes .../_source/plugins/about/icons/about.png | Bin 0 -> 843 bytes .../plugins/about/icons/hidpi/about.png | Bin 0 -> 1992 bytes .../ckeditor/_source/plugins/about/lang/af.js | 12 + .../ckeditor/_source/plugins/about/lang/ar.js | 12 + .../ckeditor/_source/plugins/about/lang/bg.js | 12 + .../ckeditor/_source/plugins/about/lang/bn.js | 12 + .../ckeditor/_source/plugins/about/lang/bs.js | 12 + .../ckeditor/_source/plugins/about/lang/ca.js | 12 + .../ckeditor/_source/plugins/about/lang/cs.js | 12 + .../ckeditor/_source/plugins/about/lang/cy.js | 12 + .../ckeditor/_source/plugins/about/lang/da.js | 12 + .../ckeditor/_source/plugins/about/lang/de.js | 12 + .../ckeditor/_source/plugins/about/lang/el.js | 12 + .../_source/plugins/about/lang/en-au.js | 12 + .../_source/plugins/about/lang/en-ca.js | 12 + .../_source/plugins/about/lang/en-gb.js | 12 + .../ckeditor/_source/plugins/about/lang/en.js | 12 + .../ckeditor/_source/plugins/about/lang/eo.js | 12 + .../ckeditor/_source/plugins/about/lang/es.js | 12 + .../ckeditor/_source/plugins/about/lang/et.js | 12 + .../ckeditor/_source/plugins/about/lang/eu.js | 12 + .../ckeditor/_source/plugins/about/lang/fa.js | 12 + .../ckeditor/_source/plugins/about/lang/fi.js | 12 + .../ckeditor/_source/plugins/about/lang/fo.js | 12 + .../_source/plugins/about/lang/fr-ca.js | 12 + .../ckeditor/_source/plugins/about/lang/fr.js | 12 + .../ckeditor/_source/plugins/about/lang/gl.js | 12 + .../ckeditor/_source/plugins/about/lang/gu.js | 12 + .../ckeditor/_source/plugins/about/lang/he.js | 12 + .../ckeditor/_source/plugins/about/lang/hi.js | 12 + .../ckeditor/_source/plugins/about/lang/hr.js | 12 + .../ckeditor/_source/plugins/about/lang/hu.js | 12 + .../ckeditor/_source/plugins/about/lang/id.js | 12 + .../ckeditor/_source/plugins/about/lang/is.js | 12 + .../ckeditor/_source/plugins/about/lang/it.js | 12 + .../ckeditor/_source/plugins/about/lang/ja.js | 12 + .../ckeditor/_source/plugins/about/lang/ka.js | 12 + .../ckeditor/_source/plugins/about/lang/km.js | 12 + .../ckeditor/_source/plugins/about/lang/ko.js | 12 + .../ckeditor/_source/plugins/about/lang/ku.js | 12 + .../ckeditor/_source/plugins/about/lang/lt.js | 12 + .../ckeditor/_source/plugins/about/lang/lv.js | 12 + .../ckeditor/_source/plugins/about/lang/mk.js | 12 + .../ckeditor/_source/plugins/about/lang/mn.js | 12 + .../ckeditor/_source/plugins/about/lang/ms.js | 12 + .../ckeditor/_source/plugins/about/lang/nb.js | 12 + .../ckeditor/_source/plugins/about/lang/nl.js | 12 + .../ckeditor/_source/plugins/about/lang/no.js | 12 + .../ckeditor/_source/plugins/about/lang/pl.js | 12 + .../_source/plugins/about/lang/pt-br.js | 12 + .../ckeditor/_source/plugins/about/lang/pt.js | 12 + .../ckeditor/_source/plugins/about/lang/ro.js | 12 + .../ckeditor/_source/plugins/about/lang/ru.js | 12 + .../ckeditor/_source/plugins/about/lang/si.js | 12 + .../ckeditor/_source/plugins/about/lang/sk.js | 12 + .../ckeditor/_source/plugins/about/lang/sl.js | 12 + .../ckeditor/_source/plugins/about/lang/sq.js | 12 + .../_source/plugins/about/lang/sr-latn.js | 12 + .../ckeditor/_source/plugins/about/lang/sr.js | 12 + .../ckeditor/_source/plugins/about/lang/sv.js | 12 + .../ckeditor/_source/plugins/about/lang/th.js | 12 + .../ckeditor/_source/plugins/about/lang/tr.js | 12 + .../ckeditor/_source/plugins/about/lang/ug.js | 12 + .../ckeditor/_source/plugins/about/lang/uk.js | 12 + .../ckeditor/_source/plugins/about/lang/vi.js | 12 + .../_source/plugins/about/lang/zh-cn.js | 12 + .../ckeditor/_source/plugins/about/lang/zh.js | 12 + .../ckeditor/_source/plugins/about/plugin.js | 49 +- .../_source/plugins/adobeair/plugin.js | 228 - .../ckeditor/_source/plugins/ajax/plugin.js | 152 - .../_source/plugins/autogrow/plugin.js | 141 - .../plugins/basicstyles/icons/bold.png | Bin 0 -> 813 bytes .../plugins/basicstyles/icons/hidpi/bold.png | Bin 0 -> 1865 bytes .../basicstyles/icons/hidpi/italic.png | Bin 0 -> 1452 bytes .../basicstyles/icons/hidpi/strike.png | Bin 0 -> 2171 bytes .../basicstyles/icons/hidpi/subscript.png | Bin 0 -> 1965 bytes .../basicstyles/icons/hidpi/superscript.png | Bin 0 -> 2021 bytes .../basicstyles/icons/hidpi/underline.png | Bin 0 -> 1577 bytes .../plugins/basicstyles/icons/italic.png | Bin 0 -> 708 bytes .../plugins/basicstyles/icons/strike.png | Bin 0 -> 879 bytes .../plugins/basicstyles/icons/subscript.png | Bin 0 -> 806 bytes .../plugins/basicstyles/icons/superscript.png | Bin 0 -> 859 bytes .../plugins/basicstyles/icons/underline.png | Bin 0 -> 747 bytes .../_source/plugins/basicstyles/lang/af.js | 12 + .../_source/plugins/basicstyles/lang/ar.js | 12 + .../_source/plugins/basicstyles/lang/bg.js | 12 + .../_source/plugins/basicstyles/lang/bn.js | 12 + .../_source/plugins/basicstyles/lang/bs.js | 12 + .../_source/plugins/basicstyles/lang/ca.js | 12 + .../_source/plugins/basicstyles/lang/cs.js | 12 + .../_source/plugins/basicstyles/lang/cy.js | 12 + .../_source/plugins/basicstyles/lang/da.js | 12 + .../_source/plugins/basicstyles/lang/de.js | 12 + .../_source/plugins/basicstyles/lang/el.js | 12 + .../_source/plugins/basicstyles/lang/en-au.js | 12 + .../_source/plugins/basicstyles/lang/en-ca.js | 12 + .../_source/plugins/basicstyles/lang/en-gb.js | 12 + .../_source/plugins/basicstyles/lang/en.js | 12 + .../_source/plugins/basicstyles/lang/eo.js | 12 + .../_source/plugins/basicstyles/lang/es.js | 12 + .../_source/plugins/basicstyles/lang/et.js | 12 + .../_source/plugins/basicstyles/lang/eu.js | 12 + .../_source/plugins/basicstyles/lang/fa.js | 12 + .../_source/plugins/basicstyles/lang/fi.js | 12 + .../_source/plugins/basicstyles/lang/fo.js | 12 + .../_source/plugins/basicstyles/lang/fr-ca.js | 12 + .../_source/plugins/basicstyles/lang/fr.js | 12 + .../_source/plugins/basicstyles/lang/gl.js | 12 + .../_source/plugins/basicstyles/lang/gu.js | 12 + .../_source/plugins/basicstyles/lang/he.js | 12 + .../_source/plugins/basicstyles/lang/hi.js | 12 + .../_source/plugins/basicstyles/lang/hr.js | 12 + .../_source/plugins/basicstyles/lang/hu.js | 12 + .../_source/plugins/basicstyles/lang/id.js | 12 + .../_source/plugins/basicstyles/lang/is.js | 12 + .../_source/plugins/basicstyles/lang/it.js | 12 + .../_source/plugins/basicstyles/lang/ja.js | 12 + .../_source/plugins/basicstyles/lang/ka.js | 12 + .../_source/plugins/basicstyles/lang/km.js | 12 + .../_source/plugins/basicstyles/lang/ko.js | 12 + .../_source/plugins/basicstyles/lang/ku.js | 12 + .../_source/plugins/basicstyles/lang/lt.js | 12 + .../_source/plugins/basicstyles/lang/lv.js | 12 + .../_source/plugins/basicstyles/lang/mk.js | 12 + .../_source/plugins/basicstyles/lang/mn.js | 12 + .../_source/plugins/basicstyles/lang/ms.js | 12 + .../_source/plugins/basicstyles/lang/nb.js | 12 + .../_source/plugins/basicstyles/lang/nl.js | 12 + .../_source/plugins/basicstyles/lang/no.js | 12 + .../_source/plugins/basicstyles/lang/pl.js | 12 + .../_source/plugins/basicstyles/lang/pt-br.js | 12 + .../_source/plugins/basicstyles/lang/pt.js | 12 + .../_source/plugins/basicstyles/lang/ro.js | 12 + .../_source/plugins/basicstyles/lang/ru.js | 12 + .../_source/plugins/basicstyles/lang/si.js | 12 + .../_source/plugins/basicstyles/lang/sk.js | 12 + .../_source/plugins/basicstyles/lang/sl.js | 12 + .../_source/plugins/basicstyles/lang/sq.js | 12 + .../plugins/basicstyles/lang/sr-latn.js | 12 + .../_source/plugins/basicstyles/lang/sr.js | 12 + .../_source/plugins/basicstyles/lang/sv.js | 12 + .../_source/plugins/basicstyles/lang/th.js | 12 + .../_source/plugins/basicstyles/lang/tr.js | 12 + .../_source/plugins/basicstyles/lang/ug.js | 12 + .../_source/plugins/basicstyles/lang/uk.js | 12 + .../_source/plugins/basicstyles/lang/vi.js | 12 + .../_source/plugins/basicstyles/lang/zh-cn.js | 12 + .../_source/plugins/basicstyles/lang/zh.js | 12 + .../_source/plugins/basicstyles/plugin.js | 318 +- .../ckeditor/_source/plugins/bbcode/plugin.js | 931 --- .../_source/plugins/bidi/icons/bidiltr.png | Bin 0 -> 769 bytes .../_source/plugins/bidi/icons/bidirtl.png | Bin 0 -> 768 bytes .../plugins/bidi/icons/hidpi/bidiltr.png | Bin 0 -> 1579 bytes .../plugins/bidi/icons/hidpi/bidirtl.png | Bin 0 -> 1596 bytes .../ckeditor/_source/plugins/bidi/lang/af.js | 8 + .../ckeditor/_source/plugins/bidi/lang/ar.js | 8 + .../ckeditor/_source/plugins/bidi/lang/bg.js | 8 + .../ckeditor/_source/plugins/bidi/lang/bn.js | 8 + .../ckeditor/_source/plugins/bidi/lang/bs.js | 8 + .../ckeditor/_source/plugins/bidi/lang/ca.js | 8 + .../ckeditor/_source/plugins/bidi/lang/cs.js | 8 + .../ckeditor/_source/plugins/bidi/lang/cy.js | 8 + .../ckeditor/_source/plugins/bidi/lang/da.js | 8 + .../ckeditor/_source/plugins/bidi/lang/de.js | 8 + .../ckeditor/_source/plugins/bidi/lang/el.js | 8 + .../_source/plugins/bidi/lang/en-au.js | 8 + .../_source/plugins/bidi/lang/en-ca.js | 8 + .../_source/plugins/bidi/lang/en-gb.js | 8 + .../ckeditor/_source/plugins/bidi/lang/en.js | 8 + .../ckeditor/_source/plugins/bidi/lang/eo.js | 8 + .../ckeditor/_source/plugins/bidi/lang/es.js | 8 + .../ckeditor/_source/plugins/bidi/lang/et.js | 8 + .../ckeditor/_source/plugins/bidi/lang/eu.js | 8 + .../ckeditor/_source/plugins/bidi/lang/fa.js | 8 + .../ckeditor/_source/plugins/bidi/lang/fi.js | 8 + .../ckeditor/_source/plugins/bidi/lang/fo.js | 8 + .../_source/plugins/bidi/lang/fr-ca.js | 8 + .../ckeditor/_source/plugins/bidi/lang/fr.js | 8 + .../ckeditor/_source/plugins/bidi/lang/gl.js | 8 + .../ckeditor/_source/plugins/bidi/lang/gu.js | 8 + .../ckeditor/_source/plugins/bidi/lang/he.js | 8 + .../ckeditor/_source/plugins/bidi/lang/hi.js | 8 + .../ckeditor/_source/plugins/bidi/lang/hr.js | 8 + .../ckeditor/_source/plugins/bidi/lang/hu.js | 8 + .../ckeditor/_source/plugins/bidi/lang/id.js | 8 + .../ckeditor/_source/plugins/bidi/lang/is.js | 8 + .../ckeditor/_source/plugins/bidi/lang/it.js | 8 + .../ckeditor/_source/plugins/bidi/lang/ja.js | 8 + .../ckeditor/_source/plugins/bidi/lang/ka.js | 8 + .../ckeditor/_source/plugins/bidi/lang/km.js | 8 + .../ckeditor/_source/plugins/bidi/lang/ko.js | 8 + .../ckeditor/_source/plugins/bidi/lang/ku.js | 8 + .../ckeditor/_source/plugins/bidi/lang/lt.js | 8 + .../ckeditor/_source/plugins/bidi/lang/lv.js | 8 + .../ckeditor/_source/plugins/bidi/lang/mk.js | 8 + .../ckeditor/_source/plugins/bidi/lang/mn.js | 8 + .../ckeditor/_source/plugins/bidi/lang/ms.js | 8 + .../ckeditor/_source/plugins/bidi/lang/nb.js | 8 + .../ckeditor/_source/plugins/bidi/lang/nl.js | 8 + .../ckeditor/_source/plugins/bidi/lang/no.js | 8 + .../ckeditor/_source/plugins/bidi/lang/pl.js | 8 + .../_source/plugins/bidi/lang/pt-br.js | 8 + .../ckeditor/_source/plugins/bidi/lang/pt.js | 8 + .../ckeditor/_source/plugins/bidi/lang/ro.js | 8 + .../ckeditor/_source/plugins/bidi/lang/ru.js | 8 + .../ckeditor/_source/plugins/bidi/lang/si.js | 8 + .../ckeditor/_source/plugins/bidi/lang/sk.js | 8 + .../ckeditor/_source/plugins/bidi/lang/sl.js | 8 + .../ckeditor/_source/plugins/bidi/lang/sq.js | 8 + .../_source/plugins/bidi/lang/sr-latn.js | 8 + .../ckeditor/_source/plugins/bidi/lang/sr.js | 8 + .../ckeditor/_source/plugins/bidi/lang/sv.js | 8 + .../ckeditor/_source/plugins/bidi/lang/th.js | 8 + .../ckeditor/_source/plugins/bidi/lang/tr.js | 8 + .../ckeditor/_source/plugins/bidi/lang/ug.js | 8 + .../ckeditor/_source/plugins/bidi/lang/uk.js | 8 + .../ckeditor/_source/plugins/bidi/lang/vi.js | 8 + .../_source/plugins/bidi/lang/zh-cn.js | 8 + .../ckeditor/_source/plugins/bidi/lang/zh.js | 8 + .../ckeditor/_source/plugins/bidi/plugin.js | 639 +- .../plugins/blockquote/icons/blockquote.png | Bin 0 -> 925 bytes .../blockquote/icons/hidpi/blockquote.png | Bin 0 -> 2233 bytes .../_source/plugins/blockquote/lang/af.js | 7 + .../_source/plugins/blockquote/lang/ar.js | 7 + .../_source/plugins/blockquote/lang/bg.js | 7 + .../_source/plugins/blockquote/lang/bn.js | 7 + .../_source/plugins/blockquote/lang/bs.js | 7 + .../_source/plugins/blockquote/lang/ca.js | 7 + .../_source/plugins/blockquote/lang/cs.js | 7 + .../_source/plugins/blockquote/lang/cy.js | 7 + .../_source/plugins/blockquote/lang/da.js | 7 + .../_source/plugins/blockquote/lang/de.js | 7 + .../_source/plugins/blockquote/lang/el.js | 7 + .../_source/plugins/blockquote/lang/en-au.js | 7 + .../_source/plugins/blockquote/lang/en-ca.js | 7 + .../_source/plugins/blockquote/lang/en-gb.js | 7 + .../_source/plugins/blockquote/lang/en.js | 7 + .../_source/plugins/blockquote/lang/eo.js | 7 + .../_source/plugins/blockquote/lang/es.js | 7 + .../_source/plugins/blockquote/lang/et.js | 7 + .../_source/plugins/blockquote/lang/eu.js | 7 + .../_source/plugins/blockquote/lang/fa.js | 7 + .../_source/plugins/blockquote/lang/fi.js | 7 + .../_source/plugins/blockquote/lang/fo.js | 7 + .../_source/plugins/blockquote/lang/fr-ca.js | 7 + .../_source/plugins/blockquote/lang/fr.js | 7 + .../_source/plugins/blockquote/lang/gl.js | 7 + .../_source/plugins/blockquote/lang/gu.js | 7 + .../_source/plugins/blockquote/lang/he.js | 7 + .../_source/plugins/blockquote/lang/hi.js | 7 + .../_source/plugins/blockquote/lang/hr.js | 7 + .../_source/plugins/blockquote/lang/hu.js | 7 + .../_source/plugins/blockquote/lang/id.js | 7 + .../_source/plugins/blockquote/lang/is.js | 7 + .../_source/plugins/blockquote/lang/it.js | 7 + .../_source/plugins/blockquote/lang/ja.js | 7 + .../_source/plugins/blockquote/lang/ka.js | 7 + .../_source/plugins/blockquote/lang/km.js | 7 + .../_source/plugins/blockquote/lang/ko.js | 7 + .../_source/plugins/blockquote/lang/ku.js | 7 + .../_source/plugins/blockquote/lang/lt.js | 7 + .../_source/plugins/blockquote/lang/lv.js | 7 + .../_source/plugins/blockquote/lang/mk.js | 7 + .../_source/plugins/blockquote/lang/mn.js | 7 + .../_source/plugins/blockquote/lang/ms.js | 7 + .../_source/plugins/blockquote/lang/nb.js | 7 + .../_source/plugins/blockquote/lang/nl.js | 7 + .../_source/plugins/blockquote/lang/no.js | 7 + .../_source/plugins/blockquote/lang/pl.js | 7 + .../_source/plugins/blockquote/lang/pt-br.js | 7 + .../_source/plugins/blockquote/lang/pt.js | 7 + .../_source/plugins/blockquote/lang/ro.js | 7 + .../_source/plugins/blockquote/lang/ru.js | 7 + .../_source/plugins/blockquote/lang/si.js | 7 + .../_source/plugins/blockquote/lang/sk.js | 7 + .../_source/plugins/blockquote/lang/sl.js | 7 + .../_source/plugins/blockquote/lang/sq.js | 7 + .../plugins/blockquote/lang/sr-latn.js | 7 + .../_source/plugins/blockquote/lang/sr.js | 7 + .../_source/plugins/blockquote/lang/sv.js | 7 + .../_source/plugins/blockquote/lang/th.js | 7 + .../_source/plugins/blockquote/lang/tr.js | 7 + .../_source/plugins/blockquote/lang/ug.js | 7 + .../_source/plugins/blockquote/lang/uk.js | 7 + .../_source/plugins/blockquote/lang/vi.js | 7 + .../_source/plugins/blockquote/lang/zh-cn.js | 7 + .../_source/plugins/blockquote/lang/zh.js | 7 + .../_source/plugins/blockquote/plugin.js | 553 +- .../_source/plugins/button/lang/ca.js | 8 + .../_source/plugins/button/lang/cs.js | 8 + .../_source/plugins/button/lang/el.js | 8 + .../_source/plugins/button/lang/en-gb.js | 8 + .../_source/plugins/button/lang/en.js | 8 + .../_source/plugins/button/lang/fa.js | 8 + .../_source/plugins/button/lang/fr.js | 8 + .../_source/plugins/button/lang/gl.js | 8 + .../_source/plugins/button/lang/hu.js | 8 + .../_source/plugins/button/lang/ja.js | 8 + .../_source/plugins/button/lang/km.js | 8 + .../_source/plugins/button/lang/nl.js | 8 + .../_source/plugins/button/lang/pl.js | 8 + .../_source/plugins/button/lang/pt-br.js | 8 + .../_source/plugins/button/lang/sl.js | 8 + .../_source/plugins/button/lang/sv.js | 8 + .../_source/plugins/button/lang/uk.js | 8 + .../_source/plugins/button/lang/zh-cn.js | 8 + .../ckeditor/_source/plugins/button/plugin.js | 669 +- .../plugins/clipboard/dev/clipboard.html | 194 + .../plugins/clipboard/dialogs/paste.js | 451 +- .../plugins/clipboard/icons/copy-rtl.png | Bin 0 -> 684 bytes .../_source/plugins/clipboard/icons/copy.png | Bin 0 -> 684 bytes .../plugins/clipboard/icons/cut-rtl.png | Bin 0 -> 1031 bytes .../_source/plugins/clipboard/icons/cut.png | Bin 0 -> 1031 bytes .../clipboard/icons/hidpi/copy-rtl.png | Bin 0 -> 1558 bytes .../plugins/clipboard/icons/hidpi/copy.png | Bin 0 -> 1558 bytes .../plugins/clipboard/icons/hidpi/cut-rtl.png | Bin 0 -> 2692 bytes .../plugins/clipboard/icons/hidpi/cut.png | Bin 0 -> 2692 bytes .../clipboard/icons/hidpi/paste-rtl.png | Bin 0 -> 1959 bytes .../plugins/clipboard/icons/hidpi/paste.png | Bin 0 -> 1959 bytes .../plugins/clipboard/icons/paste-rtl.png | Bin 0 -> 724 bytes .../_source/plugins/clipboard/icons/paste.png | Bin 0 -> 724 bytes .../_source/plugins/clipboard/lang/af.js | 15 + .../_source/plugins/clipboard/lang/ar.js | 15 + .../_source/plugins/clipboard/lang/bg.js | 15 + .../_source/plugins/clipboard/lang/bn.js | 15 + .../_source/plugins/clipboard/lang/bs.js | 15 + .../_source/plugins/clipboard/lang/ca.js | 15 + .../_source/plugins/clipboard/lang/cs.js | 15 + .../_source/plugins/clipboard/lang/cy.js | 15 + .../_source/plugins/clipboard/lang/da.js | 15 + .../_source/plugins/clipboard/lang/de.js | 15 + .../_source/plugins/clipboard/lang/el.js | 15 + .../_source/plugins/clipboard/lang/en-au.js | 15 + .../_source/plugins/clipboard/lang/en-ca.js | 15 + .../_source/plugins/clipboard/lang/en-gb.js | 15 + .../_source/plugins/clipboard/lang/en.js | 15 + .../_source/plugins/clipboard/lang/eo.js | 15 + .../_source/plugins/clipboard/lang/es.js | 15 + .../_source/plugins/clipboard/lang/et.js | 15 + .../_source/plugins/clipboard/lang/eu.js | 15 + .../_source/plugins/clipboard/lang/fa.js | 15 + .../_source/plugins/clipboard/lang/fi.js | 15 + .../_source/plugins/clipboard/lang/fo.js | 15 + .../_source/plugins/clipboard/lang/fr-ca.js | 15 + .../_source/plugins/clipboard/lang/fr.js | 15 + .../_source/plugins/clipboard/lang/gl.js | 15 + .../_source/plugins/clipboard/lang/gu.js | 15 + .../_source/plugins/clipboard/lang/he.js | 15 + .../_source/plugins/clipboard/lang/hi.js | 15 + .../_source/plugins/clipboard/lang/hr.js | 15 + .../_source/plugins/clipboard/lang/hu.js | 15 + .../_source/plugins/clipboard/lang/id.js | 15 + .../_source/plugins/clipboard/lang/is.js | 15 + .../_source/plugins/clipboard/lang/it.js | 15 + .../_source/plugins/clipboard/lang/ja.js | 15 + .../_source/plugins/clipboard/lang/ka.js | 15 + .../_source/plugins/clipboard/lang/km.js | 15 + .../_source/plugins/clipboard/lang/ko.js | 15 + .../_source/plugins/clipboard/lang/ku.js | 15 + .../_source/plugins/clipboard/lang/lt.js | 15 + .../_source/plugins/clipboard/lang/lv.js | 15 + .../_source/plugins/clipboard/lang/mk.js | 15 + .../_source/plugins/clipboard/lang/mn.js | 15 + .../_source/plugins/clipboard/lang/ms.js | 15 + .../_source/plugins/clipboard/lang/nb.js | 15 + .../_source/plugins/clipboard/lang/nl.js | 15 + .../_source/plugins/clipboard/lang/no.js | 15 + .../_source/plugins/clipboard/lang/pl.js | 15 + .../_source/plugins/clipboard/lang/pt-br.js | 15 + .../_source/plugins/clipboard/lang/pt.js | 15 + .../_source/plugins/clipboard/lang/ro.js | 15 + .../_source/plugins/clipboard/lang/ru.js | 15 + .../_source/plugins/clipboard/lang/si.js | 15 + .../_source/plugins/clipboard/lang/sk.js | 15 + .../_source/plugins/clipboard/lang/sl.js | 15 + .../_source/plugins/clipboard/lang/sq.js | 15 + .../_source/plugins/clipboard/lang/sr-latn.js | 15 + .../_source/plugins/clipboard/lang/sr.js | 15 + .../_source/plugins/clipboard/lang/sv.js | 15 + .../_source/plugins/clipboard/lang/th.js | 15 + .../_source/plugins/clipboard/lang/tr.js | 15 + .../_source/plugins/clipboard/lang/ug.js | 15 + .../_source/plugins/clipboard/lang/uk.js | 15 + .../_source/plugins/clipboard/lang/vi.js | 15 + .../_source/plugins/clipboard/lang/zh-cn.js | 15 + .../_source/plugins/clipboard/lang/zh.js | 15 + .../_source/plugins/clipboard/plugin.js | 1738 +++-- .../plugins/colorbutton/icons/bgcolor.png | Bin 0 -> 906 bytes .../colorbutton/icons/hidpi/bgcolor.png | Bin 0 -> 2169 bytes .../colorbutton/icons/hidpi/textcolor.png | Bin 0 -> 1725 bytes .../plugins/colorbutton/icons/textcolor.png | Bin 0 -> 813 bytes .../_source/plugins/colorbutton/lang/af.js | 53 + .../_source/plugins/colorbutton/lang/ar.js | 53 + .../_source/plugins/colorbutton/lang/bg.js | 53 + .../_source/plugins/colorbutton/lang/bn.js | 53 + .../_source/plugins/colorbutton/lang/bs.js | 53 + .../_source/plugins/colorbutton/lang/ca.js | 53 + .../_source/plugins/colorbutton/lang/cs.js | 53 + .../_source/plugins/colorbutton/lang/cy.js | 53 + .../_source/plugins/colorbutton/lang/da.js | 53 + .../_source/plugins/colorbutton/lang/de.js | 53 + .../_source/plugins/colorbutton/lang/el.js | 53 + .../_source/plugins/colorbutton/lang/en-au.js | 53 + .../_source/plugins/colorbutton/lang/en-ca.js | 53 + .../_source/plugins/colorbutton/lang/en-gb.js | 53 + .../_source/plugins/colorbutton/lang/en.js | 53 + .../_source/plugins/colorbutton/lang/eo.js | 53 + .../_source/plugins/colorbutton/lang/es.js | 53 + .../_source/plugins/colorbutton/lang/et.js | 53 + .../_source/plugins/colorbutton/lang/eu.js | 53 + .../_source/plugins/colorbutton/lang/fa.js | 53 + .../_source/plugins/colorbutton/lang/fi.js | 53 + .../_source/plugins/colorbutton/lang/fo.js | 53 + .../_source/plugins/colorbutton/lang/fr-ca.js | 53 + .../_source/plugins/colorbutton/lang/fr.js | 53 + .../_source/plugins/colorbutton/lang/gl.js | 53 + .../_source/plugins/colorbutton/lang/gu.js | 53 + .../_source/plugins/colorbutton/lang/he.js | 53 + .../_source/plugins/colorbutton/lang/hi.js | 53 + .../_source/plugins/colorbutton/lang/hr.js | 53 + .../_source/plugins/colorbutton/lang/hu.js | 53 + .../_source/plugins/colorbutton/lang/id.js | 53 + .../_source/plugins/colorbutton/lang/is.js | 53 + .../_source/plugins/colorbutton/lang/it.js | 53 + .../_source/plugins/colorbutton/lang/ja.js | 53 + .../_source/plugins/colorbutton/lang/ka.js | 53 + .../_source/plugins/colorbutton/lang/km.js | 53 + .../_source/plugins/colorbutton/lang/ko.js | 53 + .../_source/plugins/colorbutton/lang/ku.js | 53 + .../_source/plugins/colorbutton/lang/lt.js | 53 + .../_source/plugins/colorbutton/lang/lv.js | 53 + .../_source/plugins/colorbutton/lang/mk.js | 53 + .../_source/plugins/colorbutton/lang/mn.js | 53 + .../_source/plugins/colorbutton/lang/ms.js | 53 + .../_source/plugins/colorbutton/lang/nb.js | 53 + .../_source/plugins/colorbutton/lang/nl.js | 53 + .../_source/plugins/colorbutton/lang/no.js | 53 + .../_source/plugins/colorbutton/lang/pl.js | 53 + .../_source/plugins/colorbutton/lang/pt-br.js | 53 + .../_source/plugins/colorbutton/lang/pt.js | 53 + .../_source/plugins/colorbutton/lang/ro.js | 53 + .../_source/plugins/colorbutton/lang/ru.js | 53 + .../_source/plugins/colorbutton/lang/si.js | 53 + .../_source/plugins/colorbutton/lang/sk.js | 53 + .../_source/plugins/colorbutton/lang/sl.js | 53 + .../_source/plugins/colorbutton/lang/sq.js | 53 + .../plugins/colorbutton/lang/sr-latn.js | 53 + .../_source/plugins/colorbutton/lang/sr.js | 53 + .../_source/plugins/colorbutton/lang/sv.js | 53 + .../_source/plugins/colorbutton/lang/th.js | 53 + .../_source/plugins/colorbutton/lang/tr.js | 53 + .../_source/plugins/colorbutton/lang/ug.js | 53 + .../_source/plugins/colorbutton/lang/uk.js | 53 + .../_source/plugins/colorbutton/lang/vi.js | 53 + .../_source/plugins/colorbutton/lang/zh-cn.js | 53 + .../_source/plugins/colorbutton/lang/zh.js | 53 + .../_source/plugins/colorbutton/plugin.js | 586 +- .../colordialog/dialogs/colordialog.js | 725 +- .../_source/plugins/colordialog/lang/af.js | 11 + .../_source/plugins/colordialog/lang/ar.js | 11 + .../_source/plugins/colordialog/lang/bg.js | 11 + .../_source/plugins/colordialog/lang/bn.js | 11 + .../_source/plugins/colordialog/lang/bs.js | 11 + .../_source/plugins/colordialog/lang/ca.js | 11 + .../_source/plugins/colordialog/lang/cs.js | 11 + .../_source/plugins/colordialog/lang/cy.js | 11 + .../_source/plugins/colordialog/lang/da.js | 11 + .../_source/plugins/colordialog/lang/de.js | 11 + .../_source/plugins/colordialog/lang/el.js | 11 + .../_source/plugins/colordialog/lang/en-au.js | 11 + .../_source/plugins/colordialog/lang/en-ca.js | 11 + .../_source/plugins/colordialog/lang/en-gb.js | 11 + .../_source/plugins/colordialog/lang/en.js | 11 + .../_source/plugins/colordialog/lang/eo.js | 11 + .../_source/plugins/colordialog/lang/es.js | 11 + .../_source/plugins/colordialog/lang/et.js | 11 + .../_source/plugins/colordialog/lang/eu.js | 11 + .../_source/plugins/colordialog/lang/fa.js | 11 + .../_source/plugins/colordialog/lang/fi.js | 11 + .../_source/plugins/colordialog/lang/fo.js | 11 + .../_source/plugins/colordialog/lang/fr-ca.js | 11 + .../_source/plugins/colordialog/lang/fr.js | 11 + .../_source/plugins/colordialog/lang/gl.js | 11 + .../_source/plugins/colordialog/lang/gu.js | 11 + .../_source/plugins/colordialog/lang/he.js | 11 + .../_source/plugins/colordialog/lang/hi.js | 11 + .../_source/plugins/colordialog/lang/hr.js | 11 + .../_source/plugins/colordialog/lang/hu.js | 11 + .../_source/plugins/colordialog/lang/is.js | 11 + .../_source/plugins/colordialog/lang/it.js | 11 + .../_source/plugins/colordialog/lang/ja.js | 11 + .../_source/plugins/colordialog/lang/ka.js | 11 + .../_source/plugins/colordialog/lang/km.js | 11 + .../_source/plugins/colordialog/lang/ko.js | 11 + .../_source/plugins/colordialog/lang/ku.js | 11 + .../_source/plugins/colordialog/lang/lt.js | 11 + .../_source/plugins/colordialog/lang/lv.js | 11 + .../_source/plugins/colordialog/lang/mk.js | 11 + .../_source/plugins/colordialog/lang/mn.js | 11 + .../_source/plugins/colordialog/lang/ms.js | 11 + .../_source/plugins/colordialog/lang/nb.js | 11 + .../_source/plugins/colordialog/lang/nl.js | 11 + .../_source/plugins/colordialog/lang/no.js | 11 + .../_source/plugins/colordialog/lang/pl.js | 11 + .../_source/plugins/colordialog/lang/pt-br.js | 11 + .../_source/plugins/colordialog/lang/pt.js | 11 + .../_source/plugins/colordialog/lang/ro.js | 11 + .../_source/plugins/colordialog/lang/ru.js | 11 + .../_source/plugins/colordialog/lang/si.js | 11 + .../_source/plugins/colordialog/lang/sk.js | 11 + .../_source/plugins/colordialog/lang/sl.js | 11 + .../_source/plugins/colordialog/lang/sq.js | 11 + .../plugins/colordialog/lang/sr-latn.js | 11 + .../_source/plugins/colordialog/lang/sr.js | 11 + .../_source/plugins/colordialog/lang/sv.js | 11 + .../_source/plugins/colordialog/lang/th.js | 11 + .../_source/plugins/colordialog/lang/tr.js | 11 + .../_source/plugins/colordialog/lang/ug.js | 11 + .../_source/plugins/colordialog/lang/uk.js | 11 + .../_source/plugins/colordialog/lang/vi.js | 11 + .../_source/plugins/colordialog/lang/zh-cn.js | 11 + .../_source/plugins/colordialog/lang/zh.js | 11 + .../_source/plugins/colordialog/plugin.js | 85 +- .../_source/plugins/contextmenu/lang/af.js | 7 + .../_source/plugins/contextmenu/lang/ar.js | 7 + .../_source/plugins/contextmenu/lang/bg.js | 7 + .../_source/plugins/contextmenu/lang/bn.js | 7 + .../_source/plugins/contextmenu/lang/bs.js | 7 + .../_source/plugins/contextmenu/lang/ca.js | 7 + .../_source/plugins/contextmenu/lang/cs.js | 7 + .../_source/plugins/contextmenu/lang/cy.js | 7 + .../_source/plugins/contextmenu/lang/da.js | 7 + .../_source/plugins/contextmenu/lang/de.js | 7 + .../_source/plugins/contextmenu/lang/el.js | 7 + .../_source/plugins/contextmenu/lang/en-au.js | 7 + .../_source/plugins/contextmenu/lang/en-ca.js | 7 + .../_source/plugins/contextmenu/lang/en-gb.js | 7 + .../_source/plugins/contextmenu/lang/en.js | 7 + .../_source/plugins/contextmenu/lang/eo.js | 7 + .../_source/plugins/contextmenu/lang/es.js | 7 + .../_source/plugins/contextmenu/lang/et.js | 7 + .../_source/plugins/contextmenu/lang/eu.js | 7 + .../_source/plugins/contextmenu/lang/fa.js | 7 + .../_source/plugins/contextmenu/lang/fi.js | 7 + .../_source/plugins/contextmenu/lang/fo.js | 7 + .../_source/plugins/contextmenu/lang/fr-ca.js | 7 + .../_source/plugins/contextmenu/lang/fr.js | 7 + .../_source/plugins/contextmenu/lang/gl.js | 7 + .../_source/plugins/contextmenu/lang/gu.js | 7 + .../_source/plugins/contextmenu/lang/he.js | 7 + .../_source/plugins/contextmenu/lang/hi.js | 7 + .../_source/plugins/contextmenu/lang/hr.js | 7 + .../_source/plugins/contextmenu/lang/hu.js | 7 + .../_source/plugins/contextmenu/lang/id.js | 7 + .../_source/plugins/contextmenu/lang/is.js | 7 + .../_source/plugins/contextmenu/lang/it.js | 7 + .../_source/plugins/contextmenu/lang/ja.js | 7 + .../_source/plugins/contextmenu/lang/ka.js | 7 + .../_source/plugins/contextmenu/lang/km.js | 7 + .../_source/plugins/contextmenu/lang/ko.js | 7 + .../_source/plugins/contextmenu/lang/ku.js | 7 + .../_source/plugins/contextmenu/lang/lt.js | 7 + .../_source/plugins/contextmenu/lang/lv.js | 7 + .../_source/plugins/contextmenu/lang/mk.js | 7 + .../_source/plugins/contextmenu/lang/mn.js | 7 + .../_source/plugins/contextmenu/lang/ms.js | 7 + .../_source/plugins/contextmenu/lang/nb.js | 7 + .../_source/plugins/contextmenu/lang/nl.js | 7 + .../_source/plugins/contextmenu/lang/no.js | 7 + .../_source/plugins/contextmenu/lang/pl.js | 7 + .../_source/plugins/contextmenu/lang/pt-br.js | 7 + .../_source/plugins/contextmenu/lang/pt.js | 7 + .../_source/plugins/contextmenu/lang/ro.js | 7 + .../_source/plugins/contextmenu/lang/ru.js | 7 + .../_source/plugins/contextmenu/lang/si.js | 7 + .../_source/plugins/contextmenu/lang/sk.js | 7 + .../_source/plugins/contextmenu/lang/sl.js | 7 + .../_source/plugins/contextmenu/lang/sq.js | 7 + .../plugins/contextmenu/lang/sr-latn.js | 7 + .../_source/plugins/contextmenu/lang/sr.js | 7 + .../_source/plugins/contextmenu/lang/sv.js | 7 + .../_source/plugins/contextmenu/lang/th.js | 7 + .../_source/plugins/contextmenu/lang/tr.js | 7 + .../_source/plugins/contextmenu/lang/ug.js | 7 + .../_source/plugins/contextmenu/lang/uk.js | 7 + .../_source/plugins/contextmenu/lang/vi.js | 7 + .../_source/plugins/contextmenu/lang/zh-cn.js | 7 + .../_source/plugins/contextmenu/lang/zh.js | 7 + .../_source/plugins/contextmenu/plugin.js | 322 +- .../devtools/lang/_translationstatus.txt | 28 - .../_source/plugins/devtools/lang/bg.js | 16 - .../_source/plugins/devtools/lang/cs.js | 16 - .../_source/plugins/devtools/lang/cy.js | 16 - .../_source/plugins/devtools/lang/da.js | 16 - .../_source/plugins/devtools/lang/de.js | 16 - .../_source/plugins/devtools/lang/el.js | 16 - .../_source/plugins/devtools/lang/en.js | 16 - .../_source/plugins/devtools/lang/eo.js | 16 - .../_source/plugins/devtools/lang/et.js | 16 - .../_source/plugins/devtools/lang/fa.js | 16 - .../_source/plugins/devtools/lang/fi.js | 16 - .../_source/plugins/devtools/lang/fr.js | 16 - .../_source/plugins/devtools/lang/gu.js | 16 - .../_source/plugins/devtools/lang/he.js | 16 - .../_source/plugins/devtools/lang/hr.js | 16 - .../_source/plugins/devtools/lang/it.js | 16 - .../_source/plugins/devtools/lang/nb.js | 16 - .../_source/plugins/devtools/lang/nl.js | 16 - .../_source/plugins/devtools/lang/no.js | 16 - .../_source/plugins/devtools/lang/pl.js | 16 - .../_source/plugins/devtools/lang/pt-br.js | 16 - .../_source/plugins/devtools/lang/tr.js | 16 - .../_source/plugins/devtools/lang/ug.js | 16 - .../_source/plugins/devtools/lang/uk.js | 16 - .../_source/plugins/devtools/lang/vi.js | 16 - .../_source/plugins/devtools/lang/zh-cn.js | 16 - .../_source/plugins/devtools/plugin.js | 173 - .../plugins/dialog/dialogDefinition.js | 2172 +++--- .../ckeditor/_source/plugins/dialog/plugin.js | 6589 ++++++++--------- .../dialog/samples/assets/my_dialog.js | 49 + .../plugins/dialog/samples/dialog.html | 187 + .../_source/plugins/dialogadvtab/plugin.js | 408 +- .../_source/plugins/dialogui/plugin.js | 2941 ++++---- .../_source/plugins/div/dialogs/div.js | 997 ++- .../_source/plugins/div/icons/creatediv.png | Bin 0 -> 862 bytes .../plugins/div/icons/hidpi/creatediv.png | Bin 0 -> 3053 bytes .../ckeditor/_source/plugins/div/lang/af.js | 19 + .../ckeditor/_source/plugins/div/lang/ar.js | 19 + .../ckeditor/_source/plugins/div/lang/bg.js | 19 + .../ckeditor/_source/plugins/div/lang/bn.js | 19 + .../ckeditor/_source/plugins/div/lang/bs.js | 19 + .../ckeditor/_source/plugins/div/lang/ca.js | 19 + .../ckeditor/_source/plugins/div/lang/cs.js | 19 + .../ckeditor/_source/plugins/div/lang/cy.js | 19 + .../ckeditor/_source/plugins/div/lang/da.js | 19 + .../ckeditor/_source/plugins/div/lang/de.js | 19 + .../ckeditor/_source/plugins/div/lang/el.js | 19 + .../_source/plugins/div/lang/en-au.js | 19 + .../_source/plugins/div/lang/en-ca.js | 19 + .../_source/plugins/div/lang/en-gb.js | 19 + .../ckeditor/_source/plugins/div/lang/en.js | 19 + .../ckeditor/_source/plugins/div/lang/eo.js | 19 + .../ckeditor/_source/plugins/div/lang/es.js | 19 + .../ckeditor/_source/plugins/div/lang/et.js | 19 + .../ckeditor/_source/plugins/div/lang/eu.js | 19 + .../ckeditor/_source/plugins/div/lang/fa.js | 19 + .../ckeditor/_source/plugins/div/lang/fi.js | 19 + .../ckeditor/_source/plugins/div/lang/fo.js | 19 + .../_source/plugins/div/lang/fr-ca.js | 19 + .../ckeditor/_source/plugins/div/lang/fr.js | 19 + .../ckeditor/_source/plugins/div/lang/gl.js | 19 + .../ckeditor/_source/plugins/div/lang/gu.js | 19 + .../ckeditor/_source/plugins/div/lang/he.js | 19 + .../ckeditor/_source/plugins/div/lang/hi.js | 19 + .../ckeditor/_source/plugins/div/lang/hr.js | 19 + .../ckeditor/_source/plugins/div/lang/hu.js | 19 + .../ckeditor/_source/plugins/div/lang/id.js | 19 + .../ckeditor/_source/plugins/div/lang/is.js | 19 + .../ckeditor/_source/plugins/div/lang/it.js | 19 + .../ckeditor/_source/plugins/div/lang/ja.js | 19 + .../ckeditor/_source/plugins/div/lang/ka.js | 19 + .../ckeditor/_source/plugins/div/lang/km.js | 19 + .../ckeditor/_source/plugins/div/lang/ko.js | 19 + .../ckeditor/_source/plugins/div/lang/ku.js | 19 + .../ckeditor/_source/plugins/div/lang/lt.js | 19 + .../ckeditor/_source/plugins/div/lang/lv.js | 19 + .../ckeditor/_source/plugins/div/lang/mk.js | 19 + .../ckeditor/_source/plugins/div/lang/mn.js | 19 + .../ckeditor/_source/plugins/div/lang/ms.js | 19 + .../ckeditor/_source/plugins/div/lang/nb.js | 19 + .../ckeditor/_source/plugins/div/lang/nl.js | 19 + .../ckeditor/_source/plugins/div/lang/no.js | 19 + .../ckeditor/_source/plugins/div/lang/pl.js | 19 + .../_source/plugins/div/lang/pt-br.js | 19 + .../ckeditor/_source/plugins/div/lang/pt.js | 19 + .../ckeditor/_source/plugins/div/lang/ro.js | 19 + .../ckeditor/_source/plugins/div/lang/ru.js | 19 + .../ckeditor/_source/plugins/div/lang/si.js | 19 + .../ckeditor/_source/plugins/div/lang/sk.js | 19 + .../ckeditor/_source/plugins/div/lang/sl.js | 19 + .../ckeditor/_source/plugins/div/lang/sq.js | 19 + .../_source/plugins/div/lang/sr-latn.js | 19 + .../ckeditor/_source/plugins/div/lang/sr.js | 19 + .../ckeditor/_source/plugins/div/lang/sv.js | 19 + .../ckeditor/_source/plugins/div/lang/th.js | 19 + .../ckeditor/_source/plugins/div/lang/tr.js | 19 + .../ckeditor/_source/plugins/div/lang/ug.js | 19 + .../ckeditor/_source/plugins/div/lang/uk.js | 19 + .../ckeditor/_source/plugins/div/lang/vi.js | 19 + .../_source/plugins/div/lang/zh-cn.js | 19 + .../ckeditor/_source/plugins/div/lang/zh.js | 19 + .../ckeditor/_source/plugins/div/plugin.js | 250 +- .../plugins/docprops/dialogs/docprops.js | 674 -- .../_source/plugins/docprops/plugin.js | 22 - .../_source/plugins/domiterator/plugin.js | 366 - .../_source/plugins/editingblock/plugin.js | 278 - .../_source/plugins/elementspath/lang/af.js | 8 + .../_source/plugins/elementspath/lang/ar.js | 8 + .../_source/plugins/elementspath/lang/bg.js | 8 + .../_source/plugins/elementspath/lang/bn.js | 8 + .../_source/plugins/elementspath/lang/bs.js | 8 + .../_source/plugins/elementspath/lang/ca.js | 8 + .../_source/plugins/elementspath/lang/cs.js | 8 + .../_source/plugins/elementspath/lang/cy.js | 8 + .../_source/plugins/elementspath/lang/da.js | 8 + .../_source/plugins/elementspath/lang/de.js | 8 + .../_source/plugins/elementspath/lang/el.js | 8 + .../plugins/elementspath/lang/en-au.js | 8 + .../plugins/elementspath/lang/en-ca.js | 8 + .../plugins/elementspath/lang/en-gb.js | 8 + .../_source/plugins/elementspath/lang/en.js | 8 + .../_source/plugins/elementspath/lang/eo.js | 8 + .../_source/plugins/elementspath/lang/es.js | 8 + .../_source/plugins/elementspath/lang/et.js | 8 + .../_source/plugins/elementspath/lang/eu.js | 8 + .../_source/plugins/elementspath/lang/fa.js | 8 + .../_source/plugins/elementspath/lang/fi.js | 8 + .../_source/plugins/elementspath/lang/fo.js | 8 + .../plugins/elementspath/lang/fr-ca.js | 8 + .../_source/plugins/elementspath/lang/fr.js | 8 + .../_source/plugins/elementspath/lang/gl.js | 8 + .../_source/plugins/elementspath/lang/gu.js | 8 + .../_source/plugins/elementspath/lang/he.js | 8 + .../_source/plugins/elementspath/lang/hi.js | 8 + .../_source/plugins/elementspath/lang/hr.js | 8 + .../_source/plugins/elementspath/lang/hu.js | 8 + .../_source/plugins/elementspath/lang/is.js | 8 + .../_source/plugins/elementspath/lang/it.js | 8 + .../_source/plugins/elementspath/lang/ja.js | 8 + .../_source/plugins/elementspath/lang/ka.js | 8 + .../_source/plugins/elementspath/lang/km.js | 8 + .../_source/plugins/elementspath/lang/ko.js | 8 + .../_source/plugins/elementspath/lang/ku.js | 8 + .../_source/plugins/elementspath/lang/lt.js | 8 + .../_source/plugins/elementspath/lang/lv.js | 8 + .../_source/plugins/elementspath/lang/mk.js | 8 + .../_source/plugins/elementspath/lang/mn.js | 8 + .../_source/plugins/elementspath/lang/ms.js | 8 + .../_source/plugins/elementspath/lang/nb.js | 8 + .../_source/plugins/elementspath/lang/nl.js | 8 + .../_source/plugins/elementspath/lang/no.js | 8 + .../_source/plugins/elementspath/lang/pl.js | 8 + .../plugins/elementspath/lang/pt-br.js | 8 + .../_source/plugins/elementspath/lang/pt.js | 8 + .../_source/plugins/elementspath/lang/ro.js | 8 + .../_source/plugins/elementspath/lang/ru.js | 8 + .../_source/plugins/elementspath/lang/si.js | 8 + .../_source/plugins/elementspath/lang/sk.js | 8 + .../_source/plugins/elementspath/lang/sl.js | 8 + .../_source/plugins/elementspath/lang/sq.js | 8 + .../plugins/elementspath/lang/sr-latn.js | 8 + .../_source/plugins/elementspath/lang/sr.js | 8 + .../_source/plugins/elementspath/lang/sv.js | 8 + .../_source/plugins/elementspath/lang/th.js | 8 + .../_source/plugins/elementspath/lang/tr.js | 8 + .../_source/plugins/elementspath/lang/ug.js | 8 + .../_source/plugins/elementspath/lang/uk.js | 8 + .../_source/plugins/elementspath/lang/vi.js | 8 + .../plugins/elementspath/lang/zh-cn.js | 8 + .../_source/plugins/elementspath/lang/zh.js | 8 + .../_source/plugins/elementspath/plugin.js | 454 +- .../_source/plugins/enterkey/plugin.js | 962 +-- .../plugins/enterkey/samples/enterkey.html | 103 + .../_source/plugins/entities/plugin.js | 493 +- .../plugins/fakeobjects}/images/spacer.gif | Bin .../_source/plugins/fakeobjects/lang/af.js | 11 + .../_source/plugins/fakeobjects/lang/ar.js | 11 + .../_source/plugins/fakeobjects/lang/bg.js | 11 + .../_source/plugins/fakeobjects/lang/bn.js | 11 + .../_source/plugins/fakeobjects/lang/bs.js | 11 + .../_source/plugins/fakeobjects/lang/ca.js | 11 + .../_source/plugins/fakeobjects/lang/cs.js | 11 + .../_source/plugins/fakeobjects/lang/cy.js | 11 + .../_source/plugins/fakeobjects/lang/da.js | 11 + .../_source/plugins/fakeobjects/lang/de.js | 11 + .../_source/plugins/fakeobjects/lang/el.js | 11 + .../_source/plugins/fakeobjects/lang/en-au.js | 11 + .../_source/plugins/fakeobjects/lang/en-ca.js | 11 + .../_source/plugins/fakeobjects/lang/en-gb.js | 11 + .../_source/plugins/fakeobjects/lang/en.js | 11 + .../_source/plugins/fakeobjects/lang/eo.js | 11 + .../_source/plugins/fakeobjects/lang/es.js | 11 + .../_source/plugins/fakeobjects/lang/et.js | 11 + .../_source/plugins/fakeobjects/lang/eu.js | 11 + .../_source/plugins/fakeobjects/lang/fa.js | 11 + .../_source/plugins/fakeobjects/lang/fi.js | 11 + .../_source/plugins/fakeobjects/lang/fo.js | 11 + .../_source/plugins/fakeobjects/lang/fr-ca.js | 11 + .../_source/plugins/fakeobjects/lang/fr.js | 11 + .../_source/plugins/fakeobjects/lang/gl.js | 11 + .../_source/plugins/fakeobjects/lang/gu.js | 11 + .../_source/plugins/fakeobjects/lang/he.js | 11 + .../_source/plugins/fakeobjects/lang/hi.js | 11 + .../_source/plugins/fakeobjects/lang/hr.js | 11 + .../_source/plugins/fakeobjects/lang/hu.js | 11 + .../_source/plugins/fakeobjects/lang/id.js | 11 + .../_source/plugins/fakeobjects/lang/is.js | 11 + .../_source/plugins/fakeobjects/lang/it.js | 11 + .../_source/plugins/fakeobjects/lang/ja.js | 11 + .../_source/plugins/fakeobjects/lang/ka.js | 11 + .../_source/plugins/fakeobjects/lang/km.js | 11 + .../_source/plugins/fakeobjects/lang/ko.js | 11 + .../_source/plugins/fakeobjects/lang/ku.js | 11 + .../_source/plugins/fakeobjects/lang/lt.js | 11 + .../_source/plugins/fakeobjects/lang/lv.js | 11 + .../_source/plugins/fakeobjects/lang/mk.js | 11 + .../_source/plugins/fakeobjects/lang/mn.js | 11 + .../_source/plugins/fakeobjects/lang/ms.js | 11 + .../_source/plugins/fakeobjects/lang/nb.js | 11 + .../_source/plugins/fakeobjects/lang/nl.js | 11 + .../_source/plugins/fakeobjects/lang/no.js | 11 + .../_source/plugins/fakeobjects/lang/pl.js | 11 + .../_source/plugins/fakeobjects/lang/pt-br.js | 11 + .../_source/plugins/fakeobjects/lang/pt.js | 11 + .../_source/plugins/fakeobjects/lang/ro.js | 11 + .../_source/plugins/fakeobjects/lang/ru.js | 11 + .../_source/plugins/fakeobjects/lang/si.js | 11 + .../_source/plugins/fakeobjects/lang/sk.js | 11 + .../_source/plugins/fakeobjects/lang/sl.js | 11 + .../_source/plugins/fakeobjects/lang/sq.js | 11 + .../plugins/fakeobjects/lang/sr-latn.js | 11 + .../_source/plugins/fakeobjects/lang/sr.js | 11 + .../_source/plugins/fakeobjects/lang/sv.js | 11 + .../_source/plugins/fakeobjects/lang/th.js | 11 + .../_source/plugins/fakeobjects/lang/tr.js | 11 + .../_source/plugins/fakeobjects/lang/ug.js | 11 + .../_source/plugins/fakeobjects/lang/uk.js | 11 + .../_source/plugins/fakeobjects/lang/vi.js | 11 + .../_source/plugins/fakeobjects/lang/zh-cn.js | 11 + .../_source/plugins/fakeobjects/lang/zh.js | 11 + .../_source/plugins/fakeobjects/plugin.js | 359 +- .../_source/plugins/filebrowser/plugin.js | 1034 ++- .../_source/plugins/find/dialogs/find.js | 1712 ++--- .../_source/plugins/find/icons/find-rtl.png | Bin 0 -> 980 bytes .../_source/plugins/find/icons/find.png | Bin 0 -> 980 bytes .../plugins/find/icons/hidpi/find-rtl.png | Bin 0 -> 2417 bytes .../_source/plugins/find/icons/hidpi/find.png | Bin 0 -> 2417 bytes .../plugins/find/icons/hidpi/replace.png | Bin 0 -> 2761 bytes .../_source/plugins/find/icons/replace.png | Bin 0 -> 948 bytes .../ckeditor/_source/plugins/find/lang/af.js | 18 + .../ckeditor/_source/plugins/find/lang/ar.js | 18 + .../ckeditor/_source/plugins/find/lang/bg.js | 18 + .../ckeditor/_source/plugins/find/lang/bn.js | 18 + .../ckeditor/_source/plugins/find/lang/bs.js | 18 + .../ckeditor/_source/plugins/find/lang/ca.js | 18 + .../ckeditor/_source/plugins/find/lang/cs.js | 18 + .../ckeditor/_source/plugins/find/lang/cy.js | 18 + .../ckeditor/_source/plugins/find/lang/da.js | 18 + .../ckeditor/_source/plugins/find/lang/de.js | 18 + .../ckeditor/_source/plugins/find/lang/el.js | 18 + .../_source/plugins/find/lang/en-au.js | 18 + .../_source/plugins/find/lang/en-ca.js | 18 + .../_source/plugins/find/lang/en-gb.js | 18 + .../ckeditor/_source/plugins/find/lang/en.js | 18 + .../ckeditor/_source/plugins/find/lang/eo.js | 18 + .../ckeditor/_source/plugins/find/lang/es.js | 18 + .../ckeditor/_source/plugins/find/lang/et.js | 18 + .../ckeditor/_source/plugins/find/lang/eu.js | 18 + .../ckeditor/_source/plugins/find/lang/fa.js | 18 + .../ckeditor/_source/plugins/find/lang/fi.js | 18 + .../ckeditor/_source/plugins/find/lang/fo.js | 18 + .../_source/plugins/find/lang/fr-ca.js | 18 + .../ckeditor/_source/plugins/find/lang/fr.js | 18 + .../ckeditor/_source/plugins/find/lang/gl.js | 18 + .../ckeditor/_source/plugins/find/lang/gu.js | 18 + .../ckeditor/_source/plugins/find/lang/he.js | 18 + .../ckeditor/_source/plugins/find/lang/hi.js | 18 + .../ckeditor/_source/plugins/find/lang/hr.js | 18 + .../ckeditor/_source/plugins/find/lang/hu.js | 18 + .../ckeditor/_source/plugins/find/lang/id.js | 18 + .../ckeditor/_source/plugins/find/lang/is.js | 18 + .../ckeditor/_source/plugins/find/lang/it.js | 18 + .../ckeditor/_source/plugins/find/lang/ja.js | 18 + .../ckeditor/_source/plugins/find/lang/ka.js | 18 + .../ckeditor/_source/plugins/find/lang/km.js | 18 + .../ckeditor/_source/plugins/find/lang/ko.js | 18 + .../ckeditor/_source/plugins/find/lang/ku.js | 18 + .../ckeditor/_source/plugins/find/lang/lt.js | 18 + .../ckeditor/_source/plugins/find/lang/lv.js | 18 + .../ckeditor/_source/plugins/find/lang/mk.js | 18 + .../ckeditor/_source/plugins/find/lang/mn.js | 18 + .../ckeditor/_source/plugins/find/lang/ms.js | 18 + .../ckeditor/_source/plugins/find/lang/nb.js | 18 + .../ckeditor/_source/plugins/find/lang/nl.js | 18 + .../ckeditor/_source/plugins/find/lang/no.js | 18 + .../ckeditor/_source/plugins/find/lang/pl.js | 18 + .../_source/plugins/find/lang/pt-br.js | 18 + .../ckeditor/_source/plugins/find/lang/pt.js | 18 + .../ckeditor/_source/plugins/find/lang/ro.js | 18 + .../ckeditor/_source/plugins/find/lang/ru.js | 18 + .../ckeditor/_source/plugins/find/lang/si.js | 18 + .../ckeditor/_source/plugins/find/lang/sk.js | 18 + .../ckeditor/_source/plugins/find/lang/sl.js | 18 + .../ckeditor/_source/plugins/find/lang/sq.js | 18 + .../_source/plugins/find/lang/sr-latn.js | 18 + .../ckeditor/_source/plugins/find/lang/sr.js | 18 + .../ckeditor/_source/plugins/find/lang/sv.js | 18 + .../ckeditor/_source/plugins/find/lang/th.js | 18 + .../ckeditor/_source/plugins/find/lang/tr.js | 18 + .../ckeditor/_source/plugins/find/lang/ug.js | 18 + .../ckeditor/_source/plugins/find/lang/uk.js | 18 + .../ckeditor/_source/plugins/find/lang/vi.js | 18 + .../_source/plugins/find/lang/zh-cn.js | 18 + .../ckeditor/_source/plugins/find/lang/zh.js | 18 + .../ckeditor/_source/plugins/find/plugin.js | 99 +- .../_source/plugins/flash/dialogs/flash.js | 1333 ++-- .../_source/plugins/flash/icons/flash.png | Bin 0 -> 1038 bytes .../plugins/flash/icons/hidpi/flash.png | Bin 0 -> 2532 bytes .../ckeditor/_source/plugins/flash/lang/af.js | 43 + .../ckeditor/_source/plugins/flash/lang/ar.js | 43 + .../ckeditor/_source/plugins/flash/lang/bg.js | 43 + .../ckeditor/_source/plugins/flash/lang/bn.js | 43 + .../ckeditor/_source/plugins/flash/lang/bs.js | 43 + .../ckeditor/_source/plugins/flash/lang/ca.js | 43 + .../ckeditor/_source/plugins/flash/lang/cs.js | 43 + .../ckeditor/_source/plugins/flash/lang/cy.js | 43 + .../ckeditor/_source/plugins/flash/lang/da.js | 43 + .../ckeditor/_source/plugins/flash/lang/de.js | 43 + .../ckeditor/_source/plugins/flash/lang/el.js | 43 + .../_source/plugins/flash/lang/en-au.js | 43 + .../_source/plugins/flash/lang/en-ca.js | 43 + .../_source/plugins/flash/lang/en-gb.js | 43 + .../ckeditor/_source/plugins/flash/lang/en.js | 43 + .../ckeditor/_source/plugins/flash/lang/eo.js | 43 + .../ckeditor/_source/plugins/flash/lang/es.js | 43 + .../ckeditor/_source/plugins/flash/lang/et.js | 43 + .../ckeditor/_source/plugins/flash/lang/eu.js | 43 + .../ckeditor/_source/plugins/flash/lang/fa.js | 43 + .../ckeditor/_source/plugins/flash/lang/fi.js | 43 + .../ckeditor/_source/plugins/flash/lang/fo.js | 43 + .../_source/plugins/flash/lang/fr-ca.js | 43 + .../ckeditor/_source/plugins/flash/lang/fr.js | 43 + .../ckeditor/_source/plugins/flash/lang/gl.js | 43 + .../ckeditor/_source/plugins/flash/lang/gu.js | 43 + .../ckeditor/_source/plugins/flash/lang/he.js | 43 + .../ckeditor/_source/plugins/flash/lang/hi.js | 43 + .../ckeditor/_source/plugins/flash/lang/hr.js | 43 + .../ckeditor/_source/plugins/flash/lang/hu.js | 43 + .../ckeditor/_source/plugins/flash/lang/id.js | 43 + .../ckeditor/_source/plugins/flash/lang/is.js | 43 + .../ckeditor/_source/plugins/flash/lang/it.js | 43 + .../ckeditor/_source/plugins/flash/lang/ja.js | 43 + .../ckeditor/_source/plugins/flash/lang/ka.js | 43 + .../ckeditor/_source/plugins/flash/lang/km.js | 43 + .../ckeditor/_source/plugins/flash/lang/ko.js | 43 + .../ckeditor/_source/plugins/flash/lang/ku.js | 43 + .../ckeditor/_source/plugins/flash/lang/lt.js | 43 + .../ckeditor/_source/plugins/flash/lang/lv.js | 43 + .../ckeditor/_source/plugins/flash/lang/mk.js | 43 + .../ckeditor/_source/plugins/flash/lang/mn.js | 43 + .../ckeditor/_source/plugins/flash/lang/ms.js | 43 + .../ckeditor/_source/plugins/flash/lang/nb.js | 43 + .../ckeditor/_source/plugins/flash/lang/nl.js | 43 + .../ckeditor/_source/plugins/flash/lang/no.js | 43 + .../ckeditor/_source/plugins/flash/lang/pl.js | 43 + .../_source/plugins/flash/lang/pt-br.js | 43 + .../ckeditor/_source/plugins/flash/lang/pt.js | 43 + .../ckeditor/_source/plugins/flash/lang/ro.js | 43 + .../ckeditor/_source/plugins/flash/lang/ru.js | 43 + .../ckeditor/_source/plugins/flash/lang/si.js | 43 + .../ckeditor/_source/plugins/flash/lang/sk.js | 43 + .../ckeditor/_source/plugins/flash/lang/sl.js | 43 + .../ckeditor/_source/plugins/flash/lang/sq.js | 43 + .../_source/plugins/flash/lang/sr-latn.js | 43 + .../ckeditor/_source/plugins/flash/lang/sr.js | 43 + .../ckeditor/_source/plugins/flash/lang/sv.js | 43 + .../ckeditor/_source/plugins/flash/lang/th.js | 43 + .../ckeditor/_source/plugins/flash/lang/tr.js | 43 + .../ckeditor/_source/plugins/flash/lang/ug.js | 43 + .../ckeditor/_source/plugins/flash/lang/uk.js | 43 + .../ckeditor/_source/plugins/flash/lang/vi.js | 43 + .../_source/plugins/flash/lang/zh-cn.js | 43 + .../ckeditor/_source/plugins/flash/lang/zh.js | 43 + .../ckeditor/_source/plugins/flash/plugin.js | 303 +- .../_source/plugins/floatingspace/plugin.js | 379 + .../_source/plugins/floatpanel/plugin.js | 1024 +-- .../ckeditor/_source/plugins/font/lang/af.js | 14 + .../ckeditor/_source/plugins/font/lang/ar.js | 14 + .../ckeditor/_source/plugins/font/lang/bg.js | 14 + .../ckeditor/_source/plugins/font/lang/bn.js | 14 + .../ckeditor/_source/plugins/font/lang/bs.js | 14 + .../ckeditor/_source/plugins/font/lang/ca.js | 14 + .../ckeditor/_source/plugins/font/lang/cs.js | 14 + .../ckeditor/_source/plugins/font/lang/cy.js | 14 + .../ckeditor/_source/plugins/font/lang/da.js | 14 + .../ckeditor/_source/plugins/font/lang/de.js | 14 + .../ckeditor/_source/plugins/font/lang/el.js | 14 + .../_source/plugins/font/lang/en-au.js | 14 + .../_source/plugins/font/lang/en-ca.js | 14 + .../_source/plugins/font/lang/en-gb.js | 14 + .../ckeditor/_source/plugins/font/lang/en.js | 14 + .../ckeditor/_source/plugins/font/lang/eo.js | 14 + .../ckeditor/_source/plugins/font/lang/es.js | 14 + .../ckeditor/_source/plugins/font/lang/et.js | 14 + .../ckeditor/_source/plugins/font/lang/eu.js | 14 + .../ckeditor/_source/plugins/font/lang/fa.js | 14 + .../ckeditor/_source/plugins/font/lang/fi.js | 14 + .../ckeditor/_source/plugins/font/lang/fo.js | 14 + .../_source/plugins/font/lang/fr-ca.js | 14 + .../ckeditor/_source/plugins/font/lang/fr.js | 14 + .../ckeditor/_source/plugins/font/lang/gl.js | 14 + .../ckeditor/_source/plugins/font/lang/gu.js | 14 + .../ckeditor/_source/plugins/font/lang/he.js | 14 + .../ckeditor/_source/plugins/font/lang/hi.js | 14 + .../ckeditor/_source/plugins/font/lang/hr.js | 14 + .../ckeditor/_source/plugins/font/lang/hu.js | 14 + .../ckeditor/_source/plugins/font/lang/id.js | 14 + .../ckeditor/_source/plugins/font/lang/is.js | 14 + .../ckeditor/_source/plugins/font/lang/it.js | 14 + .../ckeditor/_source/plugins/font/lang/ja.js | 14 + .../ckeditor/_source/plugins/font/lang/ka.js | 14 + .../ckeditor/_source/plugins/font/lang/km.js | 14 + .../ckeditor/_source/plugins/font/lang/ko.js | 14 + .../ckeditor/_source/plugins/font/lang/ku.js | 14 + .../ckeditor/_source/plugins/font/lang/lt.js | 14 + .../ckeditor/_source/plugins/font/lang/lv.js | 14 + .../ckeditor/_source/plugins/font/lang/mk.js | 14 + .../ckeditor/_source/plugins/font/lang/mn.js | 14 + .../ckeditor/_source/plugins/font/lang/ms.js | 14 + .../ckeditor/_source/plugins/font/lang/nb.js | 14 + .../ckeditor/_source/plugins/font/lang/nl.js | 14 + .../ckeditor/_source/plugins/font/lang/no.js | 14 + .../ckeditor/_source/plugins/font/lang/pl.js | 14 + .../_source/plugins/font/lang/pt-br.js | 14 + .../ckeditor/_source/plugins/font/lang/pt.js | 14 + .../ckeditor/_source/plugins/font/lang/ro.js | 14 + .../ckeditor/_source/plugins/font/lang/ru.js | 14 + .../ckeditor/_source/plugins/font/lang/si.js | 14 + .../ckeditor/_source/plugins/font/lang/sk.js | 14 + .../ckeditor/_source/plugins/font/lang/sl.js | 14 + .../ckeditor/_source/plugins/font/lang/sq.js | 14 + .../_source/plugins/font/lang/sr-latn.js | 14 + .../ckeditor/_source/plugins/font/lang/sr.js | 14 + .../ckeditor/_source/plugins/font/lang/sv.js | 14 + .../ckeditor/_source/plugins/font/lang/th.js | 14 + .../ckeditor/_source/plugins/font/lang/tr.js | 14 + .../ckeditor/_source/plugins/font/lang/ug.js | 14 + .../ckeditor/_source/plugins/font/lang/uk.js | 14 + .../ckeditor/_source/plugins/font/lang/vi.js | 14 + .../_source/plugins/font/lang/zh-cn.js | 14 + .../ckeditor/_source/plugins/font/lang/zh.js | 14 + .../ckeditor/_source/plugins/font/plugin.js | 464 +- .../_source/plugins/format/lang/af.js | 18 + .../_source/plugins/format/lang/ar.js | 18 + .../_source/plugins/format/lang/bg.js | 18 + .../_source/plugins/format/lang/bn.js | 18 + .../_source/plugins/format/lang/bs.js | 18 + .../_source/plugins/format/lang/ca.js | 18 + .../_source/plugins/format/lang/cs.js | 18 + .../_source/plugins/format/lang/cy.js | 18 + .../_source/plugins/format/lang/da.js | 18 + .../_source/plugins/format/lang/de.js | 18 + .../_source/plugins/format/lang/el.js | 18 + .../_source/plugins/format/lang/en-au.js | 18 + .../_source/plugins/format/lang/en-ca.js | 18 + .../_source/plugins/format/lang/en-gb.js | 18 + .../_source/plugins/format/lang/en.js | 18 + .../_source/plugins/format/lang/eo.js | 18 + .../_source/plugins/format/lang/es.js | 18 + .../_source/plugins/format/lang/et.js | 18 + .../_source/plugins/format/lang/eu.js | 18 + .../_source/plugins/format/lang/fa.js | 18 + .../_source/plugins/format/lang/fi.js | 18 + .../_source/plugins/format/lang/fo.js | 18 + .../_source/plugins/format/lang/fr-ca.js | 18 + .../_source/plugins/format/lang/fr.js | 18 + .../_source/plugins/format/lang/gl.js | 18 + .../_source/plugins/format/lang/gu.js | 18 + .../_source/plugins/format/lang/he.js | 18 + .../_source/plugins/format/lang/hi.js | 18 + .../_source/plugins/format/lang/hr.js | 18 + .../_source/plugins/format/lang/hu.js | 18 + .../_source/plugins/format/lang/id.js | 18 + .../_source/plugins/format/lang/is.js | 18 + .../_source/plugins/format/lang/it.js | 18 + .../_source/plugins/format/lang/ja.js | 18 + .../_source/plugins/format/lang/ka.js | 18 + .../_source/plugins/format/lang/km.js | 18 + .../_source/plugins/format/lang/ko.js | 18 + .../_source/plugins/format/lang/ku.js | 18 + .../_source/plugins/format/lang/lt.js | 18 + .../_source/plugins/format/lang/lv.js | 18 + .../_source/plugins/format/lang/mk.js | 18 + .../_source/plugins/format/lang/mn.js | 18 + .../_source/plugins/format/lang/ms.js | 18 + .../_source/plugins/format/lang/nb.js | 18 + .../_source/plugins/format/lang/nl.js | 18 + .../_source/plugins/format/lang/no.js | 18 + .../_source/plugins/format/lang/pl.js | 18 + .../_source/plugins/format/lang/pt-br.js | 18 + .../_source/plugins/format/lang/pt.js | 18 + .../_source/plugins/format/lang/ro.js | 18 + .../_source/plugins/format/lang/ru.js | 18 + .../_source/plugins/format/lang/si.js | 18 + .../_source/plugins/format/lang/sk.js | 18 + .../_source/plugins/format/lang/sl.js | 18 + .../_source/plugins/format/lang/sq.js | 18 + .../_source/plugins/format/lang/sr-latn.js | 18 + .../_source/plugins/format/lang/sr.js | 18 + .../_source/plugins/format/lang/sv.js | 18 + .../_source/plugins/format/lang/th.js | 18 + .../_source/plugins/format/lang/tr.js | 18 + .../_source/plugins/format/lang/ug.js | 18 + .../_source/plugins/format/lang/uk.js | 18 + .../_source/plugins/format/lang/vi.js | 18 + .../_source/plugins/format/lang/zh-cn.js | 18 + .../_source/plugins/format/lang/zh.js | 18 + .../ckeditor/_source/plugins/format/plugin.js | 441 +- .../_source/plugins/forms/dialogs/button.js | 218 +- .../_source/plugins/forms/dialogs/checkbox.js | 283 +- .../_source/plugins/forms/dialogs/form.js | 328 +- .../plugins/forms/dialogs/hiddenfield.js | 185 +- .../_source/plugins/forms/dialogs/radio.js | 250 +- .../_source/plugins/forms/dialogs/select.js | 1061 ++- .../_source/plugins/forms/dialogs/textarea.js | 253 +- .../plugins/forms/dialogs/textfield.js | 381 +- .../_source/plugins/forms/icons/button.png | Bin 0 -> 528 bytes .../_source/plugins/forms/icons/checkbox.png | Bin 0 -> 756 bytes .../_source/plugins/forms/icons/form.png | Bin 0 -> 590 bytes .../plugins/forms/icons/hiddenfield.png | Bin 0 -> 823 bytes .../plugins/forms/icons/hidpi/button.png | Bin 0 -> 933 bytes .../plugins/forms/icons/hidpi/checkbox.png | Bin 0 -> 1780 bytes .../plugins/forms/icons/hidpi/form.png | Bin 0 -> 1348 bytes .../plugins/forms/icons/hidpi/hiddenfield.png | Bin 0 -> 2166 bytes .../plugins/forms/icons/hidpi/imagebutton.png | Bin 0 -> 1398 bytes .../plugins/forms/icons/hidpi/radio.png | Bin 0 -> 2435 bytes .../plugins/forms/icons/hidpi/select-rtl.png | Bin 0 -> 1451 bytes .../plugins/forms/icons/hidpi/select.png | Bin 0 -> 1452 bytes .../forms/icons/hidpi/textarea-rtl.png | Bin 0 -> 1732 bytes .../plugins/forms/icons/hidpi/textarea.png | Bin 0 -> 1680 bytes .../forms/icons/hidpi/textfield-rtl.png | Bin 0 -> 1324 bytes .../plugins/forms/icons/hidpi/textfield.png | Bin 0 -> 1324 bytes .../plugins/forms/icons/imagebutton.png | Bin 0 -> 680 bytes .../_source/plugins/forms/icons/radio.png | Bin 0 -> 874 bytes .../plugins/forms/icons/select-rtl.png | Bin 0 -> 617 bytes .../_source/plugins/forms/icons/select.png | Bin 0 -> 616 bytes .../plugins/forms/icons/textarea-rtl.png | Bin 0 -> 706 bytes .../_source/plugins/forms/icons/textarea.png | Bin 0 -> 677 bytes .../plugins/forms/icons/textfield-rtl.png | Bin 0 -> 588 bytes .../_source/plugins/forms/icons/textfield.png | Bin 0 -> 588 bytes .../ckeditor/_source/plugins/forms/lang/af.js | 68 + .../ckeditor/_source/plugins/forms/lang/ar.js | 68 + .../ckeditor/_source/plugins/forms/lang/bg.js | 68 + .../ckeditor/_source/plugins/forms/lang/bn.js | 68 + .../ckeditor/_source/plugins/forms/lang/bs.js | 68 + .../ckeditor/_source/plugins/forms/lang/ca.js | 68 + .../ckeditor/_source/plugins/forms/lang/cs.js | 68 + .../ckeditor/_source/plugins/forms/lang/cy.js | 68 + .../ckeditor/_source/plugins/forms/lang/da.js | 68 + .../ckeditor/_source/plugins/forms/lang/de.js | 68 + .../ckeditor/_source/plugins/forms/lang/el.js | 68 + .../_source/plugins/forms/lang/en-au.js | 68 + .../_source/plugins/forms/lang/en-ca.js | 68 + .../_source/plugins/forms/lang/en-gb.js | 68 + .../ckeditor/_source/plugins/forms/lang/en.js | 68 + .../ckeditor/_source/plugins/forms/lang/eo.js | 68 + .../ckeditor/_source/plugins/forms/lang/es.js | 68 + .../ckeditor/_source/plugins/forms/lang/et.js | 68 + .../ckeditor/_source/plugins/forms/lang/eu.js | 68 + .../ckeditor/_source/plugins/forms/lang/fa.js | 68 + .../ckeditor/_source/plugins/forms/lang/fi.js | 68 + .../ckeditor/_source/plugins/forms/lang/fo.js | 68 + .../_source/plugins/forms/lang/fr-ca.js | 68 + .../ckeditor/_source/plugins/forms/lang/fr.js | 68 + .../ckeditor/_source/plugins/forms/lang/gl.js | 68 + .../ckeditor/_source/plugins/forms/lang/gu.js | 68 + .../ckeditor/_source/plugins/forms/lang/he.js | 68 + .../ckeditor/_source/plugins/forms/lang/hi.js | 68 + .../ckeditor/_source/plugins/forms/lang/hr.js | 68 + .../ckeditor/_source/plugins/forms/lang/hu.js | 68 + .../ckeditor/_source/plugins/forms/lang/id.js | 68 + .../ckeditor/_source/plugins/forms/lang/is.js | 68 + .../ckeditor/_source/plugins/forms/lang/it.js | 68 + .../ckeditor/_source/plugins/forms/lang/ja.js | 68 + .../ckeditor/_source/plugins/forms/lang/ka.js | 68 + .../ckeditor/_source/plugins/forms/lang/km.js | 68 + .../ckeditor/_source/plugins/forms/lang/ko.js | 68 + .../ckeditor/_source/plugins/forms/lang/ku.js | 68 + .../ckeditor/_source/plugins/forms/lang/lt.js | 68 + .../ckeditor/_source/plugins/forms/lang/lv.js | 68 + .../ckeditor/_source/plugins/forms/lang/mk.js | 68 + .../ckeditor/_source/plugins/forms/lang/mn.js | 68 + .../ckeditor/_source/plugins/forms/lang/ms.js | 68 + .../ckeditor/_source/plugins/forms/lang/nb.js | 68 + .../ckeditor/_source/plugins/forms/lang/nl.js | 68 + .../ckeditor/_source/plugins/forms/lang/no.js | 68 + .../ckeditor/_source/plugins/forms/lang/pl.js | 68 + .../_source/plugins/forms/lang/pt-br.js | 68 + .../ckeditor/_source/plugins/forms/lang/pt.js | 68 + .../ckeditor/_source/plugins/forms/lang/ro.js | 68 + .../ckeditor/_source/plugins/forms/lang/ru.js | 68 + .../ckeditor/_source/plugins/forms/lang/si.js | 68 + .../ckeditor/_source/plugins/forms/lang/sk.js | 68 + .../ckeditor/_source/plugins/forms/lang/sl.js | 68 + .../ckeditor/_source/plugins/forms/lang/sq.js | 68 + .../_source/plugins/forms/lang/sr-latn.js | 68 + .../ckeditor/_source/plugins/forms/lang/sr.js | 68 + .../ckeditor/_source/plugins/forms/lang/sv.js | 68 + .../ckeditor/_source/plugins/forms/lang/th.js | 68 + .../ckeditor/_source/plugins/forms/lang/tr.js | 68 + .../ckeditor/_source/plugins/forms/lang/ug.js | 68 + .../ckeditor/_source/plugins/forms/lang/uk.js | 68 + .../ckeditor/_source/plugins/forms/lang/vi.js | 68 + .../_source/plugins/forms/lang/zh-cn.js | 68 + .../ckeditor/_source/plugins/forms/lang/zh.js | 68 + .../ckeditor/_source/plugins/forms/plugin.js | 588 +- .../icons/hidpi/horizontalrule.png | Bin 0 -> 939 bytes .../horizontalrule/icons/horizontalrule.png | Bin 0 -> 519 bytes .../_source/plugins/horizontalrule/lang/af.js | 7 + .../_source/plugins/horizontalrule/lang/ar.js | 7 + .../_source/plugins/horizontalrule/lang/bg.js | 7 + .../_source/plugins/horizontalrule/lang/bn.js | 7 + .../_source/plugins/horizontalrule/lang/bs.js | 7 + .../_source/plugins/horizontalrule/lang/ca.js | 7 + .../_source/plugins/horizontalrule/lang/cs.js | 7 + .../_source/plugins/horizontalrule/lang/cy.js | 7 + .../_source/plugins/horizontalrule/lang/da.js | 7 + .../_source/plugins/horizontalrule/lang/de.js | 7 + .../_source/plugins/horizontalrule/lang/el.js | 7 + .../plugins/horizontalrule/lang/en-au.js | 7 + .../plugins/horizontalrule/lang/en-ca.js | 7 + .../plugins/horizontalrule/lang/en-gb.js | 7 + .../_source/plugins/horizontalrule/lang/en.js | 7 + .../_source/plugins/horizontalrule/lang/eo.js | 7 + .../_source/plugins/horizontalrule/lang/es.js | 7 + .../_source/plugins/horizontalrule/lang/et.js | 7 + .../_source/plugins/horizontalrule/lang/eu.js | 7 + .../_source/plugins/horizontalrule/lang/fa.js | 7 + .../_source/plugins/horizontalrule/lang/fi.js | 7 + .../_source/plugins/horizontalrule/lang/fo.js | 7 + .../plugins/horizontalrule/lang/fr-ca.js | 7 + .../_source/plugins/horizontalrule/lang/fr.js | 7 + .../_source/plugins/horizontalrule/lang/gl.js | 7 + .../_source/plugins/horizontalrule/lang/gu.js | 7 + .../_source/plugins/horizontalrule/lang/he.js | 7 + .../_source/plugins/horizontalrule/lang/hi.js | 7 + .../_source/plugins/horizontalrule/lang/hr.js | 7 + .../_source/plugins/horizontalrule/lang/hu.js | 7 + .../_source/plugins/horizontalrule/lang/id.js | 7 + .../_source/plugins/horizontalrule/lang/is.js | 7 + .../_source/plugins/horizontalrule/lang/it.js | 7 + .../_source/plugins/horizontalrule/lang/ja.js | 7 + .../_source/plugins/horizontalrule/lang/ka.js | 7 + .../_source/plugins/horizontalrule/lang/km.js | 7 + .../_source/plugins/horizontalrule/lang/ko.js | 7 + .../_source/plugins/horizontalrule/lang/ku.js | 7 + .../_source/plugins/horizontalrule/lang/lt.js | 7 + .../_source/plugins/horizontalrule/lang/lv.js | 7 + .../_source/plugins/horizontalrule/lang/mk.js | 7 + .../_source/plugins/horizontalrule/lang/mn.js | 7 + .../_source/plugins/horizontalrule/lang/ms.js | 7 + .../_source/plugins/horizontalrule/lang/nb.js | 7 + .../_source/plugins/horizontalrule/lang/nl.js | 7 + .../_source/plugins/horizontalrule/lang/no.js | 7 + .../_source/plugins/horizontalrule/lang/pl.js | 7 + .../plugins/horizontalrule/lang/pt-br.js | 7 + .../_source/plugins/horizontalrule/lang/pt.js | 7 + .../_source/plugins/horizontalrule/lang/ro.js | 7 + .../_source/plugins/horizontalrule/lang/ru.js | 7 + .../_source/plugins/horizontalrule/lang/si.js | 7 + .../_source/plugins/horizontalrule/lang/sk.js | 7 + .../_source/plugins/horizontalrule/lang/sl.js | 7 + .../_source/plugins/horizontalrule/lang/sq.js | 7 + .../plugins/horizontalrule/lang/sr-latn.js | 7 + .../_source/plugins/horizontalrule/lang/sr.js | 7 + .../_source/plugins/horizontalrule/lang/sv.js | 7 + .../_source/plugins/horizontalrule/lang/th.js | 7 + .../_source/plugins/horizontalrule/lang/tr.js | 7 + .../_source/plugins/horizontalrule/lang/ug.js | 7 + .../_source/plugins/horizontalrule/lang/uk.js | 7 + .../_source/plugins/horizontalrule/lang/vi.js | 7 + .../plugins/horizontalrule/lang/zh-cn.js | 7 + .../_source/plugins/horizontalrule/lang/zh.js | 7 + .../_source/plugins/horizontalrule/plugin.js | 78 +- .../plugins/htmldataprocessor/plugin.js | 600 -- .../_source/plugins/htmlwriter/plugin.js | 678 +- .../assets/outputforflash/outputforflash.fla | Bin 0 -> 85504 bytes .../assets/outputforflash/outputforflash.swf | Bin 0 -> 15571 bytes .../assets/outputforflash/swfobject.js | 5 + .../htmlwriter/samples/outputforflash.html | 280 + .../htmlwriter/samples/outputhtml.html | 221 + .../_source/plugins/iframe/dialogs/iframe.js | 447 +- .../plugins/iframe/icons/hidpi/iframe.png | Bin 0 -> 3091 bytes .../_source/plugins/iframe/icons/iframe.png | Bin 0 -> 989 bytes .../_source/plugins/iframe/lang/af.js | 11 + .../_source/plugins/iframe/lang/ar.js | 11 + .../_source/plugins/iframe/lang/bg.js | 11 + .../_source/plugins/iframe/lang/bn.js | 11 + .../_source/plugins/iframe/lang/bs.js | 11 + .../_source/plugins/iframe/lang/ca.js | 11 + .../_source/plugins/iframe/lang/cs.js | 11 + .../_source/plugins/iframe/lang/cy.js | 11 + .../_source/plugins/iframe/lang/da.js | 11 + .../_source/plugins/iframe/lang/de.js | 11 + .../_source/plugins/iframe/lang/el.js | 11 + .../_source/plugins/iframe/lang/en-au.js | 11 + .../_source/plugins/iframe/lang/en-ca.js | 11 + .../_source/plugins/iframe/lang/en-gb.js | 11 + .../_source/plugins/iframe/lang/en.js | 11 + .../_source/plugins/iframe/lang/eo.js | 11 + .../_source/plugins/iframe/lang/es.js | 11 + .../_source/plugins/iframe/lang/et.js | 11 + .../_source/plugins/iframe/lang/eu.js | 11 + .../_source/plugins/iframe/lang/fa.js | 11 + .../_source/plugins/iframe/lang/fi.js | 11 + .../_source/plugins/iframe/lang/fo.js | 11 + .../_source/plugins/iframe/lang/fr-ca.js | 11 + .../_source/plugins/iframe/lang/fr.js | 11 + .../_source/plugins/iframe/lang/gl.js | 11 + .../_source/plugins/iframe/lang/gu.js | 11 + .../_source/plugins/iframe/lang/he.js | 11 + .../_source/plugins/iframe/lang/hi.js | 11 + .../_source/plugins/iframe/lang/hr.js | 11 + .../_source/plugins/iframe/lang/hu.js | 11 + .../_source/plugins/iframe/lang/id.js | 11 + .../_source/plugins/iframe/lang/is.js | 11 + .../_source/plugins/iframe/lang/it.js | 11 + .../_source/plugins/iframe/lang/ja.js | 11 + .../_source/plugins/iframe/lang/ka.js | 11 + .../_source/plugins/iframe/lang/km.js | 11 + .../_source/plugins/iframe/lang/ko.js | 11 + .../_source/plugins/iframe/lang/ku.js | 11 + .../_source/plugins/iframe/lang/lt.js | 11 + .../_source/plugins/iframe/lang/lv.js | 11 + .../_source/plugins/iframe/lang/mk.js | 11 + .../_source/plugins/iframe/lang/mn.js | 11 + .../_source/plugins/iframe/lang/ms.js | 11 + .../_source/plugins/iframe/lang/nb.js | 11 + .../_source/plugins/iframe/lang/nl.js | 11 + .../_source/plugins/iframe/lang/no.js | 11 + .../_source/plugins/iframe/lang/pl.js | 11 + .../_source/plugins/iframe/lang/pt-br.js | 11 + .../_source/plugins/iframe/lang/pt.js | 11 + .../_source/plugins/iframe/lang/ro.js | 11 + .../_source/plugins/iframe/lang/ru.js | 11 + .../_source/plugins/iframe/lang/si.js | 11 + .../_source/plugins/iframe/lang/sk.js | 11 + .../_source/plugins/iframe/lang/sl.js | 11 + .../_source/plugins/iframe/lang/sq.js | 11 + .../_source/plugins/iframe/lang/sr-latn.js | 11 + .../_source/plugins/iframe/lang/sr.js | 11 + .../_source/plugins/iframe/lang/sv.js | 11 + .../_source/plugins/iframe/lang/th.js | 11 + .../_source/plugins/iframe/lang/tr.js | 11 + .../_source/plugins/iframe/lang/ug.js | 11 + .../_source/plugins/iframe/lang/uk.js | 11 + .../_source/plugins/iframe/lang/vi.js | 11 + .../_source/plugins/iframe/lang/zh-cn.js | 11 + .../_source/plugins/iframe/lang/zh.js | 11 + .../ckeditor/_source/plugins/iframe/plugin.js | 170 +- .../_source/plugins/iframedialog/plugin.js | 188 - .../_source/plugins/image/dialogs/image.js | 2622 +++---- .../plugins/image/icons/hidpi/image.png | Bin 0 -> 1745 bytes .../_source/plugins/image/icons/image.png | Bin 0 -> 756 bytes .../kama => plugins/image}/images/noimage.png | Bin .../ckeditor/_source/plugins/image/lang/af.js | 26 + .../ckeditor/_source/plugins/image/lang/ar.js | 26 + .../ckeditor/_source/plugins/image/lang/bg.js | 26 + .../ckeditor/_source/plugins/image/lang/bn.js | 26 + .../ckeditor/_source/plugins/image/lang/bs.js | 26 + .../ckeditor/_source/plugins/image/lang/ca.js | 26 + .../ckeditor/_source/plugins/image/lang/cs.js | 26 + .../ckeditor/_source/plugins/image/lang/cy.js | 26 + .../ckeditor/_source/plugins/image/lang/da.js | 26 + .../ckeditor/_source/plugins/image/lang/de.js | 26 + .../ckeditor/_source/plugins/image/lang/el.js | 26 + .../_source/plugins/image/lang/en-au.js | 26 + .../_source/plugins/image/lang/en-ca.js | 26 + .../_source/plugins/image/lang/en-gb.js | 26 + .../ckeditor/_source/plugins/image/lang/en.js | 26 + .../ckeditor/_source/plugins/image/lang/eo.js | 26 + .../ckeditor/_source/plugins/image/lang/es.js | 26 + .../ckeditor/_source/plugins/image/lang/et.js | 26 + .../ckeditor/_source/plugins/image/lang/eu.js | 26 + .../ckeditor/_source/plugins/image/lang/fa.js | 26 + .../ckeditor/_source/plugins/image/lang/fi.js | 26 + .../ckeditor/_source/plugins/image/lang/fo.js | 26 + .../_source/plugins/image/lang/fr-ca.js | 26 + .../ckeditor/_source/plugins/image/lang/fr.js | 26 + .../ckeditor/_source/plugins/image/lang/gl.js | 26 + .../ckeditor/_source/plugins/image/lang/gu.js | 26 + .../ckeditor/_source/plugins/image/lang/he.js | 26 + .../ckeditor/_source/plugins/image/lang/hi.js | 26 + .../ckeditor/_source/plugins/image/lang/hr.js | 26 + .../ckeditor/_source/plugins/image/lang/hu.js | 26 + .../ckeditor/_source/plugins/image/lang/id.js | 26 + .../ckeditor/_source/plugins/image/lang/is.js | 26 + .../ckeditor/_source/plugins/image/lang/it.js | 26 + .../ckeditor/_source/plugins/image/lang/ja.js | 26 + .../ckeditor/_source/plugins/image/lang/ka.js | 26 + .../ckeditor/_source/plugins/image/lang/km.js | 26 + .../ckeditor/_source/plugins/image/lang/ko.js | 26 + .../ckeditor/_source/plugins/image/lang/ku.js | 26 + .../ckeditor/_source/plugins/image/lang/lt.js | 26 + .../ckeditor/_source/plugins/image/lang/lv.js | 26 + .../ckeditor/_source/plugins/image/lang/mk.js | 26 + .../ckeditor/_source/plugins/image/lang/mn.js | 26 + .../ckeditor/_source/plugins/image/lang/ms.js | 26 + .../ckeditor/_source/plugins/image/lang/nb.js | 26 + .../ckeditor/_source/plugins/image/lang/nl.js | 26 + .../ckeditor/_source/plugins/image/lang/no.js | 26 + .../ckeditor/_source/plugins/image/lang/pl.js | 26 + .../_source/plugins/image/lang/pt-br.js | 26 + .../ckeditor/_source/plugins/image/lang/pt.js | 26 + .../ckeditor/_source/plugins/image/lang/ro.js | 26 + .../ckeditor/_source/plugins/image/lang/ru.js | 26 + .../ckeditor/_source/plugins/image/lang/si.js | 26 + .../ckeditor/_source/plugins/image/lang/sk.js | 26 + .../ckeditor/_source/plugins/image/lang/sl.js | 26 + .../ckeditor/_source/plugins/image/lang/sq.js | 26 + .../_source/plugins/image/lang/sr-latn.js | 26 + .../ckeditor/_source/plugins/image/lang/sr.js | 26 + .../ckeditor/_source/plugins/image/lang/sv.js | 26 + .../ckeditor/_source/plugins/image/lang/th.js | 26 + .../ckeditor/_source/plugins/image/lang/tr.js | 26 + .../ckeditor/_source/plugins/image/lang/ug.js | 26 + .../ckeditor/_source/plugins/image/lang/uk.js | 26 + .../ckeditor/_source/plugins/image/lang/vi.js | 26 + .../_source/plugins/image/lang/zh-cn.js | 26 + .../ckeditor/_source/plugins/image/lang/zh.js | 26 + .../ckeditor/_source/plugins/image/plugin.js | 336 +- .../_source/plugins/indent/dev/indent.html | 289 + .../plugins/indent/icons/hidpi/indent-rtl.png | Bin 0 -> 1610 bytes .../plugins/indent/icons/hidpi/indent.png | Bin 0 -> 1573 bytes .../indent/icons/hidpi/outdent-rtl.png | Bin 0 -> 1584 bytes .../plugins/indent/icons/hidpi/outdent.png | Bin 0 -> 1598 bytes .../plugins/indent/icons/indent-rtl.png | Bin 0 -> 726 bytes .../_source/plugins/indent/icons/indent.png | Bin 0 -> 711 bytes .../plugins/indent/icons/outdent-rtl.png | Bin 0 -> 708 bytes .../_source/plugins/indent/icons/outdent.png | Bin 0 -> 699 bytes .../_source/plugins/indent/lang/af.js | 8 + .../_source/plugins/indent/lang/ar.js | 8 + .../_source/plugins/indent/lang/bg.js | 8 + .../_source/plugins/indent/lang/bn.js | 8 + .../_source/plugins/indent/lang/bs.js | 8 + .../_source/plugins/indent/lang/ca.js | 8 + .../_source/plugins/indent/lang/cs.js | 8 + .../_source/plugins/indent/lang/cy.js | 8 + .../_source/plugins/indent/lang/da.js | 8 + .../_source/plugins/indent/lang/de.js | 8 + .../_source/plugins/indent/lang/el.js | 8 + .../_source/plugins/indent/lang/en-au.js | 8 + .../_source/plugins/indent/lang/en-ca.js | 8 + .../_source/plugins/indent/lang/en-gb.js | 8 + .../_source/plugins/indent/lang/en.js | 8 + .../_source/plugins/indent/lang/eo.js | 8 + .../_source/plugins/indent/lang/es.js | 8 + .../_source/plugins/indent/lang/et.js | 8 + .../_source/plugins/indent/lang/eu.js | 8 + .../_source/plugins/indent/lang/fa.js | 8 + .../_source/plugins/indent/lang/fi.js | 8 + .../_source/plugins/indent/lang/fo.js | 8 + .../_source/plugins/indent/lang/fr-ca.js | 8 + .../_source/plugins/indent/lang/fr.js | 8 + .../_source/plugins/indent/lang/gl.js | 8 + .../_source/plugins/indent/lang/gu.js | 8 + .../_source/plugins/indent/lang/he.js | 8 + .../_source/plugins/indent/lang/hi.js | 8 + .../_source/plugins/indent/lang/hr.js | 8 + .../_source/plugins/indent/lang/hu.js | 8 + .../_source/plugins/indent/lang/id.js | 8 + .../_source/plugins/indent/lang/is.js | 8 + .../_source/plugins/indent/lang/it.js | 8 + .../_source/plugins/indent/lang/ja.js | 8 + .../_source/plugins/indent/lang/ka.js | 8 + .../_source/plugins/indent/lang/km.js | 8 + .../_source/plugins/indent/lang/ko.js | 8 + .../_source/plugins/indent/lang/ku.js | 8 + .../_source/plugins/indent/lang/lt.js | 8 + .../_source/plugins/indent/lang/lv.js | 8 + .../_source/plugins/indent/lang/mk.js | 8 + .../_source/plugins/indent/lang/mn.js | 8 + .../_source/plugins/indent/lang/ms.js | 8 + .../_source/plugins/indent/lang/nb.js | 8 + .../_source/plugins/indent/lang/nl.js | 8 + .../_source/plugins/indent/lang/no.js | 8 + .../_source/plugins/indent/lang/pl.js | 8 + .../_source/plugins/indent/lang/pt-br.js | 8 + .../_source/plugins/indent/lang/pt.js | 8 + .../_source/plugins/indent/lang/ro.js | 8 + .../_source/plugins/indent/lang/ru.js | 8 + .../_source/plugins/indent/lang/si.js | 8 + .../_source/plugins/indent/lang/sk.js | 8 + .../_source/plugins/indent/lang/sl.js | 8 + .../_source/plugins/indent/lang/sq.js | 8 + .../_source/plugins/indent/lang/sr-latn.js | 8 + .../_source/plugins/indent/lang/sr.js | 8 + .../_source/plugins/indent/lang/sv.js | 8 + .../_source/plugins/indent/lang/th.js | 8 + .../_source/plugins/indent/lang/tr.js | 8 + .../_source/plugins/indent/lang/ug.js | 8 + .../_source/plugins/indent/lang/uk.js | 8 + .../_source/plugins/indent/lang/vi.js | 8 + .../_source/plugins/indent/lang/zh-cn.js | 8 + .../_source/plugins/indent/lang/zh.js | 8 + .../ckeditor/_source/plugins/indent/plugin.js | 925 ++- .../_source/plugins/indentblock/plugin.js | 309 + .../_source/plugins/indentlist/plugin.js | 298 + .../justify/icons/hidpi/justifyblock.png | Bin 0 -> 882 bytes .../justify/icons/hidpi/justifycenter.png | Bin 0 -> 1142 bytes .../justify/icons/hidpi/justifyleft.png | Bin 0 -> 1042 bytes .../justify/icons/hidpi/justifyright.png | Bin 0 -> 1048 bytes .../plugins/justify/icons/justifyblock.png | Bin 0 -> 496 bytes .../plugins/justify/icons/justifycenter.png | Bin 0 -> 609 bytes .../plugins/justify/icons/justifyleft.png | Bin 0 -> 558 bytes .../plugins/justify/icons/justifyright.png | Bin 0 -> 554 bytes .../_source/plugins/justify/lang/af.js | 10 + .../_source/plugins/justify/lang/ar.js | 10 + .../_source/plugins/justify/lang/bg.js | 10 + .../_source/plugins/justify/lang/bn.js | 10 + .../_source/plugins/justify/lang/bs.js | 10 + .../_source/plugins/justify/lang/ca.js | 10 + .../_source/plugins/justify/lang/cs.js | 10 + .../_source/plugins/justify/lang/cy.js | 10 + .../_source/plugins/justify/lang/da.js | 10 + .../_source/plugins/justify/lang/de.js | 10 + .../_source/plugins/justify/lang/el.js | 10 + .../_source/plugins/justify/lang/en-au.js | 10 + .../_source/plugins/justify/lang/en-ca.js | 10 + .../_source/plugins/justify/lang/en-gb.js | 10 + .../_source/plugins/justify/lang/en.js | 10 + .../_source/plugins/justify/lang/eo.js | 10 + .../_source/plugins/justify/lang/es.js | 10 + .../_source/plugins/justify/lang/et.js | 10 + .../_source/plugins/justify/lang/eu.js | 10 + .../_source/plugins/justify/lang/fa.js | 10 + .../_source/plugins/justify/lang/fi.js | 10 + .../_source/plugins/justify/lang/fo.js | 10 + .../_source/plugins/justify/lang/fr-ca.js | 10 + .../_source/plugins/justify/lang/fr.js | 10 + .../_source/plugins/justify/lang/gl.js | 10 + .../_source/plugins/justify/lang/gu.js | 10 + .../_source/plugins/justify/lang/he.js | 10 + .../_source/plugins/justify/lang/hi.js | 10 + .../_source/plugins/justify/lang/hr.js | 10 + .../_source/plugins/justify/lang/hu.js | 10 + .../_source/plugins/justify/lang/id.js | 10 + .../_source/plugins/justify/lang/is.js | 10 + .../_source/plugins/justify/lang/it.js | 10 + .../_source/plugins/justify/lang/ja.js | 10 + .../_source/plugins/justify/lang/ka.js | 10 + .../_source/plugins/justify/lang/km.js | 10 + .../_source/plugins/justify/lang/ko.js | 10 + .../_source/plugins/justify/lang/ku.js | 10 + .../_source/plugins/justify/lang/lt.js | 10 + .../_source/plugins/justify/lang/lv.js | 10 + .../_source/plugins/justify/lang/mk.js | 10 + .../_source/plugins/justify/lang/mn.js | 10 + .../_source/plugins/justify/lang/ms.js | 10 + .../_source/plugins/justify/lang/nb.js | 10 + .../_source/plugins/justify/lang/nl.js | 10 + .../_source/plugins/justify/lang/no.js | 10 + .../_source/plugins/justify/lang/pl.js | 10 + .../_source/plugins/justify/lang/pt-br.js | 10 + .../_source/plugins/justify/lang/pt.js | 10 + .../_source/plugins/justify/lang/ro.js | 10 + .../_source/plugins/justify/lang/ru.js | 10 + .../_source/plugins/justify/lang/si.js | 10 + .../_source/plugins/justify/lang/sk.js | 10 + .../_source/plugins/justify/lang/sl.js | 10 + .../_source/plugins/justify/lang/sq.js | 10 + .../_source/plugins/justify/lang/sr-latn.js | 10 + .../_source/plugins/justify/lang/sr.js | 10 + .../_source/plugins/justify/lang/sv.js | 10 + .../_source/plugins/justify/lang/th.js | 10 + .../_source/plugins/justify/lang/tr.js | 10 + .../_source/plugins/justify/lang/ug.js | 10 + .../_source/plugins/justify/lang/uk.js | 10 + .../_source/plugins/justify/lang/vi.js | 10 + .../_source/plugins/justify/lang/zh-cn.js | 10 + .../_source/plugins/justify/lang/zh.js | 10 + .../_source/plugins/justify/plugin.js | 492 +- .../_source/plugins/keystrokes/plugin.js | 225 - .../plugins/language/icons/hidpi/language.png | Bin 0 -> 1678 bytes .../plugins/language/icons/language.png | Bin 0 -> 668 bytes .../_source/plugins/language/lang/ca.js | 9 + .../_source/plugins/language/lang/cs.js | 9 + .../_source/plugins/language/lang/cy.js | 9 + .../_source/plugins/language/lang/el.js | 9 + .../_source/plugins/language/lang/en-gb.js | 9 + .../_source/plugins/language/lang/en.js | 9 + .../_source/plugins/language/lang/es.js | 9 + .../_source/plugins/language/lang/fa.js | 9 + .../_source/plugins/language/lang/fi.js | 9 + .../_source/plugins/language/lang/fr.js | 9 + .../_source/plugins/language/lang/gl.js | 9 + .../_source/plugins/language/lang/hu.js | 9 + .../_source/plugins/language/lang/ja.js | 9 + .../_source/plugins/language/lang/km.js | 9 + .../_source/plugins/language/lang/nb.js | 9 + .../_source/plugins/language/lang/nl.js | 9 + .../_source/plugins/language/lang/no.js | 9 + .../_source/plugins/language/lang/pl.js | 9 + .../_source/plugins/language/lang/pt-br.js | 9 + .../_source/plugins/language/lang/pt.js | 9 + .../_source/plugins/language/lang/ru.js | 9 + .../_source/plugins/language/lang/sl.js | 9 + .../_source/plugins/language/lang/sv.js | 9 + .../_source/plugins/language/lang/uk.js | 9 + .../_source/plugins/language/lang/zh-cn.js | 9 + .../_source/plugins/language/lang/zh.js | 9 + .../_source/plugins/language/plugin.js | 166 + .../_source/plugins/link/dialogs/anchor.js | 264 +- .../_source/plugins/link/dialogs/link.js | 2695 ++++--- .../_source/plugins/link/icons/anchor-rtl.png | Bin 0 -> 764 bytes .../_source/plugins/link/icons/anchor.png | Bin 0 -> 757 bytes .../plugins/link/icons/hidpi/anchor-rtl.png | Bin 0 -> 1654 bytes .../plugins/link/icons/hidpi/anchor.png | Bin 0 -> 1633 bytes .../_source/plugins/link/icons/hidpi/link.png | Bin 0 -> 1620 bytes .../plugins/link/icons/hidpi/unlink.png | Bin 0 -> 2209 bytes .../_source/plugins/link/icons/link.png | Bin 0 -> 656 bytes .../_source/plugins/link/icons/unlink.png | Bin 0 -> 812 bytes .../_source/plugins/link/images/anchor.gif | Bin 184 -> 0 bytes .../_source/plugins/link/images/anchor.png | Bin 0 -> 763 bytes .../plugins/link/images/hidpi/anchor.png | Bin 0 -> 1597 bytes .../ckeditor/_source/plugins/link/lang/af.js | 65 + .../ckeditor/_source/plugins/link/lang/ar.js | 65 + .../ckeditor/_source/plugins/link/lang/bg.js | 65 + .../ckeditor/_source/plugins/link/lang/bn.js | 65 + .../ckeditor/_source/plugins/link/lang/bs.js | 65 + .../ckeditor/_source/plugins/link/lang/ca.js | 65 + .../ckeditor/_source/plugins/link/lang/cs.js | 65 + .../ckeditor/_source/plugins/link/lang/cy.js | 65 + .../ckeditor/_source/plugins/link/lang/da.js | 65 + .../ckeditor/_source/plugins/link/lang/de.js | 65 + .../ckeditor/_source/plugins/link/lang/el.js | 65 + .../_source/plugins/link/lang/en-au.js | 65 + .../_source/plugins/link/lang/en-ca.js | 65 + .../_source/plugins/link/lang/en-gb.js | 65 + .../ckeditor/_source/plugins/link/lang/en.js | 65 + .../ckeditor/_source/plugins/link/lang/eo.js | 65 + .../ckeditor/_source/plugins/link/lang/es.js | 65 + .../ckeditor/_source/plugins/link/lang/et.js | 65 + .../ckeditor/_source/plugins/link/lang/eu.js | 65 + .../ckeditor/_source/plugins/link/lang/fa.js | 65 + .../ckeditor/_source/plugins/link/lang/fi.js | 65 + .../ckeditor/_source/plugins/link/lang/fo.js | 65 + .../_source/plugins/link/lang/fr-ca.js | 65 + .../ckeditor/_source/plugins/link/lang/fr.js | 65 + .../ckeditor/_source/plugins/link/lang/gl.js | 65 + .../ckeditor/_source/plugins/link/lang/gu.js | 65 + .../ckeditor/_source/plugins/link/lang/he.js | 65 + .../ckeditor/_source/plugins/link/lang/hi.js | 65 + .../ckeditor/_source/plugins/link/lang/hr.js | 65 + .../ckeditor/_source/plugins/link/lang/hu.js | 65 + .../ckeditor/_source/plugins/link/lang/id.js | 65 + .../ckeditor/_source/plugins/link/lang/is.js | 65 + .../ckeditor/_source/plugins/link/lang/it.js | 65 + .../ckeditor/_source/plugins/link/lang/ja.js | 65 + .../ckeditor/_source/plugins/link/lang/ka.js | 65 + .../ckeditor/_source/plugins/link/lang/km.js | 65 + .../ckeditor/_source/plugins/link/lang/ko.js | 65 + .../ckeditor/_source/plugins/link/lang/ku.js | 65 + .../ckeditor/_source/plugins/link/lang/lt.js | 65 + .../ckeditor/_source/plugins/link/lang/lv.js | 65 + .../ckeditor/_source/plugins/link/lang/mk.js | 65 + .../ckeditor/_source/plugins/link/lang/mn.js | 65 + .../ckeditor/_source/plugins/link/lang/ms.js | 65 + .../ckeditor/_source/plugins/link/lang/nb.js | 65 + .../ckeditor/_source/plugins/link/lang/nl.js | 65 + .../ckeditor/_source/plugins/link/lang/no.js | 65 + .../ckeditor/_source/plugins/link/lang/pl.js | 65 + .../_source/plugins/link/lang/pt-br.js | 65 + .../ckeditor/_source/plugins/link/lang/pt.js | 65 + .../ckeditor/_source/plugins/link/lang/ro.js | 65 + .../ckeditor/_source/plugins/link/lang/ru.js | 65 + .../ckeditor/_source/plugins/link/lang/si.js | 65 + .../ckeditor/_source/plugins/link/lang/sk.js | 65 + .../ckeditor/_source/plugins/link/lang/sl.js | 65 + .../ckeditor/_source/plugins/link/lang/sq.js | 65 + .../_source/plugins/link/lang/sr-latn.js | 65 + .../ckeditor/_source/plugins/link/lang/sr.js | 65 + .../ckeditor/_source/plugins/link/lang/sv.js | 65 + .../ckeditor/_source/plugins/link/lang/th.js | 65 + .../ckeditor/_source/plugins/link/lang/tr.js | 65 + .../ckeditor/_source/plugins/link/lang/ug.js | 65 + .../ckeditor/_source/plugins/link/lang/uk.js | 65 + .../ckeditor/_source/plugins/link/lang/vi.js | 65 + .../_source/plugins/link/lang/zh-cn.js | 65 + .../ckeditor/_source/plugins/link/lang/zh.js | 65 + .../ckeditor/_source/plugins/link/plugin.js | 795 +- .../plugins/list/icons/bulletedlist-rtl.png | Bin 0 -> 647 bytes .../plugins/list/icons/bulletedlist.png | Bin 0 -> 646 bytes .../list/icons/hidpi/bulletedlist-rtl.png | Bin 0 -> 1451 bytes .../plugins/list/icons/hidpi/bulletedlist.png | Bin 0 -> 1441 bytes .../list/icons/hidpi/numberedlist-rtl.png | Bin 0 -> 1248 bytes .../plugins/list/icons/hidpi/numberedlist.png | Bin 0 -> 1218 bytes .../plugins/list/icons/numberedlist-rtl.png | Bin 0 -> 666 bytes .../plugins/list/icons/numberedlist.png | Bin 0 -> 645 bytes .../ckeditor/_source/plugins/list/lang/af.js | 8 + .../ckeditor/_source/plugins/list/lang/ar.js | 8 + .../ckeditor/_source/plugins/list/lang/bg.js | 8 + .../ckeditor/_source/plugins/list/lang/bn.js | 8 + .../ckeditor/_source/plugins/list/lang/bs.js | 8 + .../ckeditor/_source/plugins/list/lang/ca.js | 8 + .../ckeditor/_source/plugins/list/lang/cs.js | 8 + .../ckeditor/_source/plugins/list/lang/cy.js | 8 + .../ckeditor/_source/plugins/list/lang/da.js | 8 + .../ckeditor/_source/plugins/list/lang/de.js | 8 + .../ckeditor/_source/plugins/list/lang/el.js | 8 + .../_source/plugins/list/lang/en-au.js | 8 + .../_source/plugins/list/lang/en-ca.js | 8 + .../_source/plugins/list/lang/en-gb.js | 8 + .../ckeditor/_source/plugins/list/lang/en.js | 8 + .../ckeditor/_source/plugins/list/lang/eo.js | 8 + .../ckeditor/_source/plugins/list/lang/es.js | 8 + .../ckeditor/_source/plugins/list/lang/et.js | 8 + .../ckeditor/_source/plugins/list/lang/eu.js | 8 + .../ckeditor/_source/plugins/list/lang/fa.js | 8 + .../ckeditor/_source/plugins/list/lang/fi.js | 8 + .../ckeditor/_source/plugins/list/lang/fo.js | 8 + .../_source/plugins/list/lang/fr-ca.js | 8 + .../ckeditor/_source/plugins/list/lang/fr.js | 8 + .../ckeditor/_source/plugins/list/lang/gl.js | 8 + .../ckeditor/_source/plugins/list/lang/gu.js | 8 + .../ckeditor/_source/plugins/list/lang/he.js | 8 + .../ckeditor/_source/plugins/list/lang/hi.js | 8 + .../ckeditor/_source/plugins/list/lang/hr.js | 8 + .../ckeditor/_source/plugins/list/lang/hu.js | 8 + .../ckeditor/_source/plugins/list/lang/id.js | 8 + .../ckeditor/_source/plugins/list/lang/is.js | 8 + .../ckeditor/_source/plugins/list/lang/it.js | 8 + .../ckeditor/_source/plugins/list/lang/ja.js | 8 + .../ckeditor/_source/plugins/list/lang/ka.js | 8 + .../ckeditor/_source/plugins/list/lang/km.js | 8 + .../ckeditor/_source/plugins/list/lang/ko.js | 8 + .../ckeditor/_source/plugins/list/lang/ku.js | 8 + .../ckeditor/_source/plugins/list/lang/lt.js | 8 + .../ckeditor/_source/plugins/list/lang/lv.js | 8 + .../ckeditor/_source/plugins/list/lang/mk.js | 8 + .../ckeditor/_source/plugins/list/lang/mn.js | 8 + .../ckeditor/_source/plugins/list/lang/ms.js | 8 + .../ckeditor/_source/plugins/list/lang/nb.js | 8 + .../ckeditor/_source/plugins/list/lang/nl.js | 8 + .../ckeditor/_source/plugins/list/lang/no.js | 8 + .../ckeditor/_source/plugins/list/lang/pl.js | 8 + .../_source/plugins/list/lang/pt-br.js | 8 + .../ckeditor/_source/plugins/list/lang/pt.js | 8 + .../ckeditor/_source/plugins/list/lang/ro.js | 8 + .../ckeditor/_source/plugins/list/lang/ru.js | 8 + .../ckeditor/_source/plugins/list/lang/si.js | 8 + .../ckeditor/_source/plugins/list/lang/sk.js | 8 + .../ckeditor/_source/plugins/list/lang/sl.js | 8 + .../ckeditor/_source/plugins/list/lang/sq.js | 8 + .../_source/plugins/list/lang/sr-latn.js | 8 + .../ckeditor/_source/plugins/list/lang/sr.js | 8 + .../ckeditor/_source/plugins/list/lang/sv.js | 8 + .../ckeditor/_source/plugins/list/lang/th.js | 8 + .../ckeditor/_source/plugins/list/lang/tr.js | 8 + .../ckeditor/_source/plugins/list/lang/ug.js | 8 + .../ckeditor/_source/plugins/list/lang/uk.js | 8 + .../ckeditor/_source/plugins/list/lang/vi.js | 8 + .../_source/plugins/list/lang/zh-cn.js | 8 + .../ckeditor/_source/plugins/list/lang/zh.js | 8 + .../ckeditor/_source/plugins/list/plugin.js | 2070 +++--- .../_source/plugins/listblock/plugin.js | 500 +- .../plugins/liststyle/dialogs/liststyle.js | 424 +- .../_source/plugins/liststyle/lang/af.js | 25 + .../_source/plugins/liststyle/lang/ar.js | 25 + .../_source/plugins/liststyle/lang/bg.js | 25 + .../_source/plugins/liststyle/lang/bn.js | 25 + .../_source/plugins/liststyle/lang/bs.js | 25 + .../_source/plugins/liststyle/lang/ca.js | 25 + .../_source/plugins/liststyle/lang/cs.js | 25 + .../_source/plugins/liststyle/lang/cy.js | 25 + .../_source/plugins/liststyle/lang/da.js | 25 + .../_source/plugins/liststyle/lang/de.js | 25 + .../_source/plugins/liststyle/lang/el.js | 25 + .../_source/plugins/liststyle/lang/en-au.js | 25 + .../_source/plugins/liststyle/lang/en-ca.js | 25 + .../_source/plugins/liststyle/lang/en-gb.js | 25 + .../_source/plugins/liststyle/lang/en.js | 25 + .../_source/plugins/liststyle/lang/eo.js | 25 + .../_source/plugins/liststyle/lang/es.js | 25 + .../_source/plugins/liststyle/lang/et.js | 25 + .../_source/plugins/liststyle/lang/eu.js | 25 + .../_source/plugins/liststyle/lang/fa.js | 25 + .../_source/plugins/liststyle/lang/fi.js | 25 + .../_source/plugins/liststyle/lang/fo.js | 25 + .../_source/plugins/liststyle/lang/fr-ca.js | 25 + .../_source/plugins/liststyle/lang/fr.js | 25 + .../_source/plugins/liststyle/lang/gl.js | 25 + .../_source/plugins/liststyle/lang/gu.js | 25 + .../_source/plugins/liststyle/lang/he.js | 25 + .../_source/plugins/liststyle/lang/hi.js | 25 + .../_source/plugins/liststyle/lang/hr.js | 25 + .../_source/plugins/liststyle/lang/hu.js | 25 + .../_source/plugins/liststyle/lang/id.js | 25 + .../_source/plugins/liststyle/lang/is.js | 25 + .../_source/plugins/liststyle/lang/it.js | 25 + .../_source/plugins/liststyle/lang/ja.js | 25 + .../_source/plugins/liststyle/lang/ka.js | 25 + .../_source/plugins/liststyle/lang/km.js | 25 + .../_source/plugins/liststyle/lang/ko.js | 25 + .../_source/plugins/liststyle/lang/ku.js | 25 + .../_source/plugins/liststyle/lang/lt.js | 25 + .../_source/plugins/liststyle/lang/lv.js | 25 + .../_source/plugins/liststyle/lang/mk.js | 25 + .../_source/plugins/liststyle/lang/mn.js | 25 + .../_source/plugins/liststyle/lang/ms.js | 25 + .../_source/plugins/liststyle/lang/nb.js | 25 + .../_source/plugins/liststyle/lang/nl.js | 25 + .../_source/plugins/liststyle/lang/no.js | 25 + .../_source/plugins/liststyle/lang/pl.js | 25 + .../_source/plugins/liststyle/lang/pt-br.js | 25 + .../_source/plugins/liststyle/lang/pt.js | 25 + .../_source/plugins/liststyle/lang/ro.js | 25 + .../_source/plugins/liststyle/lang/ru.js | 25 + .../_source/plugins/liststyle/lang/si.js | 25 + .../_source/plugins/liststyle/lang/sk.js | 25 + .../_source/plugins/liststyle/lang/sl.js | 25 + .../_source/plugins/liststyle/lang/sq.js | 25 + .../_source/plugins/liststyle/lang/sr-latn.js | 25 + .../_source/plugins/liststyle/lang/sr.js | 25 + .../_source/plugins/liststyle/lang/sv.js | 25 + .../_source/plugins/liststyle/lang/th.js | 25 + .../_source/plugins/liststyle/lang/tr.js | 25 + .../_source/plugins/liststyle/lang/ug.js | 25 + .../_source/plugins/liststyle/lang/uk.js | 25 + .../_source/plugins/liststyle/lang/vi.js | 25 + .../_source/plugins/liststyle/lang/zh-cn.js | 25 + .../_source/plugins/liststyle/lang/zh.js | 25 + .../_source/plugins/liststyle/plugin.js | 133 +- .../plugins/magicline/dev/magicline.html | 594 ++ .../plugins/magicline/images/hidpi/icon.png | Bin 0 -> 260 bytes .../_source/plugins/magicline/images/icon.png | Bin 0 -> 172 bytes .../_source/plugins/magicline/lang/ar.js | 8 + .../_source/plugins/magicline/lang/bg.js | 8 + .../_source/plugins/magicline/lang/ca.js | 8 + .../_source/plugins/magicline/lang/cs.js | 8 + .../_source/plugins/magicline/lang/cy.js | 8 + .../_source/plugins/magicline/lang/de.js | 8 + .../_source/plugins/magicline/lang/el.js | 8 + .../_source/plugins/magicline/lang/en-gb.js | 8 + .../_source/plugins/magicline/lang/en.js | 8 + .../_source/plugins/magicline/lang/eo.js | 8 + .../_source/plugins/magicline/lang/es.js | 8 + .../_source/plugins/magicline/lang/et.js | 8 + .../_source/plugins/magicline/lang/eu.js | 8 + .../_source/plugins/magicline/lang/fa.js | 8 + .../_source/plugins/magicline/lang/fi.js | 8 + .../_source/plugins/magicline/lang/fr-ca.js | 8 + .../_source/plugins/magicline/lang/fr.js | 8 + .../_source/plugins/magicline/lang/gl.js | 8 + .../_source/plugins/magicline/lang/he.js | 8 + .../_source/plugins/magicline/lang/hr.js | 8 + .../_source/plugins/magicline/lang/hu.js | 8 + .../_source/plugins/magicline/lang/id.js | 8 + .../_source/plugins/magicline/lang/it.js | 8 + .../_source/plugins/magicline/lang/ja.js | 8 + .../_source/plugins/magicline/lang/km.js | 8 + .../_source/plugins/magicline/lang/ko.js | 8 + .../_source/plugins/magicline/lang/ku.js | 8 + .../_source/plugins/magicline/lang/lv.js | 8 + .../_source/plugins/magicline/lang/nb.js | 8 + .../_source/plugins/magicline/lang/nl.js | 8 + .../_source/plugins/magicline/lang/no.js | 8 + .../_source/plugins/magicline/lang/pl.js | 8 + .../_source/plugins/magicline/lang/pt-br.js | 8 + .../_source/plugins/magicline/lang/pt.js | 8 + .../_source/plugins/magicline/lang/ru.js | 8 + .../_source/plugins/magicline/lang/si.js | 8 + .../_source/plugins/magicline/lang/sk.js | 8 + .../_source/plugins/magicline/lang/sl.js | 8 + .../_source/plugins/magicline/lang/sq.js | 8 + .../_source/plugins/magicline/lang/sv.js | 8 + .../_source/plugins/magicline/lang/tr.js | 8 + .../_source/plugins/magicline/lang/ug.js | 8 + .../_source/plugins/magicline/lang/uk.js | 8 + .../_source/plugins/magicline/lang/vi.js | 8 + .../_source/plugins/magicline/lang/zh-cn.js | 8 + .../_source/plugins/magicline/lang/zh.js | 8 + .../_source/plugins/magicline/plugin.js | 1838 +++++ .../plugins/magicline/samples/magicline.html | 206 + .../plugins/maximize/icons/hidpi/maximize.png | Bin 0 -> 2462 bytes .../plugins/maximize/icons/maximize.png | Bin 0 -> 921 bytes .../_source/plugins/maximize/lang/af.js | 8 + .../_source/plugins/maximize/lang/ar.js | 8 + .../_source/plugins/maximize/lang/bg.js | 8 + .../_source/plugins/maximize/lang/bn.js | 8 + .../_source/plugins/maximize/lang/bs.js | 8 + .../_source/plugins/maximize/lang/ca.js | 8 + .../_source/plugins/maximize/lang/cs.js | 8 + .../_source/plugins/maximize/lang/cy.js | 8 + .../_source/plugins/maximize/lang/da.js | 8 + .../_source/plugins/maximize/lang/de.js | 8 + .../_source/plugins/maximize/lang/el.js | 8 + .../_source/plugins/maximize/lang/en-au.js | 8 + .../_source/plugins/maximize/lang/en-ca.js | 8 + .../_source/plugins/maximize/lang/en-gb.js | 8 + .../_source/plugins/maximize/lang/en.js | 8 + .../_source/plugins/maximize/lang/eo.js | 8 + .../_source/plugins/maximize/lang/es.js | 8 + .../_source/plugins/maximize/lang/et.js | 8 + .../_source/plugins/maximize/lang/eu.js | 8 + .../_source/plugins/maximize/lang/fa.js | 8 + .../_source/plugins/maximize/lang/fi.js | 8 + .../_source/plugins/maximize/lang/fo.js | 8 + .../_source/plugins/maximize/lang/fr-ca.js | 8 + .../_source/plugins/maximize/lang/fr.js | 8 + .../_source/plugins/maximize/lang/gl.js | 8 + .../_source/plugins/maximize/lang/gu.js | 8 + .../_source/plugins/maximize/lang/he.js | 8 + .../_source/plugins/maximize/lang/hi.js | 8 + .../_source/plugins/maximize/lang/hr.js | 8 + .../_source/plugins/maximize/lang/hu.js | 8 + .../_source/plugins/maximize/lang/id.js | 8 + .../_source/plugins/maximize/lang/is.js | 8 + .../_source/plugins/maximize/lang/it.js | 8 + .../_source/plugins/maximize/lang/ja.js | 8 + .../_source/plugins/maximize/lang/ka.js | 8 + .../_source/plugins/maximize/lang/km.js | 8 + .../_source/plugins/maximize/lang/ko.js | 8 + .../_source/plugins/maximize/lang/ku.js | 8 + .../_source/plugins/maximize/lang/lt.js | 8 + .../_source/plugins/maximize/lang/lv.js | 8 + .../_source/plugins/maximize/lang/mk.js | 8 + .../_source/plugins/maximize/lang/mn.js | 8 + .../_source/plugins/maximize/lang/ms.js | 8 + .../_source/plugins/maximize/lang/nb.js | 8 + .../_source/plugins/maximize/lang/nl.js | 8 + .../_source/plugins/maximize/lang/no.js | 8 + .../_source/plugins/maximize/lang/pl.js | 8 + .../_source/plugins/maximize/lang/pt-br.js | 8 + .../_source/plugins/maximize/lang/pt.js | 8 + .../_source/plugins/maximize/lang/ro.js | 8 + .../_source/plugins/maximize/lang/ru.js | 8 + .../_source/plugins/maximize/lang/si.js | 8 + .../_source/plugins/maximize/lang/sk.js | 8 + .../_source/plugins/maximize/lang/sl.js | 8 + .../_source/plugins/maximize/lang/sq.js | 8 + .../_source/plugins/maximize/lang/sr-latn.js | 8 + .../_source/plugins/maximize/lang/sr.js | 8 + .../_source/plugins/maximize/lang/sv.js | 8 + .../_source/plugins/maximize/lang/th.js | 8 + .../_source/plugins/maximize/lang/tr.js | 8 + .../_source/plugins/maximize/lang/ug.js | 8 + .../_source/plugins/maximize/lang/uk.js | 8 + .../_source/plugins/maximize/lang/vi.js | 8 + .../_source/plugins/maximize/lang/zh-cn.js | 8 + .../_source/plugins/maximize/lang/zh.js | 8 + .../_source/plugins/maximize/plugin.js | 658 +- .../ckeditor/_source/plugins/menu/plugin.js | 1087 +-- .../_source/plugins/menubutton/plugin.js | 200 +- .../newpage/icons/hidpi/newpage-rtl.png | Bin 0 -> 1070 bytes .../plugins/newpage/icons/hidpi/newpage.png | Bin 0 -> 1112 bytes .../plugins/newpage/icons/newpage-rtl.png | Bin 0 -> 575 bytes .../_source/plugins/newpage/icons/newpage.png | Bin 0 -> 580 bytes .../_source/plugins/newpage/lang/af.js | 7 + .../_source/plugins/newpage/lang/ar.js | 7 + .../_source/plugins/newpage/lang/bg.js | 7 + .../_source/plugins/newpage/lang/bn.js | 7 + .../_source/plugins/newpage/lang/bs.js | 7 + .../_source/plugins/newpage/lang/ca.js | 7 + .../_source/plugins/newpage/lang/cs.js | 7 + .../_source/plugins/newpage/lang/cy.js | 7 + .../_source/plugins/newpage/lang/da.js | 7 + .../_source/plugins/newpage/lang/de.js | 7 + .../_source/plugins/newpage/lang/el.js | 7 + .../_source/plugins/newpage/lang/en-au.js | 7 + .../_source/plugins/newpage/lang/en-ca.js | 7 + .../_source/plugins/newpage/lang/en-gb.js | 7 + .../_source/plugins/newpage/lang/en.js | 7 + .../_source/plugins/newpage/lang/eo.js | 7 + .../_source/plugins/newpage/lang/es.js | 7 + .../_source/plugins/newpage/lang/et.js | 7 + .../_source/plugins/newpage/lang/eu.js | 7 + .../_source/plugins/newpage/lang/fa.js | 7 + .../_source/plugins/newpage/lang/fi.js | 7 + .../_source/plugins/newpage/lang/fo.js | 7 + .../_source/plugins/newpage/lang/fr-ca.js | 7 + .../_source/plugins/newpage/lang/fr.js | 7 + .../_source/plugins/newpage/lang/gl.js | 7 + .../_source/plugins/newpage/lang/gu.js | 7 + .../_source/plugins/newpage/lang/he.js | 7 + .../_source/plugins/newpage/lang/hi.js | 7 + .../_source/plugins/newpage/lang/hr.js | 7 + .../_source/plugins/newpage/lang/hu.js | 7 + .../_source/plugins/newpage/lang/id.js | 7 + .../_source/plugins/newpage/lang/is.js | 7 + .../_source/plugins/newpage/lang/it.js | 7 + .../_source/plugins/newpage/lang/ja.js | 7 + .../_source/plugins/newpage/lang/ka.js | 7 + .../_source/plugins/newpage/lang/km.js | 7 + .../_source/plugins/newpage/lang/ko.js | 7 + .../_source/plugins/newpage/lang/ku.js | 7 + .../_source/plugins/newpage/lang/lt.js | 7 + .../_source/plugins/newpage/lang/lv.js | 7 + .../_source/plugins/newpage/lang/mk.js | 7 + .../_source/plugins/newpage/lang/mn.js | 7 + .../_source/plugins/newpage/lang/ms.js | 7 + .../_source/plugins/newpage/lang/nb.js | 7 + .../_source/plugins/newpage/lang/nl.js | 7 + .../_source/plugins/newpage/lang/no.js | 7 + .../_source/plugins/newpage/lang/pl.js | 7 + .../_source/plugins/newpage/lang/pt-br.js | 7 + .../_source/plugins/newpage/lang/pt.js | 7 + .../_source/plugins/newpage/lang/ro.js | 7 + .../_source/plugins/newpage/lang/ru.js | 7 + .../_source/plugins/newpage/lang/si.js | 7 + .../_source/plugins/newpage/lang/sk.js | 7 + .../_source/plugins/newpage/lang/sl.js | 7 + .../_source/plugins/newpage/lang/sq.js | 7 + .../_source/plugins/newpage/lang/sr-latn.js | 7 + .../_source/plugins/newpage/lang/sr.js | 7 + .../_source/plugins/newpage/lang/sv.js | 7 + .../_source/plugins/newpage/lang/th.js | 7 + .../_source/plugins/newpage/lang/tr.js | 7 + .../_source/plugins/newpage/lang/ug.js | 7 + .../_source/plugins/newpage/lang/uk.js | 7 + .../_source/plugins/newpage/lang/vi.js | 7 + .../_source/plugins/newpage/lang/zh-cn.js | 7 + .../_source/plugins/newpage/lang/zh.js | 7 + .../_source/plugins/newpage/plugin.js | 106 +- .../pagebreak/icons/hidpi/pagebreak-rtl.png | Bin 0 -> 1318 bytes .../pagebreak/icons/hidpi/pagebreak.png | Bin 0 -> 1299 bytes .../plugins/pagebreak/icons/pagebreak-rtl.png | Bin 0 -> 629 bytes .../plugins/pagebreak/icons/pagebreak.png | Bin 0 -> 602 bytes .../_source/plugins/pagebreak/lang/af.js | 8 + .../_source/plugins/pagebreak/lang/ar.js | 8 + .../_source/plugins/pagebreak/lang/bg.js | 8 + .../_source/plugins/pagebreak/lang/bn.js | 8 + .../_source/plugins/pagebreak/lang/bs.js | 8 + .../_source/plugins/pagebreak/lang/ca.js | 8 + .../_source/plugins/pagebreak/lang/cs.js | 8 + .../_source/plugins/pagebreak/lang/cy.js | 8 + .../_source/plugins/pagebreak/lang/da.js | 8 + .../_source/plugins/pagebreak/lang/de.js | 8 + .../_source/plugins/pagebreak/lang/el.js | 8 + .../_source/plugins/pagebreak/lang/en-au.js | 8 + .../_source/plugins/pagebreak/lang/en-ca.js | 8 + .../_source/plugins/pagebreak/lang/en-gb.js | 8 + .../_source/plugins/pagebreak/lang/en.js | 8 + .../_source/plugins/pagebreak/lang/eo.js | 8 + .../_source/plugins/pagebreak/lang/es.js | 8 + .../_source/plugins/pagebreak/lang/et.js | 8 + .../_source/plugins/pagebreak/lang/eu.js | 8 + .../_source/plugins/pagebreak/lang/fa.js | 8 + .../_source/plugins/pagebreak/lang/fi.js | 8 + .../_source/plugins/pagebreak/lang/fo.js | 8 + .../_source/plugins/pagebreak/lang/fr-ca.js | 8 + .../_source/plugins/pagebreak/lang/fr.js | 8 + .../_source/plugins/pagebreak/lang/gl.js | 8 + .../_source/plugins/pagebreak/lang/gu.js | 8 + .../_source/plugins/pagebreak/lang/he.js | 8 + .../_source/plugins/pagebreak/lang/hi.js | 8 + .../_source/plugins/pagebreak/lang/hr.js | 8 + .../_source/plugins/pagebreak/lang/hu.js | 8 + .../_source/plugins/pagebreak/lang/id.js | 8 + .../_source/plugins/pagebreak/lang/is.js | 8 + .../_source/plugins/pagebreak/lang/it.js | 8 + .../_source/plugins/pagebreak/lang/ja.js | 8 + .../_source/plugins/pagebreak/lang/ka.js | 8 + .../_source/plugins/pagebreak/lang/km.js | 8 + .../_source/plugins/pagebreak/lang/ko.js | 8 + .../_source/plugins/pagebreak/lang/ku.js | 8 + .../_source/plugins/pagebreak/lang/lt.js | 8 + .../_source/plugins/pagebreak/lang/lv.js | 8 + .../_source/plugins/pagebreak/lang/mk.js | 8 + .../_source/plugins/pagebreak/lang/mn.js | 8 + .../_source/plugins/pagebreak/lang/ms.js | 8 + .../_source/plugins/pagebreak/lang/nb.js | 8 + .../_source/plugins/pagebreak/lang/nl.js | 8 + .../_source/plugins/pagebreak/lang/no.js | 8 + .../_source/plugins/pagebreak/lang/pl.js | 8 + .../_source/plugins/pagebreak/lang/pt-br.js | 8 + .../_source/plugins/pagebreak/lang/pt.js | 8 + .../_source/plugins/pagebreak/lang/ro.js | 8 + .../_source/plugins/pagebreak/lang/ru.js | 8 + .../_source/plugins/pagebreak/lang/si.js | 8 + .../_source/plugins/pagebreak/lang/sk.js | 8 + .../_source/plugins/pagebreak/lang/sl.js | 8 + .../_source/plugins/pagebreak/lang/sq.js | 8 + .../_source/plugins/pagebreak/lang/sr-latn.js | 8 + .../_source/plugins/pagebreak/lang/sr.js | 8 + .../_source/plugins/pagebreak/lang/sv.js | 8 + .../_source/plugins/pagebreak/lang/th.js | 8 + .../_source/plugins/pagebreak/lang/tr.js | 8 + .../_source/plugins/pagebreak/lang/ug.js | 8 + .../_source/plugins/pagebreak/lang/uk.js | 8 + .../_source/plugins/pagebreak/lang/vi.js | 8 + .../_source/plugins/pagebreak/lang/zh-cn.js | 8 + .../_source/plugins/pagebreak/lang/zh.js | 8 + .../_source/plugins/pagebreak/plugin.js | 322 +- .../ckeditor/_source/plugins/panel/plugin.js | 798 +- .../_source/plugins/panelbutton/plugin.js | 282 +- .../plugins/pastefromword/filter/default.js | 2577 +++---- .../icons/hidpi/pastefromword-rtl.png | Bin 0 -> 2090 bytes .../icons/hidpi/pastefromword.png | Bin 0 -> 2105 bytes .../pastefromword/icons/pastefromword-rtl.png | Bin 0 -> 720 bytes .../pastefromword/icons/pastefromword.png | Bin 0 -> 723 bytes .../_source/plugins/pastefromword/lang/af.js | 10 + .../_source/plugins/pastefromword/lang/ar.js | 10 + .../_source/plugins/pastefromword/lang/bg.js | 10 + .../_source/plugins/pastefromword/lang/bn.js | 10 + .../_source/plugins/pastefromword/lang/bs.js | 10 + .../_source/plugins/pastefromword/lang/ca.js | 10 + .../_source/plugins/pastefromword/lang/cs.js | 10 + .../_source/plugins/pastefromword/lang/cy.js | 10 + .../_source/plugins/pastefromword/lang/da.js | 10 + .../_source/plugins/pastefromword/lang/de.js | 10 + .../_source/plugins/pastefromword/lang/el.js | 10 + .../plugins/pastefromword/lang/en-au.js | 10 + .../plugins/pastefromword/lang/en-ca.js | 10 + .../plugins/pastefromword/lang/en-gb.js | 10 + .../_source/plugins/pastefromword/lang/en.js | 10 + .../_source/plugins/pastefromword/lang/eo.js | 10 + .../_source/plugins/pastefromword/lang/es.js | 10 + .../_source/plugins/pastefromword/lang/et.js | 10 + .../_source/plugins/pastefromword/lang/eu.js | 10 + .../_source/plugins/pastefromword/lang/fa.js | 10 + .../_source/plugins/pastefromword/lang/fi.js | 10 + .../_source/plugins/pastefromword/lang/fo.js | 10 + .../plugins/pastefromword/lang/fr-ca.js | 10 + .../_source/plugins/pastefromword/lang/fr.js | 10 + .../_source/plugins/pastefromword/lang/gl.js | 10 + .../_source/plugins/pastefromword/lang/gu.js | 10 + .../_source/plugins/pastefromword/lang/he.js | 10 + .../_source/plugins/pastefromword/lang/hi.js | 10 + .../_source/plugins/pastefromword/lang/hr.js | 10 + .../_source/plugins/pastefromword/lang/hu.js | 10 + .../_source/plugins/pastefromword/lang/id.js | 10 + .../_source/plugins/pastefromword/lang/is.js | 10 + .../_source/plugins/pastefromword/lang/it.js | 10 + .../_source/plugins/pastefromword/lang/ja.js | 10 + .../_source/plugins/pastefromword/lang/ka.js | 10 + .../_source/plugins/pastefromword/lang/km.js | 10 + .../_source/plugins/pastefromword/lang/ko.js | 10 + .../_source/plugins/pastefromword/lang/ku.js | 10 + .../_source/plugins/pastefromword/lang/lt.js | 10 + .../_source/plugins/pastefromword/lang/lv.js | 10 + .../_source/plugins/pastefromword/lang/mk.js | 10 + .../_source/plugins/pastefromword/lang/mn.js | 10 + .../_source/plugins/pastefromword/lang/ms.js | 10 + .../_source/plugins/pastefromword/lang/nb.js | 10 + .../_source/plugins/pastefromword/lang/nl.js | 10 + .../_source/plugins/pastefromword/lang/no.js | 10 + .../_source/plugins/pastefromword/lang/pl.js | 10 + .../plugins/pastefromword/lang/pt-br.js | 10 + .../_source/plugins/pastefromword/lang/pt.js | 10 + .../_source/plugins/pastefromword/lang/ro.js | 10 + .../_source/plugins/pastefromword/lang/ru.js | 10 + .../_source/plugins/pastefromword/lang/si.js | 10 + .../_source/plugins/pastefromword/lang/sk.js | 10 + .../_source/plugins/pastefromword/lang/sl.js | 10 + .../_source/plugins/pastefromword/lang/sq.js | 10 + .../plugins/pastefromword/lang/sr-latn.js | 10 + .../_source/plugins/pastefromword/lang/sr.js | 10 + .../_source/plugins/pastefromword/lang/sv.js | 10 + .../_source/plugins/pastefromword/lang/th.js | 10 + .../_source/plugins/pastefromword/lang/tr.js | 10 + .../_source/plugins/pastefromword/lang/ug.js | 10 + .../_source/plugins/pastefromword/lang/uk.js | 10 + .../_source/plugins/pastefromword/lang/vi.js | 10 + .../plugins/pastefromword/lang/zh-cn.js | 10 + .../_source/plugins/pastefromword/lang/zh.js | 10 + .../_source/plugins/pastefromword/plugin.js | 286 +- .../plugins/pastetext/dialogs/pastetext.js | 67 - .../pastetext/icons/hidpi/pastetext-rtl.png | Bin 0 -> 1950 bytes .../pastetext/icons/hidpi/pastetext.png | Bin 0 -> 1963 bytes .../plugins/pastetext/icons/pastetext-rtl.png | Bin 0 -> 752 bytes .../plugins/pastetext/icons/pastetext.png | Bin 0 -> 750 bytes .../_source/plugins/pastetext/lang/af.js | 8 + .../_source/plugins/pastetext/lang/ar.js | 8 + .../_source/plugins/pastetext/lang/bg.js | 8 + .../_source/plugins/pastetext/lang/bn.js | 8 + .../_source/plugins/pastetext/lang/bs.js | 8 + .../_source/plugins/pastetext/lang/ca.js | 8 + .../_source/plugins/pastetext/lang/cs.js | 8 + .../_source/plugins/pastetext/lang/cy.js | 8 + .../_source/plugins/pastetext/lang/da.js | 8 + .../_source/plugins/pastetext/lang/de.js | 8 + .../_source/plugins/pastetext/lang/el.js | 8 + .../_source/plugins/pastetext/lang/en-au.js | 8 + .../_source/plugins/pastetext/lang/en-ca.js | 8 + .../_source/plugins/pastetext/lang/en-gb.js | 8 + .../_source/plugins/pastetext/lang/en.js | 8 + .../_source/plugins/pastetext/lang/eo.js | 8 + .../_source/plugins/pastetext/lang/es.js | 8 + .../_source/plugins/pastetext/lang/et.js | 8 + .../_source/plugins/pastetext/lang/eu.js | 8 + .../_source/plugins/pastetext/lang/fa.js | 8 + .../_source/plugins/pastetext/lang/fi.js | 8 + .../_source/plugins/pastetext/lang/fo.js | 8 + .../_source/plugins/pastetext/lang/fr-ca.js | 8 + .../_source/plugins/pastetext/lang/fr.js | 8 + .../_source/plugins/pastetext/lang/gl.js | 8 + .../_source/plugins/pastetext/lang/gu.js | 8 + .../_source/plugins/pastetext/lang/he.js | 8 + .../_source/plugins/pastetext/lang/hi.js | 8 + .../_source/plugins/pastetext/lang/hr.js | 8 + .../_source/plugins/pastetext/lang/hu.js | 8 + .../_source/plugins/pastetext/lang/id.js | 8 + .../_source/plugins/pastetext/lang/is.js | 8 + .../_source/plugins/pastetext/lang/it.js | 8 + .../_source/plugins/pastetext/lang/ja.js | 8 + .../_source/plugins/pastetext/lang/ka.js | 8 + .../_source/plugins/pastetext/lang/km.js | 8 + .../_source/plugins/pastetext/lang/ko.js | 8 + .../_source/plugins/pastetext/lang/ku.js | 8 + .../_source/plugins/pastetext/lang/lt.js | 8 + .../_source/plugins/pastetext/lang/lv.js | 8 + .../_source/plugins/pastetext/lang/mk.js | 8 + .../_source/plugins/pastetext/lang/mn.js | 8 + .../_source/plugins/pastetext/lang/ms.js | 8 + .../_source/plugins/pastetext/lang/nb.js | 8 + .../_source/plugins/pastetext/lang/nl.js | 8 + .../_source/plugins/pastetext/lang/no.js | 8 + .../_source/plugins/pastetext/lang/pl.js | 8 + .../_source/plugins/pastetext/lang/pt-br.js | 8 + .../_source/plugins/pastetext/lang/pt.js | 8 + .../_source/plugins/pastetext/lang/ro.js | 8 + .../_source/plugins/pastetext/lang/ru.js | 8 + .../_source/plugins/pastetext/lang/si.js | 8 + .../_source/plugins/pastetext/lang/sk.js | 8 + .../_source/plugins/pastetext/lang/sl.js | 8 + .../_source/plugins/pastetext/lang/sq.js | 8 + .../_source/plugins/pastetext/lang/sr-latn.js | 8 + .../_source/plugins/pastetext/lang/sr.js | 8 + .../_source/plugins/pastetext/lang/sv.js | 8 + .../_source/plugins/pastetext/lang/th.js | 8 + .../_source/plugins/pastetext/lang/tr.js | 8 + .../_source/plugins/pastetext/lang/ug.js | 8 + .../_source/plugins/pastetext/lang/uk.js | 8 + .../_source/plugins/pastetext/lang/vi.js | 8 + .../_source/plugins/pastetext/lang/zh-cn.js | 8 + .../_source/plugins/pastetext/lang/zh.js | 8 + .../_source/plugins/pastetext/plugin.js | 174 +- .../placeholder/dialogs/placeholder.js | 71 - .../placeholder/lang/_translationstatus.txt | 27 - .../_source/plugins/placeholder/lang/bg.js | 16 - .../_source/plugins/placeholder/lang/cs.js | 16 - .../_source/plugins/placeholder/lang/cy.js | 16 - .../_source/plugins/placeholder/lang/da.js | 16 - .../_source/plugins/placeholder/lang/de.js | 16 - .../_source/plugins/placeholder/lang/el.js | 16 - .../_source/plugins/placeholder/lang/en.js | 16 - .../_source/plugins/placeholder/lang/eo.js | 16 - .../_source/plugins/placeholder/lang/et.js | 16 - .../_source/plugins/placeholder/lang/fa.js | 16 - .../_source/plugins/placeholder/lang/fi.js | 16 - .../_source/plugins/placeholder/lang/fr.js | 16 - .../_source/plugins/placeholder/lang/he.js | 16 - .../_source/plugins/placeholder/lang/hr.js | 16 - .../_source/plugins/placeholder/lang/it.js | 16 - .../_source/plugins/placeholder/lang/nb.js | 16 - .../_source/plugins/placeholder/lang/nl.js | 16 - .../_source/plugins/placeholder/lang/no.js | 16 - .../_source/plugins/placeholder/lang/pl.js | 16 - .../_source/plugins/placeholder/lang/pt-br.js | 16 - .../_source/plugins/placeholder/lang/tr.js | 16 - .../_source/plugins/placeholder/lang/ug.js | 16 - .../_source/plugins/placeholder/lang/uk.js | 16 - .../_source/plugins/placeholder/lang/vi.js | 16 - .../_source/plugins/placeholder/lang/zh-cn.js | 16 - .../plugins/placeholder/placeholder.gif | Bin 96 -> 0 bytes .../_source/plugins/placeholder/plugin.js | 171 - .../ckeditor/_source/plugins/popup/plugin.js | 134 +- .../preview/icons/hidpi/preview-rtl.png | Bin 0 -> 2145 bytes .../plugins/preview/icons/hidpi/preview.png | Bin 0 -> 2204 bytes .../plugins/preview/icons/preview-rtl.png | Bin 0 -> 850 bytes .../_source/plugins/preview/icons/preview.png | Bin 0 -> 855 bytes .../_source/plugins/preview/lang/af.js | 7 + .../_source/plugins/preview/lang/ar.js | 7 + .../_source/plugins/preview/lang/bg.js | 7 + .../_source/plugins/preview/lang/bn.js | 7 + .../_source/plugins/preview/lang/bs.js | 7 + .../_source/plugins/preview/lang/ca.js | 7 + .../_source/plugins/preview/lang/cs.js | 7 + .../_source/plugins/preview/lang/cy.js | 7 + .../_source/plugins/preview/lang/da.js | 7 + .../_source/plugins/preview/lang/de.js | 7 + .../_source/plugins/preview/lang/el.js | 7 + .../_source/plugins/preview/lang/en-au.js | 7 + .../_source/plugins/preview/lang/en-ca.js | 7 + .../_source/plugins/preview/lang/en-gb.js | 7 + .../_source/plugins/preview/lang/en.js | 7 + .../_source/plugins/preview/lang/eo.js | 7 + .../_source/plugins/preview/lang/es.js | 7 + .../_source/plugins/preview/lang/et.js | 7 + .../_source/plugins/preview/lang/eu.js | 7 + .../_source/plugins/preview/lang/fa.js | 7 + .../_source/plugins/preview/lang/fi.js | 7 + .../_source/plugins/preview/lang/fo.js | 7 + .../_source/plugins/preview/lang/fr-ca.js | 7 + .../_source/plugins/preview/lang/fr.js | 7 + .../_source/plugins/preview/lang/gl.js | 7 + .../_source/plugins/preview/lang/gu.js | 7 + .../_source/plugins/preview/lang/he.js | 7 + .../_source/plugins/preview/lang/hi.js | 7 + .../_source/plugins/preview/lang/hr.js | 7 + .../_source/plugins/preview/lang/hu.js | 7 + .../_source/plugins/preview/lang/id.js | 7 + .../_source/plugins/preview/lang/is.js | 7 + .../_source/plugins/preview/lang/it.js | 7 + .../_source/plugins/preview/lang/ja.js | 7 + .../_source/plugins/preview/lang/ka.js | 7 + .../_source/plugins/preview/lang/km.js | 7 + .../_source/plugins/preview/lang/ko.js | 7 + .../_source/plugins/preview/lang/ku.js | 7 + .../_source/plugins/preview/lang/lt.js | 7 + .../_source/plugins/preview/lang/lv.js | 7 + .../_source/plugins/preview/lang/mk.js | 7 + .../_source/plugins/preview/lang/mn.js | 7 + .../_source/plugins/preview/lang/ms.js | 7 + .../_source/plugins/preview/lang/nb.js | 7 + .../_source/plugins/preview/lang/nl.js | 7 + .../_source/plugins/preview/lang/no.js | 7 + .../_source/plugins/preview/lang/pl.js | 7 + .../_source/plugins/preview/lang/pt-br.js | 7 + .../_source/plugins/preview/lang/pt.js | 7 + .../_source/plugins/preview/lang/ro.js | 7 + .../_source/plugins/preview/lang/ru.js | 7 + .../_source/plugins/preview/lang/si.js | 7 + .../_source/plugins/preview/lang/sk.js | 7 + .../_source/plugins/preview/lang/sl.js | 7 + .../_source/plugins/preview/lang/sq.js | 7 + .../_source/plugins/preview/lang/sr-latn.js | 7 + .../_source/plugins/preview/lang/sr.js | 7 + .../_source/plugins/preview/lang/sv.js | 7 + .../_source/plugins/preview/lang/th.js | 7 + .../_source/plugins/preview/lang/tr.js | 7 + .../_source/plugins/preview/lang/ug.js | 7 + .../_source/plugins/preview/lang/uk.js | 7 + .../_source/plugins/preview/lang/vi.js | 7 + .../_source/plugins/preview/lang/zh-cn.js | 7 + .../_source/plugins/preview/lang/zh.js | 7 + .../_source/plugins/preview/plugin.js | 266 +- .../_source/plugins/preview/preview.html | 20 +- .../plugins/print/icons/hidpi/print.png | Bin 0 -> 1648 bytes .../_source/plugins/print/icons/print.png | Bin 0 -> 765 bytes .../ckeditor/_source/plugins/print/lang/af.js | 7 + .../ckeditor/_source/plugins/print/lang/ar.js | 7 + .../ckeditor/_source/plugins/print/lang/bg.js | 7 + .../ckeditor/_source/plugins/print/lang/bn.js | 7 + .../ckeditor/_source/plugins/print/lang/bs.js | 7 + .../ckeditor/_source/plugins/print/lang/ca.js | 7 + .../ckeditor/_source/plugins/print/lang/cs.js | 7 + .../ckeditor/_source/plugins/print/lang/cy.js | 7 + .../ckeditor/_source/plugins/print/lang/da.js | 7 + .../ckeditor/_source/plugins/print/lang/de.js | 7 + .../ckeditor/_source/plugins/print/lang/el.js | 7 + .../_source/plugins/print/lang/en-au.js | 7 + .../_source/plugins/print/lang/en-ca.js | 7 + .../_source/plugins/print/lang/en-gb.js | 7 + .../ckeditor/_source/plugins/print/lang/en.js | 7 + .../ckeditor/_source/plugins/print/lang/eo.js | 7 + .../ckeditor/_source/plugins/print/lang/es.js | 7 + .../ckeditor/_source/plugins/print/lang/et.js | 7 + .../ckeditor/_source/plugins/print/lang/eu.js | 7 + .../ckeditor/_source/plugins/print/lang/fa.js | 7 + .../ckeditor/_source/plugins/print/lang/fi.js | 7 + .../ckeditor/_source/plugins/print/lang/fo.js | 7 + .../_source/plugins/print/lang/fr-ca.js | 7 + .../ckeditor/_source/plugins/print/lang/fr.js | 7 + .../ckeditor/_source/plugins/print/lang/gl.js | 7 + .../ckeditor/_source/plugins/print/lang/gu.js | 7 + .../ckeditor/_source/plugins/print/lang/he.js | 7 + .../ckeditor/_source/plugins/print/lang/hi.js | 7 + .../ckeditor/_source/plugins/print/lang/hr.js | 7 + .../ckeditor/_source/plugins/print/lang/hu.js | 7 + .../ckeditor/_source/plugins/print/lang/id.js | 7 + .../ckeditor/_source/plugins/print/lang/is.js | 7 + .../ckeditor/_source/plugins/print/lang/it.js | 7 + .../ckeditor/_source/plugins/print/lang/ja.js | 7 + .../ckeditor/_source/plugins/print/lang/ka.js | 7 + .../ckeditor/_source/plugins/print/lang/km.js | 7 + .../ckeditor/_source/plugins/print/lang/ko.js | 7 + .../ckeditor/_source/plugins/print/lang/ku.js | 7 + .../ckeditor/_source/plugins/print/lang/lt.js | 7 + .../ckeditor/_source/plugins/print/lang/lv.js | 7 + .../ckeditor/_source/plugins/print/lang/mk.js | 7 + .../ckeditor/_source/plugins/print/lang/mn.js | 7 + .../ckeditor/_source/plugins/print/lang/ms.js | 7 + .../ckeditor/_source/plugins/print/lang/nb.js | 7 + .../ckeditor/_source/plugins/print/lang/nl.js | 7 + .../ckeditor/_source/plugins/print/lang/no.js | 7 + .../ckeditor/_source/plugins/print/lang/pl.js | 7 + .../_source/plugins/print/lang/pt-br.js | 7 + .../ckeditor/_source/plugins/print/lang/pt.js | 7 + .../ckeditor/_source/plugins/print/lang/ro.js | 7 + .../ckeditor/_source/plugins/print/lang/ru.js | 7 + .../ckeditor/_source/plugins/print/lang/si.js | 7 + .../ckeditor/_source/plugins/print/lang/sk.js | 7 + .../ckeditor/_source/plugins/print/lang/sl.js | 7 + .../ckeditor/_source/plugins/print/lang/sq.js | 7 + .../_source/plugins/print/lang/sr-latn.js | 7 + .../ckeditor/_source/plugins/print/lang/sr.js | 7 + .../ckeditor/_source/plugins/print/lang/sv.js | 7 + .../ckeditor/_source/plugins/print/lang/th.js | 7 + .../ckeditor/_source/plugins/print/lang/tr.js | 7 + .../ckeditor/_source/plugins/print/lang/ug.js | 7 + .../ckeditor/_source/plugins/print/lang/uk.js | 7 + .../ckeditor/_source/plugins/print/lang/vi.js | 7 + .../_source/plugins/print/lang/zh-cn.js | 7 + .../ckeditor/_source/plugins/print/lang/zh.js | 7 + .../ckeditor/_source/plugins/print/plugin.js | 87 +- .../removeformat/icons/hidpi/removeformat.png | Bin 0 -> 2119 bytes .../removeformat/icons/removeformat.png | Bin 0 -> 871 bytes .../_source/plugins/removeformat/lang/af.js | 7 + .../_source/plugins/removeformat/lang/ar.js | 7 + .../_source/plugins/removeformat/lang/bg.js | 7 + .../_source/plugins/removeformat/lang/bn.js | 7 + .../_source/plugins/removeformat/lang/bs.js | 7 + .../_source/plugins/removeformat/lang/ca.js | 7 + .../_source/plugins/removeformat/lang/cs.js | 7 + .../_source/plugins/removeformat/lang/cy.js | 7 + .../_source/plugins/removeformat/lang/da.js | 7 + .../_source/plugins/removeformat/lang/de.js | 7 + .../_source/plugins/removeformat/lang/el.js | 7 + .../plugins/removeformat/lang/en-au.js | 7 + .../plugins/removeformat/lang/en-ca.js | 7 + .../plugins/removeformat/lang/en-gb.js | 7 + .../_source/plugins/removeformat/lang/en.js | 7 + .../_source/plugins/removeformat/lang/eo.js | 7 + .../_source/plugins/removeformat/lang/es.js | 7 + .../_source/plugins/removeformat/lang/et.js | 7 + .../_source/plugins/removeformat/lang/eu.js | 7 + .../_source/plugins/removeformat/lang/fa.js | 7 + .../_source/plugins/removeformat/lang/fi.js | 7 + .../_source/plugins/removeformat/lang/fo.js | 7 + .../plugins/removeformat/lang/fr-ca.js | 7 + .../_source/plugins/removeformat/lang/fr.js | 7 + .../_source/plugins/removeformat/lang/gl.js | 7 + .../_source/plugins/removeformat/lang/gu.js | 7 + .../_source/plugins/removeformat/lang/he.js | 7 + .../_source/plugins/removeformat/lang/hi.js | 7 + .../_source/plugins/removeformat/lang/hr.js | 7 + .../_source/plugins/removeformat/lang/hu.js | 7 + .../_source/plugins/removeformat/lang/id.js | 7 + .../_source/plugins/removeformat/lang/is.js | 7 + .../_source/plugins/removeformat/lang/it.js | 7 + .../_source/plugins/removeformat/lang/ja.js | 7 + .../_source/plugins/removeformat/lang/ka.js | 7 + .../_source/plugins/removeformat/lang/km.js | 7 + .../_source/plugins/removeformat/lang/ko.js | 7 + .../_source/plugins/removeformat/lang/ku.js | 7 + .../_source/plugins/removeformat/lang/lt.js | 7 + .../_source/plugins/removeformat/lang/lv.js | 7 + .../_source/plugins/removeformat/lang/mk.js | 7 + .../_source/plugins/removeformat/lang/mn.js | 7 + .../_source/plugins/removeformat/lang/ms.js | 7 + .../_source/plugins/removeformat/lang/nb.js | 7 + .../_source/plugins/removeformat/lang/nl.js | 7 + .../_source/plugins/removeformat/lang/no.js | 7 + .../_source/plugins/removeformat/lang/pl.js | 7 + .../plugins/removeformat/lang/pt-br.js | 7 + .../_source/plugins/removeformat/lang/pt.js | 7 + .../_source/plugins/removeformat/lang/ro.js | 7 + .../_source/plugins/removeformat/lang/ru.js | 7 + .../_source/plugins/removeformat/lang/si.js | 7 + .../_source/plugins/removeformat/lang/sk.js | 7 + .../_source/plugins/removeformat/lang/sl.js | 7 + .../_source/plugins/removeformat/lang/sq.js | 7 + .../plugins/removeformat/lang/sr-latn.js | 7 + .../_source/plugins/removeformat/lang/sr.js | 7 + .../_source/plugins/removeformat/lang/sv.js | 7 + .../_source/plugins/removeformat/lang/th.js | 7 + .../_source/plugins/removeformat/lang/tr.js | 7 + .../_source/plugins/removeformat/lang/ug.js | 7 + .../_source/plugins/removeformat/lang/uk.js | 7 + .../_source/plugins/removeformat/lang/vi.js | 7 + .../plugins/removeformat/lang/zh-cn.js | 7 + .../_source/plugins/removeformat/lang/zh.js | 7 + .../_source/plugins/removeformat/plugin.js | 359 +- .../ckeditor/_source/plugins/resize/plugin.js | 338 +- .../_source/plugins/richcombo/plugin.js | 821 +- .../_source/plugins/save/icons/hidpi/save.png | Bin 0 -> 1648 bytes .../_source/plugins/save/icons/save.png | Bin 0 -> 716 bytes .../ckeditor/_source/plugins/save/lang/af.js | 7 + .../ckeditor/_source/plugins/save/lang/ar.js | 7 + .../ckeditor/_source/plugins/save/lang/bg.js | 7 + .../ckeditor/_source/plugins/save/lang/bn.js | 7 + .../ckeditor/_source/plugins/save/lang/bs.js | 7 + .../ckeditor/_source/plugins/save/lang/ca.js | 7 + .../ckeditor/_source/plugins/save/lang/cs.js | 7 + .../ckeditor/_source/plugins/save/lang/cy.js | 7 + .../ckeditor/_source/plugins/save/lang/da.js | 7 + .../ckeditor/_source/plugins/save/lang/de.js | 7 + .../ckeditor/_source/plugins/save/lang/el.js | 7 + .../_source/plugins/save/lang/en-au.js | 7 + .../_source/plugins/save/lang/en-ca.js | 7 + .../_source/plugins/save/lang/en-gb.js | 7 + .../ckeditor/_source/plugins/save/lang/en.js | 7 + .../ckeditor/_source/plugins/save/lang/eo.js | 7 + .../ckeditor/_source/plugins/save/lang/es.js | 7 + .../ckeditor/_source/plugins/save/lang/et.js | 7 + .../ckeditor/_source/plugins/save/lang/eu.js | 7 + .../ckeditor/_source/plugins/save/lang/fa.js | 7 + .../ckeditor/_source/plugins/save/lang/fi.js | 7 + .../ckeditor/_source/plugins/save/lang/fo.js | 7 + .../_source/plugins/save/lang/fr-ca.js | 7 + .../ckeditor/_source/plugins/save/lang/fr.js | 7 + .../ckeditor/_source/plugins/save/lang/gl.js | 7 + .../ckeditor/_source/plugins/save/lang/gu.js | 7 + .../ckeditor/_source/plugins/save/lang/he.js | 7 + .../ckeditor/_source/plugins/save/lang/hi.js | 7 + .../ckeditor/_source/plugins/save/lang/hr.js | 7 + .../ckeditor/_source/plugins/save/lang/hu.js | 7 + .../ckeditor/_source/plugins/save/lang/id.js | 7 + .../ckeditor/_source/plugins/save/lang/is.js | 7 + .../ckeditor/_source/plugins/save/lang/it.js | 7 + .../ckeditor/_source/plugins/save/lang/ja.js | 7 + .../ckeditor/_source/plugins/save/lang/ka.js | 7 + .../ckeditor/_source/plugins/save/lang/km.js | 7 + .../ckeditor/_source/plugins/save/lang/ko.js | 7 + .../ckeditor/_source/plugins/save/lang/ku.js | 7 + .../ckeditor/_source/plugins/save/lang/lt.js | 7 + .../ckeditor/_source/plugins/save/lang/lv.js | 7 + .../ckeditor/_source/plugins/save/lang/mk.js | 7 + .../ckeditor/_source/plugins/save/lang/mn.js | 7 + .../ckeditor/_source/plugins/save/lang/ms.js | 7 + .../ckeditor/_source/plugins/save/lang/nb.js | 7 + .../ckeditor/_source/plugins/save/lang/nl.js | 7 + .../ckeditor/_source/plugins/save/lang/no.js | 7 + .../ckeditor/_source/plugins/save/lang/pl.js | 7 + .../_source/plugins/save/lang/pt-br.js | 7 + .../ckeditor/_source/plugins/save/lang/pt.js | 7 + .../ckeditor/_source/plugins/save/lang/ro.js | 7 + .../ckeditor/_source/plugins/save/lang/ru.js | 7 + .../ckeditor/_source/plugins/save/lang/si.js | 7 + .../ckeditor/_source/plugins/save/lang/sk.js | 7 + .../ckeditor/_source/plugins/save/lang/sl.js | 7 + .../ckeditor/_source/plugins/save/lang/sq.js | 7 + .../_source/plugins/save/lang/sr-latn.js | 7 + .../ckeditor/_source/plugins/save/lang/sr.js | 7 + .../ckeditor/_source/plugins/save/lang/sv.js | 7 + .../ckeditor/_source/plugins/save/lang/th.js | 7 + .../ckeditor/_source/plugins/save/lang/tr.js | 7 + .../ckeditor/_source/plugins/save/lang/ug.js | 7 + .../ckeditor/_source/plugins/save/lang/uk.js | 7 + .../ckeditor/_source/plugins/save/lang/vi.js | 7 + .../_source/plugins/save/lang/zh-cn.js | 7 + .../ckeditor/_source/plugins/save/lang/zh.js | 7 + .../ckeditor/_source/plugins/save/plugin.js | 121 +- .../ckeditor/_source/plugins/scayt/LICENSE.md | 28 + .../ckeditor/_source/plugins/scayt/README.md | 25 + .../_source/plugins/scayt/dialogs/options.js | 1010 ++- .../_source/plugins/scayt/dialogs/toolbar.css | 142 +- .../plugins/scayt/icons/hidpi/scayt.png | Bin 0 -> 2816 bytes .../_source/plugins/scayt/icons/scayt.png | Bin 0 -> 836 bytes .../ckeditor/_source/plugins/scayt/lang/af.js | 34 + .../ckeditor/_source/plugins/scayt/lang/ar.js | 34 + .../ckeditor/_source/plugins/scayt/lang/bg.js | 34 + .../ckeditor/_source/plugins/scayt/lang/bn.js | 34 + .../ckeditor/_source/plugins/scayt/lang/bs.js | 34 + .../ckeditor/_source/plugins/scayt/lang/ca.js | 34 + .../ckeditor/_source/plugins/scayt/lang/cs.js | 34 + .../ckeditor/_source/plugins/scayt/lang/cy.js | 34 + .../ckeditor/_source/plugins/scayt/lang/da.js | 34 + .../ckeditor/_source/plugins/scayt/lang/de.js | 34 + .../ckeditor/_source/plugins/scayt/lang/el.js | 34 + .../_source/plugins/scayt/lang/en-au.js | 34 + .../_source/plugins/scayt/lang/en-ca.js | 34 + .../_source/plugins/scayt/lang/en-gb.js | 34 + .../ckeditor/_source/plugins/scayt/lang/en.js | 34 + .../ckeditor/_source/plugins/scayt/lang/eo.js | 34 + .../ckeditor/_source/plugins/scayt/lang/es.js | 34 + .../ckeditor/_source/plugins/scayt/lang/et.js | 34 + .../ckeditor/_source/plugins/scayt/lang/eu.js | 34 + .../ckeditor/_source/plugins/scayt/lang/fa.js | 34 + .../ckeditor/_source/plugins/scayt/lang/fi.js | 34 + .../ckeditor/_source/plugins/scayt/lang/fo.js | 34 + .../_source/plugins/scayt/lang/fr-ca.js | 34 + .../ckeditor/_source/plugins/scayt/lang/fr.js | 34 + .../ckeditor/_source/plugins/scayt/lang/gl.js | 34 + .../ckeditor/_source/plugins/scayt/lang/gu.js | 34 + .../ckeditor/_source/plugins/scayt/lang/he.js | 34 + .../ckeditor/_source/plugins/scayt/lang/hi.js | 34 + .../ckeditor/_source/plugins/scayt/lang/hr.js | 34 + .../ckeditor/_source/plugins/scayt/lang/hu.js | 34 + .../ckeditor/_source/plugins/scayt/lang/is.js | 34 + .../ckeditor/_source/plugins/scayt/lang/it.js | 34 + .../ckeditor/_source/plugins/scayt/lang/ja.js | 34 + .../ckeditor/_source/plugins/scayt/lang/ka.js | 34 + .../ckeditor/_source/plugins/scayt/lang/km.js | 34 + .../ckeditor/_source/plugins/scayt/lang/ko.js | 34 + .../ckeditor/_source/plugins/scayt/lang/ku.js | 34 + .../ckeditor/_source/plugins/scayt/lang/lt.js | 34 + .../ckeditor/_source/plugins/scayt/lang/lv.js | 34 + .../ckeditor/_source/plugins/scayt/lang/mk.js | 34 + .../ckeditor/_source/plugins/scayt/lang/mn.js | 34 + .../ckeditor/_source/plugins/scayt/lang/ms.js | 34 + .../ckeditor/_source/plugins/scayt/lang/nb.js | 34 + .../ckeditor/_source/plugins/scayt/lang/nl.js | 34 + .../ckeditor/_source/plugins/scayt/lang/no.js | 34 + .../ckeditor/_source/plugins/scayt/lang/pl.js | 34 + .../_source/plugins/scayt/lang/pt-br.js | 34 + .../ckeditor/_source/plugins/scayt/lang/pt.js | 34 + .../ckeditor/_source/plugins/scayt/lang/ro.js | 34 + .../ckeditor/_source/plugins/scayt/lang/ru.js | 34 + .../ckeditor/_source/plugins/scayt/lang/sk.js | 34 + .../ckeditor/_source/plugins/scayt/lang/sl.js | 34 + .../_source/plugins/scayt/lang/sr-latn.js | 34 + .../ckeditor/_source/plugins/scayt/lang/sr.js | 34 + .../ckeditor/_source/plugins/scayt/lang/sv.js | 34 + .../ckeditor/_source/plugins/scayt/lang/th.js | 34 + .../ckeditor/_source/plugins/scayt/lang/tr.js | 34 + .../ckeditor/_source/plugins/scayt/lang/ug.js | 34 + .../ckeditor/_source/plugins/scayt/lang/uk.js | 34 + .../ckeditor/_source/plugins/scayt/lang/vi.js | 34 + .../_source/plugins/scayt/lang/zh-cn.js | 34 + .../ckeditor/_source/plugins/scayt/lang/zh.js | 34 + .../ckeditor/_source/plugins/scayt/plugin.js | 1902 +++-- .../selectall/icons/hidpi/selectall.png | Bin 0 -> 1093 bytes .../plugins/selectall/icons/selectall.png | Bin 0 -> 665 bytes .../_source/plugins/selectall/lang/af.js | 7 + .../_source/plugins/selectall/lang/ar.js | 7 + .../_source/plugins/selectall/lang/bg.js | 7 + .../_source/plugins/selectall/lang/bn.js | 7 + .../_source/plugins/selectall/lang/bs.js | 7 + .../_source/plugins/selectall/lang/ca.js | 7 + .../_source/plugins/selectall/lang/cs.js | 7 + .../_source/plugins/selectall/lang/cy.js | 7 + .../_source/plugins/selectall/lang/da.js | 7 + .../_source/plugins/selectall/lang/de.js | 7 + .../_source/plugins/selectall/lang/el.js | 7 + .../_source/plugins/selectall/lang/en-au.js | 7 + .../_source/plugins/selectall/lang/en-ca.js | 7 + .../_source/plugins/selectall/lang/en-gb.js | 7 + .../_source/plugins/selectall/lang/en.js | 7 + .../_source/plugins/selectall/lang/eo.js | 7 + .../_source/plugins/selectall/lang/es.js | 7 + .../_source/plugins/selectall/lang/et.js | 7 + .../_source/plugins/selectall/lang/eu.js | 7 + .../_source/plugins/selectall/lang/fa.js | 7 + .../_source/plugins/selectall/lang/fi.js | 7 + .../_source/plugins/selectall/lang/fo.js | 7 + .../_source/plugins/selectall/lang/fr-ca.js | 7 + .../_source/plugins/selectall/lang/fr.js | 7 + .../_source/plugins/selectall/lang/gl.js | 7 + .../_source/plugins/selectall/lang/gu.js | 7 + .../_source/plugins/selectall/lang/he.js | 7 + .../_source/plugins/selectall/lang/hi.js | 7 + .../_source/plugins/selectall/lang/hr.js | 7 + .../_source/plugins/selectall/lang/hu.js | 7 + .../_source/plugins/selectall/lang/id.js | 7 + .../_source/plugins/selectall/lang/is.js | 7 + .../_source/plugins/selectall/lang/it.js | 7 + .../_source/plugins/selectall/lang/ja.js | 7 + .../_source/plugins/selectall/lang/ka.js | 7 + .../_source/plugins/selectall/lang/km.js | 7 + .../_source/plugins/selectall/lang/ko.js | 7 + .../_source/plugins/selectall/lang/ku.js | 7 + .../_source/plugins/selectall/lang/lt.js | 7 + .../_source/plugins/selectall/lang/lv.js | 7 + .../_source/plugins/selectall/lang/mk.js | 7 + .../_source/plugins/selectall/lang/mn.js | 7 + .../_source/plugins/selectall/lang/ms.js | 7 + .../_source/plugins/selectall/lang/nb.js | 7 + .../_source/plugins/selectall/lang/nl.js | 7 + .../_source/plugins/selectall/lang/no.js | 7 + .../_source/plugins/selectall/lang/pl.js | 7 + .../_source/plugins/selectall/lang/pt-br.js | 7 + .../_source/plugins/selectall/lang/pt.js | 7 + .../_source/plugins/selectall/lang/ro.js | 7 + .../_source/plugins/selectall/lang/ru.js | 7 + .../_source/plugins/selectall/lang/si.js | 7 + .../_source/plugins/selectall/lang/sk.js | 7 + .../_source/plugins/selectall/lang/sl.js | 7 + .../_source/plugins/selectall/lang/sq.js | 7 + .../_source/plugins/selectall/lang/sr-latn.js | 7 + .../_source/plugins/selectall/lang/sr.js | 7 + .../_source/plugins/selectall/lang/sv.js | 7 + .../_source/plugins/selectall/lang/th.js | 7 + .../_source/plugins/selectall/lang/tr.js | 7 + .../_source/plugins/selectall/lang/ug.js | 7 + .../_source/plugins/selectall/lang/uk.js | 7 + .../_source/plugins/selectall/lang/vi.js | 7 + .../_source/plugins/selectall/lang/zh-cn.js | 7 + .../_source/plugins/selectall/lang/zh.js | 7 + .../_source/plugins/selectall/plugin.js | 58 + .../_source/plugins/selection/plugin.js | 1869 ----- .../showblocks/icons/hidpi/showblocks-rtl.png | Bin 0 -> 1853 bytes .../showblocks/icons/hidpi/showblocks.png | Bin 0 -> 1895 bytes .../showblocks/icons/showblocks-rtl.png | Bin 0 -> 691 bytes .../plugins/showblocks/icons/showblocks.png | Bin 0 -> 701 bytes .../_source/plugins/showblocks/lang/af.js | 7 + .../_source/plugins/showblocks/lang/ar.js | 7 + .../_source/plugins/showblocks/lang/bg.js | 7 + .../_source/plugins/showblocks/lang/bn.js | 7 + .../_source/plugins/showblocks/lang/bs.js | 7 + .../_source/plugins/showblocks/lang/ca.js | 7 + .../_source/plugins/showblocks/lang/cs.js | 7 + .../_source/plugins/showblocks/lang/cy.js | 7 + .../_source/plugins/showblocks/lang/da.js | 7 + .../_source/plugins/showblocks/lang/de.js | 7 + .../_source/plugins/showblocks/lang/el.js | 7 + .../_source/plugins/showblocks/lang/en-au.js | 7 + .../_source/plugins/showblocks/lang/en-ca.js | 7 + .../_source/plugins/showblocks/lang/en-gb.js | 7 + .../_source/plugins/showblocks/lang/en.js | 7 + .../_source/plugins/showblocks/lang/eo.js | 7 + .../_source/plugins/showblocks/lang/es.js | 7 + .../_source/plugins/showblocks/lang/et.js | 7 + .../_source/plugins/showblocks/lang/eu.js | 7 + .../_source/plugins/showblocks/lang/fa.js | 7 + .../_source/plugins/showblocks/lang/fi.js | 7 + .../_source/plugins/showblocks/lang/fo.js | 7 + .../_source/plugins/showblocks/lang/fr-ca.js | 7 + .../_source/plugins/showblocks/lang/fr.js | 7 + .../_source/plugins/showblocks/lang/gl.js | 7 + .../_source/plugins/showblocks/lang/gu.js | 7 + .../_source/plugins/showblocks/lang/he.js | 7 + .../_source/plugins/showblocks/lang/hi.js | 7 + .../_source/plugins/showblocks/lang/hr.js | 7 + .../_source/plugins/showblocks/lang/hu.js | 7 + .../_source/plugins/showblocks/lang/id.js | 7 + .../_source/plugins/showblocks/lang/is.js | 7 + .../_source/plugins/showblocks/lang/it.js | 7 + .../_source/plugins/showblocks/lang/ja.js | 7 + .../_source/plugins/showblocks/lang/ka.js | 7 + .../_source/plugins/showblocks/lang/km.js | 7 + .../_source/plugins/showblocks/lang/ko.js | 7 + .../_source/plugins/showblocks/lang/ku.js | 7 + .../_source/plugins/showblocks/lang/lt.js | 7 + .../_source/plugins/showblocks/lang/lv.js | 7 + .../_source/plugins/showblocks/lang/mk.js | 7 + .../_source/plugins/showblocks/lang/mn.js | 7 + .../_source/plugins/showblocks/lang/ms.js | 7 + .../_source/plugins/showblocks/lang/nb.js | 7 + .../_source/plugins/showblocks/lang/nl.js | 7 + .../_source/plugins/showblocks/lang/no.js | 7 + .../_source/plugins/showblocks/lang/pl.js | 7 + .../_source/plugins/showblocks/lang/pt-br.js | 7 + .../_source/plugins/showblocks/lang/pt.js | 7 + .../_source/plugins/showblocks/lang/ro.js | 7 + .../_source/plugins/showblocks/lang/ru.js | 7 + .../_source/plugins/showblocks/lang/si.js | 7 + .../_source/plugins/showblocks/lang/sk.js | 7 + .../_source/plugins/showblocks/lang/sl.js | 7 + .../_source/plugins/showblocks/lang/sq.js | 7 + .../plugins/showblocks/lang/sr-latn.js | 7 + .../_source/plugins/showblocks/lang/sr.js | 7 + .../_source/plugins/showblocks/lang/sv.js | 7 + .../_source/plugins/showblocks/lang/th.js | 7 + .../_source/plugins/showblocks/lang/tr.js | 7 + .../_source/plugins/showblocks/lang/ug.js | 7 + .../_source/plugins/showblocks/lang/uk.js | 7 + .../_source/plugins/showblocks/lang/vi.js | 7 + .../_source/plugins/showblocks/lang/zh-cn.js | 7 + .../_source/plugins/showblocks/lang/zh.js | 7 + .../_source/plugins/showblocks/plugin.js | 313 +- .../_source/plugins/showborders/plugin.js | 381 +- .../_source/plugins/smiley/dialogs/smiley.js | 414 +- .../plugins/smiley/icons/hidpi/smiley.png | Bin 0 -> 3073 bytes .../_source/plugins/smiley/icons/smiley.png | Bin 0 -> 916 bytes .../plugins/smiley/images/angel_smile.gif | Bin 465 -> 1250 bytes .../plugins/smiley/images/angel_smile.png | Bin 0 -> 1294 bytes .../plugins/smiley/images/angry_smile.gif | Bin 443 -> 1221 bytes .../plugins/smiley/images/angry_smile.png | Bin 0 -> 1351 bytes .../plugins/smiley/images/broken_heart.gif | Bin 192 -> 1131 bytes .../plugins/smiley/images/broken_heart.png | Bin 0 -> 1213 bytes .../plugins/smiley/images/confused_smile.gif | Bin 464 -> 1210 bytes .../plugins/smiley/images/confused_smile.png | Bin 0 -> 1175 bytes .../plugins/smiley/images/cry_smile.gif | Bin 468 -> 795 bytes .../plugins/smiley/images/cry_smile.png | Bin 0 -> 1315 bytes .../plugins/smiley/images/devil_smile.gif | Bin 436 -> 1239 bytes .../plugins/smiley/images/devil_smile.png | Bin 0 -> 1299 bytes .../smiley/images/embaressed_smile.gif | Bin 442 -> 790 bytes .../smiley/images/embarrassed_smile.gif | Bin 0 -> 790 bytes .../smiley/images/embarrassed_smile.png | Bin 0 -> 1222 bytes .../plugins/smiley/images/envelope.gif | Bin 426 -> 712 bytes .../plugins/smiley/images/envelope.png | Bin 0 -> 1049 bytes .../_source/plugins/smiley/images/heart.gif | Bin 183 -> 1091 bytes .../_source/plugins/smiley/images/heart.png | Bin 0 -> 1073 bytes .../_source/plugins/smiley/images/kiss.gif | Bin 241 -> 1082 bytes .../_source/plugins/smiley/images/kiss.png | Bin 0 -> 1077 bytes .../plugins/smiley/images/lightbulb.gif | Bin 368 -> 1062 bytes .../plugins/smiley/images/lightbulb.png | Bin 0 -> 993 bytes .../plugins/smiley/images/omg_smile.gif | Bin 451 -> 1207 bytes .../plugins/smiley/images/omg_smile.png | Bin 0 -> 1196 bytes .../plugins/smiley/images/regular_smile.gif | Bin 450 -> 1216 bytes .../plugins/smiley/images/regular_smile.png | Bin 0 -> 1158 bytes .../plugins/smiley/images/sad_smile.gif | Bin 460 -> 1199 bytes .../plugins/smiley/images/sad_smile.png | Bin 0 -> 1189 bytes .../plugins/smiley/images/shades_smile.gif | Bin 449 -> 1234 bytes .../plugins/smiley/images/shades_smile.png | Bin 0 -> 1353 bytes .../plugins/smiley/images/teeth_smile.gif | Bin 442 -> 1210 bytes .../plugins/smiley/images/teeth_smile.png | Bin 0 -> 1257 bytes .../plugins/smiley/images/thumbs_down.gif | Bin 408 -> 1117 bytes .../plugins/smiley/images/thumbs_down.png | Bin 0 -> 1059 bytes .../plugins/smiley/images/thumbs_up.gif | Bin 396 -> 1112 bytes .../plugins/smiley/images/thumbs_up.png | Bin 0 -> 1033 bytes .../plugins/smiley/images/tongue_smile.gif | Bin 0 -> 1216 bytes .../plugins/smiley/images/tongue_smile.png | Bin 0 -> 1206 bytes .../plugins/smiley/images/tounge_smile.gif | Bin 446 -> 1216 bytes .../images/whatchutalkingabout_smile.gif | Bin 452 -> 1190 bytes .../images/whatchutalkingabout_smile.png | Bin 0 -> 1113 bytes .../plugins/smiley/images/wink_smile.gif | Bin 458 -> 1214 bytes .../plugins/smiley/images/wink_smile.png | Bin 0 -> 1188 bytes .../_source/plugins/smiley/lang/af.js | 9 + .../_source/plugins/smiley/lang/ar.js | 9 + .../_source/plugins/smiley/lang/bg.js | 9 + .../_source/plugins/smiley/lang/bn.js | 9 + .../_source/plugins/smiley/lang/bs.js | 9 + .../_source/plugins/smiley/lang/ca.js | 9 + .../_source/plugins/smiley/lang/cs.js | 9 + .../_source/plugins/smiley/lang/cy.js | 9 + .../_source/plugins/smiley/lang/da.js | 9 + .../_source/plugins/smiley/lang/de.js | 9 + .../_source/plugins/smiley/lang/el.js | 9 + .../_source/plugins/smiley/lang/en-au.js | 9 + .../_source/plugins/smiley/lang/en-ca.js | 9 + .../_source/plugins/smiley/lang/en-gb.js | 9 + .../_source/plugins/smiley/lang/en.js | 9 + .../_source/plugins/smiley/lang/eo.js | 9 + .../_source/plugins/smiley/lang/es.js | 9 + .../_source/plugins/smiley/lang/et.js | 9 + .../_source/plugins/smiley/lang/eu.js | 9 + .../_source/plugins/smiley/lang/fa.js | 9 + .../_source/plugins/smiley/lang/fi.js | 9 + .../_source/plugins/smiley/lang/fo.js | 9 + .../_source/plugins/smiley/lang/fr-ca.js | 9 + .../_source/plugins/smiley/lang/fr.js | 9 + .../_source/plugins/smiley/lang/gl.js | 9 + .../_source/plugins/smiley/lang/gu.js | 9 + .../_source/plugins/smiley/lang/he.js | 9 + .../_source/plugins/smiley/lang/hi.js | 9 + .../_source/plugins/smiley/lang/hr.js | 9 + .../_source/plugins/smiley/lang/hu.js | 9 + .../_source/plugins/smiley/lang/id.js | 9 + .../_source/plugins/smiley/lang/is.js | 9 + .../_source/plugins/smiley/lang/it.js | 9 + .../_source/plugins/smiley/lang/ja.js | 9 + .../_source/plugins/smiley/lang/ka.js | 9 + .../_source/plugins/smiley/lang/km.js | 9 + .../_source/plugins/smiley/lang/ko.js | 9 + .../_source/plugins/smiley/lang/ku.js | 9 + .../_source/plugins/smiley/lang/lt.js | 9 + .../_source/plugins/smiley/lang/lv.js | 9 + .../_source/plugins/smiley/lang/mk.js | 9 + .../_source/plugins/smiley/lang/mn.js | 9 + .../_source/plugins/smiley/lang/ms.js | 9 + .../_source/plugins/smiley/lang/nb.js | 9 + .../_source/plugins/smiley/lang/nl.js | 9 + .../_source/plugins/smiley/lang/no.js | 9 + .../_source/plugins/smiley/lang/pl.js | 9 + .../_source/plugins/smiley/lang/pt-br.js | 9 + .../_source/plugins/smiley/lang/pt.js | 9 + .../_source/plugins/smiley/lang/ro.js | 9 + .../_source/plugins/smiley/lang/ru.js | 9 + .../_source/plugins/smiley/lang/si.js | 9 + .../_source/plugins/smiley/lang/sk.js | 9 + .../_source/plugins/smiley/lang/sl.js | 9 + .../_source/plugins/smiley/lang/sq.js | 9 + .../_source/plugins/smiley/lang/sr-latn.js | 9 + .../_source/plugins/smiley/lang/sr.js | 9 + .../_source/plugins/smiley/lang/sv.js | 9 + .../_source/plugins/smiley/lang/th.js | 9 + .../_source/plugins/smiley/lang/tr.js | 9 + .../_source/plugins/smiley/lang/ug.js | 9 + .../_source/plugins/smiley/lang/uk.js | 9 + .../_source/plugins/smiley/lang/vi.js | 9 + .../_source/plugins/smiley/lang/zh-cn.js | 9 + .../_source/plugins/smiley/lang/zh.js | 9 + .../ckeditor/_source/plugins/smiley/plugin.js | 189 +- .../sourcearea/icons/hidpi/source-rtl.png | Bin 0 -> 1968 bytes .../plugins/sourcearea/icons/hidpi/source.png | Bin 0 -> 1999 bytes .../plugins/sourcearea/icons/source-rtl.png | Bin 0 -> 762 bytes .../plugins/sourcearea/icons/source.png | Bin 0 -> 764 bytes .../_source/plugins/sourcearea/lang/af.js | 7 + .../_source/plugins/sourcearea/lang/ar.js | 7 + .../_source/plugins/sourcearea/lang/bg.js | 7 + .../_source/plugins/sourcearea/lang/bn.js | 7 + .../_source/plugins/sourcearea/lang/bs.js | 7 + .../_source/plugins/sourcearea/lang/ca.js | 7 + .../_source/plugins/sourcearea/lang/cs.js | 7 + .../_source/plugins/sourcearea/lang/cy.js | 7 + .../_source/plugins/sourcearea/lang/da.js | 7 + .../_source/plugins/sourcearea/lang/de.js | 7 + .../_source/plugins/sourcearea/lang/el.js | 7 + .../_source/plugins/sourcearea/lang/en-au.js | 7 + .../_source/plugins/sourcearea/lang/en-ca.js | 7 + .../_source/plugins/sourcearea/lang/en-gb.js | 7 + .../_source/plugins/sourcearea/lang/en.js | 7 + .../_source/plugins/sourcearea/lang/eo.js | 7 + .../_source/plugins/sourcearea/lang/es.js | 7 + .../_source/plugins/sourcearea/lang/et.js | 7 + .../_source/plugins/sourcearea/lang/eu.js | 7 + .../_source/plugins/sourcearea/lang/fa.js | 7 + .../_source/plugins/sourcearea/lang/fi.js | 7 + .../_source/plugins/sourcearea/lang/fo.js | 7 + .../_source/plugins/sourcearea/lang/fr-ca.js | 7 + .../_source/plugins/sourcearea/lang/fr.js | 7 + .../_source/plugins/sourcearea/lang/gl.js | 7 + .../_source/plugins/sourcearea/lang/gu.js | 7 + .../_source/plugins/sourcearea/lang/he.js | 7 + .../_source/plugins/sourcearea/lang/hi.js | 7 + .../_source/plugins/sourcearea/lang/hr.js | 7 + .../_source/plugins/sourcearea/lang/hu.js | 7 + .../_source/plugins/sourcearea/lang/id.js | 7 + .../_source/plugins/sourcearea/lang/is.js | 7 + .../_source/plugins/sourcearea/lang/it.js | 7 + .../_source/plugins/sourcearea/lang/ja.js | 7 + .../_source/plugins/sourcearea/lang/ka.js | 7 + .../_source/plugins/sourcearea/lang/km.js | 7 + .../_source/plugins/sourcearea/lang/ko.js | 7 + .../_source/plugins/sourcearea/lang/ku.js | 7 + .../_source/plugins/sourcearea/lang/lt.js | 7 + .../_source/plugins/sourcearea/lang/lv.js | 7 + .../_source/plugins/sourcearea/lang/mk.js | 7 + .../_source/plugins/sourcearea/lang/mn.js | 7 + .../_source/plugins/sourcearea/lang/ms.js | 7 + .../_source/plugins/sourcearea/lang/nb.js | 7 + .../_source/plugins/sourcearea/lang/nl.js | 7 + .../_source/plugins/sourcearea/lang/no.js | 7 + .../_source/plugins/sourcearea/lang/pl.js | 7 + .../_source/plugins/sourcearea/lang/pt-br.js | 7 + .../_source/plugins/sourcearea/lang/pt.js | 7 + .../_source/plugins/sourcearea/lang/ro.js | 7 + .../_source/plugins/sourcearea/lang/ru.js | 7 + .../_source/plugins/sourcearea/lang/si.js | 7 + .../_source/plugins/sourcearea/lang/sk.js | 7 + .../_source/plugins/sourcearea/lang/sl.js | 7 + .../_source/plugins/sourcearea/lang/sq.js | 7 + .../plugins/sourcearea/lang/sr-latn.js | 7 + .../_source/plugins/sourcearea/lang/sr.js | 7 + .../_source/plugins/sourcearea/lang/sv.js | 7 + .../_source/plugins/sourcearea/lang/th.js | 7 + .../_source/plugins/sourcearea/lang/tr.js | 7 + .../_source/plugins/sourcearea/lang/ug.js | 7 + .../_source/plugins/sourcearea/lang/uk.js | 7 + .../_source/plugins/sourcearea/lang/vi.js | 7 + .../_source/plugins/sourcearea/lang/zh-cn.js | 7 + .../_source/plugins/sourcearea/lang/zh.js | 7 + .../_source/plugins/sourcearea/plugin.js | 363 +- .../dialogs/lang/_translationstatus.txt | 20 + .../plugins/specialchar/dialogs/lang/ar.js | 125 + .../plugins/specialchar/dialogs/lang/bg.js | 125 + .../plugins/specialchar/dialogs/lang/ca.js | 125 + .../plugins/specialchar/dialogs/lang/cs.js | 125 + .../plugins/specialchar/dialogs/lang/cy.js | 125 + .../plugins/specialchar/dialogs/lang/de.js | 125 + .../plugins/specialchar/dialogs/lang/el.js | 125 + .../plugins/specialchar/dialogs/lang/en-gb.js | 125 + .../plugins/specialchar/dialogs/lang/en.js | 125 + .../plugins/specialchar/dialogs/lang/eo.js | 125 + .../plugins/specialchar/dialogs/lang/es.js | 125 + .../plugins/specialchar/dialogs/lang/et.js | 125 + .../plugins/specialchar/dialogs/lang/fa.js | 125 + .../plugins/specialchar/dialogs/lang/fi.js | 125 + .../plugins/specialchar/dialogs/lang/fr-ca.js | 125 + .../plugins/specialchar/dialogs/lang/fr.js | 125 + .../plugins/specialchar/dialogs/lang/gl.js | 125 + .../plugins/specialchar/dialogs/lang/he.js | 125 + .../plugins/specialchar/dialogs/lang/hr.js | 125 + .../plugins/specialchar/dialogs/lang/hu.js | 125 + .../plugins/specialchar/dialogs/lang/id.js | 125 + .../plugins/specialchar/dialogs/lang/it.js | 125 + .../plugins/specialchar/dialogs/lang/ja.js | 125 + .../plugins/specialchar/dialogs/lang/km.js | 125 + .../plugins/specialchar/dialogs/lang/ku.js | 125 + .../plugins/specialchar/dialogs/lang/lv.js | 125 + .../plugins/specialchar/dialogs/lang/nb.js | 125 + .../plugins/specialchar/dialogs/lang/nl.js | 125 + .../plugins/specialchar/dialogs/lang/no.js | 125 + .../plugins/specialchar/dialogs/lang/pl.js | 125 + .../plugins/specialchar/dialogs/lang/pt-br.js | 125 + .../plugins/specialchar/dialogs/lang/pt.js | 125 + .../plugins/specialchar/dialogs/lang/ru.js | 125 + .../plugins/specialchar/dialogs/lang/si.js | 125 + .../plugins/specialchar/dialogs/lang/sk.js | 125 + .../plugins/specialchar/dialogs/lang/sl.js | 125 + .../plugins/specialchar/dialogs/lang/sq.js | 125 + .../plugins/specialchar/dialogs/lang/sv.js | 125 + .../plugins/specialchar/dialogs/lang/th.js | 125 + .../plugins/specialchar/dialogs/lang/tr.js | 125 + .../plugins/specialchar/dialogs/lang/ug.js | 125 + .../plugins/specialchar/dialogs/lang/uk.js | 125 + .../plugins/specialchar/dialogs/lang/vi.js | 125 + .../plugins/specialchar/dialogs/lang/zh-cn.js | 125 + .../plugins/specialchar/dialogs/lang/zh.js | 125 + .../specialchar/dialogs/specialchar.js | 652 +- .../specialchar/icons/hidpi/specialchar.png | Bin 0 -> 2615 bytes .../plugins/specialchar/icons/specialchar.png | Bin 0 -> 970 bytes .../specialchar/lang/_translationstatus.txt | 85 +- .../_source/plugins/specialchar/lang/af.js | 9 + .../_source/plugins/specialchar/lang/ar.js | 9 + .../_source/plugins/specialchar/lang/bg.js | 9 + .../_source/plugins/specialchar/lang/bn.js | 9 + .../_source/plugins/specialchar/lang/bs.js | 9 + .../_source/plugins/specialchar/lang/ca.js | 9 + .../_source/plugins/specialchar/lang/cs.js | 135 +- .../_source/plugins/specialchar/lang/cy.js | 135 +- .../_source/plugins/specialchar/lang/da.js | 9 + .../_source/plugins/specialchar/lang/de.js | 135 +- .../_source/plugins/specialchar/lang/el.js | 135 +- .../_source/plugins/specialchar/lang/en-au.js | 9 + .../_source/plugins/specialchar/lang/en-ca.js | 9 + .../_source/plugins/specialchar/lang/en-gb.js | 9 + .../_source/plugins/specialchar/lang/en.js | 135 +- .../_source/plugins/specialchar/lang/eo.js | 135 +- .../_source/plugins/specialchar/lang/es.js | 9 + .../_source/plugins/specialchar/lang/et.js | 135 +- .../_source/plugins/specialchar/lang/eu.js | 9 + .../_source/plugins/specialchar/lang/fa.js | 135 +- .../_source/plugins/specialchar/lang/fi.js | 135 +- .../_source/plugins/specialchar/lang/fo.js | 9 + .../_source/plugins/specialchar/lang/fr-ca.js | 9 + .../_source/plugins/specialchar/lang/fr.js | 135 +- .../_source/plugins/specialchar/lang/gl.js | 9 + .../_source/plugins/specialchar/lang/gu.js | 9 + .../_source/plugins/specialchar/lang/he.js | 135 +- .../_source/plugins/specialchar/lang/hi.js | 9 + .../_source/plugins/specialchar/lang/hr.js | 135 +- .../_source/plugins/specialchar/lang/hu.js | 9 + .../_source/plugins/specialchar/lang/id.js | 9 + .../_source/plugins/specialchar/lang/is.js | 9 + .../_source/plugins/specialchar/lang/it.js | 135 +- .../_source/plugins/specialchar/lang/ja.js | 9 + .../_source/plugins/specialchar/lang/ka.js | 9 + .../_source/plugins/specialchar/lang/km.js | 9 + .../_source/plugins/specialchar/lang/ko.js | 9 + .../_source/plugins/specialchar/lang/ku.js | 9 + .../_source/plugins/specialchar/lang/lt.js | 9 + .../_source/plugins/specialchar/lang/lv.js | 9 + .../_source/plugins/specialchar/lang/mk.js | 9 + .../_source/plugins/specialchar/lang/mn.js | 9 + .../_source/plugins/specialchar/lang/ms.js | 9 + .../_source/plugins/specialchar/lang/nb.js | 135 +- .../_source/plugins/specialchar/lang/nl.js | 135 +- .../_source/plugins/specialchar/lang/no.js | 135 +- .../_source/plugins/specialchar/lang/pl.js | 9 + .../_source/plugins/specialchar/lang/pt-br.js | 135 +- .../_source/plugins/specialchar/lang/pt.js | 9 + .../_source/plugins/specialchar/lang/ro.js | 9 + .../_source/plugins/specialchar/lang/ru.js | 9 + .../_source/plugins/specialchar/lang/si.js | 9 + .../_source/plugins/specialchar/lang/sk.js | 9 + .../_source/plugins/specialchar/lang/sl.js | 9 + .../_source/plugins/specialchar/lang/sq.js | 9 + .../plugins/specialchar/lang/sr-latn.js | 9 + .../_source/plugins/specialchar/lang/sr.js | 9 + .../_source/plugins/specialchar/lang/sv.js | 9 + .../_source/plugins/specialchar/lang/th.js | 9 + .../_source/plugins/specialchar/lang/tr.js | 135 +- .../_source/plugins/specialchar/lang/ug.js | 135 +- .../_source/plugins/specialchar/lang/uk.js | 9 + .../_source/plugins/specialchar/lang/vi.js | 9 + .../_source/plugins/specialchar/lang/zh-cn.js | 135 +- .../_source/plugins/specialchar/lang/zh.js | 9 + .../_source/plugins/specialchar/plugin.js | 144 +- .../ckeditor/_source/plugins/styles/plugin.js | 1718 ----- .../_source/plugins/styles/styles/default.js | 88 - .../_source/plugins/stylescombo/lang/af.js | 11 + .../_source/plugins/stylescombo/lang/ar.js | 11 + .../_source/plugins/stylescombo/lang/bg.js | 11 + .../_source/plugins/stylescombo/lang/bn.js | 11 + .../_source/plugins/stylescombo/lang/bs.js | 11 + .../_source/plugins/stylescombo/lang/ca.js | 11 + .../_source/plugins/stylescombo/lang/cs.js | 11 + .../_source/plugins/stylescombo/lang/cy.js | 11 + .../_source/plugins/stylescombo/lang/da.js | 11 + .../_source/plugins/stylescombo/lang/de.js | 11 + .../_source/plugins/stylescombo/lang/el.js | 11 + .../_source/plugins/stylescombo/lang/en-au.js | 11 + .../_source/plugins/stylescombo/lang/en-ca.js | 11 + .../_source/plugins/stylescombo/lang/en-gb.js | 11 + .../_source/plugins/stylescombo/lang/en.js | 11 + .../_source/plugins/stylescombo/lang/eo.js | 11 + .../_source/plugins/stylescombo/lang/es.js | 11 + .../_source/plugins/stylescombo/lang/et.js | 11 + .../_source/plugins/stylescombo/lang/eu.js | 11 + .../_source/plugins/stylescombo/lang/fa.js | 11 + .../_source/plugins/stylescombo/lang/fi.js | 11 + .../_source/plugins/stylescombo/lang/fo.js | 11 + .../_source/plugins/stylescombo/lang/fr-ca.js | 11 + .../_source/plugins/stylescombo/lang/fr.js | 11 + .../_source/plugins/stylescombo/lang/gl.js | 11 + .../_source/plugins/stylescombo/lang/gu.js | 11 + .../_source/plugins/stylescombo/lang/he.js | 11 + .../_source/plugins/stylescombo/lang/hi.js | 11 + .../_source/plugins/stylescombo/lang/hr.js | 11 + .../_source/plugins/stylescombo/lang/hu.js | 11 + .../_source/plugins/stylescombo/lang/id.js | 11 + .../_source/plugins/stylescombo/lang/is.js | 11 + .../_source/plugins/stylescombo/lang/it.js | 11 + .../_source/plugins/stylescombo/lang/ja.js | 11 + .../_source/plugins/stylescombo/lang/ka.js | 11 + .../_source/plugins/stylescombo/lang/km.js | 11 + .../_source/plugins/stylescombo/lang/ko.js | 11 + .../_source/plugins/stylescombo/lang/ku.js | 11 + .../_source/plugins/stylescombo/lang/lt.js | 11 + .../_source/plugins/stylescombo/lang/lv.js | 11 + .../_source/plugins/stylescombo/lang/mk.js | 11 + .../_source/plugins/stylescombo/lang/mn.js | 11 + .../_source/plugins/stylescombo/lang/ms.js | 11 + .../_source/plugins/stylescombo/lang/nb.js | 11 + .../_source/plugins/stylescombo/lang/nl.js | 11 + .../_source/plugins/stylescombo/lang/no.js | 11 + .../_source/plugins/stylescombo/lang/pl.js | 11 + .../_source/plugins/stylescombo/lang/pt-br.js | 11 + .../_source/plugins/stylescombo/lang/pt.js | 11 + .../_source/plugins/stylescombo/lang/ro.js | 11 + .../_source/plugins/stylescombo/lang/ru.js | 11 + .../_source/plugins/stylescombo/lang/si.js | 11 + .../_source/plugins/stylescombo/lang/sk.js | 11 + .../_source/plugins/stylescombo/lang/sl.js | 11 + .../_source/plugins/stylescombo/lang/sq.js | 11 + .../plugins/stylescombo/lang/sr-latn.js | 11 + .../_source/plugins/stylescombo/lang/sr.js | 11 + .../_source/plugins/stylescombo/lang/sv.js | 11 + .../_source/plugins/stylescombo/lang/th.js | 11 + .../_source/plugins/stylescombo/lang/tr.js | 11 + .../_source/plugins/stylescombo/lang/ug.js | 11 + .../_source/plugins/stylescombo/lang/uk.js | 11 + .../_source/plugins/stylescombo/lang/vi.js | 11 + .../_source/plugins/stylescombo/lang/zh-cn.js | 11 + .../_source/plugins/stylescombo/lang/zh.js | 11 + .../_source/plugins/stylescombo/plugin.js | 406 +- .../plugins/stylesheetparser/plugin.js | 148 - .../ckeditor/_source/plugins/tab/plugin.js | 668 +- .../_source/plugins/table/dialogs/table.js | 1173 ++- .../plugins/table/icons/hidpi/table.png | Bin 0 -> 1006 bytes .../_source/plugins/table/icons/table.png | Bin 0 -> 535 bytes .../ckeditor/_source/plugins/table/lang/af.js | 74 + .../ckeditor/_source/plugins/table/lang/ar.js | 74 + .../ckeditor/_source/plugins/table/lang/bg.js | 74 + .../ckeditor/_source/plugins/table/lang/bn.js | 74 + .../ckeditor/_source/plugins/table/lang/bs.js | 74 + .../ckeditor/_source/plugins/table/lang/ca.js | 74 + .../ckeditor/_source/plugins/table/lang/cs.js | 74 + .../ckeditor/_source/plugins/table/lang/cy.js | 74 + .../ckeditor/_source/plugins/table/lang/da.js | 74 + .../ckeditor/_source/plugins/table/lang/de.js | 74 + .../ckeditor/_source/plugins/table/lang/el.js | 74 + .../_source/plugins/table/lang/en-au.js | 74 + .../_source/plugins/table/lang/en-ca.js | 74 + .../_source/plugins/table/lang/en-gb.js | 74 + .../ckeditor/_source/plugins/table/lang/en.js | 74 + .../ckeditor/_source/plugins/table/lang/eo.js | 74 + .../ckeditor/_source/plugins/table/lang/es.js | 74 + .../ckeditor/_source/plugins/table/lang/et.js | 74 + .../ckeditor/_source/plugins/table/lang/eu.js | 74 + .../ckeditor/_source/plugins/table/lang/fa.js | 74 + .../ckeditor/_source/plugins/table/lang/fi.js | 74 + .../ckeditor/_source/plugins/table/lang/fo.js | 74 + .../_source/plugins/table/lang/fr-ca.js | 74 + .../ckeditor/_source/plugins/table/lang/fr.js | 74 + .../ckeditor/_source/plugins/table/lang/gl.js | 74 + .../ckeditor/_source/plugins/table/lang/gu.js | 74 + .../ckeditor/_source/plugins/table/lang/he.js | 74 + .../ckeditor/_source/plugins/table/lang/hi.js | 74 + .../ckeditor/_source/plugins/table/lang/hr.js | 74 + .../ckeditor/_source/plugins/table/lang/hu.js | 74 + .../ckeditor/_source/plugins/table/lang/id.js | 74 + .../ckeditor/_source/plugins/table/lang/is.js | 74 + .../ckeditor/_source/plugins/table/lang/it.js | 74 + .../ckeditor/_source/plugins/table/lang/ja.js | 74 + .../ckeditor/_source/plugins/table/lang/ka.js | 74 + .../ckeditor/_source/plugins/table/lang/km.js | 74 + .../ckeditor/_source/plugins/table/lang/ko.js | 74 + .../ckeditor/_source/plugins/table/lang/ku.js | 74 + .../ckeditor/_source/plugins/table/lang/lt.js | 74 + .../ckeditor/_source/plugins/table/lang/lv.js | 74 + .../ckeditor/_source/plugins/table/lang/mk.js | 74 + .../ckeditor/_source/plugins/table/lang/mn.js | 74 + .../ckeditor/_source/plugins/table/lang/ms.js | 74 + .../ckeditor/_source/plugins/table/lang/nb.js | 74 + .../ckeditor/_source/plugins/table/lang/nl.js | 74 + .../ckeditor/_source/plugins/table/lang/no.js | 74 + .../ckeditor/_source/plugins/table/lang/pl.js | 74 + .../_source/plugins/table/lang/pt-br.js | 74 + .../ckeditor/_source/plugins/table/lang/pt.js | 74 + .../ckeditor/_source/plugins/table/lang/ro.js | 74 + .../ckeditor/_source/plugins/table/lang/ru.js | 74 + .../ckeditor/_source/plugins/table/lang/si.js | 74 + .../ckeditor/_source/plugins/table/lang/sk.js | 74 + .../ckeditor/_source/plugins/table/lang/sl.js | 74 + .../ckeditor/_source/plugins/table/lang/sq.js | 74 + .../_source/plugins/table/lang/sr-latn.js | 74 + .../ckeditor/_source/plugins/table/lang/sr.js | 74 + .../ckeditor/_source/plugins/table/lang/sv.js | 74 + .../ckeditor/_source/plugins/table/lang/th.js | 74 + .../ckeditor/_source/plugins/table/lang/tr.js | 74 + .../ckeditor/_source/plugins/table/lang/ug.js | 74 + .../ckeditor/_source/plugins/table/lang/uk.js | 74 + .../ckeditor/_source/plugins/table/lang/vi.js | 74 + .../_source/plugins/table/lang/zh-cn.js | 74 + .../ckeditor/_source/plugins/table/lang/zh.js | 74 + .../ckeditor/_source/plugins/table/plugin.js | 185 +- .../_source/plugins/tableresize/plugin.js | 443 -- .../plugins/tabletools/dialogs/tableCell.js | 1013 ++- .../_source/plugins/tabletools/plugin.js | 2224 +++--- .../plugins/templates/dialogs/templates.css | 84 + .../plugins/templates/dialogs/templates.js | 437 +- .../templates/icons/hidpi/templates-rtl.png | Bin 0 -> 1387 bytes .../templates/icons/hidpi/templates.png | Bin 0 -> 1387 bytes .../plugins/templates/icons/templates-rtl.png | Bin 0 -> 639 bytes .../plugins/templates/icons/templates.png | Bin 0 -> 639 bytes .../_source/plugins/templates/lang/af.js | 12 + .../_source/plugins/templates/lang/ar.js | 12 + .../_source/plugins/templates/lang/bg.js | 12 + .../_source/plugins/templates/lang/bn.js | 12 + .../_source/plugins/templates/lang/bs.js | 12 + .../_source/plugins/templates/lang/ca.js | 12 + .../_source/plugins/templates/lang/cs.js | 12 + .../_source/plugins/templates/lang/cy.js | 12 + .../_source/plugins/templates/lang/da.js | 12 + .../_source/plugins/templates/lang/de.js | 12 + .../_source/plugins/templates/lang/el.js | 12 + .../_source/plugins/templates/lang/en-au.js | 12 + .../_source/plugins/templates/lang/en-ca.js | 12 + .../_source/plugins/templates/lang/en-gb.js | 12 + .../_source/plugins/templates/lang/en.js | 12 + .../_source/plugins/templates/lang/eo.js | 12 + .../_source/plugins/templates/lang/es.js | 12 + .../_source/plugins/templates/lang/et.js | 12 + .../_source/plugins/templates/lang/eu.js | 12 + .../_source/plugins/templates/lang/fa.js | 12 + .../_source/plugins/templates/lang/fi.js | 12 + .../_source/plugins/templates/lang/fo.js | 12 + .../_source/plugins/templates/lang/fr-ca.js | 12 + .../_source/plugins/templates/lang/fr.js | 12 + .../_source/plugins/templates/lang/gl.js | 12 + .../_source/plugins/templates/lang/gu.js | 12 + .../_source/plugins/templates/lang/he.js | 12 + .../_source/plugins/templates/lang/hi.js | 12 + .../_source/plugins/templates/lang/hr.js | 12 + .../_source/plugins/templates/lang/hu.js | 12 + .../_source/plugins/templates/lang/id.js | 12 + .../_source/plugins/templates/lang/is.js | 12 + .../_source/plugins/templates/lang/it.js | 12 + .../_source/plugins/templates/lang/ja.js | 12 + .../_source/plugins/templates/lang/ka.js | 12 + .../_source/plugins/templates/lang/km.js | 12 + .../_source/plugins/templates/lang/ko.js | 12 + .../_source/plugins/templates/lang/ku.js | 12 + .../_source/plugins/templates/lang/lt.js | 12 + .../_source/plugins/templates/lang/lv.js | 12 + .../_source/plugins/templates/lang/mk.js | 12 + .../_source/plugins/templates/lang/mn.js | 12 + .../_source/plugins/templates/lang/ms.js | 12 + .../_source/plugins/templates/lang/nb.js | 12 + .../_source/plugins/templates/lang/nl.js | 12 + .../_source/plugins/templates/lang/no.js | 12 + .../_source/plugins/templates/lang/pl.js | 12 + .../_source/plugins/templates/lang/pt-br.js | 12 + .../_source/plugins/templates/lang/pt.js | 12 + .../_source/plugins/templates/lang/ro.js | 12 + .../_source/plugins/templates/lang/ru.js | 12 + .../_source/plugins/templates/lang/si.js | 12 + .../_source/plugins/templates/lang/sk.js | 12 + .../_source/plugins/templates/lang/sl.js | 12 + .../_source/plugins/templates/lang/sq.js | 12 + .../_source/plugins/templates/lang/sr-latn.js | 12 + .../_source/plugins/templates/lang/sr.js | 12 + .../_source/plugins/templates/lang/sv.js | 12 + .../_source/plugins/templates/lang/th.js | 12 + .../_source/plugins/templates/lang/tr.js | 12 + .../_source/plugins/templates/lang/ug.js | 12 + .../_source/plugins/templates/lang/uk.js | 12 + .../_source/plugins/templates/lang/vi.js | 12 + .../_source/plugins/templates/lang/zh-cn.js | 12 + .../_source/plugins/templates/lang/zh.js | 12 + .../_source/plugins/templates/plugin.js | 191 +- .../plugins/templates/templates/default.js | 183 +- .../_source/plugins/toolbar/lang/af.js | 22 + .../_source/plugins/toolbar/lang/ar.js | 22 + .../_source/plugins/toolbar/lang/bg.js | 22 + .../_source/plugins/toolbar/lang/bn.js | 22 + .../_source/plugins/toolbar/lang/bs.js | 22 + .../_source/plugins/toolbar/lang/ca.js | 22 + .../_source/plugins/toolbar/lang/cs.js | 22 + .../_source/plugins/toolbar/lang/cy.js | 22 + .../_source/plugins/toolbar/lang/da.js | 22 + .../_source/plugins/toolbar/lang/de.js | 22 + .../_source/plugins/toolbar/lang/el.js | 22 + .../_source/plugins/toolbar/lang/en-au.js | 22 + .../_source/plugins/toolbar/lang/en-ca.js | 22 + .../_source/plugins/toolbar/lang/en-gb.js | 22 + .../_source/plugins/toolbar/lang/en.js | 22 + .../_source/plugins/toolbar/lang/eo.js | 22 + .../_source/plugins/toolbar/lang/es.js | 22 + .../_source/plugins/toolbar/lang/et.js | 22 + .../_source/plugins/toolbar/lang/eu.js | 22 + .../_source/plugins/toolbar/lang/fa.js | 22 + .../_source/plugins/toolbar/lang/fi.js | 22 + .../_source/plugins/toolbar/lang/fo.js | 22 + .../_source/plugins/toolbar/lang/fr-ca.js | 22 + .../_source/plugins/toolbar/lang/fr.js | 22 + .../_source/plugins/toolbar/lang/gl.js | 22 + .../_source/plugins/toolbar/lang/gu.js | 22 + .../_source/plugins/toolbar/lang/he.js | 22 + .../_source/plugins/toolbar/lang/hi.js | 22 + .../_source/plugins/toolbar/lang/hr.js | 22 + .../_source/plugins/toolbar/lang/hu.js | 22 + .../_source/plugins/toolbar/lang/id.js | 22 + .../_source/plugins/toolbar/lang/is.js | 22 + .../_source/plugins/toolbar/lang/it.js | 22 + .../_source/plugins/toolbar/lang/ja.js | 22 + .../_source/plugins/toolbar/lang/ka.js | 22 + .../_source/plugins/toolbar/lang/km.js | 22 + .../_source/plugins/toolbar/lang/ko.js | 22 + .../_source/plugins/toolbar/lang/ku.js | 22 + .../_source/plugins/toolbar/lang/lt.js | 22 + .../_source/plugins/toolbar/lang/lv.js | 22 + .../_source/plugins/toolbar/lang/mk.js | 22 + .../_source/plugins/toolbar/lang/mn.js | 22 + .../_source/plugins/toolbar/lang/ms.js | 22 + .../_source/plugins/toolbar/lang/nb.js | 22 + .../_source/plugins/toolbar/lang/nl.js | 22 + .../_source/plugins/toolbar/lang/no.js | 22 + .../_source/plugins/toolbar/lang/pl.js | 22 + .../_source/plugins/toolbar/lang/pt-br.js | 22 + .../_source/plugins/toolbar/lang/pt.js | 22 + .../_source/plugins/toolbar/lang/ro.js | 22 + .../_source/plugins/toolbar/lang/ru.js | 22 + .../_source/plugins/toolbar/lang/si.js | 22 + .../_source/plugins/toolbar/lang/sk.js | 22 + .../_source/plugins/toolbar/lang/sl.js | 22 + .../_source/plugins/toolbar/lang/sq.js | 22 + .../_source/plugins/toolbar/lang/sr-latn.js | 22 + .../_source/plugins/toolbar/lang/sr.js | 22 + .../_source/plugins/toolbar/lang/sv.js | 22 + .../_source/plugins/toolbar/lang/th.js | 22 + .../_source/plugins/toolbar/lang/tr.js | 22 + .../_source/plugins/toolbar/lang/ug.js | 22 + .../_source/plugins/toolbar/lang/uk.js | 22 + .../_source/plugins/toolbar/lang/vi.js | 22 + .../_source/plugins/toolbar/lang/zh-cn.js | 22 + .../_source/plugins/toolbar/lang/zh.js | 22 + .../_source/plugins/toolbar/plugin.js | 1327 ++-- .../plugins/toolbar/samples/toolbar.html | 232 + .../plugins/uicolor/dialogs/uicolor.js | 205 - .../uicolor/lang/_translationstatus.txt | 28 - .../_source/plugins/uicolor/lang/bg.js | 15 - .../_source/plugins/uicolor/lang/cs.js | 15 - .../_source/plugins/uicolor/lang/cy.js | 15 - .../_source/plugins/uicolor/lang/da.js | 15 - .../_source/plugins/uicolor/lang/de.js | 15 - .../_source/plugins/uicolor/lang/el.js | 15 - .../_source/plugins/uicolor/lang/en.js | 15 - .../_source/plugins/uicolor/lang/eo.js | 15 - .../_source/plugins/uicolor/lang/et.js | 15 - .../_source/plugins/uicolor/lang/fa.js | 15 - .../_source/plugins/uicolor/lang/fi.js | 15 - .../_source/plugins/uicolor/lang/fr.js | 15 - .../_source/plugins/uicolor/lang/he.js | 15 - .../_source/plugins/uicolor/lang/hr.js | 15 - .../_source/plugins/uicolor/lang/it.js | 15 - .../_source/plugins/uicolor/lang/mk.js | 15 - .../_source/plugins/uicolor/lang/nb.js | 15 - .../_source/plugins/uicolor/lang/nl.js | 15 - .../_source/plugins/uicolor/lang/no.js | 15 - .../_source/plugins/uicolor/lang/pl.js | 15 - .../_source/plugins/uicolor/lang/pt-br.js | 15 - .../_source/plugins/uicolor/lang/tr.js | 15 - .../_source/plugins/uicolor/lang/ug.js | 15 - .../_source/plugins/uicolor/lang/uk.js | 15 - .../_source/plugins/uicolor/lang/vi.js | 15 - .../_source/plugins/uicolor/lang/zh-cn.js | 15 - .../_source/plugins/uicolor/plugin.js | 37 - .../_source/plugins/uicolor/uicolor.gif | Bin 1108 -> 0 bytes .../plugins/uicolor/yui/assets/hue_bg.png | Bin 1120 -> 0 bytes .../plugins/uicolor/yui/assets/hue_thumb.png | Bin 195 -> 0 bytes .../uicolor/yui/assets/picker_mask.png | Bin 12174 -> 0 bytes .../uicolor/yui/assets/picker_thumb.png | Bin 192 -> 0 bytes .../plugins/uicolor/yui/assets/yui.css | 15 - .../_source/plugins/uicolor/yui/yui.js | 71 - .../plugins/undo/icons/hidpi/redo-rtl.png | Bin 0 -> 1869 bytes .../_source/plugins/undo/icons/hidpi/redo.png | Bin 0 -> 1783 bytes .../plugins/undo/icons/hidpi/undo-rtl.png | Bin 0 -> 1783 bytes .../_source/plugins/undo/icons/hidpi/undo.png | Bin 0 -> 1869 bytes .../_source/plugins/undo/icons/redo-rtl.png | Bin 0 -> 849 bytes .../_source/plugins/undo/icons/redo.png | Bin 0 -> 842 bytes .../_source/plugins/undo/icons/undo-rtl.png | Bin 0 -> 842 bytes .../_source/plugins/undo/icons/undo.png | Bin 0 -> 850 bytes .../ckeditor/_source/plugins/undo/lang/af.js | 8 + .../ckeditor/_source/plugins/undo/lang/ar.js | 8 + .../ckeditor/_source/plugins/undo/lang/bg.js | 8 + .../ckeditor/_source/plugins/undo/lang/bn.js | 8 + .../ckeditor/_source/plugins/undo/lang/bs.js | 8 + .../ckeditor/_source/plugins/undo/lang/ca.js | 8 + .../ckeditor/_source/plugins/undo/lang/cs.js | 8 + .../ckeditor/_source/plugins/undo/lang/cy.js | 8 + .../ckeditor/_source/plugins/undo/lang/da.js | 8 + .../ckeditor/_source/plugins/undo/lang/de.js | 8 + .../ckeditor/_source/plugins/undo/lang/el.js | 8 + .../_source/plugins/undo/lang/en-au.js | 8 + .../_source/plugins/undo/lang/en-ca.js | 8 + .../_source/plugins/undo/lang/en-gb.js | 8 + .../ckeditor/_source/plugins/undo/lang/en.js | 8 + .../ckeditor/_source/plugins/undo/lang/eo.js | 8 + .../ckeditor/_source/plugins/undo/lang/es.js | 8 + .../ckeditor/_source/plugins/undo/lang/et.js | 8 + .../ckeditor/_source/plugins/undo/lang/eu.js | 8 + .../ckeditor/_source/plugins/undo/lang/fa.js | 8 + .../ckeditor/_source/plugins/undo/lang/fi.js | 8 + .../ckeditor/_source/plugins/undo/lang/fo.js | 8 + .../_source/plugins/undo/lang/fr-ca.js | 8 + .../ckeditor/_source/plugins/undo/lang/fr.js | 8 + .../ckeditor/_source/plugins/undo/lang/gl.js | 8 + .../ckeditor/_source/plugins/undo/lang/gu.js | 8 + .../ckeditor/_source/plugins/undo/lang/he.js | 8 + .../ckeditor/_source/plugins/undo/lang/hi.js | 8 + .../ckeditor/_source/plugins/undo/lang/hr.js | 8 + .../ckeditor/_source/plugins/undo/lang/hu.js | 8 + .../ckeditor/_source/plugins/undo/lang/id.js | 8 + .../ckeditor/_source/plugins/undo/lang/is.js | 8 + .../ckeditor/_source/plugins/undo/lang/it.js | 8 + .../ckeditor/_source/plugins/undo/lang/ja.js | 8 + .../ckeditor/_source/plugins/undo/lang/ka.js | 8 + .../ckeditor/_source/plugins/undo/lang/km.js | 8 + .../ckeditor/_source/plugins/undo/lang/ko.js | 8 + .../ckeditor/_source/plugins/undo/lang/ku.js | 8 + .../ckeditor/_source/plugins/undo/lang/lt.js | 8 + .../ckeditor/_source/plugins/undo/lang/lv.js | 8 + .../ckeditor/_source/plugins/undo/lang/mk.js | 8 + .../ckeditor/_source/plugins/undo/lang/mn.js | 8 + .../ckeditor/_source/plugins/undo/lang/ms.js | 8 + .../ckeditor/_source/plugins/undo/lang/nb.js | 8 + .../ckeditor/_source/plugins/undo/lang/nl.js | 8 + .../ckeditor/_source/plugins/undo/lang/no.js | 8 + .../ckeditor/_source/plugins/undo/lang/pl.js | 8 + .../_source/plugins/undo/lang/pt-br.js | 8 + .../ckeditor/_source/plugins/undo/lang/pt.js | 8 + .../ckeditor/_source/plugins/undo/lang/ro.js | 8 + .../ckeditor/_source/plugins/undo/lang/ru.js | 8 + .../ckeditor/_source/plugins/undo/lang/si.js | 8 + .../ckeditor/_source/plugins/undo/lang/sk.js | 8 + .../ckeditor/_source/plugins/undo/lang/sl.js | 8 + .../ckeditor/_source/plugins/undo/lang/sq.js | 8 + .../_source/plugins/undo/lang/sr-latn.js | 8 + .../ckeditor/_source/plugins/undo/lang/sr.js | 8 + .../ckeditor/_source/plugins/undo/lang/sv.js | 8 + .../ckeditor/_source/plugins/undo/lang/th.js | 8 + .../ckeditor/_source/plugins/undo/lang/tr.js | 8 + .../ckeditor/_source/plugins/undo/lang/ug.js | 8 + .../ckeditor/_source/plugins/undo/lang/uk.js | 8 + .../ckeditor/_source/plugins/undo/lang/vi.js | 8 + .../_source/plugins/undo/lang/zh-cn.js | 8 + .../ckeditor/_source/plugins/undo/lang/zh.js | 8 + .../ckeditor/_source/plugins/undo/plugin.js | 1331 ++-- .../ckeditor/_source/plugins/wsc/LICENSE.md | 28 + .../ckeditor/_source/plugins/wsc/README.md | 25 + .../_source/plugins/wsc/dialogs/ciframe.html | 115 +- .../_source/plugins/wsc/dialogs/tmp.html | 118 + .../plugins/wsc/dialogs/tmpFrameset.html | 104 +- .../_source/plugins/wsc/dialogs/wsc.css | 164 +- .../_source/plugins/wsc/dialogs/wsc.js | 2327 +++++- .../_source/plugins/wsc/dialogs/wsc_ie.js | 176 + .../plugins/wsc/icons/hidpi/spellchecker.png | Bin 0 -> 2816 bytes .../plugins/wsc/icons/spellchecker.png | Bin 0 -> 836 bytes .../ckeditor/_source/plugins/wsc/lang/af.js | 24 + .../ckeditor/_source/plugins/wsc/lang/ar.js | 24 + .../ckeditor/_source/plugins/wsc/lang/bg.js | 24 + .../ckeditor/_source/plugins/wsc/lang/bn.js | 24 + .../ckeditor/_source/plugins/wsc/lang/bs.js | 24 + .../ckeditor/_source/plugins/wsc/lang/ca.js | 24 + .../ckeditor/_source/plugins/wsc/lang/cs.js | 24 + .../ckeditor/_source/plugins/wsc/lang/cy.js | 24 + .../ckeditor/_source/plugins/wsc/lang/da.js | 24 + .../ckeditor/_source/plugins/wsc/lang/de.js | 24 + .../ckeditor/_source/plugins/wsc/lang/el.js | 24 + .../_source/plugins/wsc/lang/en-au.js | 24 + .../_source/plugins/wsc/lang/en-ca.js | 24 + .../_source/plugins/wsc/lang/en-gb.js | 24 + .../ckeditor/_source/plugins/wsc/lang/en.js | 24 + .../ckeditor/_source/plugins/wsc/lang/eo.js | 24 + .../ckeditor/_source/plugins/wsc/lang/es.js | 24 + .../ckeditor/_source/plugins/wsc/lang/et.js | 24 + .../ckeditor/_source/plugins/wsc/lang/eu.js | 24 + .../ckeditor/_source/plugins/wsc/lang/fa.js | 24 + .../ckeditor/_source/plugins/wsc/lang/fi.js | 24 + .../ckeditor/_source/plugins/wsc/lang/fo.js | 24 + .../_source/plugins/wsc/lang/fr-ca.js | 24 + .../ckeditor/_source/plugins/wsc/lang/fr.js | 24 + .../ckeditor/_source/plugins/wsc/lang/gl.js | 24 + .../ckeditor/_source/plugins/wsc/lang/gu.js | 24 + .../ckeditor/_source/plugins/wsc/lang/he.js | 24 + .../ckeditor/_source/plugins/wsc/lang/hi.js | 24 + .../ckeditor/_source/plugins/wsc/lang/hr.js | 24 + .../ckeditor/_source/plugins/wsc/lang/hu.js | 24 + .../ckeditor/_source/plugins/wsc/lang/is.js | 24 + .../ckeditor/_source/plugins/wsc/lang/it.js | 24 + .../ckeditor/_source/plugins/wsc/lang/ja.js | 24 + .../ckeditor/_source/plugins/wsc/lang/ka.js | 24 + .../ckeditor/_source/plugins/wsc/lang/km.js | 24 + .../ckeditor/_source/plugins/wsc/lang/ko.js | 24 + .../ckeditor/_source/plugins/wsc/lang/ku.js | 24 + .../ckeditor/_source/plugins/wsc/lang/lt.js | 24 + .../ckeditor/_source/plugins/wsc/lang/lv.js | 24 + .../ckeditor/_source/plugins/wsc/lang/mk.js | 24 + .../ckeditor/_source/plugins/wsc/lang/mn.js | 24 + .../ckeditor/_source/plugins/wsc/lang/ms.js | 24 + .../ckeditor/_source/plugins/wsc/lang/nb.js | 24 + .../ckeditor/_source/plugins/wsc/lang/nl.js | 24 + .../ckeditor/_source/plugins/wsc/lang/no.js | 24 + .../ckeditor/_source/plugins/wsc/lang/pl.js | 24 + .../_source/plugins/wsc/lang/pt-br.js | 24 + .../ckeditor/_source/plugins/wsc/lang/pt.js | 24 + .../ckeditor/_source/plugins/wsc/lang/ro.js | 24 + .../ckeditor/_source/plugins/wsc/lang/ru.js | 24 + .../ckeditor/_source/plugins/wsc/lang/sk.js | 24 + .../ckeditor/_source/plugins/wsc/lang/sl.js | 24 + .../_source/plugins/wsc/lang/sr-latn.js | 24 + .../ckeditor/_source/plugins/wsc/lang/sr.js | 24 + .../ckeditor/_source/plugins/wsc/lang/sv.js | 24 + .../ckeditor/_source/plugins/wsc/lang/th.js | 24 + .../ckeditor/_source/plugins/wsc/lang/tr.js | 24 + .../ckeditor/_source/plugins/wsc/lang/ug.js | 24 + .../ckeditor/_source/plugins/wsc/lang/uk.js | 24 + .../ckeditor/_source/plugins/wsc/lang/vi.js | 24 + .../_source/plugins/wsc/lang/zh-cn.js | 24 + .../ckeditor/_source/plugins/wsc/lang/zh.js | 24 + .../ckeditor/_source/plugins/wsc/plugin.js | 98 +- .../_source/plugins/wysiwygarea/plugin.js | 2056 ++--- .../plugins/wysiwygarea/samples/fullpage.html | 77 + .../ckeditor/_source/plugins/xml/plugin.js | 170 - .../ckeditor/_source/skins/kama/dialog.css | 1000 --- .../ckeditor/_source/skins/kama/editor.css | 25 - .../_source/skins/kama/elementspath.css | 73 - .../ckeditor/_source/skins/kama/icons.css | 366 - .../ckeditor/_source/skins/kama/icons.png | Bin 5598 -> 0 bytes .../ckeditor/_source/skins/kama/icons_rtl.png | Bin 5600 -> 0 bytes .../skins/kama/images/dialog_sides.gif | Bin 48 -> 0 bytes .../skins/kama/images/dialog_sides.png | Bin 178 -> 0 bytes .../skins/kama/images/dialog_sides_rtl.png | Bin 181 -> 0 bytes .../_source/skins/kama/images/mini.gif | Bin 183 -> 0 bytes .../_source/skins/kama/images/sprites.png | Bin 7086 -> 0 bytes .../_source/skins/kama/images/sprites_ie6.png | Bin 2724 -> 0 bytes .../skins/kama/images/toolbar_start.gif | Bin 105 -> 0 bytes .../ckeditor/_source/skins/kama/mainui.css | 206 - .../ckeditor/_source/skins/kama/menu.css | 232 - .../ckeditor/_source/skins/kama/panel.css | 217 - .../ckeditor/_source/skins/kama/presets.css | 49 - .../ckeditor/_source/skins/kama/reset.css | 85 - .../ckeditor/_source/skins/kama/richcombo.css | 287 - .../ckeditor/_source/skins/kama/skin.js | 236 - .../ckeditor/_source/skins/kama/templates.css | 88 - .../ckeditor/_source/skins/kama/toolbar.css | 408 - .../_source/skins/moonocolor/colorpanel.css | 127 + .../_source/skins/moonocolor/dialog.css | 1072 +++ .../_source/skins/moonocolor/dialog_ie.css | 62 + .../_source/skins/moonocolor/dialog_ie7.css | 68 + .../_source/skins/moonocolor/dialog_ie8.css | 24 + .../skins/moonocolor/dialog_iequirks.css | 21 + .../_source/skins/moonocolor/dialog_opera.css | 31 + .../_source/skins/moonocolor/editor.css | 66 + .../_source/skins/moonocolor/editor_gecko.css | 25 + .../_source/skins/moonocolor/editor_ie.css | 71 + .../_source/skins/moonocolor/editor_ie7.css | 213 + .../_source/skins/moonocolor/editor_ie8.css | 27 + .../skins/moonocolor/editor_iequirks.css | 79 + .../_source/skins/moonocolor/elementspath.css | 80 + .../_source/skins/moonocolor/icons/about.png | Bin 0 -> 776 bytes .../skins/moonocolor/icons/anchor-rtl.png | Bin 0 -> 751 bytes .../_source/skins/moonocolor/icons/anchor.png | Bin 0 -> 769 bytes .../skins/moonocolor/icons/bgcolor.png | Bin 0 -> 156 bytes .../skins/moonocolor/icons/bidiltr.png | Bin 0 -> 485 bytes .../skins/moonocolor/icons/bidirtl.png | Bin 0 -> 485 bytes .../skins/moonocolor/icons/blockquote.png | Bin 0 -> 462 bytes .../_source/skins/moonocolor/icons/bold.png | Bin 0 -> 405 bytes .../moonocolor/icons/bulletedlist-rtl.png | Bin 0 -> 337 bytes .../skins/moonocolor/icons/bulletedlist.png | Bin 0 -> 335 bytes .../_source/skins/moonocolor/icons/button.png | Bin 0 -> 341 bytes .../skins/moonocolor/icons/checkbox.png | Bin 0 -> 424 bytes .../skins/moonocolor/icons/copy-rtl.png | Bin 0 -> 745 bytes .../_source/skins/moonocolor/icons/copy.png | Bin 0 -> 774 bytes .../skins/moonocolor/icons/creatediv.png | Bin 0 -> 426 bytes .../skins/moonocolor/icons/cut-rtl.png | Bin 0 -> 677 bytes .../_source/skins/moonocolor/icons/cut.png | Bin 0 -> 662 bytes .../skins/moonocolor/icons/find-rtl.png | Bin 0 -> 605 bytes .../_source/skins/moonocolor/icons/find.png | Bin 0 -> 608 bytes .../_source/skins/moonocolor/icons/flash.png | Bin 0 -> 729 bytes .../_source/skins/moonocolor/icons/form.png | Bin 0 -> 560 bytes .../skins/moonocolor/icons/hiddenfield.png | Bin 0 -> 465 bytes .../skins/moonocolor/icons/horizontalrule.png | Bin 0 -> 307 bytes .../_source/skins/moonocolor/icons/iframe.png | Bin 0 -> 827 bytes .../_source/skins/moonocolor/icons/image.png | Bin 0 -> 663 bytes .../skins/moonocolor/icons/imagebutton.png | Bin 0 -> 501 bytes .../skins/moonocolor/icons/indent-rtl.png | Bin 0 -> 341 bytes .../_source/skins/moonocolor/icons/indent.png | Bin 0 -> 341 bytes .../_source/skins/moonocolor/icons/italic.png | Bin 0 -> 297 bytes .../skins/moonocolor/icons/justifyblock.png | Bin 0 -> 236 bytes .../skins/moonocolor/icons/justifycenter.png | Bin 0 -> 251 bytes .../skins/moonocolor/icons/justifyleft.png | Bin 0 -> 240 bytes .../skins/moonocolor/icons/justifyright.png | Bin 0 -> 234 bytes .../_source/skins/moonocolor/icons/link.png | Bin 0 -> 652 bytes .../skins/moonocolor/icons/maximize.png | Bin 0 -> 615 bytes .../skins/moonocolor/icons/newpage-rtl.png | Bin 0 -> 428 bytes .../skins/moonocolor/icons/newpage.png | Bin 0 -> 430 bytes .../moonocolor/icons/numberedlist-rtl.png | Bin 0 -> 363 bytes .../skins/moonocolor/icons/numberedlist.png | Bin 0 -> 366 bytes .../skins/moonocolor/icons/outdent-rtl.png | Bin 0 -> 346 bytes .../skins/moonocolor/icons/outdent.png | Bin 0 -> 338 bytes .../skins/moonocolor/icons/pagebreak-rtl.png | Bin 0 -> 408 bytes .../skins/moonocolor/icons/pagebreak.png | Bin 0 -> 410 bytes .../skins/moonocolor/icons/paste-rtl.png | Bin 0 -> 793 bytes .../_source/skins/moonocolor/icons/paste.png | Bin 0 -> 808 bytes .../moonocolor/icons/pastefromword-rtl.png | Bin 0 -> 822 bytes .../skins/moonocolor/icons/pastefromword.png | Bin 0 -> 822 bytes .../skins/moonocolor/icons/pastetext-rtl.png | Bin 0 -> 848 bytes .../skins/moonocolor/icons/pastetext.png | Bin 0 -> 834 bytes .../skins/moonocolor/icons/preview-rtl.png | Bin 0 -> 623 bytes .../skins/moonocolor/icons/preview.png | Bin 0 -> 638 bytes .../_source/skins/moonocolor/icons/print.png | Bin 0 -> 834 bytes .../_source/skins/moonocolor/icons/radio.png | Bin 0 -> 548 bytes .../skins/moonocolor/icons/redo-rtl.png | Bin 0 -> 628 bytes .../_source/skins/moonocolor/icons/redo.png | Bin 0 -> 632 bytes .../skins/moonocolor/icons/removeformat.png | Bin 0 -> 691 bytes .../skins/moonocolor/icons/replace.png | Bin 0 -> 745 bytes .../_source/skins/moonocolor/icons/save.png | Bin 0 -> 728 bytes .../_source/skins/moonocolor/icons/scayt.png | Bin 0 -> 679 bytes .../skins/moonocolor/icons/select-rtl.png | Bin 0 -> 358 bytes .../_source/skins/moonocolor/icons/select.png | Bin 0 -> 354 bytes .../skins/moonocolor/icons/selectall.png | Bin 0 -> 530 bytes .../skins/moonocolor/icons/showblocks-rtl.png | Bin 0 -> 340 bytes .../skins/moonocolor/icons/showblocks.png | Bin 0 -> 354 bytes .../_source/skins/moonocolor/icons/smiley.png | Bin 0 -> 732 bytes .../skins/moonocolor/icons/source-rtl.png | Bin 0 -> 650 bytes .../_source/skins/moonocolor/icons/source.png | Bin 0 -> 647 bytes .../skins/moonocolor/icons/specialchar.png | Bin 0 -> 565 bytes .../skins/moonocolor/icons/spellchecker.png | Bin 0 -> 679 bytes .../_source/skins/moonocolor/icons/strike.png | Bin 0 -> 389 bytes .../skins/moonocolor/icons/subscript.png | Bin 0 -> 438 bytes .../skins/moonocolor/icons/superscript.png | Bin 0 -> 446 bytes .../_source/skins/moonocolor/icons/table.png | Bin 0 -> 568 bytes .../skins/moonocolor/icons/templates-rtl.png | Bin 0 -> 608 bytes .../skins/moonocolor/icons/templates.png | Bin 0 -> 610 bytes .../skins/moonocolor/icons/textarea-rtl.png | Bin 0 -> 431 bytes .../skins/moonocolor/icons/textarea.png | Bin 0 -> 433 bytes .../skins/moonocolor/icons/textcolor.png | Bin 0 -> 218 bytes .../skins/moonocolor/icons/textfield-rtl.png | Bin 0 -> 323 bytes .../skins/moonocolor/icons/textfield.png | Bin 0 -> 324 bytes .../skins/moonocolor/icons/underline.png | Bin 0 -> 338 bytes .../skins/moonocolor/icons/undo-rtl.png | Bin 0 -> 632 bytes .../_source/skins/moonocolor/icons/undo.png | Bin 0 -> 628 bytes .../_source/skins/moonocolor/icons/unlink.png | Bin 0 -> 662 bytes .../_source/skins/moonocolor/images/arrow.png | Bin 0 -> 261 bytes .../_source/skins/moonocolor/images/close.png | Bin 0 -> 824 bytes .../skins/moonocolor/images/hidpi/close.png | Bin 0 -> 1792 bytes .../moonocolor/images/hidpi/lock-open.png | Bin 0 -> 1503 bytes .../skins/moonocolor/images/hidpi/lock.png | Bin 0 -> 1616 bytes .../skins/moonocolor/images/hidpi/refresh.png | Bin 0 -> 2320 bytes .../skins/moonocolor/images/lock-open.png | Bin 0 -> 736 bytes .../_source/skins/moonocolor/images/lock.png | Bin 0 -> 728 bytes .../skins/moonocolor/images/refresh.png | Bin 0 -> 953 bytes .../_source/skins/moonocolor/mainui.css | 234 + .../_source/skins/moonocolor/menu.css | 203 + .../_source/skins/moonocolor/panel.css | 255 + .../_source/skins/moonocolor/presets.css | 37 + .../_source/skins/moonocolor/readme.md | 51 + .../_source/skins/moonocolor/reset.css | 119 + .../_source/skins/moonocolor/richcombo.css | 231 + .../ckeditor/_source/skins/moonocolor/skin.js | 274 + .../_source/skins/moonocolor/toolbar.css | 430 ++ .../_source/skins/office2003/dialog.css | 908 --- .../_source/skins/office2003/editor.css | 25 - .../_source/skins/office2003/elementspath.css | 74 - .../_source/skins/office2003/icons.css | 363 - .../_source/skins/office2003/icons.png | Bin 5598 -> 0 bytes .../_source/skins/office2003/icons_rtl.png | Bin 5600 -> 0 bytes .../skins/office2003/images/dialog_sides.gif | Bin 48 -> 0 bytes .../skins/office2003/images/dialog_sides.png | Bin 178 -> 0 bytes .../office2003/images/dialog_sides_rtl.png | Bin 181 -> 0 bytes .../_source/skins/office2003/images/mini.gif | Bin 183 -> 0 bytes .../skins/office2003/images/sprites.png | Bin 6119 -> 0 bytes .../skins/office2003/images/sprites_ie6.png | Bin 2715 -> 0 bytes .../_source/skins/office2003/mainui.css | 153 - .../_source/skins/office2003/menu.css | 229 - .../_source/skins/office2003/panel.css | 212 - .../_source/skins/office2003/presets.css | 49 - .../_source/skins/office2003/reset.css | 85 - .../_source/skins/office2003/richcombo.css | 309 - .../ckeditor/_source/skins/office2003/skin.js | 74 - .../_source/skins/office2003/templates.css | 87 - .../_source/skins/office2003/toolbar.css | 522 -- .../ckeditor/_source/skins/v2/dialog.css | 924 --- .../ckeditor/_source/skins/v2/editor.css | 25 - .../_source/skins/v2/elementspath.css | 74 - .../ckeditor/_source/skins/v2/icons.css | 363 - .../ckeditor/_source/skins/v2/icons.png | Bin 5598 -> 0 bytes .../ckeditor/_source/skins/v2/icons_rtl.png | Bin 5600 -> 0 bytes .../_source/skins/v2/images/dialog_sides.gif | Bin 48 -> 0 bytes .../_source/skins/v2/images/dialog_sides.png | Bin 178 -> 0 bytes .../skins/v2/images/dialog_sides_rtl.png | Bin 181 -> 0 bytes .../ckeditor/_source/skins/v2/images/mini.gif | Bin 183 -> 0 bytes .../_source/skins/v2/images/noimage.png | Bin 2115 -> 0 bytes .../_source/skins/v2/images/sprites.png | Bin 5389 -> 0 bytes .../_source/skins/v2/images/sprites_ie6.png | Bin 492 -> 0 bytes .../_source/skins/v2/images/toolbar_start.gif | Bin 105 -> 0 bytes .../ckeditor/_source/skins/v2/mainui.css | 162 - .../ckeditor/_source/skins/v2/menu.css | 232 - .../ckeditor/_source/skins/v2/panel.css | 212 - .../ckeditor/_source/skins/v2/presets.css | 50 - .../ckeditor/_source/skins/v2/reset.css | 85 - .../ckeditor/_source/skins/v2/richcombo.css | 302 - .../ckeditor/_source/skins/v2/skin.js | 70 - .../ckeditor/_source/skins/v2/templates.css | 87 - .../ckeditor/_source/skins/v2/toolbar.css | 465 -- htdocs/includes/ckeditor/_source/styles.js | 112 + .../ckeditor/_source/themes/default/theme.js | 407 - htdocs/includes/ckeditor/adapters/jquery.js | 14 +- htdocs/includes/ckeditor/build-config.js | 165 + htdocs/includes/ckeditor/ckeditor.asp | 955 --- htdocs/includes/ckeditor/ckeditor.js | 1128 ++- htdocs/includes/ckeditor/ckeditor.pack | 211 - htdocs/includes/ckeditor/ckeditor.php | 29 - htdocs/includes/ckeditor/ckeditor_basic.js | 8 - .../ckeditor/ckeditor_basic_source.js | 20 - htdocs/includes/ckeditor/ckeditor_php4.php | 566 -- htdocs/includes/ckeditor/ckeditor_php5.php | 556 -- htdocs/includes/ckeditor/ckeditor_source.js | 35 - htdocs/includes/ckeditor/config.js | 11 +- htdocs/includes/ckeditor/contents.css | 148 +- htdocs/includes/ckeditor/lang/_languages.js | 6 - .../ckeditor/lang/_translationstatus.txt | 64 - htdocs/includes/ckeditor/lang/af.js | 9 +- htdocs/includes/ckeditor/lang/ar.js | 9 +- htdocs/includes/ckeditor/lang/bg.js | 9 +- htdocs/includes/ckeditor/lang/bn.js | 9 +- htdocs/includes/ckeditor/lang/bs.js | 9 +- htdocs/includes/ckeditor/lang/ca.js | 9 +- htdocs/includes/ckeditor/lang/cs.js | 9 +- htdocs/includes/ckeditor/lang/cy.js | 9 +- htdocs/includes/ckeditor/lang/da.js | 9 +- htdocs/includes/ckeditor/lang/de.js | 9 +- htdocs/includes/ckeditor/lang/el.js | 9 +- htdocs/includes/ckeditor/lang/en-au.js | 9 +- htdocs/includes/ckeditor/lang/en-ca.js | 9 +- htdocs/includes/ckeditor/lang/en-gb.js | 9 +- htdocs/includes/ckeditor/lang/en.js | 9 +- htdocs/includes/ckeditor/lang/eo.js | 9 +- htdocs/includes/ckeditor/lang/es.js | 9 +- htdocs/includes/ckeditor/lang/et.js | 9 +- htdocs/includes/ckeditor/lang/eu.js | 9 +- htdocs/includes/ckeditor/lang/fa.js | 9 +- htdocs/includes/ckeditor/lang/fi.js | 9 +- htdocs/includes/ckeditor/lang/fo.js | 9 +- htdocs/includes/ckeditor/lang/fr-ca.js | 9 +- htdocs/includes/ckeditor/lang/fr.js | 9 +- htdocs/includes/ckeditor/lang/gl.js | 9 +- htdocs/includes/ckeditor/lang/gu.js | 9 +- htdocs/includes/ckeditor/lang/he.js | 9 +- htdocs/includes/ckeditor/lang/hi.js | 9 +- htdocs/includes/ckeditor/lang/hr.js | 9 +- htdocs/includes/ckeditor/lang/hu.js | 9 +- htdocs/includes/ckeditor/lang/id.js | 9 +- htdocs/includes/ckeditor/lang/is.js | 9 +- htdocs/includes/ckeditor/lang/it.js | 9 +- htdocs/includes/ckeditor/lang/ja.js | 9 +- htdocs/includes/ckeditor/lang/ka.js | 9 +- htdocs/includes/ckeditor/lang/km.js | 9 +- htdocs/includes/ckeditor/lang/ko.js | 9 +- htdocs/includes/ckeditor/lang/ku.js | 5 + htdocs/includes/ckeditor/lang/lt.js | 9 +- htdocs/includes/ckeditor/lang/lv.js | 9 +- htdocs/includes/ckeditor/lang/mk.js | 9 +- htdocs/includes/ckeditor/lang/mn.js | 9 +- htdocs/includes/ckeditor/lang/ms.js | 9 +- htdocs/includes/ckeditor/lang/nb.js | 9 +- htdocs/includes/ckeditor/lang/nl.js | 9 +- htdocs/includes/ckeditor/lang/no.js | 9 +- htdocs/includes/ckeditor/lang/pl.js | 9 +- htdocs/includes/ckeditor/lang/pt-br.js | 9 +- htdocs/includes/ckeditor/lang/pt.js | 9 +- htdocs/includes/ckeditor/lang/ro.js | 9 +- htdocs/includes/ckeditor/lang/ru.js | 9 +- htdocs/includes/ckeditor/lang/si.js | 5 + htdocs/includes/ckeditor/lang/sk.js | 9 +- htdocs/includes/ckeditor/lang/sl.js | 9 +- htdocs/includes/ckeditor/lang/sq.js | 5 + htdocs/includes/ckeditor/lang/sr-latn.js | 9 +- htdocs/includes/ckeditor/lang/sr.js | 9 +- htdocs/includes/ckeditor/lang/sv.js | 9 +- htdocs/includes/ckeditor/lang/th.js | 9 +- htdocs/includes/ckeditor/lang/tr.js | 9 +- htdocs/includes/ckeditor/lang/ug.js | 9 +- htdocs/includes/ckeditor/lang/uk.js | 9 +- htdocs/includes/ckeditor/lang/vi.js | 9 +- htdocs/includes/ckeditor/lang/zh-cn.js | 9 +- htdocs/includes/ckeditor/lang/zh.js | 9 +- .../plugins/a11yhelp/dialogs/a11yhelp.js | 15 +- .../dialogs/lang/_translationstatus.txt | 25 + .../plugins/a11yhelp/dialogs/lang/ar.js | 11 + .../plugins/a11yhelp/dialogs/lang/bg.js | 11 + .../plugins/a11yhelp/dialogs/lang/ca.js | 13 + .../plugins/a11yhelp/dialogs/lang/cs.js | 13 + .../plugins/a11yhelp/dialogs/lang/cy.js | 11 + .../plugins/a11yhelp/dialogs/lang/da.js | 11 + .../plugins/a11yhelp/dialogs/lang/de.js | 12 + .../plugins/a11yhelp/dialogs/lang/el.js | 13 + .../plugins/a11yhelp/dialogs/lang/en-gb.js | 11 + .../plugins/a11yhelp/dialogs/lang/en.js | 11 + .../plugins/a11yhelp/dialogs/lang/eo.js | 12 + .../plugins/a11yhelp/dialogs/lang/es.js | 12 + .../plugins/a11yhelp/dialogs/lang/et.js | 11 + .../plugins/a11yhelp/dialogs/lang/fa.js | 11 + .../plugins/a11yhelp/dialogs/lang/fi.js | 12 + .../plugins/a11yhelp/dialogs/lang/fr-ca.js | 12 + .../plugins/a11yhelp/dialogs/lang/fr.js | 13 + .../plugins/a11yhelp/dialogs/lang/gl.js | 12 + .../plugins/a11yhelp/dialogs/lang/gu.js | 11 + .../plugins/a11yhelp/dialogs/lang/he.js | 11 + .../plugins/a11yhelp/dialogs/lang/hi.js | 11 + .../plugins/a11yhelp/dialogs/lang/hr.js | 11 + .../plugins/a11yhelp/dialogs/lang/hu.js | 13 + .../plugins/a11yhelp/dialogs/lang/id.js | 11 + .../plugins/a11yhelp/dialogs/lang/it.js | 12 + .../plugins/a11yhelp/dialogs/lang/ja.js | 9 + .../plugins/a11yhelp/dialogs/lang/km.js | 11 + .../plugins/a11yhelp/dialogs/lang/ko.js | 10 + .../plugins/a11yhelp/dialogs/lang/ku.js | 12 + .../plugins/a11yhelp/dialogs/lang/lt.js | 11 + .../plugins/a11yhelp/dialogs/lang/lv.js | 13 + .../plugins/a11yhelp/dialogs/lang/mk.js | 11 + .../plugins/a11yhelp/dialogs/lang/mn.js | 11 + .../plugins/a11yhelp/dialogs/lang/nb.js | 11 + .../plugins/a11yhelp/dialogs/lang/nl.js | 12 + .../plugins/a11yhelp/dialogs/lang/no.js | 11 + .../plugins/a11yhelp/dialogs/lang/pl.js | 13 + .../plugins/a11yhelp/dialogs/lang/pt-br.js | 11 + .../plugins/a11yhelp/dialogs/lang/pt.js | 12 + .../plugins/a11yhelp/dialogs/lang/ro.js | 12 + .../plugins/a11yhelp/dialogs/lang/ru.js | 11 + .../plugins/a11yhelp/dialogs/lang/si.js | 10 + .../plugins/a11yhelp/dialogs/lang/sk.js | 12 + .../plugins/a11yhelp/dialogs/lang/sl.js | 12 + .../plugins/a11yhelp/dialogs/lang/sq.js | 11 + .../plugins/a11yhelp/dialogs/lang/sr-latn.js | 11 + .../plugins/a11yhelp/dialogs/lang/sr.js | 11 + .../plugins/a11yhelp/dialogs/lang/sv.js | 12 + .../plugins/a11yhelp/dialogs/lang/th.js | 11 + .../plugins/a11yhelp/dialogs/lang/tr.js | 12 + .../plugins/a11yhelp/dialogs/lang/ug.js | 11 + .../plugins/a11yhelp/dialogs/lang/uk.js | 12 + .../plugins/a11yhelp/dialogs/lang/vi.js | 11 + .../plugins/a11yhelp/dialogs/lang/zh-cn.js | 9 + .../plugins/a11yhelp/dialogs/lang/zh.js | 10 + .../a11yhelp/lang/_translationstatus.txt | 25 - .../ckeditor/plugins/a11yhelp/lang/cs.js | 6 - .../ckeditor/plugins/a11yhelp/lang/cy.js | 6 - .../ckeditor/plugins/a11yhelp/lang/da.js | 6 - .../ckeditor/plugins/a11yhelp/lang/de.js | 6 - .../ckeditor/plugins/a11yhelp/lang/el.js | 6 - .../ckeditor/plugins/a11yhelp/lang/en.js | 6 - .../ckeditor/plugins/a11yhelp/lang/eo.js | 6 - .../ckeditor/plugins/a11yhelp/lang/fa.js | 6 - .../ckeditor/plugins/a11yhelp/lang/fi.js | 6 - .../ckeditor/plugins/a11yhelp/lang/fr.js | 6 - .../ckeditor/plugins/a11yhelp/lang/gu.js | 6 - .../ckeditor/plugins/a11yhelp/lang/he.js | 6 - .../ckeditor/plugins/a11yhelp/lang/it.js | 6 - .../ckeditor/plugins/a11yhelp/lang/mk.js | 6 - .../ckeditor/plugins/a11yhelp/lang/nb.js | 6 - .../ckeditor/plugins/a11yhelp/lang/nl.js | 6 - .../ckeditor/plugins/a11yhelp/lang/no.js | 6 - .../ckeditor/plugins/a11yhelp/lang/pt-br.js | 6 - .../ckeditor/plugins/a11yhelp/lang/ro.js | 6 - .../ckeditor/plugins/a11yhelp/lang/tr.js | 6 - .../ckeditor/plugins/a11yhelp/lang/ug.js | 6 - .../ckeditor/plugins/a11yhelp/lang/vi.js | 6 - .../ckeditor/plugins/a11yhelp/lang/zh-cn.js | 6 - .../ckeditor/plugins/about/dialogs/about.js | 11 +- .../about/dialogs/hidpi/logo_ckeditor.png | Bin 0 -> 13339 bytes .../plugins/about/dialogs/logo_ckeditor.png | Bin 2759 -> 6757 bytes .../ckeditor/plugins/adobeair/plugin.js | 6 - .../includes/ckeditor/plugins/ajax/plugin.js | 6 - .../ckeditor/plugins/autogrow/plugin.js | 6 - .../ckeditor/plugins/bbcode/plugin.js | 9 - .../plugins/clipboard/dialogs/paste.js | 16 +- .../colordialog/dialogs/colordialog.js | 18 +- .../devtools/lang/_translationstatus.txt | 28 - .../ckeditor/plugins/devtools/lang/bg.js | 6 - .../ckeditor/plugins/devtools/lang/cs.js | 6 - .../ckeditor/plugins/devtools/lang/cy.js | 6 - .../ckeditor/plugins/devtools/lang/da.js | 6 - .../ckeditor/plugins/devtools/lang/de.js | 6 - .../ckeditor/plugins/devtools/lang/el.js | 6 - .../ckeditor/plugins/devtools/lang/en.js | 6 - .../ckeditor/plugins/devtools/lang/eo.js | 6 - .../ckeditor/plugins/devtools/lang/et.js | 6 - .../ckeditor/plugins/devtools/lang/fa.js | 6 - .../ckeditor/plugins/devtools/lang/fi.js | 6 - .../ckeditor/plugins/devtools/lang/fr.js | 6 - .../ckeditor/plugins/devtools/lang/gu.js | 6 - .../ckeditor/plugins/devtools/lang/he.js | 6 - .../ckeditor/plugins/devtools/lang/hr.js | 6 - .../ckeditor/plugins/devtools/lang/it.js | 6 - .../ckeditor/plugins/devtools/lang/nb.js | 6 - .../ckeditor/plugins/devtools/lang/nl.js | 6 - .../ckeditor/plugins/devtools/lang/no.js | 6 - .../ckeditor/plugins/devtools/lang/pl.js | 6 - .../ckeditor/plugins/devtools/lang/pt-br.js | 6 - .../ckeditor/plugins/devtools/lang/tr.js | 6 - .../ckeditor/plugins/devtools/lang/ug.js | 6 - .../ckeditor/plugins/devtools/lang/uk.js | 6 - .../ckeditor/plugins/devtools/lang/vi.js | 6 - .../ckeditor/plugins/devtools/lang/zh-cn.js | 6 - .../ckeditor/plugins/devtools/plugin.js | 6 - .../plugins/dialog/dialogDefinition.js | 6 +- .../ckeditor/plugins/div/dialogs/div.js | 17 +- .../plugins/docprops/dialogs/docprops.js | 10 - .../ckeditor/plugins/docprops/plugin.js | 6 - .../plugins/fakeobjects/images/spacer.gif | Bin 0 -> 43 bytes .../ckeditor/plugins/find/dialogs/find.js | 32 +- .../ckeditor/plugins/flash/dialogs/flash.js | 31 +- .../ckeditor/plugins/forms/dialogs/button.js | 12 +- .../plugins/forms/dialogs/checkbox.js | 12 +- .../ckeditor/plugins/forms/dialogs/form.js | 12 +- .../plugins/forms/dialogs/hiddenfield.js | 12 +- .../ckeditor/plugins/forms/dialogs/radio.js | 12 +- .../ckeditor/plugins/forms/dialogs/select.js | 27 +- .../plugins/forms/dialogs/textarea.js | 12 +- .../plugins/forms/dialogs/textfield.js | 14 +- htdocs/includes/ckeditor/plugins/icons.png | Bin 0 -> 20643 bytes .../includes/ckeditor/plugins/icons_hidpi.png | Bin 0 -> 67753 bytes .../ckeditor/plugins/iframe/dialogs/iframe.js | 15 +- .../ckeditor/plugins/iframedialog/plugin.js | 6 - .../ckeditor/plugins/image/dialogs/image.js | 54 +- .../image}/images/noimage.png | Bin .../ckeditor/plugins/link/dialogs/anchor.js | 12 +- .../ckeditor/plugins/link/dialogs/link.js | 45 +- .../ckeditor/plugins/link/images/anchor.gif | Bin 184 -> 0 bytes .../ckeditor/plugins/link/images/anchor.png | Bin 0 -> 763 bytes .../plugins/link/images/hidpi/anchor.png | Bin 0 -> 1597 bytes .../plugins/liststyle/dialogs/liststyle.js | 15 +- .../plugins/magicline/images/hidpi/icon.png | Bin 0 -> 260 bytes .../plugins/magicline/images/icon.png | Bin 0 -> 172 bytes .../plugins/pastefromword/filter/default.js | 40 +- .../plugins/pastetext/dialogs/pastetext.js | 6 - .../placeholder/dialogs/placeholder.js | 6 - .../placeholder/lang/_translationstatus.txt | 27 - .../ckeditor/plugins/placeholder/lang/bg.js | 6 - .../ckeditor/plugins/placeholder/lang/cs.js | 6 - .../ckeditor/plugins/placeholder/lang/cy.js | 6 - .../ckeditor/plugins/placeholder/lang/da.js | 6 - .../ckeditor/plugins/placeholder/lang/de.js | 6 - .../ckeditor/plugins/placeholder/lang/el.js | 6 - .../ckeditor/plugins/placeholder/lang/en.js | 6 - .../ckeditor/plugins/placeholder/lang/eo.js | 6 - .../ckeditor/plugins/placeholder/lang/et.js | 6 - .../ckeditor/plugins/placeholder/lang/fa.js | 6 - .../ckeditor/plugins/placeholder/lang/fi.js | 6 - .../ckeditor/plugins/placeholder/lang/fr.js | 6 - .../ckeditor/plugins/placeholder/lang/he.js | 6 - .../ckeditor/plugins/placeholder/lang/hr.js | 6 - .../ckeditor/plugins/placeholder/lang/it.js | 6 - .../ckeditor/plugins/placeholder/lang/nb.js | 6 - .../ckeditor/plugins/placeholder/lang/nl.js | 6 - .../ckeditor/plugins/placeholder/lang/no.js | 6 - .../ckeditor/plugins/placeholder/lang/pl.js | 6 - .../plugins/placeholder/lang/pt-br.js | 6 - .../ckeditor/plugins/placeholder/lang/tr.js | 6 - .../ckeditor/plugins/placeholder/lang/ug.js | 6 - .../ckeditor/plugins/placeholder/lang/uk.js | 6 - .../ckeditor/plugins/placeholder/lang/vi.js | 6 - .../plugins/placeholder/lang/zh-cn.js | 6 - .../plugins/placeholder/placeholder.gif | Bin 96 -> 0 bytes .../ckeditor/plugins/placeholder/plugin.js | 6 - .../ckeditor/plugins/preview/preview.html | 20 +- .../ckeditor/plugins/scayt/LICENSE.md | 28 + .../includes/ckeditor/plugins/scayt/README.md | 25 + .../ckeditor/plugins/scayt/dialogs/options.js | 26 +- .../plugins/scayt/dialogs/toolbar.css | 77 +- .../ckeditor/plugins/smiley/dialogs/smiley.js | 15 +- .../plugins/smiley/images/angel_smile.gif | Bin 465 -> 1250 bytes .../plugins/smiley/images/angel_smile.png | Bin 0 -> 1294 bytes .../plugins/smiley/images/angry_smile.gif | Bin 443 -> 1221 bytes .../plugins/smiley/images/angry_smile.png | Bin 0 -> 1351 bytes .../plugins/smiley/images/broken_heart.gif | Bin 192 -> 1131 bytes .../plugins/smiley/images/broken_heart.png | Bin 0 -> 1213 bytes .../plugins/smiley/images/confused_smile.gif | Bin 464 -> 1210 bytes .../plugins/smiley/images/confused_smile.png | Bin 0 -> 1175 bytes .../plugins/smiley/images/cry_smile.gif | Bin 468 -> 795 bytes .../plugins/smiley/images/cry_smile.png | Bin 0 -> 1315 bytes .../plugins/smiley/images/devil_smile.gif | Bin 436 -> 1239 bytes .../plugins/smiley/images/devil_smile.png | Bin 0 -> 1299 bytes .../smiley/images/embaressed_smile.gif | Bin 442 -> 790 bytes .../smiley/images/embarrassed_smile.gif | Bin 0 -> 790 bytes .../smiley/images/embarrassed_smile.png | Bin 0 -> 1222 bytes .../plugins/smiley/images/envelope.gif | Bin 426 -> 712 bytes .../plugins/smiley/images/envelope.png | Bin 0 -> 1049 bytes .../ckeditor/plugins/smiley/images/heart.gif | Bin 183 -> 1091 bytes .../ckeditor/plugins/smiley/images/heart.png | Bin 0 -> 1073 bytes .../ckeditor/plugins/smiley/images/kiss.gif | Bin 241 -> 1082 bytes .../ckeditor/plugins/smiley/images/kiss.png | Bin 0 -> 1077 bytes .../plugins/smiley/images/lightbulb.gif | Bin 368 -> 1062 bytes .../plugins/smiley/images/lightbulb.png | Bin 0 -> 993 bytes .../plugins/smiley/images/omg_smile.gif | Bin 451 -> 1207 bytes .../plugins/smiley/images/omg_smile.png | Bin 0 -> 1196 bytes .../plugins/smiley/images/regular_smile.gif | Bin 450 -> 1216 bytes .../plugins/smiley/images/regular_smile.png | Bin 0 -> 1158 bytes .../plugins/smiley/images/sad_smile.gif | Bin 460 -> 1199 bytes .../plugins/smiley/images/sad_smile.png | Bin 0 -> 1189 bytes .../plugins/smiley/images/shades_smile.gif | Bin 449 -> 1234 bytes .../plugins/smiley/images/shades_smile.png | Bin 0 -> 1353 bytes .../plugins/smiley/images/teeth_smile.gif | Bin 442 -> 1210 bytes .../plugins/smiley/images/teeth_smile.png | Bin 0 -> 1257 bytes .../plugins/smiley/images/thumbs_down.gif | Bin 408 -> 1117 bytes .../plugins/smiley/images/thumbs_down.png | Bin 0 -> 1059 bytes .../plugins/smiley/images/thumbs_up.gif | Bin 396 -> 1112 bytes .../plugins/smiley/images/thumbs_up.png | Bin 0 -> 1033 bytes .../plugins/smiley/images/tongue_smile.gif | Bin 0 -> 1216 bytes .../plugins/smiley/images/tongue_smile.png | Bin 0 -> 1206 bytes .../plugins/smiley/images/tounge_smile.gif | Bin 446 -> 1216 bytes .../images/whatchutalkingabout_smile.gif | Bin 452 -> 1190 bytes .../images/whatchutalkingabout_smile.png | Bin 0 -> 1113 bytes .../plugins/smiley/images/wink_smile.gif | Bin 458 -> 1214 bytes .../plugins/smiley/images/wink_smile.png | Bin 0 -> 1188 bytes .../dialogs/lang/_translationstatus.txt | 20 + .../plugins/specialchar/dialogs/lang/ar.js | 13 + .../plugins/specialchar/dialogs/lang/bg.js | 13 + .../plugins/specialchar/dialogs/lang/ca.js | 14 + .../plugins/specialchar/dialogs/lang/cs.js | 13 + .../plugins/specialchar/dialogs/lang/cy.js | 14 + .../plugins/specialchar/dialogs/lang/de.js | 13 + .../plugins/specialchar/dialogs/lang/el.js | 13 + .../plugins/specialchar/dialogs/lang/en-gb.js | 13 + .../plugins/specialchar/dialogs/lang/en.js | 13 + .../plugins/specialchar/dialogs/lang/eo.js | 12 + .../plugins/specialchar/dialogs/lang/es.js | 13 + .../plugins/specialchar/dialogs/lang/et.js | 13 + .../plugins/specialchar/dialogs/lang/fa.js | 12 + .../plugins/specialchar/dialogs/lang/fi.js | 13 + .../plugins/specialchar/dialogs/lang/fr-ca.js | 10 + .../plugins/specialchar/dialogs/lang/fr.js | 11 + .../plugins/specialchar/dialogs/lang/gl.js | 13 + .../plugins/specialchar/dialogs/lang/he.js | 12 + .../plugins/specialchar/dialogs/lang/hr.js | 13 + .../plugins/specialchar/dialogs/lang/hu.js | 12 + .../plugins/specialchar/dialogs/lang/id.js | 13 + .../plugins/specialchar/dialogs/lang/it.js | 14 + .../plugins/specialchar/dialogs/lang/ja.js | 9 + .../plugins/specialchar/dialogs/lang/km.js | 13 + .../plugins/specialchar/dialogs/lang/ku.js | 13 + .../plugins/specialchar/dialogs/lang/lv.js | 13 + .../plugins/specialchar/dialogs/lang/nb.js | 11 + .../plugins/specialchar/dialogs/lang/nl.js | 13 + .../plugins/specialchar/dialogs/lang/no.js | 11 + .../plugins/specialchar/dialogs/lang/pl.js | 12 + .../plugins/specialchar/dialogs/lang/pt-br.js | 11 + .../plugins/specialchar/dialogs/lang/pt.js | 13 + .../plugins/specialchar/dialogs/lang/ru.js | 13 + .../plugins/specialchar/dialogs/lang/si.js | 13 + .../plugins/specialchar/dialogs/lang/sk.js | 13 + .../plugins/specialchar/dialogs/lang/sl.js | 12 + .../plugins/specialchar/dialogs/lang/sq.js | 13 + .../plugins/specialchar/dialogs/lang/sv.js | 11 + .../plugins/specialchar/dialogs/lang/th.js | 13 + .../plugins/specialchar/dialogs/lang/tr.js | 12 + .../plugins/specialchar/dialogs/lang/ug.js | 13 + .../plugins/specialchar/dialogs/lang/uk.js | 12 + .../plugins/specialchar/dialogs/lang/vi.js | 14 + .../plugins/specialchar/dialogs/lang/zh-cn.js | 9 + .../plugins/specialchar/dialogs/lang/zh.js | 12 + .../specialchar/dialogs/specialchar.js | 19 +- .../specialchar/lang/_translationstatus.txt | 22 - .../ckeditor/plugins/specialchar/lang/cs.js | 6 - .../ckeditor/plugins/specialchar/lang/cy.js | 6 - .../ckeditor/plugins/specialchar/lang/de.js | 6 - .../ckeditor/plugins/specialchar/lang/el.js | 6 - .../ckeditor/plugins/specialchar/lang/en.js | 6 - .../ckeditor/plugins/specialchar/lang/eo.js | 6 - .../ckeditor/plugins/specialchar/lang/et.js | 6 - .../ckeditor/plugins/specialchar/lang/fa.js | 6 - .../ckeditor/plugins/specialchar/lang/fi.js | 6 - .../ckeditor/plugins/specialchar/lang/fr.js | 6 - .../ckeditor/plugins/specialchar/lang/he.js | 6 - .../ckeditor/plugins/specialchar/lang/hr.js | 6 - .../ckeditor/plugins/specialchar/lang/it.js | 6 - .../ckeditor/plugins/specialchar/lang/nb.js | 6 - .../ckeditor/plugins/specialchar/lang/nl.js | 6 - .../ckeditor/plugins/specialchar/lang/no.js | 6 - .../plugins/specialchar/lang/pt-br.js | 6 - .../ckeditor/plugins/specialchar/lang/tr.js | 6 - .../ckeditor/plugins/specialchar/lang/ug.js | 6 - .../plugins/specialchar/lang/zh-cn.js | 6 - .../ckeditor/plugins/styles/styles/default.js | 6 - .../plugins/stylesheetparser/plugin.js | 6 - .../ckeditor/plugins/table/dialogs/table.js | 28 +- .../ckeditor/plugins/tableresize/plugin.js | 7 - .../plugins/tabletools/dialogs/tableCell.js | 23 +- .../plugins/templates/dialogs/templates.css | 84 + .../plugins/templates/dialogs/templates.js | 15 +- .../plugins/templates/templates/default.js | 10 +- .../plugins/uicolor/dialogs/uicolor.js | 7 - .../uicolor/lang/_translationstatus.txt | 28 - .../ckeditor/plugins/uicolor/lang/bg.js | 6 - .../ckeditor/plugins/uicolor/lang/cs.js | 6 - .../ckeditor/plugins/uicolor/lang/cy.js | 6 - .../ckeditor/plugins/uicolor/lang/da.js | 6 - .../ckeditor/plugins/uicolor/lang/de.js | 6 - .../ckeditor/plugins/uicolor/lang/el.js | 6 - .../ckeditor/plugins/uicolor/lang/en.js | 6 - .../ckeditor/plugins/uicolor/lang/eo.js | 6 - .../ckeditor/plugins/uicolor/lang/et.js | 6 - .../ckeditor/plugins/uicolor/lang/fa.js | 6 - .../ckeditor/plugins/uicolor/lang/fi.js | 6 - .../ckeditor/plugins/uicolor/lang/fr.js | 6 - .../ckeditor/plugins/uicolor/lang/he.js | 6 - .../ckeditor/plugins/uicolor/lang/hr.js | 6 - .../ckeditor/plugins/uicolor/lang/it.js | 6 - .../ckeditor/plugins/uicolor/lang/mk.js | 6 - .../ckeditor/plugins/uicolor/lang/nb.js | 6 - .../ckeditor/plugins/uicolor/lang/nl.js | 6 - .../ckeditor/plugins/uicolor/lang/no.js | 6 - .../ckeditor/plugins/uicolor/lang/pl.js | 6 - .../ckeditor/plugins/uicolor/lang/pt-br.js | 6 - .../ckeditor/plugins/uicolor/lang/tr.js | 6 - .../ckeditor/plugins/uicolor/lang/ug.js | 6 - .../ckeditor/plugins/uicolor/lang/uk.js | 6 - .../ckeditor/plugins/uicolor/lang/vi.js | 6 - .../ckeditor/plugins/uicolor/lang/zh-cn.js | 6 - .../ckeditor/plugins/uicolor/plugin.js | 6 - .../ckeditor/plugins/uicolor/uicolor.gif | Bin 1108 -> 0 bytes .../plugins/uicolor/yui/assets/hue_bg.png | Bin 1120 -> 0 bytes .../plugins/uicolor/yui/assets/hue_thumb.png | Bin 195 -> 0 bytes .../uicolor/yui/assets/picker_mask.png | Bin 12174 -> 0 bytes .../uicolor/yui/assets/picker_thumb.png | Bin 192 -> 0 bytes .../plugins/uicolor/yui/assets/yui.css | 6 - .../ckeditor/plugins/uicolor/yui/yui.js | 76 - .../includes/ckeditor/plugins/wsc/LICENSE.md | 28 + .../includes/ckeditor/plugins/wsc/README.md | 25 + .../ckeditor/plugins/wsc/dialogs/ciframe.html | 115 +- .../ckeditor/plugins/wsc/dialogs/tmp.html | 118 + .../plugins/wsc/dialogs/tmpFrameset.html | 104 +- .../ckeditor/plugins/wsc/dialogs/wsc.css | 88 +- .../ckeditor/plugins/wsc/dialogs/wsc.js | 72 +- .../ckeditor/plugins/wsc/dialogs/wsc_ie.js | 11 + .../includes/ckeditor/plugins/xml/plugin.js | 6 - .../includes/ckeditor/skins/kama/dialog.css | 10 - .../includes/ckeditor/skins/kama/editor.css | 13 - htdocs/includes/ckeditor/skins/kama/icons.png | Bin 5598 -> 0 bytes .../ckeditor/skins/kama/icons_rtl.png | Bin 5600 -> 0 bytes .../skins/kama/images/dialog_sides.gif | Bin 48 -> 0 bytes .../skins/kama/images/dialog_sides.png | Bin 178 -> 0 bytes .../skins/kama/images/dialog_sides_rtl.png | Bin 181 -> 0 bytes .../ckeditor/skins/kama/images/mini.gif | Bin 183 -> 0 bytes .../ckeditor/skins/kama/images/noimage.png | Bin 2115 -> 0 bytes .../ckeditor/skins/kama/images/sprites.png | Bin 7086 -> 0 bytes .../skins/kama/images/sprites_ie6.png | Bin 2724 -> 0 bytes .../skins/kama/images/toolbar_start.gif | Bin 105 -> 0 bytes htdocs/includes/ckeditor/skins/kama/skin.js | 7 - .../ckeditor/skins/kama/templates.css | 6 - .../includes/ckeditor/skins/moono/dialog.css | 5 + .../ckeditor/skins/moono/dialog_ie.css | 5 + .../ckeditor/skins/moono/dialog_ie7.css | 5 + .../ckeditor/skins/moono/dialog_ie8.css | 5 + .../ckeditor/skins/moono/dialog_iequirks.css | 5 + .../ckeditor/skins/moono/dialog_opera.css | 5 + .../includes/ckeditor/skins/moono/editor.css | 5 + .../ckeditor/skins/moono/editor_gecko.css | 5 + .../ckeditor/skins/moono/editor_ie.css | 5 + .../ckeditor/skins/moono/editor_ie7.css | 5 + .../ckeditor/skins/moono/editor_ie8.css | 5 + .../ckeditor/skins/moono/editor_iequirks.css | 5 + .../includes/ckeditor/skins/moono/icons.png | Bin 0 -> 20643 bytes .../ckeditor/skins/moono/icons_hidpi.png | Bin 0 -> 67753 bytes .../ckeditor/skins/moono/images/arrow.png | Bin 0 -> 261 bytes .../ckeditor/skins/moono/images/close.png | Bin 0 -> 824 bytes .../skins/moono/images/hidpi/close.png | Bin 0 -> 1792 bytes .../skins/moono/images/hidpi/lock-open.png | Bin 0 -> 1503 bytes .../skins/moono/images/hidpi/lock.png | Bin 0 -> 1616 bytes .../skins/moono/images/hidpi/refresh.png | Bin 0 -> 2320 bytes .../ckeditor/skins/moono/images/lock-open.png | Bin 0 -> 736 bytes .../ckeditor/skins/moono/images/lock.png | Bin 0 -> 728 bytes .../ckeditor/skins/moono/images/refresh.png | Bin 0 -> 953 bytes .../includes/ckeditor/skins/moono/readme.md | 51 + .../ckeditor/skins/office2003/dialog.css | 10 - .../ckeditor/skins/office2003/editor.css | 14 - .../ckeditor/skins/office2003/icons.png | Bin 5598 -> 0 bytes .../ckeditor/skins/office2003/icons_rtl.png | Bin 5600 -> 0 bytes .../skins/office2003/images/dialog_sides.gif | Bin 48 -> 0 bytes .../skins/office2003/images/dialog_sides.png | Bin 178 -> 0 bytes .../office2003/images/dialog_sides_rtl.png | Bin 181 -> 0 bytes .../ckeditor/skins/office2003/images/mini.gif | Bin 183 -> 0 bytes .../skins/office2003/images/noimage.png | Bin 2115 -> 0 bytes .../skins/office2003/images/sprites.png | Bin 6119 -> 0 bytes .../skins/office2003/images/sprites_ie6.png | Bin 2715 -> 0 bytes .../ckeditor/skins/office2003/skin.js | 6 - .../ckeditor/skins/office2003/templates.css | 6 - htdocs/includes/ckeditor/skins/v2/dialog.css | 9 - htdocs/includes/ckeditor/skins/v2/editor.css | 13 - htdocs/includes/ckeditor/skins/v2/icons.png | Bin 5598 -> 0 bytes .../includes/ckeditor/skins/v2/icons_rtl.png | Bin 5600 -> 0 bytes .../ckeditor/skins/v2/images/dialog_sides.gif | Bin 48 -> 0 bytes .../ckeditor/skins/v2/images/dialog_sides.png | Bin 178 -> 0 bytes .../skins/v2/images/dialog_sides_rtl.png | Bin 181 -> 0 bytes .../ckeditor/skins/v2/images/mini.gif | Bin 183 -> 0 bytes .../ckeditor/skins/v2/images/noimage.png | Bin 2115 -> 0 bytes .../ckeditor/skins/v2/images/sprites.png | Bin 5389 -> 0 bytes .../ckeditor/skins/v2/images/sprites_ie6.png | Bin 492 -> 0 bytes .../skins/v2/images/toolbar_start.gif | Bin 105 -> 0 bytes htdocs/includes/ckeditor/skins/v2/skin.js | 6 - .../includes/ckeditor/skins/v2/templates.css | 6 - htdocs/includes/ckeditor/styles.js | 111 + .../includes/ckeditor/themes/default/theme.js | 8 - 4418 files changed, 147049 insertions(+), 127332 deletions(-) delete mode 100755 htdocs/includes/ckeditor/.htaccess delete mode 100644 htdocs/includes/ckeditor/CHANGES.html create mode 100644 htdocs/includes/ckeditor/CHANGES.md delete mode 100644 htdocs/includes/ckeditor/INSTALL.html delete mode 100644 htdocs/includes/ckeditor/LICENSE.html create mode 100644 htdocs/includes/ckeditor/LICENSE.md create mode 100644 htdocs/includes/ckeditor/README.md create mode 100644 htdocs/includes/ckeditor/_source/CHANGES.md create mode 100644 htdocs/includes/ckeditor/_source/LICENSE.md create mode 100644 htdocs/includes/ckeditor/_source/README.md delete mode 100644 htdocs/includes/ckeditor/_source/adapters/jquery.js create mode 100644 htdocs/includes/ckeditor/_source/build-config.js create mode 100644 htdocs/includes/ckeditor/_source/ckeditor.js create mode 100644 htdocs/includes/ckeditor/_source/config.js create mode 100644 htdocs/includes/ckeditor/_source/contents.css create mode 100644 htdocs/includes/ckeditor/_source/core/creators/inline.js create mode 100644 htdocs/includes/ckeditor/_source/core/creators/themedui.js create mode 100644 htdocs/includes/ckeditor/_source/core/dom/iterator.js create mode 100644 htdocs/includes/ckeditor/_source/core/editable.js create mode 100644 htdocs/includes/ckeditor/_source/core/filter.js create mode 100644 htdocs/includes/ckeditor/_source/core/htmldataprocessor.js create mode 100644 htdocs/includes/ckeditor/_source/core/htmlparser/node.js create mode 100644 htdocs/includes/ckeditor/_source/core/keystrokehandler.js create mode 100644 htdocs/includes/ckeditor/_source/core/selection.js create mode 100644 htdocs/includes/ckeditor/_source/core/skin.js delete mode 100644 htdocs/includes/ckeditor/_source/core/skins.js create mode 100644 htdocs/includes/ckeditor/_source/core/style.js create mode 100644 htdocs/includes/ckeditor/_source/core/template.js delete mode 100644 htdocs/includes/ckeditor/_source/core/themes.js delete mode 100644 htdocs/includes/ckeditor/_source/lang/_languages.js create mode 100644 htdocs/includes/ckeditor/_source/lang/ku.js create mode 100644 htdocs/includes/ckeditor/_source/lang/si.js create mode 100644 htdocs/includes/ckeditor/_source/lang/sq.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/a11yhelp/dialogs/lang/_translationstatus.txt create mode 100644 htdocs/includes/ckeditor/_source/plugins/a11yhelp/dialogs/lang/ar.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/a11yhelp/dialogs/lang/bg.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/a11yhelp/dialogs/lang/ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/a11yhelp/dialogs/lang/cs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/a11yhelp/dialogs/lang/cy.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/a11yhelp/dialogs/lang/da.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/a11yhelp/dialogs/lang/de.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/a11yhelp/dialogs/lang/el.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/a11yhelp/dialogs/lang/en-gb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/a11yhelp/dialogs/lang/en.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/a11yhelp/dialogs/lang/eo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/a11yhelp/dialogs/lang/es.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/a11yhelp/dialogs/lang/et.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/a11yhelp/dialogs/lang/fa.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/a11yhelp/dialogs/lang/fi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/a11yhelp/dialogs/lang/fr-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/a11yhelp/dialogs/lang/fr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/a11yhelp/dialogs/lang/gl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/a11yhelp/dialogs/lang/gu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/a11yhelp/dialogs/lang/he.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/a11yhelp/dialogs/lang/hi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/a11yhelp/dialogs/lang/hr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/a11yhelp/dialogs/lang/hu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/a11yhelp/dialogs/lang/id.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/a11yhelp/dialogs/lang/it.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/a11yhelp/dialogs/lang/ja.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/a11yhelp/dialogs/lang/km.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/a11yhelp/dialogs/lang/ko.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/a11yhelp/dialogs/lang/ku.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/a11yhelp/dialogs/lang/lt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/a11yhelp/dialogs/lang/lv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/a11yhelp/dialogs/lang/mk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/a11yhelp/dialogs/lang/mn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/a11yhelp/dialogs/lang/nb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/a11yhelp/dialogs/lang/nl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/a11yhelp/dialogs/lang/no.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/a11yhelp/dialogs/lang/pl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/a11yhelp/dialogs/lang/pt-br.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/a11yhelp/dialogs/lang/pt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/a11yhelp/dialogs/lang/ro.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/a11yhelp/dialogs/lang/ru.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/a11yhelp/dialogs/lang/si.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/a11yhelp/dialogs/lang/sk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/a11yhelp/dialogs/lang/sl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/a11yhelp/dialogs/lang/sq.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/a11yhelp/dialogs/lang/sr-latn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/a11yhelp/dialogs/lang/sr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/a11yhelp/dialogs/lang/sv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/a11yhelp/dialogs/lang/th.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/a11yhelp/dialogs/lang/tr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/a11yhelp/dialogs/lang/ug.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/a11yhelp/dialogs/lang/uk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/a11yhelp/dialogs/lang/vi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/a11yhelp/dialogs/lang/zh-cn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/a11yhelp/dialogs/lang/zh.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/a11yhelp/lang/_translationstatus.txt delete mode 100644 htdocs/includes/ckeditor/_source/plugins/a11yhelp/lang/cs.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/a11yhelp/lang/cy.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/a11yhelp/lang/da.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/a11yhelp/lang/de.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/a11yhelp/lang/el.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/a11yhelp/lang/en.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/a11yhelp/lang/eo.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/a11yhelp/lang/fa.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/a11yhelp/lang/fi.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/a11yhelp/lang/fr.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/a11yhelp/lang/gu.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/a11yhelp/lang/he.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/a11yhelp/lang/it.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/a11yhelp/lang/mk.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/a11yhelp/lang/nb.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/a11yhelp/lang/nl.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/a11yhelp/lang/no.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/a11yhelp/lang/pt-br.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/a11yhelp/lang/ro.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/a11yhelp/lang/tr.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/a11yhelp/lang/ug.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/a11yhelp/lang/vi.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/a11yhelp/lang/zh-cn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/about/dialogs/hidpi/logo_ckeditor.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/about/icons/about.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/about/icons/hidpi/about.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/about/lang/af.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/about/lang/ar.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/about/lang/bg.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/about/lang/bn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/about/lang/bs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/about/lang/ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/about/lang/cs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/about/lang/cy.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/about/lang/da.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/about/lang/de.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/about/lang/el.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/about/lang/en-au.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/about/lang/en-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/about/lang/en-gb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/about/lang/en.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/about/lang/eo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/about/lang/es.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/about/lang/et.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/about/lang/eu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/about/lang/fa.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/about/lang/fi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/about/lang/fo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/about/lang/fr-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/about/lang/fr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/about/lang/gl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/about/lang/gu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/about/lang/he.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/about/lang/hi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/about/lang/hr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/about/lang/hu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/about/lang/id.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/about/lang/is.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/about/lang/it.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/about/lang/ja.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/about/lang/ka.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/about/lang/km.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/about/lang/ko.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/about/lang/ku.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/about/lang/lt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/about/lang/lv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/about/lang/mk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/about/lang/mn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/about/lang/ms.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/about/lang/nb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/about/lang/nl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/about/lang/no.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/about/lang/pl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/about/lang/pt-br.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/about/lang/pt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/about/lang/ro.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/about/lang/ru.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/about/lang/si.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/about/lang/sk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/about/lang/sl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/about/lang/sq.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/about/lang/sr-latn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/about/lang/sr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/about/lang/sv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/about/lang/th.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/about/lang/tr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/about/lang/ug.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/about/lang/uk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/about/lang/vi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/about/lang/zh-cn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/about/lang/zh.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/adobeair/plugin.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/ajax/plugin.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/autogrow/plugin.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/basicstyles/icons/bold.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/basicstyles/icons/hidpi/bold.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/basicstyles/icons/hidpi/italic.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/basicstyles/icons/hidpi/strike.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/basicstyles/icons/hidpi/subscript.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/basicstyles/icons/hidpi/superscript.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/basicstyles/icons/hidpi/underline.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/basicstyles/icons/italic.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/basicstyles/icons/strike.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/basicstyles/icons/subscript.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/basicstyles/icons/superscript.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/basicstyles/icons/underline.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/basicstyles/lang/af.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/basicstyles/lang/ar.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/basicstyles/lang/bg.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/basicstyles/lang/bn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/basicstyles/lang/bs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/basicstyles/lang/ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/basicstyles/lang/cs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/basicstyles/lang/cy.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/basicstyles/lang/da.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/basicstyles/lang/de.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/basicstyles/lang/el.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/basicstyles/lang/en-au.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/basicstyles/lang/en-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/basicstyles/lang/en-gb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/basicstyles/lang/en.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/basicstyles/lang/eo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/basicstyles/lang/es.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/basicstyles/lang/et.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/basicstyles/lang/eu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/basicstyles/lang/fa.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/basicstyles/lang/fi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/basicstyles/lang/fo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/basicstyles/lang/fr-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/basicstyles/lang/fr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/basicstyles/lang/gl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/basicstyles/lang/gu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/basicstyles/lang/he.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/basicstyles/lang/hi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/basicstyles/lang/hr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/basicstyles/lang/hu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/basicstyles/lang/id.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/basicstyles/lang/is.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/basicstyles/lang/it.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/basicstyles/lang/ja.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/basicstyles/lang/ka.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/basicstyles/lang/km.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/basicstyles/lang/ko.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/basicstyles/lang/ku.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/basicstyles/lang/lt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/basicstyles/lang/lv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/basicstyles/lang/mk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/basicstyles/lang/mn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/basicstyles/lang/ms.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/basicstyles/lang/nb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/basicstyles/lang/nl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/basicstyles/lang/no.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/basicstyles/lang/pl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/basicstyles/lang/pt-br.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/basicstyles/lang/pt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/basicstyles/lang/ro.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/basicstyles/lang/ru.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/basicstyles/lang/si.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/basicstyles/lang/sk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/basicstyles/lang/sl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/basicstyles/lang/sq.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/basicstyles/lang/sr-latn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/basicstyles/lang/sr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/basicstyles/lang/sv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/basicstyles/lang/th.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/basicstyles/lang/tr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/basicstyles/lang/ug.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/basicstyles/lang/uk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/basicstyles/lang/vi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/basicstyles/lang/zh-cn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/basicstyles/lang/zh.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/bbcode/plugin.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/bidi/icons/bidiltr.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/bidi/icons/bidirtl.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/bidi/icons/hidpi/bidiltr.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/bidi/icons/hidpi/bidirtl.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/bidi/lang/af.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/bidi/lang/ar.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/bidi/lang/bg.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/bidi/lang/bn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/bidi/lang/bs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/bidi/lang/ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/bidi/lang/cs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/bidi/lang/cy.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/bidi/lang/da.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/bidi/lang/de.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/bidi/lang/el.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/bidi/lang/en-au.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/bidi/lang/en-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/bidi/lang/en-gb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/bidi/lang/en.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/bidi/lang/eo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/bidi/lang/es.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/bidi/lang/et.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/bidi/lang/eu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/bidi/lang/fa.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/bidi/lang/fi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/bidi/lang/fo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/bidi/lang/fr-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/bidi/lang/fr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/bidi/lang/gl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/bidi/lang/gu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/bidi/lang/he.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/bidi/lang/hi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/bidi/lang/hr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/bidi/lang/hu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/bidi/lang/id.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/bidi/lang/is.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/bidi/lang/it.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/bidi/lang/ja.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/bidi/lang/ka.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/bidi/lang/km.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/bidi/lang/ko.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/bidi/lang/ku.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/bidi/lang/lt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/bidi/lang/lv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/bidi/lang/mk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/bidi/lang/mn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/bidi/lang/ms.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/bidi/lang/nb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/bidi/lang/nl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/bidi/lang/no.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/bidi/lang/pl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/bidi/lang/pt-br.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/bidi/lang/pt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/bidi/lang/ro.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/bidi/lang/ru.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/bidi/lang/si.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/bidi/lang/sk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/bidi/lang/sl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/bidi/lang/sq.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/bidi/lang/sr-latn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/bidi/lang/sr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/bidi/lang/sv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/bidi/lang/th.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/bidi/lang/tr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/bidi/lang/ug.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/bidi/lang/uk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/bidi/lang/vi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/bidi/lang/zh-cn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/bidi/lang/zh.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/blockquote/icons/blockquote.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/blockquote/icons/hidpi/blockquote.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/blockquote/lang/af.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/blockquote/lang/ar.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/blockquote/lang/bg.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/blockquote/lang/bn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/blockquote/lang/bs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/blockquote/lang/ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/blockquote/lang/cs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/blockquote/lang/cy.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/blockquote/lang/da.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/blockquote/lang/de.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/blockquote/lang/el.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/blockquote/lang/en-au.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/blockquote/lang/en-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/blockquote/lang/en-gb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/blockquote/lang/en.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/blockquote/lang/eo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/blockquote/lang/es.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/blockquote/lang/et.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/blockquote/lang/eu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/blockquote/lang/fa.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/blockquote/lang/fi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/blockquote/lang/fo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/blockquote/lang/fr-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/blockquote/lang/fr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/blockquote/lang/gl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/blockquote/lang/gu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/blockquote/lang/he.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/blockquote/lang/hi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/blockquote/lang/hr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/blockquote/lang/hu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/blockquote/lang/id.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/blockquote/lang/is.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/blockquote/lang/it.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/blockquote/lang/ja.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/blockquote/lang/ka.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/blockquote/lang/km.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/blockquote/lang/ko.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/blockquote/lang/ku.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/blockquote/lang/lt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/blockquote/lang/lv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/blockquote/lang/mk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/blockquote/lang/mn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/blockquote/lang/ms.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/blockquote/lang/nb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/blockquote/lang/nl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/blockquote/lang/no.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/blockquote/lang/pl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/blockquote/lang/pt-br.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/blockquote/lang/pt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/blockquote/lang/ro.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/blockquote/lang/ru.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/blockquote/lang/si.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/blockquote/lang/sk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/blockquote/lang/sl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/blockquote/lang/sq.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/blockquote/lang/sr-latn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/blockquote/lang/sr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/blockquote/lang/sv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/blockquote/lang/th.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/blockquote/lang/tr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/blockquote/lang/ug.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/blockquote/lang/uk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/blockquote/lang/vi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/blockquote/lang/zh-cn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/blockquote/lang/zh.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/button/lang/ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/button/lang/cs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/button/lang/el.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/button/lang/en-gb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/button/lang/en.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/button/lang/fa.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/button/lang/fr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/button/lang/gl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/button/lang/hu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/button/lang/ja.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/button/lang/km.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/button/lang/nl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/button/lang/pl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/button/lang/pt-br.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/button/lang/sl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/button/lang/sv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/button/lang/uk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/button/lang/zh-cn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/clipboard/dev/clipboard.html create mode 100644 htdocs/includes/ckeditor/_source/plugins/clipboard/icons/copy-rtl.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/clipboard/icons/copy.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/clipboard/icons/cut-rtl.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/clipboard/icons/cut.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/clipboard/icons/hidpi/copy-rtl.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/clipboard/icons/hidpi/copy.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/clipboard/icons/hidpi/cut-rtl.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/clipboard/icons/hidpi/cut.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/clipboard/icons/hidpi/paste-rtl.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/clipboard/icons/hidpi/paste.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/clipboard/icons/paste-rtl.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/clipboard/icons/paste.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/clipboard/lang/af.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/clipboard/lang/ar.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/clipboard/lang/bg.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/clipboard/lang/bn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/clipboard/lang/bs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/clipboard/lang/ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/clipboard/lang/cs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/clipboard/lang/cy.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/clipboard/lang/da.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/clipboard/lang/de.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/clipboard/lang/el.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/clipboard/lang/en-au.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/clipboard/lang/en-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/clipboard/lang/en-gb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/clipboard/lang/en.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/clipboard/lang/eo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/clipboard/lang/es.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/clipboard/lang/et.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/clipboard/lang/eu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/clipboard/lang/fa.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/clipboard/lang/fi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/clipboard/lang/fo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/clipboard/lang/fr-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/clipboard/lang/fr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/clipboard/lang/gl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/clipboard/lang/gu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/clipboard/lang/he.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/clipboard/lang/hi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/clipboard/lang/hr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/clipboard/lang/hu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/clipboard/lang/id.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/clipboard/lang/is.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/clipboard/lang/it.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/clipboard/lang/ja.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/clipboard/lang/ka.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/clipboard/lang/km.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/clipboard/lang/ko.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/clipboard/lang/ku.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/clipboard/lang/lt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/clipboard/lang/lv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/clipboard/lang/mk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/clipboard/lang/mn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/clipboard/lang/ms.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/clipboard/lang/nb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/clipboard/lang/nl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/clipboard/lang/no.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/clipboard/lang/pl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/clipboard/lang/pt-br.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/clipboard/lang/pt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/clipboard/lang/ro.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/clipboard/lang/ru.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/clipboard/lang/si.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/clipboard/lang/sk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/clipboard/lang/sl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/clipboard/lang/sq.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/clipboard/lang/sr-latn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/clipboard/lang/sr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/clipboard/lang/sv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/clipboard/lang/th.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/clipboard/lang/tr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/clipboard/lang/ug.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/clipboard/lang/uk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/clipboard/lang/vi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/clipboard/lang/zh-cn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/clipboard/lang/zh.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colorbutton/icons/bgcolor.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/colorbutton/icons/hidpi/bgcolor.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/colorbutton/icons/hidpi/textcolor.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/colorbutton/icons/textcolor.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/colorbutton/lang/af.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colorbutton/lang/ar.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colorbutton/lang/bg.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colorbutton/lang/bn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colorbutton/lang/bs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colorbutton/lang/ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colorbutton/lang/cs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colorbutton/lang/cy.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colorbutton/lang/da.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colorbutton/lang/de.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colorbutton/lang/el.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colorbutton/lang/en-au.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colorbutton/lang/en-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colorbutton/lang/en-gb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colorbutton/lang/en.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colorbutton/lang/eo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colorbutton/lang/es.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colorbutton/lang/et.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colorbutton/lang/eu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colorbutton/lang/fa.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colorbutton/lang/fi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colorbutton/lang/fo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colorbutton/lang/fr-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colorbutton/lang/fr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colorbutton/lang/gl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colorbutton/lang/gu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colorbutton/lang/he.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colorbutton/lang/hi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colorbutton/lang/hr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colorbutton/lang/hu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colorbutton/lang/id.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colorbutton/lang/is.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colorbutton/lang/it.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colorbutton/lang/ja.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colorbutton/lang/ka.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colorbutton/lang/km.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colorbutton/lang/ko.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colorbutton/lang/ku.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colorbutton/lang/lt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colorbutton/lang/lv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colorbutton/lang/mk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colorbutton/lang/mn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colorbutton/lang/ms.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colorbutton/lang/nb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colorbutton/lang/nl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colorbutton/lang/no.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colorbutton/lang/pl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colorbutton/lang/pt-br.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colorbutton/lang/pt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colorbutton/lang/ro.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colorbutton/lang/ru.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colorbutton/lang/si.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colorbutton/lang/sk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colorbutton/lang/sl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colorbutton/lang/sq.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colorbutton/lang/sr-latn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colorbutton/lang/sr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colorbutton/lang/sv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colorbutton/lang/th.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colorbutton/lang/tr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colorbutton/lang/ug.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colorbutton/lang/uk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colorbutton/lang/vi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colorbutton/lang/zh-cn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colorbutton/lang/zh.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colordialog/lang/af.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colordialog/lang/ar.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colordialog/lang/bg.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colordialog/lang/bn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colordialog/lang/bs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colordialog/lang/ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colordialog/lang/cs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colordialog/lang/cy.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colordialog/lang/da.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colordialog/lang/de.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colordialog/lang/el.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colordialog/lang/en-au.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colordialog/lang/en-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colordialog/lang/en-gb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colordialog/lang/en.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colordialog/lang/eo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colordialog/lang/es.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colordialog/lang/et.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colordialog/lang/eu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colordialog/lang/fa.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colordialog/lang/fi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colordialog/lang/fo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colordialog/lang/fr-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colordialog/lang/fr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colordialog/lang/gl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colordialog/lang/gu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colordialog/lang/he.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colordialog/lang/hi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colordialog/lang/hr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colordialog/lang/hu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colordialog/lang/is.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colordialog/lang/it.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colordialog/lang/ja.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colordialog/lang/ka.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colordialog/lang/km.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colordialog/lang/ko.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colordialog/lang/ku.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colordialog/lang/lt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colordialog/lang/lv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colordialog/lang/mk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colordialog/lang/mn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colordialog/lang/ms.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colordialog/lang/nb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colordialog/lang/nl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colordialog/lang/no.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colordialog/lang/pl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colordialog/lang/pt-br.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colordialog/lang/pt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colordialog/lang/ro.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colordialog/lang/ru.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colordialog/lang/si.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colordialog/lang/sk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colordialog/lang/sl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colordialog/lang/sq.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colordialog/lang/sr-latn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colordialog/lang/sr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colordialog/lang/sv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colordialog/lang/th.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colordialog/lang/tr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colordialog/lang/ug.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colordialog/lang/uk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colordialog/lang/vi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colordialog/lang/zh-cn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/colordialog/lang/zh.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/af.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/ar.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/bg.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/bn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/bs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/cs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/cy.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/da.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/de.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/el.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/en-au.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/en-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/en-gb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/en.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/eo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/es.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/et.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/eu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/fa.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/fi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/fo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/fr-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/fr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/gl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/gu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/he.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/hi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/hr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/hu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/id.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/is.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/it.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/ja.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/ka.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/km.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/ko.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/ku.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/lt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/lv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/mk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/mn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/ms.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/nb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/nl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/no.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/pl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/pt-br.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/pt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/ro.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/ru.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/si.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/sk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/sl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/sq.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/sr-latn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/sr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/sv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/th.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/tr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/ug.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/uk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/vi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/zh-cn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/zh.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/devtools/lang/_translationstatus.txt delete mode 100644 htdocs/includes/ckeditor/_source/plugins/devtools/lang/bg.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/devtools/lang/cs.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/devtools/lang/cy.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/devtools/lang/da.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/devtools/lang/de.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/devtools/lang/el.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/devtools/lang/en.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/devtools/lang/eo.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/devtools/lang/et.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/devtools/lang/fa.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/devtools/lang/fi.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/devtools/lang/fr.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/devtools/lang/gu.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/devtools/lang/he.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/devtools/lang/hr.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/devtools/lang/it.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/devtools/lang/nb.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/devtools/lang/nl.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/devtools/lang/no.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/devtools/lang/pl.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/devtools/lang/pt-br.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/devtools/lang/tr.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/devtools/lang/ug.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/devtools/lang/uk.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/devtools/lang/vi.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/devtools/lang/zh-cn.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/devtools/plugin.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/dialog/samples/assets/my_dialog.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/dialog/samples/dialog.html create mode 100644 htdocs/includes/ckeditor/_source/plugins/div/icons/creatediv.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/div/icons/hidpi/creatediv.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/div/lang/af.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/div/lang/ar.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/div/lang/bg.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/div/lang/bn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/div/lang/bs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/div/lang/ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/div/lang/cs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/div/lang/cy.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/div/lang/da.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/div/lang/de.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/div/lang/el.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/div/lang/en-au.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/div/lang/en-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/div/lang/en-gb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/div/lang/en.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/div/lang/eo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/div/lang/es.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/div/lang/et.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/div/lang/eu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/div/lang/fa.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/div/lang/fi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/div/lang/fo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/div/lang/fr-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/div/lang/fr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/div/lang/gl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/div/lang/gu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/div/lang/he.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/div/lang/hi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/div/lang/hr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/div/lang/hu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/div/lang/id.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/div/lang/is.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/div/lang/it.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/div/lang/ja.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/div/lang/ka.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/div/lang/km.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/div/lang/ko.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/div/lang/ku.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/div/lang/lt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/div/lang/lv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/div/lang/mk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/div/lang/mn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/div/lang/ms.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/div/lang/nb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/div/lang/nl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/div/lang/no.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/div/lang/pl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/div/lang/pt-br.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/div/lang/pt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/div/lang/ro.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/div/lang/ru.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/div/lang/si.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/div/lang/sk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/div/lang/sl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/div/lang/sq.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/div/lang/sr-latn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/div/lang/sr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/div/lang/sv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/div/lang/th.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/div/lang/tr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/div/lang/ug.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/div/lang/uk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/div/lang/vi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/div/lang/zh-cn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/div/lang/zh.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/docprops/dialogs/docprops.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/docprops/plugin.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/domiterator/plugin.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/editingblock/plugin.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/elementspath/lang/af.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/elementspath/lang/ar.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/elementspath/lang/bg.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/elementspath/lang/bn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/elementspath/lang/bs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/elementspath/lang/ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/elementspath/lang/cs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/elementspath/lang/cy.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/elementspath/lang/da.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/elementspath/lang/de.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/elementspath/lang/el.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/elementspath/lang/en-au.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/elementspath/lang/en-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/elementspath/lang/en-gb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/elementspath/lang/en.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/elementspath/lang/eo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/elementspath/lang/es.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/elementspath/lang/et.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/elementspath/lang/eu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/elementspath/lang/fa.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/elementspath/lang/fi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/elementspath/lang/fo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/elementspath/lang/fr-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/elementspath/lang/fr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/elementspath/lang/gl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/elementspath/lang/gu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/elementspath/lang/he.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/elementspath/lang/hi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/elementspath/lang/hr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/elementspath/lang/hu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/elementspath/lang/is.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/elementspath/lang/it.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/elementspath/lang/ja.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/elementspath/lang/ka.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/elementspath/lang/km.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/elementspath/lang/ko.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/elementspath/lang/ku.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/elementspath/lang/lt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/elementspath/lang/lv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/elementspath/lang/mk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/elementspath/lang/mn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/elementspath/lang/ms.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/elementspath/lang/nb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/elementspath/lang/nl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/elementspath/lang/no.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/elementspath/lang/pl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/elementspath/lang/pt-br.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/elementspath/lang/pt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/elementspath/lang/ro.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/elementspath/lang/ru.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/elementspath/lang/si.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/elementspath/lang/sk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/elementspath/lang/sl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/elementspath/lang/sq.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/elementspath/lang/sr-latn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/elementspath/lang/sr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/elementspath/lang/sv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/elementspath/lang/th.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/elementspath/lang/tr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/elementspath/lang/ug.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/elementspath/lang/uk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/elementspath/lang/vi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/elementspath/lang/zh-cn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/elementspath/lang/zh.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/enterkey/samples/enterkey.html rename htdocs/includes/ckeditor/{ => _source/plugins/fakeobjects}/images/spacer.gif (100%) create mode 100644 htdocs/includes/ckeditor/_source/plugins/fakeobjects/lang/af.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/fakeobjects/lang/ar.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/fakeobjects/lang/bg.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/fakeobjects/lang/bn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/fakeobjects/lang/bs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/fakeobjects/lang/ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/fakeobjects/lang/cs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/fakeobjects/lang/cy.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/fakeobjects/lang/da.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/fakeobjects/lang/de.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/fakeobjects/lang/el.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/fakeobjects/lang/en-au.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/fakeobjects/lang/en-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/fakeobjects/lang/en-gb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/fakeobjects/lang/en.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/fakeobjects/lang/eo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/fakeobjects/lang/es.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/fakeobjects/lang/et.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/fakeobjects/lang/eu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/fakeobjects/lang/fa.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/fakeobjects/lang/fi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/fakeobjects/lang/fo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/fakeobjects/lang/fr-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/fakeobjects/lang/fr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/fakeobjects/lang/gl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/fakeobjects/lang/gu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/fakeobjects/lang/he.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/fakeobjects/lang/hi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/fakeobjects/lang/hr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/fakeobjects/lang/hu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/fakeobjects/lang/id.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/fakeobjects/lang/is.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/fakeobjects/lang/it.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/fakeobjects/lang/ja.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/fakeobjects/lang/ka.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/fakeobjects/lang/km.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/fakeobjects/lang/ko.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/fakeobjects/lang/ku.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/fakeobjects/lang/lt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/fakeobjects/lang/lv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/fakeobjects/lang/mk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/fakeobjects/lang/mn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/fakeobjects/lang/ms.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/fakeobjects/lang/nb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/fakeobjects/lang/nl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/fakeobjects/lang/no.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/fakeobjects/lang/pl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/fakeobjects/lang/pt-br.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/fakeobjects/lang/pt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/fakeobjects/lang/ro.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/fakeobjects/lang/ru.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/fakeobjects/lang/si.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/fakeobjects/lang/sk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/fakeobjects/lang/sl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/fakeobjects/lang/sq.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/fakeobjects/lang/sr-latn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/fakeobjects/lang/sr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/fakeobjects/lang/sv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/fakeobjects/lang/th.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/fakeobjects/lang/tr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/fakeobjects/lang/ug.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/fakeobjects/lang/uk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/fakeobjects/lang/vi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/fakeobjects/lang/zh-cn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/fakeobjects/lang/zh.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/find/icons/find-rtl.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/find/icons/find.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/find/icons/hidpi/find-rtl.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/find/icons/hidpi/find.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/find/icons/hidpi/replace.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/find/icons/replace.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/find/lang/af.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/find/lang/ar.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/find/lang/bg.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/find/lang/bn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/find/lang/bs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/find/lang/ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/find/lang/cs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/find/lang/cy.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/find/lang/da.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/find/lang/de.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/find/lang/el.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/find/lang/en-au.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/find/lang/en-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/find/lang/en-gb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/find/lang/en.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/find/lang/eo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/find/lang/es.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/find/lang/et.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/find/lang/eu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/find/lang/fa.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/find/lang/fi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/find/lang/fo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/find/lang/fr-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/find/lang/fr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/find/lang/gl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/find/lang/gu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/find/lang/he.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/find/lang/hi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/find/lang/hr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/find/lang/hu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/find/lang/id.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/find/lang/is.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/find/lang/it.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/find/lang/ja.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/find/lang/ka.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/find/lang/km.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/find/lang/ko.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/find/lang/ku.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/find/lang/lt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/find/lang/lv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/find/lang/mk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/find/lang/mn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/find/lang/ms.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/find/lang/nb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/find/lang/nl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/find/lang/no.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/find/lang/pl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/find/lang/pt-br.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/find/lang/pt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/find/lang/ro.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/find/lang/ru.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/find/lang/si.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/find/lang/sk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/find/lang/sl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/find/lang/sq.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/find/lang/sr-latn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/find/lang/sr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/find/lang/sv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/find/lang/th.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/find/lang/tr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/find/lang/ug.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/find/lang/uk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/find/lang/vi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/find/lang/zh-cn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/find/lang/zh.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/flash/icons/flash.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/flash/icons/hidpi/flash.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/flash/lang/af.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/flash/lang/ar.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/flash/lang/bg.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/flash/lang/bn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/flash/lang/bs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/flash/lang/ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/flash/lang/cs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/flash/lang/cy.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/flash/lang/da.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/flash/lang/de.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/flash/lang/el.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/flash/lang/en-au.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/flash/lang/en-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/flash/lang/en-gb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/flash/lang/en.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/flash/lang/eo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/flash/lang/es.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/flash/lang/et.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/flash/lang/eu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/flash/lang/fa.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/flash/lang/fi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/flash/lang/fo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/flash/lang/fr-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/flash/lang/fr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/flash/lang/gl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/flash/lang/gu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/flash/lang/he.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/flash/lang/hi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/flash/lang/hr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/flash/lang/hu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/flash/lang/id.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/flash/lang/is.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/flash/lang/it.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/flash/lang/ja.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/flash/lang/ka.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/flash/lang/km.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/flash/lang/ko.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/flash/lang/ku.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/flash/lang/lt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/flash/lang/lv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/flash/lang/mk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/flash/lang/mn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/flash/lang/ms.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/flash/lang/nb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/flash/lang/nl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/flash/lang/no.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/flash/lang/pl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/flash/lang/pt-br.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/flash/lang/pt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/flash/lang/ro.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/flash/lang/ru.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/flash/lang/si.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/flash/lang/sk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/flash/lang/sl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/flash/lang/sq.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/flash/lang/sr-latn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/flash/lang/sr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/flash/lang/sv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/flash/lang/th.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/flash/lang/tr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/flash/lang/ug.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/flash/lang/uk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/flash/lang/vi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/flash/lang/zh-cn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/flash/lang/zh.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/floatingspace/plugin.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/font/lang/af.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/font/lang/ar.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/font/lang/bg.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/font/lang/bn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/font/lang/bs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/font/lang/ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/font/lang/cs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/font/lang/cy.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/font/lang/da.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/font/lang/de.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/font/lang/el.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/font/lang/en-au.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/font/lang/en-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/font/lang/en-gb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/font/lang/en.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/font/lang/eo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/font/lang/es.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/font/lang/et.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/font/lang/eu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/font/lang/fa.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/font/lang/fi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/font/lang/fo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/font/lang/fr-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/font/lang/fr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/font/lang/gl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/font/lang/gu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/font/lang/he.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/font/lang/hi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/font/lang/hr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/font/lang/hu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/font/lang/id.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/font/lang/is.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/font/lang/it.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/font/lang/ja.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/font/lang/ka.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/font/lang/km.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/font/lang/ko.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/font/lang/ku.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/font/lang/lt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/font/lang/lv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/font/lang/mk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/font/lang/mn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/font/lang/ms.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/font/lang/nb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/font/lang/nl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/font/lang/no.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/font/lang/pl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/font/lang/pt-br.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/font/lang/pt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/font/lang/ro.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/font/lang/ru.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/font/lang/si.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/font/lang/sk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/font/lang/sl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/font/lang/sq.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/font/lang/sr-latn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/font/lang/sr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/font/lang/sv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/font/lang/th.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/font/lang/tr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/font/lang/ug.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/font/lang/uk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/font/lang/vi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/font/lang/zh-cn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/font/lang/zh.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/format/lang/af.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/format/lang/ar.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/format/lang/bg.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/format/lang/bn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/format/lang/bs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/format/lang/ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/format/lang/cs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/format/lang/cy.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/format/lang/da.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/format/lang/de.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/format/lang/el.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/format/lang/en-au.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/format/lang/en-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/format/lang/en-gb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/format/lang/en.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/format/lang/eo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/format/lang/es.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/format/lang/et.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/format/lang/eu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/format/lang/fa.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/format/lang/fi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/format/lang/fo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/format/lang/fr-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/format/lang/fr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/format/lang/gl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/format/lang/gu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/format/lang/he.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/format/lang/hi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/format/lang/hr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/format/lang/hu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/format/lang/id.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/format/lang/is.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/format/lang/it.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/format/lang/ja.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/format/lang/ka.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/format/lang/km.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/format/lang/ko.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/format/lang/ku.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/format/lang/lt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/format/lang/lv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/format/lang/mk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/format/lang/mn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/format/lang/ms.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/format/lang/nb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/format/lang/nl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/format/lang/no.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/format/lang/pl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/format/lang/pt-br.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/format/lang/pt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/format/lang/ro.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/format/lang/ru.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/format/lang/si.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/format/lang/sk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/format/lang/sl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/format/lang/sq.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/format/lang/sr-latn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/format/lang/sr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/format/lang/sv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/format/lang/th.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/format/lang/tr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/format/lang/ug.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/format/lang/uk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/format/lang/vi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/format/lang/zh-cn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/format/lang/zh.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/icons/button.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/icons/checkbox.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/icons/form.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/icons/hiddenfield.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/icons/hidpi/button.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/icons/hidpi/checkbox.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/icons/hidpi/form.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/icons/hidpi/hiddenfield.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/icons/hidpi/imagebutton.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/icons/hidpi/radio.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/icons/hidpi/select-rtl.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/icons/hidpi/select.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/icons/hidpi/textarea-rtl.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/icons/hidpi/textarea.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/icons/hidpi/textfield-rtl.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/icons/hidpi/textfield.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/icons/imagebutton.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/icons/radio.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/icons/select-rtl.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/icons/select.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/icons/textarea-rtl.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/icons/textarea.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/icons/textfield-rtl.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/icons/textfield.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/lang/af.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/lang/ar.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/lang/bg.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/lang/bn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/lang/bs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/lang/ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/lang/cs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/lang/cy.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/lang/da.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/lang/de.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/lang/el.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/lang/en-au.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/lang/en-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/lang/en-gb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/lang/en.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/lang/eo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/lang/es.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/lang/et.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/lang/eu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/lang/fa.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/lang/fi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/lang/fo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/lang/fr-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/lang/fr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/lang/gl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/lang/gu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/lang/he.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/lang/hi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/lang/hr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/lang/hu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/lang/id.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/lang/is.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/lang/it.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/lang/ja.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/lang/ka.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/lang/km.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/lang/ko.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/lang/ku.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/lang/lt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/lang/lv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/lang/mk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/lang/mn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/lang/ms.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/lang/nb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/lang/nl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/lang/no.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/lang/pl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/lang/pt-br.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/lang/pt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/lang/ro.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/lang/ru.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/lang/si.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/lang/sk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/lang/sl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/lang/sq.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/lang/sr-latn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/lang/sr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/lang/sv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/lang/th.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/lang/tr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/lang/ug.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/lang/uk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/lang/vi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/lang/zh-cn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/forms/lang/zh.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/horizontalrule/icons/hidpi/horizontalrule.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/horizontalrule/icons/horizontalrule.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/horizontalrule/lang/af.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/horizontalrule/lang/ar.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/horizontalrule/lang/bg.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/horizontalrule/lang/bn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/horizontalrule/lang/bs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/horizontalrule/lang/ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/horizontalrule/lang/cs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/horizontalrule/lang/cy.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/horizontalrule/lang/da.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/horizontalrule/lang/de.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/horizontalrule/lang/el.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/horizontalrule/lang/en-au.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/horizontalrule/lang/en-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/horizontalrule/lang/en-gb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/horizontalrule/lang/en.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/horizontalrule/lang/eo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/horizontalrule/lang/es.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/horizontalrule/lang/et.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/horizontalrule/lang/eu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/horizontalrule/lang/fa.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/horizontalrule/lang/fi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/horizontalrule/lang/fo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/horizontalrule/lang/fr-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/horizontalrule/lang/fr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/horizontalrule/lang/gl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/horizontalrule/lang/gu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/horizontalrule/lang/he.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/horizontalrule/lang/hi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/horizontalrule/lang/hr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/horizontalrule/lang/hu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/horizontalrule/lang/id.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/horizontalrule/lang/is.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/horizontalrule/lang/it.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/horizontalrule/lang/ja.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/horizontalrule/lang/ka.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/horizontalrule/lang/km.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/horizontalrule/lang/ko.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/horizontalrule/lang/ku.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/horizontalrule/lang/lt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/horizontalrule/lang/lv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/horizontalrule/lang/mk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/horizontalrule/lang/mn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/horizontalrule/lang/ms.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/horizontalrule/lang/nb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/horizontalrule/lang/nl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/horizontalrule/lang/no.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/horizontalrule/lang/pl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/horizontalrule/lang/pt-br.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/horizontalrule/lang/pt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/horizontalrule/lang/ro.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/horizontalrule/lang/ru.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/horizontalrule/lang/si.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/horizontalrule/lang/sk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/horizontalrule/lang/sl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/horizontalrule/lang/sq.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/horizontalrule/lang/sr-latn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/horizontalrule/lang/sr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/horizontalrule/lang/sv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/horizontalrule/lang/th.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/horizontalrule/lang/tr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/horizontalrule/lang/ug.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/horizontalrule/lang/uk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/horizontalrule/lang/vi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/horizontalrule/lang/zh-cn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/horizontalrule/lang/zh.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/htmldataprocessor/plugin.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/htmlwriter/samples/assets/outputforflash/outputforflash.fla create mode 100644 htdocs/includes/ckeditor/_source/plugins/htmlwriter/samples/assets/outputforflash/outputforflash.swf create mode 100644 htdocs/includes/ckeditor/_source/plugins/htmlwriter/samples/assets/outputforflash/swfobject.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/htmlwriter/samples/outputforflash.html create mode 100644 htdocs/includes/ckeditor/_source/plugins/htmlwriter/samples/outputhtml.html create mode 100644 htdocs/includes/ckeditor/_source/plugins/iframe/icons/hidpi/iframe.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/iframe/icons/iframe.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/iframe/lang/af.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/iframe/lang/ar.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/iframe/lang/bg.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/iframe/lang/bn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/iframe/lang/bs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/iframe/lang/ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/iframe/lang/cs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/iframe/lang/cy.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/iframe/lang/da.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/iframe/lang/de.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/iframe/lang/el.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/iframe/lang/en-au.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/iframe/lang/en-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/iframe/lang/en-gb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/iframe/lang/en.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/iframe/lang/eo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/iframe/lang/es.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/iframe/lang/et.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/iframe/lang/eu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/iframe/lang/fa.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/iframe/lang/fi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/iframe/lang/fo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/iframe/lang/fr-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/iframe/lang/fr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/iframe/lang/gl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/iframe/lang/gu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/iframe/lang/he.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/iframe/lang/hi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/iframe/lang/hr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/iframe/lang/hu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/iframe/lang/id.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/iframe/lang/is.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/iframe/lang/it.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/iframe/lang/ja.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/iframe/lang/ka.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/iframe/lang/km.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/iframe/lang/ko.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/iframe/lang/ku.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/iframe/lang/lt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/iframe/lang/lv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/iframe/lang/mk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/iframe/lang/mn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/iframe/lang/ms.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/iframe/lang/nb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/iframe/lang/nl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/iframe/lang/no.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/iframe/lang/pl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/iframe/lang/pt-br.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/iframe/lang/pt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/iframe/lang/ro.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/iframe/lang/ru.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/iframe/lang/si.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/iframe/lang/sk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/iframe/lang/sl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/iframe/lang/sq.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/iframe/lang/sr-latn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/iframe/lang/sr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/iframe/lang/sv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/iframe/lang/th.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/iframe/lang/tr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/iframe/lang/ug.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/iframe/lang/uk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/iframe/lang/vi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/iframe/lang/zh-cn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/iframe/lang/zh.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/iframedialog/plugin.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/image/icons/hidpi/image.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/image/icons/image.png rename htdocs/includes/ckeditor/_source/{skins/kama => plugins/image}/images/noimage.png (100%) create mode 100644 htdocs/includes/ckeditor/_source/plugins/image/lang/af.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/image/lang/ar.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/image/lang/bg.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/image/lang/bn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/image/lang/bs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/image/lang/ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/image/lang/cs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/image/lang/cy.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/image/lang/da.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/image/lang/de.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/image/lang/el.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/image/lang/en-au.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/image/lang/en-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/image/lang/en-gb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/image/lang/en.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/image/lang/eo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/image/lang/es.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/image/lang/et.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/image/lang/eu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/image/lang/fa.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/image/lang/fi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/image/lang/fo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/image/lang/fr-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/image/lang/fr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/image/lang/gl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/image/lang/gu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/image/lang/he.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/image/lang/hi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/image/lang/hr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/image/lang/hu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/image/lang/id.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/image/lang/is.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/image/lang/it.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/image/lang/ja.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/image/lang/ka.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/image/lang/km.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/image/lang/ko.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/image/lang/ku.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/image/lang/lt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/image/lang/lv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/image/lang/mk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/image/lang/mn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/image/lang/ms.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/image/lang/nb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/image/lang/nl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/image/lang/no.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/image/lang/pl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/image/lang/pt-br.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/image/lang/pt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/image/lang/ro.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/image/lang/ru.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/image/lang/si.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/image/lang/sk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/image/lang/sl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/image/lang/sq.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/image/lang/sr-latn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/image/lang/sr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/image/lang/sv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/image/lang/th.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/image/lang/tr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/image/lang/ug.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/image/lang/uk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/image/lang/vi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/image/lang/zh-cn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/image/lang/zh.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/indent/dev/indent.html create mode 100644 htdocs/includes/ckeditor/_source/plugins/indent/icons/hidpi/indent-rtl.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/indent/icons/hidpi/indent.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/indent/icons/hidpi/outdent-rtl.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/indent/icons/hidpi/outdent.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/indent/icons/indent-rtl.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/indent/icons/indent.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/indent/icons/outdent-rtl.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/indent/icons/outdent.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/indent/lang/af.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/indent/lang/ar.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/indent/lang/bg.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/indent/lang/bn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/indent/lang/bs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/indent/lang/ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/indent/lang/cs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/indent/lang/cy.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/indent/lang/da.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/indent/lang/de.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/indent/lang/el.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/indent/lang/en-au.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/indent/lang/en-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/indent/lang/en-gb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/indent/lang/en.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/indent/lang/eo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/indent/lang/es.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/indent/lang/et.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/indent/lang/eu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/indent/lang/fa.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/indent/lang/fi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/indent/lang/fo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/indent/lang/fr-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/indent/lang/fr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/indent/lang/gl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/indent/lang/gu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/indent/lang/he.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/indent/lang/hi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/indent/lang/hr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/indent/lang/hu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/indent/lang/id.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/indent/lang/is.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/indent/lang/it.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/indent/lang/ja.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/indent/lang/ka.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/indent/lang/km.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/indent/lang/ko.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/indent/lang/ku.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/indent/lang/lt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/indent/lang/lv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/indent/lang/mk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/indent/lang/mn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/indent/lang/ms.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/indent/lang/nb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/indent/lang/nl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/indent/lang/no.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/indent/lang/pl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/indent/lang/pt-br.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/indent/lang/pt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/indent/lang/ro.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/indent/lang/ru.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/indent/lang/si.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/indent/lang/sk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/indent/lang/sl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/indent/lang/sq.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/indent/lang/sr-latn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/indent/lang/sr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/indent/lang/sv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/indent/lang/th.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/indent/lang/tr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/indent/lang/ug.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/indent/lang/uk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/indent/lang/vi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/indent/lang/zh-cn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/indent/lang/zh.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/indentblock/plugin.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/indentlist/plugin.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/justify/icons/hidpi/justifyblock.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/justify/icons/hidpi/justifycenter.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/justify/icons/hidpi/justifyleft.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/justify/icons/hidpi/justifyright.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/justify/icons/justifyblock.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/justify/icons/justifycenter.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/justify/icons/justifyleft.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/justify/icons/justifyright.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/justify/lang/af.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/justify/lang/ar.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/justify/lang/bg.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/justify/lang/bn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/justify/lang/bs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/justify/lang/ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/justify/lang/cs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/justify/lang/cy.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/justify/lang/da.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/justify/lang/de.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/justify/lang/el.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/justify/lang/en-au.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/justify/lang/en-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/justify/lang/en-gb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/justify/lang/en.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/justify/lang/eo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/justify/lang/es.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/justify/lang/et.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/justify/lang/eu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/justify/lang/fa.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/justify/lang/fi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/justify/lang/fo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/justify/lang/fr-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/justify/lang/fr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/justify/lang/gl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/justify/lang/gu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/justify/lang/he.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/justify/lang/hi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/justify/lang/hr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/justify/lang/hu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/justify/lang/id.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/justify/lang/is.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/justify/lang/it.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/justify/lang/ja.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/justify/lang/ka.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/justify/lang/km.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/justify/lang/ko.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/justify/lang/ku.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/justify/lang/lt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/justify/lang/lv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/justify/lang/mk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/justify/lang/mn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/justify/lang/ms.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/justify/lang/nb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/justify/lang/nl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/justify/lang/no.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/justify/lang/pl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/justify/lang/pt-br.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/justify/lang/pt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/justify/lang/ro.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/justify/lang/ru.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/justify/lang/si.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/justify/lang/sk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/justify/lang/sl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/justify/lang/sq.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/justify/lang/sr-latn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/justify/lang/sr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/justify/lang/sv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/justify/lang/th.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/justify/lang/tr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/justify/lang/ug.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/justify/lang/uk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/justify/lang/vi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/justify/lang/zh-cn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/justify/lang/zh.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/keystrokes/plugin.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/language/icons/hidpi/language.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/language/icons/language.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/language/lang/ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/language/lang/cs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/language/lang/cy.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/language/lang/el.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/language/lang/en-gb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/language/lang/en.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/language/lang/es.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/language/lang/fa.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/language/lang/fi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/language/lang/fr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/language/lang/gl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/language/lang/hu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/language/lang/ja.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/language/lang/km.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/language/lang/nb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/language/lang/nl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/language/lang/no.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/language/lang/pl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/language/lang/pt-br.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/language/lang/pt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/language/lang/ru.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/language/lang/sl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/language/lang/sv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/language/lang/uk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/language/lang/zh-cn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/language/lang/zh.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/language/plugin.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/link/icons/anchor-rtl.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/link/icons/anchor.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/link/icons/hidpi/anchor-rtl.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/link/icons/hidpi/anchor.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/link/icons/hidpi/link.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/link/icons/hidpi/unlink.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/link/icons/link.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/link/icons/unlink.png delete mode 100644 htdocs/includes/ckeditor/_source/plugins/link/images/anchor.gif create mode 100644 htdocs/includes/ckeditor/_source/plugins/link/images/anchor.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/link/images/hidpi/anchor.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/link/lang/af.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/link/lang/ar.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/link/lang/bg.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/link/lang/bn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/link/lang/bs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/link/lang/ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/link/lang/cs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/link/lang/cy.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/link/lang/da.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/link/lang/de.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/link/lang/el.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/link/lang/en-au.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/link/lang/en-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/link/lang/en-gb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/link/lang/en.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/link/lang/eo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/link/lang/es.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/link/lang/et.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/link/lang/eu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/link/lang/fa.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/link/lang/fi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/link/lang/fo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/link/lang/fr-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/link/lang/fr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/link/lang/gl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/link/lang/gu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/link/lang/he.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/link/lang/hi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/link/lang/hr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/link/lang/hu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/link/lang/id.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/link/lang/is.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/link/lang/it.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/link/lang/ja.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/link/lang/ka.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/link/lang/km.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/link/lang/ko.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/link/lang/ku.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/link/lang/lt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/link/lang/lv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/link/lang/mk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/link/lang/mn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/link/lang/ms.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/link/lang/nb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/link/lang/nl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/link/lang/no.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/link/lang/pl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/link/lang/pt-br.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/link/lang/pt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/link/lang/ro.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/link/lang/ru.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/link/lang/si.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/link/lang/sk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/link/lang/sl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/link/lang/sq.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/link/lang/sr-latn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/link/lang/sr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/link/lang/sv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/link/lang/th.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/link/lang/tr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/link/lang/ug.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/link/lang/uk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/link/lang/vi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/link/lang/zh-cn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/link/lang/zh.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/list/icons/bulletedlist-rtl.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/list/icons/bulletedlist.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/list/icons/hidpi/bulletedlist-rtl.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/list/icons/hidpi/bulletedlist.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/list/icons/hidpi/numberedlist-rtl.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/list/icons/hidpi/numberedlist.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/list/icons/numberedlist-rtl.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/list/icons/numberedlist.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/list/lang/af.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/list/lang/ar.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/list/lang/bg.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/list/lang/bn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/list/lang/bs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/list/lang/ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/list/lang/cs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/list/lang/cy.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/list/lang/da.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/list/lang/de.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/list/lang/el.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/list/lang/en-au.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/list/lang/en-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/list/lang/en-gb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/list/lang/en.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/list/lang/eo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/list/lang/es.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/list/lang/et.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/list/lang/eu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/list/lang/fa.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/list/lang/fi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/list/lang/fo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/list/lang/fr-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/list/lang/fr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/list/lang/gl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/list/lang/gu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/list/lang/he.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/list/lang/hi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/list/lang/hr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/list/lang/hu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/list/lang/id.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/list/lang/is.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/list/lang/it.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/list/lang/ja.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/list/lang/ka.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/list/lang/km.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/list/lang/ko.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/list/lang/ku.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/list/lang/lt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/list/lang/lv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/list/lang/mk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/list/lang/mn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/list/lang/ms.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/list/lang/nb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/list/lang/nl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/list/lang/no.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/list/lang/pl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/list/lang/pt-br.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/list/lang/pt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/list/lang/ro.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/list/lang/ru.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/list/lang/si.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/list/lang/sk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/list/lang/sl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/list/lang/sq.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/list/lang/sr-latn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/list/lang/sr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/list/lang/sv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/list/lang/th.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/list/lang/tr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/list/lang/ug.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/list/lang/uk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/list/lang/vi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/list/lang/zh-cn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/list/lang/zh.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/liststyle/lang/af.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/liststyle/lang/ar.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/liststyle/lang/bg.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/liststyle/lang/bn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/liststyle/lang/bs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/liststyle/lang/ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/liststyle/lang/cs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/liststyle/lang/cy.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/liststyle/lang/da.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/liststyle/lang/de.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/liststyle/lang/el.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/liststyle/lang/en-au.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/liststyle/lang/en-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/liststyle/lang/en-gb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/liststyle/lang/en.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/liststyle/lang/eo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/liststyle/lang/es.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/liststyle/lang/et.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/liststyle/lang/eu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/liststyle/lang/fa.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/liststyle/lang/fi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/liststyle/lang/fo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/liststyle/lang/fr-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/liststyle/lang/fr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/liststyle/lang/gl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/liststyle/lang/gu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/liststyle/lang/he.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/liststyle/lang/hi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/liststyle/lang/hr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/liststyle/lang/hu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/liststyle/lang/id.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/liststyle/lang/is.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/liststyle/lang/it.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/liststyle/lang/ja.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/liststyle/lang/ka.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/liststyle/lang/km.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/liststyle/lang/ko.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/liststyle/lang/ku.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/liststyle/lang/lt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/liststyle/lang/lv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/liststyle/lang/mk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/liststyle/lang/mn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/liststyle/lang/ms.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/liststyle/lang/nb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/liststyle/lang/nl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/liststyle/lang/no.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/liststyle/lang/pl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/liststyle/lang/pt-br.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/liststyle/lang/pt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/liststyle/lang/ro.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/liststyle/lang/ru.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/liststyle/lang/si.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/liststyle/lang/sk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/liststyle/lang/sl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/liststyle/lang/sq.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/liststyle/lang/sr-latn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/liststyle/lang/sr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/liststyle/lang/sv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/liststyle/lang/th.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/liststyle/lang/tr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/liststyle/lang/ug.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/liststyle/lang/uk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/liststyle/lang/vi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/liststyle/lang/zh-cn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/liststyle/lang/zh.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/magicline/dev/magicline.html create mode 100644 htdocs/includes/ckeditor/_source/plugins/magicline/images/hidpi/icon.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/magicline/images/icon.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/magicline/lang/ar.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/magicline/lang/bg.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/magicline/lang/ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/magicline/lang/cs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/magicline/lang/cy.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/magicline/lang/de.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/magicline/lang/el.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/magicline/lang/en-gb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/magicline/lang/en.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/magicline/lang/eo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/magicline/lang/es.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/magicline/lang/et.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/magicline/lang/eu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/magicline/lang/fa.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/magicline/lang/fi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/magicline/lang/fr-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/magicline/lang/fr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/magicline/lang/gl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/magicline/lang/he.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/magicline/lang/hr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/magicline/lang/hu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/magicline/lang/id.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/magicline/lang/it.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/magicline/lang/ja.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/magicline/lang/km.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/magicline/lang/ko.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/magicline/lang/ku.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/magicline/lang/lv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/magicline/lang/nb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/magicline/lang/nl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/magicline/lang/no.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/magicline/lang/pl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/magicline/lang/pt-br.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/magicline/lang/pt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/magicline/lang/ru.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/magicline/lang/si.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/magicline/lang/sk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/magicline/lang/sl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/magicline/lang/sq.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/magicline/lang/sv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/magicline/lang/tr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/magicline/lang/ug.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/magicline/lang/uk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/magicline/lang/vi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/magicline/lang/zh-cn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/magicline/lang/zh.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/magicline/plugin.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/magicline/samples/magicline.html create mode 100644 htdocs/includes/ckeditor/_source/plugins/maximize/icons/hidpi/maximize.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/maximize/icons/maximize.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/maximize/lang/af.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/maximize/lang/ar.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/maximize/lang/bg.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/maximize/lang/bn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/maximize/lang/bs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/maximize/lang/ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/maximize/lang/cs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/maximize/lang/cy.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/maximize/lang/da.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/maximize/lang/de.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/maximize/lang/el.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/maximize/lang/en-au.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/maximize/lang/en-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/maximize/lang/en-gb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/maximize/lang/en.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/maximize/lang/eo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/maximize/lang/es.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/maximize/lang/et.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/maximize/lang/eu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/maximize/lang/fa.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/maximize/lang/fi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/maximize/lang/fo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/maximize/lang/fr-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/maximize/lang/fr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/maximize/lang/gl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/maximize/lang/gu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/maximize/lang/he.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/maximize/lang/hi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/maximize/lang/hr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/maximize/lang/hu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/maximize/lang/id.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/maximize/lang/is.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/maximize/lang/it.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/maximize/lang/ja.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/maximize/lang/ka.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/maximize/lang/km.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/maximize/lang/ko.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/maximize/lang/ku.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/maximize/lang/lt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/maximize/lang/lv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/maximize/lang/mk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/maximize/lang/mn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/maximize/lang/ms.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/maximize/lang/nb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/maximize/lang/nl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/maximize/lang/no.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/maximize/lang/pl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/maximize/lang/pt-br.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/maximize/lang/pt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/maximize/lang/ro.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/maximize/lang/ru.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/maximize/lang/si.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/maximize/lang/sk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/maximize/lang/sl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/maximize/lang/sq.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/maximize/lang/sr-latn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/maximize/lang/sr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/maximize/lang/sv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/maximize/lang/th.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/maximize/lang/tr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/maximize/lang/ug.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/maximize/lang/uk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/maximize/lang/vi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/maximize/lang/zh-cn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/maximize/lang/zh.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/newpage/icons/hidpi/newpage-rtl.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/newpage/icons/hidpi/newpage.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/newpage/icons/newpage-rtl.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/newpage/icons/newpage.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/newpage/lang/af.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/newpage/lang/ar.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/newpage/lang/bg.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/newpage/lang/bn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/newpage/lang/bs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/newpage/lang/ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/newpage/lang/cs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/newpage/lang/cy.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/newpage/lang/da.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/newpage/lang/de.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/newpage/lang/el.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/newpage/lang/en-au.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/newpage/lang/en-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/newpage/lang/en-gb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/newpage/lang/en.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/newpage/lang/eo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/newpage/lang/es.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/newpage/lang/et.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/newpage/lang/eu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/newpage/lang/fa.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/newpage/lang/fi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/newpage/lang/fo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/newpage/lang/fr-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/newpage/lang/fr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/newpage/lang/gl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/newpage/lang/gu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/newpage/lang/he.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/newpage/lang/hi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/newpage/lang/hr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/newpage/lang/hu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/newpage/lang/id.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/newpage/lang/is.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/newpage/lang/it.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/newpage/lang/ja.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/newpage/lang/ka.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/newpage/lang/km.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/newpage/lang/ko.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/newpage/lang/ku.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/newpage/lang/lt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/newpage/lang/lv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/newpage/lang/mk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/newpage/lang/mn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/newpage/lang/ms.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/newpage/lang/nb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/newpage/lang/nl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/newpage/lang/no.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/newpage/lang/pl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/newpage/lang/pt-br.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/newpage/lang/pt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/newpage/lang/ro.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/newpage/lang/ru.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/newpage/lang/si.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/newpage/lang/sk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/newpage/lang/sl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/newpage/lang/sq.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/newpage/lang/sr-latn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/newpage/lang/sr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/newpage/lang/sv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/newpage/lang/th.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/newpage/lang/tr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/newpage/lang/ug.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/newpage/lang/uk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/newpage/lang/vi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/newpage/lang/zh-cn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/newpage/lang/zh.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pagebreak/icons/hidpi/pagebreak-rtl.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/pagebreak/icons/hidpi/pagebreak.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/pagebreak/icons/pagebreak-rtl.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/pagebreak/icons/pagebreak.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/pagebreak/lang/af.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pagebreak/lang/ar.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pagebreak/lang/bg.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pagebreak/lang/bn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pagebreak/lang/bs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pagebreak/lang/ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pagebreak/lang/cs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pagebreak/lang/cy.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pagebreak/lang/da.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pagebreak/lang/de.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pagebreak/lang/el.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pagebreak/lang/en-au.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pagebreak/lang/en-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pagebreak/lang/en-gb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pagebreak/lang/en.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pagebreak/lang/eo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pagebreak/lang/es.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pagebreak/lang/et.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pagebreak/lang/eu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pagebreak/lang/fa.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pagebreak/lang/fi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pagebreak/lang/fo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pagebreak/lang/fr-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pagebreak/lang/fr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pagebreak/lang/gl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pagebreak/lang/gu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pagebreak/lang/he.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pagebreak/lang/hi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pagebreak/lang/hr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pagebreak/lang/hu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pagebreak/lang/id.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pagebreak/lang/is.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pagebreak/lang/it.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pagebreak/lang/ja.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pagebreak/lang/ka.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pagebreak/lang/km.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pagebreak/lang/ko.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pagebreak/lang/ku.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pagebreak/lang/lt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pagebreak/lang/lv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pagebreak/lang/mk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pagebreak/lang/mn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pagebreak/lang/ms.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pagebreak/lang/nb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pagebreak/lang/nl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pagebreak/lang/no.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pagebreak/lang/pl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pagebreak/lang/pt-br.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pagebreak/lang/pt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pagebreak/lang/ro.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pagebreak/lang/ru.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pagebreak/lang/si.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pagebreak/lang/sk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pagebreak/lang/sl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pagebreak/lang/sq.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pagebreak/lang/sr-latn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pagebreak/lang/sr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pagebreak/lang/sv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pagebreak/lang/th.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pagebreak/lang/tr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pagebreak/lang/ug.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pagebreak/lang/uk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pagebreak/lang/vi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pagebreak/lang/zh-cn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pagebreak/lang/zh.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastefromword/icons/hidpi/pastefromword-rtl.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastefromword/icons/hidpi/pastefromword.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastefromword/icons/pastefromword-rtl.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastefromword/icons/pastefromword.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastefromword/lang/af.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastefromword/lang/ar.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastefromword/lang/bg.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastefromword/lang/bn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastefromword/lang/bs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastefromword/lang/ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastefromword/lang/cs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastefromword/lang/cy.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastefromword/lang/da.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastefromword/lang/de.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastefromword/lang/el.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastefromword/lang/en-au.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastefromword/lang/en-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastefromword/lang/en-gb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastefromword/lang/en.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastefromword/lang/eo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastefromword/lang/es.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastefromword/lang/et.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastefromword/lang/eu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastefromword/lang/fa.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastefromword/lang/fi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastefromword/lang/fo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastefromword/lang/fr-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastefromword/lang/fr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastefromword/lang/gl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastefromword/lang/gu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastefromword/lang/he.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastefromword/lang/hi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastefromword/lang/hr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastefromword/lang/hu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastefromword/lang/id.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastefromword/lang/is.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastefromword/lang/it.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastefromword/lang/ja.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastefromword/lang/ka.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastefromword/lang/km.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastefromword/lang/ko.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastefromword/lang/ku.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastefromword/lang/lt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastefromword/lang/lv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastefromword/lang/mk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastefromword/lang/mn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastefromword/lang/ms.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastefromword/lang/nb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastefromword/lang/nl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastefromword/lang/no.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastefromword/lang/pl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastefromword/lang/pt-br.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastefromword/lang/pt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastefromword/lang/ro.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastefromword/lang/ru.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastefromword/lang/si.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastefromword/lang/sk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastefromword/lang/sl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastefromword/lang/sq.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastefromword/lang/sr-latn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastefromword/lang/sr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastefromword/lang/sv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastefromword/lang/th.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastefromword/lang/tr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastefromword/lang/ug.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastefromword/lang/uk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastefromword/lang/vi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastefromword/lang/zh-cn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastefromword/lang/zh.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/pastetext/dialogs/pastetext.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastetext/icons/hidpi/pastetext-rtl.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastetext/icons/hidpi/pastetext.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastetext/icons/pastetext-rtl.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastetext/icons/pastetext.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastetext/lang/af.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastetext/lang/ar.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastetext/lang/bg.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastetext/lang/bn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastetext/lang/bs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastetext/lang/ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastetext/lang/cs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastetext/lang/cy.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastetext/lang/da.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastetext/lang/de.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastetext/lang/el.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastetext/lang/en-au.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastetext/lang/en-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastetext/lang/en-gb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastetext/lang/en.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastetext/lang/eo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastetext/lang/es.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastetext/lang/et.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastetext/lang/eu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastetext/lang/fa.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastetext/lang/fi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastetext/lang/fo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastetext/lang/fr-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastetext/lang/fr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastetext/lang/gl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastetext/lang/gu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastetext/lang/he.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastetext/lang/hi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastetext/lang/hr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastetext/lang/hu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastetext/lang/id.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastetext/lang/is.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastetext/lang/it.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastetext/lang/ja.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastetext/lang/ka.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastetext/lang/km.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastetext/lang/ko.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastetext/lang/ku.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastetext/lang/lt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastetext/lang/lv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastetext/lang/mk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastetext/lang/mn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastetext/lang/ms.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastetext/lang/nb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastetext/lang/nl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastetext/lang/no.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastetext/lang/pl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastetext/lang/pt-br.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastetext/lang/pt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastetext/lang/ro.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastetext/lang/ru.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastetext/lang/si.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastetext/lang/sk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastetext/lang/sl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastetext/lang/sq.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastetext/lang/sr-latn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastetext/lang/sr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastetext/lang/sv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastetext/lang/th.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastetext/lang/tr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastetext/lang/ug.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastetext/lang/uk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastetext/lang/vi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastetext/lang/zh-cn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/pastetext/lang/zh.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/placeholder/dialogs/placeholder.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/placeholder/lang/_translationstatus.txt delete mode 100644 htdocs/includes/ckeditor/_source/plugins/placeholder/lang/bg.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/placeholder/lang/cs.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/placeholder/lang/cy.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/placeholder/lang/da.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/placeholder/lang/de.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/placeholder/lang/el.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/placeholder/lang/en.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/placeholder/lang/eo.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/placeholder/lang/et.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/placeholder/lang/fa.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/placeholder/lang/fi.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/placeholder/lang/fr.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/placeholder/lang/he.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/placeholder/lang/hr.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/placeholder/lang/it.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/placeholder/lang/nb.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/placeholder/lang/nl.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/placeholder/lang/no.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/placeholder/lang/pl.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/placeholder/lang/pt-br.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/placeholder/lang/tr.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/placeholder/lang/ug.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/placeholder/lang/uk.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/placeholder/lang/vi.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/placeholder/lang/zh-cn.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/placeholder/placeholder.gif delete mode 100644 htdocs/includes/ckeditor/_source/plugins/placeholder/plugin.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/preview/icons/hidpi/preview-rtl.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/preview/icons/hidpi/preview.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/preview/icons/preview-rtl.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/preview/icons/preview.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/preview/lang/af.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/preview/lang/ar.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/preview/lang/bg.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/preview/lang/bn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/preview/lang/bs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/preview/lang/ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/preview/lang/cs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/preview/lang/cy.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/preview/lang/da.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/preview/lang/de.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/preview/lang/el.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/preview/lang/en-au.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/preview/lang/en-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/preview/lang/en-gb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/preview/lang/en.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/preview/lang/eo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/preview/lang/es.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/preview/lang/et.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/preview/lang/eu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/preview/lang/fa.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/preview/lang/fi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/preview/lang/fo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/preview/lang/fr-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/preview/lang/fr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/preview/lang/gl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/preview/lang/gu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/preview/lang/he.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/preview/lang/hi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/preview/lang/hr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/preview/lang/hu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/preview/lang/id.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/preview/lang/is.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/preview/lang/it.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/preview/lang/ja.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/preview/lang/ka.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/preview/lang/km.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/preview/lang/ko.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/preview/lang/ku.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/preview/lang/lt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/preview/lang/lv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/preview/lang/mk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/preview/lang/mn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/preview/lang/ms.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/preview/lang/nb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/preview/lang/nl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/preview/lang/no.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/preview/lang/pl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/preview/lang/pt-br.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/preview/lang/pt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/preview/lang/ro.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/preview/lang/ru.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/preview/lang/si.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/preview/lang/sk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/preview/lang/sl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/preview/lang/sq.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/preview/lang/sr-latn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/preview/lang/sr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/preview/lang/sv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/preview/lang/th.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/preview/lang/tr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/preview/lang/ug.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/preview/lang/uk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/preview/lang/vi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/preview/lang/zh-cn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/preview/lang/zh.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/print/icons/hidpi/print.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/print/icons/print.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/print/lang/af.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/print/lang/ar.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/print/lang/bg.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/print/lang/bn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/print/lang/bs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/print/lang/ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/print/lang/cs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/print/lang/cy.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/print/lang/da.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/print/lang/de.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/print/lang/el.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/print/lang/en-au.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/print/lang/en-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/print/lang/en-gb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/print/lang/en.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/print/lang/eo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/print/lang/es.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/print/lang/et.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/print/lang/eu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/print/lang/fa.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/print/lang/fi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/print/lang/fo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/print/lang/fr-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/print/lang/fr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/print/lang/gl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/print/lang/gu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/print/lang/he.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/print/lang/hi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/print/lang/hr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/print/lang/hu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/print/lang/id.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/print/lang/is.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/print/lang/it.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/print/lang/ja.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/print/lang/ka.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/print/lang/km.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/print/lang/ko.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/print/lang/ku.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/print/lang/lt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/print/lang/lv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/print/lang/mk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/print/lang/mn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/print/lang/ms.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/print/lang/nb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/print/lang/nl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/print/lang/no.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/print/lang/pl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/print/lang/pt-br.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/print/lang/pt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/print/lang/ro.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/print/lang/ru.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/print/lang/si.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/print/lang/sk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/print/lang/sl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/print/lang/sq.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/print/lang/sr-latn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/print/lang/sr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/print/lang/sv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/print/lang/th.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/print/lang/tr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/print/lang/ug.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/print/lang/uk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/print/lang/vi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/print/lang/zh-cn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/print/lang/zh.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/removeformat/icons/hidpi/removeformat.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/removeformat/icons/removeformat.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/removeformat/lang/af.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/removeformat/lang/ar.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/removeformat/lang/bg.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/removeformat/lang/bn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/removeformat/lang/bs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/removeformat/lang/ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/removeformat/lang/cs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/removeformat/lang/cy.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/removeformat/lang/da.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/removeformat/lang/de.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/removeformat/lang/el.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/removeformat/lang/en-au.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/removeformat/lang/en-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/removeformat/lang/en-gb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/removeformat/lang/en.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/removeformat/lang/eo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/removeformat/lang/es.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/removeformat/lang/et.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/removeformat/lang/eu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/removeformat/lang/fa.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/removeformat/lang/fi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/removeformat/lang/fo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/removeformat/lang/fr-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/removeformat/lang/fr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/removeformat/lang/gl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/removeformat/lang/gu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/removeformat/lang/he.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/removeformat/lang/hi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/removeformat/lang/hr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/removeformat/lang/hu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/removeformat/lang/id.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/removeformat/lang/is.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/removeformat/lang/it.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/removeformat/lang/ja.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/removeformat/lang/ka.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/removeformat/lang/km.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/removeformat/lang/ko.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/removeformat/lang/ku.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/removeformat/lang/lt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/removeformat/lang/lv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/removeformat/lang/mk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/removeformat/lang/mn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/removeformat/lang/ms.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/removeformat/lang/nb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/removeformat/lang/nl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/removeformat/lang/no.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/removeformat/lang/pl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/removeformat/lang/pt-br.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/removeformat/lang/pt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/removeformat/lang/ro.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/removeformat/lang/ru.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/removeformat/lang/si.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/removeformat/lang/sk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/removeformat/lang/sl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/removeformat/lang/sq.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/removeformat/lang/sr-latn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/removeformat/lang/sr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/removeformat/lang/sv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/removeformat/lang/th.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/removeformat/lang/tr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/removeformat/lang/ug.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/removeformat/lang/uk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/removeformat/lang/vi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/removeformat/lang/zh-cn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/removeformat/lang/zh.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/save/icons/hidpi/save.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/save/icons/save.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/save/lang/af.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/save/lang/ar.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/save/lang/bg.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/save/lang/bn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/save/lang/bs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/save/lang/ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/save/lang/cs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/save/lang/cy.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/save/lang/da.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/save/lang/de.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/save/lang/el.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/save/lang/en-au.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/save/lang/en-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/save/lang/en-gb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/save/lang/en.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/save/lang/eo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/save/lang/es.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/save/lang/et.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/save/lang/eu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/save/lang/fa.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/save/lang/fi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/save/lang/fo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/save/lang/fr-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/save/lang/fr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/save/lang/gl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/save/lang/gu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/save/lang/he.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/save/lang/hi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/save/lang/hr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/save/lang/hu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/save/lang/id.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/save/lang/is.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/save/lang/it.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/save/lang/ja.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/save/lang/ka.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/save/lang/km.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/save/lang/ko.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/save/lang/ku.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/save/lang/lt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/save/lang/lv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/save/lang/mk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/save/lang/mn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/save/lang/ms.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/save/lang/nb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/save/lang/nl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/save/lang/no.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/save/lang/pl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/save/lang/pt-br.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/save/lang/pt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/save/lang/ro.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/save/lang/ru.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/save/lang/si.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/save/lang/sk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/save/lang/sl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/save/lang/sq.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/save/lang/sr-latn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/save/lang/sr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/save/lang/sv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/save/lang/th.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/save/lang/tr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/save/lang/ug.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/save/lang/uk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/save/lang/vi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/save/lang/zh-cn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/save/lang/zh.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/scayt/LICENSE.md create mode 100644 htdocs/includes/ckeditor/_source/plugins/scayt/README.md create mode 100644 htdocs/includes/ckeditor/_source/plugins/scayt/icons/hidpi/scayt.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/scayt/icons/scayt.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/scayt/lang/af.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/scayt/lang/ar.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/scayt/lang/bg.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/scayt/lang/bn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/scayt/lang/bs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/scayt/lang/ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/scayt/lang/cs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/scayt/lang/cy.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/scayt/lang/da.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/scayt/lang/de.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/scayt/lang/el.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/scayt/lang/en-au.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/scayt/lang/en-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/scayt/lang/en-gb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/scayt/lang/en.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/scayt/lang/eo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/scayt/lang/es.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/scayt/lang/et.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/scayt/lang/eu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/scayt/lang/fa.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/scayt/lang/fi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/scayt/lang/fo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/scayt/lang/fr-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/scayt/lang/fr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/scayt/lang/gl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/scayt/lang/gu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/scayt/lang/he.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/scayt/lang/hi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/scayt/lang/hr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/scayt/lang/hu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/scayt/lang/is.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/scayt/lang/it.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/scayt/lang/ja.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/scayt/lang/ka.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/scayt/lang/km.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/scayt/lang/ko.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/scayt/lang/ku.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/scayt/lang/lt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/scayt/lang/lv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/scayt/lang/mk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/scayt/lang/mn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/scayt/lang/ms.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/scayt/lang/nb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/scayt/lang/nl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/scayt/lang/no.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/scayt/lang/pl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/scayt/lang/pt-br.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/scayt/lang/pt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/scayt/lang/ro.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/scayt/lang/ru.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/scayt/lang/sk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/scayt/lang/sl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/scayt/lang/sr-latn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/scayt/lang/sr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/scayt/lang/sv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/scayt/lang/th.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/scayt/lang/tr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/scayt/lang/ug.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/scayt/lang/uk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/scayt/lang/vi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/scayt/lang/zh-cn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/scayt/lang/zh.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/selectall/icons/hidpi/selectall.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/selectall/icons/selectall.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/selectall/lang/af.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/selectall/lang/ar.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/selectall/lang/bg.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/selectall/lang/bn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/selectall/lang/bs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/selectall/lang/ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/selectall/lang/cs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/selectall/lang/cy.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/selectall/lang/da.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/selectall/lang/de.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/selectall/lang/el.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/selectall/lang/en-au.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/selectall/lang/en-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/selectall/lang/en-gb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/selectall/lang/en.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/selectall/lang/eo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/selectall/lang/es.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/selectall/lang/et.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/selectall/lang/eu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/selectall/lang/fa.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/selectall/lang/fi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/selectall/lang/fo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/selectall/lang/fr-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/selectall/lang/fr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/selectall/lang/gl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/selectall/lang/gu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/selectall/lang/he.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/selectall/lang/hi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/selectall/lang/hr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/selectall/lang/hu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/selectall/lang/id.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/selectall/lang/is.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/selectall/lang/it.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/selectall/lang/ja.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/selectall/lang/ka.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/selectall/lang/km.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/selectall/lang/ko.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/selectall/lang/ku.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/selectall/lang/lt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/selectall/lang/lv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/selectall/lang/mk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/selectall/lang/mn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/selectall/lang/ms.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/selectall/lang/nb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/selectall/lang/nl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/selectall/lang/no.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/selectall/lang/pl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/selectall/lang/pt-br.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/selectall/lang/pt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/selectall/lang/ro.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/selectall/lang/ru.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/selectall/lang/si.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/selectall/lang/sk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/selectall/lang/sl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/selectall/lang/sq.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/selectall/lang/sr-latn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/selectall/lang/sr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/selectall/lang/sv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/selectall/lang/th.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/selectall/lang/tr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/selectall/lang/ug.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/selectall/lang/uk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/selectall/lang/vi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/selectall/lang/zh-cn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/selectall/lang/zh.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/selectall/plugin.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/selection/plugin.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/showblocks/icons/hidpi/showblocks-rtl.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/showblocks/icons/hidpi/showblocks.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/showblocks/icons/showblocks-rtl.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/showblocks/icons/showblocks.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/showblocks/lang/af.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/showblocks/lang/ar.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/showblocks/lang/bg.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/showblocks/lang/bn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/showblocks/lang/bs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/showblocks/lang/ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/showblocks/lang/cs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/showblocks/lang/cy.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/showblocks/lang/da.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/showblocks/lang/de.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/showblocks/lang/el.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/showblocks/lang/en-au.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/showblocks/lang/en-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/showblocks/lang/en-gb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/showblocks/lang/en.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/showblocks/lang/eo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/showblocks/lang/es.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/showblocks/lang/et.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/showblocks/lang/eu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/showblocks/lang/fa.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/showblocks/lang/fi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/showblocks/lang/fo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/showblocks/lang/fr-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/showblocks/lang/fr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/showblocks/lang/gl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/showblocks/lang/gu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/showblocks/lang/he.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/showblocks/lang/hi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/showblocks/lang/hr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/showblocks/lang/hu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/showblocks/lang/id.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/showblocks/lang/is.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/showblocks/lang/it.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/showblocks/lang/ja.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/showblocks/lang/ka.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/showblocks/lang/km.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/showblocks/lang/ko.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/showblocks/lang/ku.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/showblocks/lang/lt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/showblocks/lang/lv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/showblocks/lang/mk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/showblocks/lang/mn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/showblocks/lang/ms.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/showblocks/lang/nb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/showblocks/lang/nl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/showblocks/lang/no.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/showblocks/lang/pl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/showblocks/lang/pt-br.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/showblocks/lang/pt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/showblocks/lang/ro.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/showblocks/lang/ru.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/showblocks/lang/si.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/showblocks/lang/sk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/showblocks/lang/sl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/showblocks/lang/sq.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/showblocks/lang/sr-latn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/showblocks/lang/sr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/showblocks/lang/sv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/showblocks/lang/th.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/showblocks/lang/tr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/showblocks/lang/ug.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/showblocks/lang/uk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/showblocks/lang/vi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/showblocks/lang/zh-cn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/showblocks/lang/zh.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/icons/hidpi/smiley.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/icons/smiley.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/images/angel_smile.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/images/angry_smile.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/images/broken_heart.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/images/confused_smile.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/images/cry_smile.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/images/devil_smile.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/images/embarrassed_smile.gif create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/images/embarrassed_smile.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/images/envelope.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/images/heart.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/images/kiss.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/images/lightbulb.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/images/omg_smile.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/images/regular_smile.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/images/sad_smile.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/images/shades_smile.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/images/teeth_smile.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/images/thumbs_down.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/images/thumbs_up.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/images/tongue_smile.gif create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/images/tongue_smile.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/images/whatchutalkingabout_smile.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/images/wink_smile.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/lang/af.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/lang/ar.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/lang/bg.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/lang/bn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/lang/bs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/lang/ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/lang/cs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/lang/cy.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/lang/da.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/lang/de.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/lang/el.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/lang/en-au.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/lang/en-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/lang/en-gb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/lang/en.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/lang/eo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/lang/es.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/lang/et.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/lang/eu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/lang/fa.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/lang/fi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/lang/fo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/lang/fr-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/lang/fr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/lang/gl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/lang/gu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/lang/he.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/lang/hi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/lang/hr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/lang/hu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/lang/id.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/lang/is.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/lang/it.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/lang/ja.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/lang/ka.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/lang/km.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/lang/ko.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/lang/ku.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/lang/lt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/lang/lv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/lang/mk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/lang/mn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/lang/ms.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/lang/nb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/lang/nl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/lang/no.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/lang/pl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/lang/pt-br.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/lang/pt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/lang/ro.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/lang/ru.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/lang/si.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/lang/sk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/lang/sl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/lang/sq.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/lang/sr-latn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/lang/sr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/lang/sv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/lang/th.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/lang/tr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/lang/ug.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/lang/uk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/lang/vi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/lang/zh-cn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/smiley/lang/zh.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/sourcearea/icons/hidpi/source-rtl.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/sourcearea/icons/hidpi/source.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/sourcearea/icons/source-rtl.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/sourcearea/icons/source.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/sourcearea/lang/af.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/sourcearea/lang/ar.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/sourcearea/lang/bg.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/sourcearea/lang/bn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/sourcearea/lang/bs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/sourcearea/lang/ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/sourcearea/lang/cs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/sourcearea/lang/cy.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/sourcearea/lang/da.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/sourcearea/lang/de.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/sourcearea/lang/el.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/sourcearea/lang/en-au.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/sourcearea/lang/en-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/sourcearea/lang/en-gb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/sourcearea/lang/en.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/sourcearea/lang/eo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/sourcearea/lang/es.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/sourcearea/lang/et.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/sourcearea/lang/eu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/sourcearea/lang/fa.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/sourcearea/lang/fi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/sourcearea/lang/fo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/sourcearea/lang/fr-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/sourcearea/lang/fr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/sourcearea/lang/gl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/sourcearea/lang/gu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/sourcearea/lang/he.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/sourcearea/lang/hi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/sourcearea/lang/hr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/sourcearea/lang/hu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/sourcearea/lang/id.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/sourcearea/lang/is.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/sourcearea/lang/it.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/sourcearea/lang/ja.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/sourcearea/lang/ka.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/sourcearea/lang/km.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/sourcearea/lang/ko.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/sourcearea/lang/ku.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/sourcearea/lang/lt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/sourcearea/lang/lv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/sourcearea/lang/mk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/sourcearea/lang/mn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/sourcearea/lang/ms.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/sourcearea/lang/nb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/sourcearea/lang/nl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/sourcearea/lang/no.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/sourcearea/lang/pl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/sourcearea/lang/pt-br.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/sourcearea/lang/pt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/sourcearea/lang/ro.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/sourcearea/lang/ru.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/sourcearea/lang/si.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/sourcearea/lang/sk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/sourcearea/lang/sl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/sourcearea/lang/sq.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/sourcearea/lang/sr-latn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/sourcearea/lang/sr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/sourcearea/lang/sv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/sourcearea/lang/th.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/sourcearea/lang/tr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/sourcearea/lang/ug.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/sourcearea/lang/uk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/sourcearea/lang/vi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/sourcearea/lang/zh-cn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/sourcearea/lang/zh.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/dialogs/lang/_translationstatus.txt create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/dialogs/lang/ar.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/dialogs/lang/bg.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/dialogs/lang/ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/dialogs/lang/cs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/dialogs/lang/cy.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/dialogs/lang/de.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/dialogs/lang/el.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/dialogs/lang/en-gb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/dialogs/lang/en.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/dialogs/lang/eo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/dialogs/lang/es.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/dialogs/lang/et.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/dialogs/lang/fa.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/dialogs/lang/fi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/dialogs/lang/fr-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/dialogs/lang/fr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/dialogs/lang/gl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/dialogs/lang/he.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/dialogs/lang/hr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/dialogs/lang/hu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/dialogs/lang/id.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/dialogs/lang/it.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/dialogs/lang/ja.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/dialogs/lang/km.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/dialogs/lang/ku.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/dialogs/lang/lv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/dialogs/lang/nb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/dialogs/lang/nl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/dialogs/lang/no.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/dialogs/lang/pl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/dialogs/lang/pt-br.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/dialogs/lang/pt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/dialogs/lang/ru.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/dialogs/lang/si.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/dialogs/lang/sk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/dialogs/lang/sl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/dialogs/lang/sq.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/dialogs/lang/sv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/dialogs/lang/th.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/dialogs/lang/tr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/dialogs/lang/ug.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/dialogs/lang/uk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/dialogs/lang/vi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/dialogs/lang/zh-cn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/dialogs/lang/zh.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/icons/hidpi/specialchar.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/icons/specialchar.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/lang/af.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/lang/ar.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/lang/bg.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/lang/bn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/lang/bs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/lang/ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/lang/da.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/lang/en-au.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/lang/en-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/lang/en-gb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/lang/es.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/lang/eu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/lang/fo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/lang/fr-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/lang/gl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/lang/gu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/lang/hi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/lang/hu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/lang/id.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/lang/is.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/lang/ja.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/lang/ka.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/lang/km.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/lang/ko.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/lang/ku.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/lang/lt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/lang/lv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/lang/mk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/lang/mn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/lang/ms.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/lang/pl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/lang/pt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/lang/ro.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/lang/ru.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/lang/si.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/lang/sk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/lang/sl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/lang/sq.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/lang/sr-latn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/lang/sr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/lang/sv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/lang/th.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/lang/uk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/lang/vi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/specialchar/lang/zh.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/styles/plugin.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/styles/styles/default.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/stylescombo/lang/af.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/stylescombo/lang/ar.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/stylescombo/lang/bg.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/stylescombo/lang/bn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/stylescombo/lang/bs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/stylescombo/lang/ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/stylescombo/lang/cs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/stylescombo/lang/cy.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/stylescombo/lang/da.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/stylescombo/lang/de.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/stylescombo/lang/el.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/stylescombo/lang/en-au.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/stylescombo/lang/en-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/stylescombo/lang/en-gb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/stylescombo/lang/en.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/stylescombo/lang/eo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/stylescombo/lang/es.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/stylescombo/lang/et.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/stylescombo/lang/eu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/stylescombo/lang/fa.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/stylescombo/lang/fi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/stylescombo/lang/fo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/stylescombo/lang/fr-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/stylescombo/lang/fr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/stylescombo/lang/gl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/stylescombo/lang/gu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/stylescombo/lang/he.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/stylescombo/lang/hi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/stylescombo/lang/hr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/stylescombo/lang/hu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/stylescombo/lang/id.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/stylescombo/lang/is.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/stylescombo/lang/it.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/stylescombo/lang/ja.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/stylescombo/lang/ka.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/stylescombo/lang/km.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/stylescombo/lang/ko.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/stylescombo/lang/ku.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/stylescombo/lang/lt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/stylescombo/lang/lv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/stylescombo/lang/mk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/stylescombo/lang/mn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/stylescombo/lang/ms.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/stylescombo/lang/nb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/stylescombo/lang/nl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/stylescombo/lang/no.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/stylescombo/lang/pl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/stylescombo/lang/pt-br.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/stylescombo/lang/pt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/stylescombo/lang/ro.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/stylescombo/lang/ru.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/stylescombo/lang/si.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/stylescombo/lang/sk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/stylescombo/lang/sl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/stylescombo/lang/sq.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/stylescombo/lang/sr-latn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/stylescombo/lang/sr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/stylescombo/lang/sv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/stylescombo/lang/th.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/stylescombo/lang/tr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/stylescombo/lang/ug.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/stylescombo/lang/uk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/stylescombo/lang/vi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/stylescombo/lang/zh-cn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/stylescombo/lang/zh.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/stylesheetparser/plugin.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/table/icons/hidpi/table.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/table/icons/table.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/table/lang/af.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/table/lang/ar.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/table/lang/bg.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/table/lang/bn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/table/lang/bs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/table/lang/ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/table/lang/cs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/table/lang/cy.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/table/lang/da.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/table/lang/de.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/table/lang/el.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/table/lang/en-au.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/table/lang/en-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/table/lang/en-gb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/table/lang/en.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/table/lang/eo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/table/lang/es.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/table/lang/et.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/table/lang/eu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/table/lang/fa.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/table/lang/fi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/table/lang/fo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/table/lang/fr-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/table/lang/fr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/table/lang/gl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/table/lang/gu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/table/lang/he.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/table/lang/hi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/table/lang/hr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/table/lang/hu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/table/lang/id.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/table/lang/is.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/table/lang/it.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/table/lang/ja.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/table/lang/ka.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/table/lang/km.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/table/lang/ko.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/table/lang/ku.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/table/lang/lt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/table/lang/lv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/table/lang/mk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/table/lang/mn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/table/lang/ms.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/table/lang/nb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/table/lang/nl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/table/lang/no.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/table/lang/pl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/table/lang/pt-br.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/table/lang/pt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/table/lang/ro.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/table/lang/ru.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/table/lang/si.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/table/lang/sk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/table/lang/sl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/table/lang/sq.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/table/lang/sr-latn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/table/lang/sr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/table/lang/sv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/table/lang/th.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/table/lang/tr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/table/lang/ug.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/table/lang/uk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/table/lang/vi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/table/lang/zh-cn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/table/lang/zh.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/tableresize/plugin.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/templates/dialogs/templates.css create mode 100644 htdocs/includes/ckeditor/_source/plugins/templates/icons/hidpi/templates-rtl.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/templates/icons/hidpi/templates.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/templates/icons/templates-rtl.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/templates/icons/templates.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/templates/lang/af.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/templates/lang/ar.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/templates/lang/bg.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/templates/lang/bn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/templates/lang/bs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/templates/lang/ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/templates/lang/cs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/templates/lang/cy.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/templates/lang/da.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/templates/lang/de.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/templates/lang/el.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/templates/lang/en-au.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/templates/lang/en-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/templates/lang/en-gb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/templates/lang/en.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/templates/lang/eo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/templates/lang/es.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/templates/lang/et.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/templates/lang/eu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/templates/lang/fa.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/templates/lang/fi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/templates/lang/fo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/templates/lang/fr-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/templates/lang/fr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/templates/lang/gl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/templates/lang/gu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/templates/lang/he.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/templates/lang/hi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/templates/lang/hr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/templates/lang/hu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/templates/lang/id.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/templates/lang/is.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/templates/lang/it.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/templates/lang/ja.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/templates/lang/ka.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/templates/lang/km.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/templates/lang/ko.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/templates/lang/ku.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/templates/lang/lt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/templates/lang/lv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/templates/lang/mk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/templates/lang/mn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/templates/lang/ms.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/templates/lang/nb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/templates/lang/nl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/templates/lang/no.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/templates/lang/pl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/templates/lang/pt-br.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/templates/lang/pt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/templates/lang/ro.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/templates/lang/ru.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/templates/lang/si.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/templates/lang/sk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/templates/lang/sl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/templates/lang/sq.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/templates/lang/sr-latn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/templates/lang/sr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/templates/lang/sv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/templates/lang/th.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/templates/lang/tr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/templates/lang/ug.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/templates/lang/uk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/templates/lang/vi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/templates/lang/zh-cn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/templates/lang/zh.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/toolbar/lang/af.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/toolbar/lang/ar.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/toolbar/lang/bg.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/toolbar/lang/bn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/toolbar/lang/bs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/toolbar/lang/ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/toolbar/lang/cs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/toolbar/lang/cy.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/toolbar/lang/da.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/toolbar/lang/de.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/toolbar/lang/el.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/toolbar/lang/en-au.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/toolbar/lang/en-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/toolbar/lang/en-gb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/toolbar/lang/en.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/toolbar/lang/eo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/toolbar/lang/es.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/toolbar/lang/et.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/toolbar/lang/eu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/toolbar/lang/fa.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/toolbar/lang/fi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/toolbar/lang/fo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/toolbar/lang/fr-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/toolbar/lang/fr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/toolbar/lang/gl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/toolbar/lang/gu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/toolbar/lang/he.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/toolbar/lang/hi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/toolbar/lang/hr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/toolbar/lang/hu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/toolbar/lang/id.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/toolbar/lang/is.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/toolbar/lang/it.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/toolbar/lang/ja.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/toolbar/lang/ka.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/toolbar/lang/km.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/toolbar/lang/ko.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/toolbar/lang/ku.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/toolbar/lang/lt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/toolbar/lang/lv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/toolbar/lang/mk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/toolbar/lang/mn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/toolbar/lang/ms.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/toolbar/lang/nb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/toolbar/lang/nl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/toolbar/lang/no.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/toolbar/lang/pl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/toolbar/lang/pt-br.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/toolbar/lang/pt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/toolbar/lang/ro.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/toolbar/lang/ru.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/toolbar/lang/si.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/toolbar/lang/sk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/toolbar/lang/sl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/toolbar/lang/sq.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/toolbar/lang/sr-latn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/toolbar/lang/sr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/toolbar/lang/sv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/toolbar/lang/th.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/toolbar/lang/tr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/toolbar/lang/ug.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/toolbar/lang/uk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/toolbar/lang/vi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/toolbar/lang/zh-cn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/toolbar/lang/zh.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/toolbar/samples/toolbar.html delete mode 100644 htdocs/includes/ckeditor/_source/plugins/uicolor/dialogs/uicolor.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/uicolor/lang/_translationstatus.txt delete mode 100644 htdocs/includes/ckeditor/_source/plugins/uicolor/lang/bg.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/uicolor/lang/cs.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/uicolor/lang/cy.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/uicolor/lang/da.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/uicolor/lang/de.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/uicolor/lang/el.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/uicolor/lang/en.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/uicolor/lang/eo.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/uicolor/lang/et.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/uicolor/lang/fa.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/uicolor/lang/fi.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/uicolor/lang/fr.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/uicolor/lang/he.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/uicolor/lang/hr.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/uicolor/lang/it.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/uicolor/lang/mk.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/uicolor/lang/nb.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/uicolor/lang/nl.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/uicolor/lang/no.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/uicolor/lang/pl.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/uicolor/lang/pt-br.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/uicolor/lang/tr.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/uicolor/lang/ug.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/uicolor/lang/uk.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/uicolor/lang/vi.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/uicolor/lang/zh-cn.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/uicolor/plugin.js delete mode 100644 htdocs/includes/ckeditor/_source/plugins/uicolor/uicolor.gif delete mode 100644 htdocs/includes/ckeditor/_source/plugins/uicolor/yui/assets/hue_bg.png delete mode 100644 htdocs/includes/ckeditor/_source/plugins/uicolor/yui/assets/hue_thumb.png delete mode 100644 htdocs/includes/ckeditor/_source/plugins/uicolor/yui/assets/picker_mask.png delete mode 100644 htdocs/includes/ckeditor/_source/plugins/uicolor/yui/assets/picker_thumb.png delete mode 100644 htdocs/includes/ckeditor/_source/plugins/uicolor/yui/assets/yui.css delete mode 100644 htdocs/includes/ckeditor/_source/plugins/uicolor/yui/yui.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/undo/icons/hidpi/redo-rtl.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/undo/icons/hidpi/redo.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/undo/icons/hidpi/undo-rtl.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/undo/icons/hidpi/undo.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/undo/icons/redo-rtl.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/undo/icons/redo.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/undo/icons/undo-rtl.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/undo/icons/undo.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/undo/lang/af.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/undo/lang/ar.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/undo/lang/bg.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/undo/lang/bn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/undo/lang/bs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/undo/lang/ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/undo/lang/cs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/undo/lang/cy.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/undo/lang/da.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/undo/lang/de.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/undo/lang/el.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/undo/lang/en-au.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/undo/lang/en-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/undo/lang/en-gb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/undo/lang/en.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/undo/lang/eo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/undo/lang/es.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/undo/lang/et.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/undo/lang/eu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/undo/lang/fa.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/undo/lang/fi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/undo/lang/fo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/undo/lang/fr-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/undo/lang/fr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/undo/lang/gl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/undo/lang/gu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/undo/lang/he.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/undo/lang/hi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/undo/lang/hr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/undo/lang/hu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/undo/lang/id.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/undo/lang/is.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/undo/lang/it.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/undo/lang/ja.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/undo/lang/ka.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/undo/lang/km.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/undo/lang/ko.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/undo/lang/ku.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/undo/lang/lt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/undo/lang/lv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/undo/lang/mk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/undo/lang/mn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/undo/lang/ms.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/undo/lang/nb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/undo/lang/nl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/undo/lang/no.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/undo/lang/pl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/undo/lang/pt-br.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/undo/lang/pt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/undo/lang/ro.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/undo/lang/ru.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/undo/lang/si.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/undo/lang/sk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/undo/lang/sl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/undo/lang/sq.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/undo/lang/sr-latn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/undo/lang/sr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/undo/lang/sv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/undo/lang/th.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/undo/lang/tr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/undo/lang/ug.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/undo/lang/uk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/undo/lang/vi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/undo/lang/zh-cn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/undo/lang/zh.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/wsc/LICENSE.md create mode 100644 htdocs/includes/ckeditor/_source/plugins/wsc/README.md create mode 100644 htdocs/includes/ckeditor/_source/plugins/wsc/dialogs/tmp.html create mode 100644 htdocs/includes/ckeditor/_source/plugins/wsc/dialogs/wsc_ie.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/wsc/icons/hidpi/spellchecker.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/wsc/icons/spellchecker.png create mode 100644 htdocs/includes/ckeditor/_source/plugins/wsc/lang/af.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/wsc/lang/ar.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/wsc/lang/bg.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/wsc/lang/bn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/wsc/lang/bs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/wsc/lang/ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/wsc/lang/cs.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/wsc/lang/cy.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/wsc/lang/da.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/wsc/lang/de.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/wsc/lang/el.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/wsc/lang/en-au.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/wsc/lang/en-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/wsc/lang/en-gb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/wsc/lang/en.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/wsc/lang/eo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/wsc/lang/es.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/wsc/lang/et.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/wsc/lang/eu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/wsc/lang/fa.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/wsc/lang/fi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/wsc/lang/fo.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/wsc/lang/fr-ca.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/wsc/lang/fr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/wsc/lang/gl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/wsc/lang/gu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/wsc/lang/he.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/wsc/lang/hi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/wsc/lang/hr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/wsc/lang/hu.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/wsc/lang/is.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/wsc/lang/it.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/wsc/lang/ja.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/wsc/lang/ka.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/wsc/lang/km.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/wsc/lang/ko.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/wsc/lang/ku.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/wsc/lang/lt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/wsc/lang/lv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/wsc/lang/mk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/wsc/lang/mn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/wsc/lang/ms.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/wsc/lang/nb.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/wsc/lang/nl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/wsc/lang/no.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/wsc/lang/pl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/wsc/lang/pt-br.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/wsc/lang/pt.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/wsc/lang/ro.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/wsc/lang/ru.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/wsc/lang/sk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/wsc/lang/sl.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/wsc/lang/sr-latn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/wsc/lang/sr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/wsc/lang/sv.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/wsc/lang/th.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/wsc/lang/tr.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/wsc/lang/ug.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/wsc/lang/uk.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/wsc/lang/vi.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/wsc/lang/zh-cn.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/wsc/lang/zh.js create mode 100644 htdocs/includes/ckeditor/_source/plugins/wysiwygarea/samples/fullpage.html delete mode 100644 htdocs/includes/ckeditor/_source/plugins/xml/plugin.js delete mode 100644 htdocs/includes/ckeditor/_source/skins/kama/dialog.css delete mode 100644 htdocs/includes/ckeditor/_source/skins/kama/editor.css delete mode 100644 htdocs/includes/ckeditor/_source/skins/kama/elementspath.css delete mode 100644 htdocs/includes/ckeditor/_source/skins/kama/icons.css delete mode 100644 htdocs/includes/ckeditor/_source/skins/kama/icons.png delete mode 100644 htdocs/includes/ckeditor/_source/skins/kama/icons_rtl.png delete mode 100644 htdocs/includes/ckeditor/_source/skins/kama/images/dialog_sides.gif delete mode 100644 htdocs/includes/ckeditor/_source/skins/kama/images/dialog_sides.png delete mode 100644 htdocs/includes/ckeditor/_source/skins/kama/images/dialog_sides_rtl.png delete mode 100644 htdocs/includes/ckeditor/_source/skins/kama/images/mini.gif delete mode 100644 htdocs/includes/ckeditor/_source/skins/kama/images/sprites.png delete mode 100644 htdocs/includes/ckeditor/_source/skins/kama/images/sprites_ie6.png delete mode 100644 htdocs/includes/ckeditor/_source/skins/kama/images/toolbar_start.gif delete mode 100644 htdocs/includes/ckeditor/_source/skins/kama/mainui.css delete mode 100644 htdocs/includes/ckeditor/_source/skins/kama/menu.css delete mode 100644 htdocs/includes/ckeditor/_source/skins/kama/panel.css delete mode 100644 htdocs/includes/ckeditor/_source/skins/kama/presets.css delete mode 100644 htdocs/includes/ckeditor/_source/skins/kama/reset.css delete mode 100644 htdocs/includes/ckeditor/_source/skins/kama/richcombo.css delete mode 100644 htdocs/includes/ckeditor/_source/skins/kama/skin.js delete mode 100644 htdocs/includes/ckeditor/_source/skins/kama/templates.css delete mode 100644 htdocs/includes/ckeditor/_source/skins/kama/toolbar.css create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/colorpanel.css create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/dialog.css create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/dialog_ie.css create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/dialog_ie7.css create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/dialog_ie8.css create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/dialog_iequirks.css create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/dialog_opera.css create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/editor.css create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/editor_gecko.css create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/editor_ie.css create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/editor_ie7.css create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/editor_ie8.css create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/editor_iequirks.css create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/elementspath.css create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/icons/about.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/icons/anchor-rtl.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/icons/anchor.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/icons/bgcolor.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/icons/bidiltr.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/icons/bidirtl.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/icons/blockquote.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/icons/bold.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/icons/bulletedlist-rtl.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/icons/bulletedlist.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/icons/button.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/icons/checkbox.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/icons/copy-rtl.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/icons/copy.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/icons/creatediv.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/icons/cut-rtl.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/icons/cut.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/icons/find-rtl.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/icons/find.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/icons/flash.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/icons/form.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/icons/hiddenfield.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/icons/horizontalrule.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/icons/iframe.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/icons/image.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/icons/imagebutton.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/icons/indent-rtl.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/icons/indent.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/icons/italic.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/icons/justifyblock.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/icons/justifycenter.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/icons/justifyleft.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/icons/justifyright.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/icons/link.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/icons/maximize.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/icons/newpage-rtl.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/icons/newpage.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/icons/numberedlist-rtl.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/icons/numberedlist.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/icons/outdent-rtl.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/icons/outdent.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/icons/pagebreak-rtl.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/icons/pagebreak.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/icons/paste-rtl.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/icons/paste.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/icons/pastefromword-rtl.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/icons/pastefromword.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/icons/pastetext-rtl.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/icons/pastetext.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/icons/preview-rtl.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/icons/preview.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/icons/print.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/icons/radio.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/icons/redo-rtl.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/icons/redo.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/icons/removeformat.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/icons/replace.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/icons/save.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/icons/scayt.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/icons/select-rtl.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/icons/select.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/icons/selectall.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/icons/showblocks-rtl.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/icons/showblocks.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/icons/smiley.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/icons/source-rtl.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/icons/source.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/icons/specialchar.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/icons/spellchecker.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/icons/strike.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/icons/subscript.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/icons/superscript.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/icons/table.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/icons/templates-rtl.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/icons/templates.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/icons/textarea-rtl.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/icons/textarea.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/icons/textcolor.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/icons/textfield-rtl.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/icons/textfield.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/icons/underline.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/icons/undo-rtl.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/icons/undo.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/icons/unlink.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/images/arrow.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/images/close.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/images/hidpi/close.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/images/hidpi/lock-open.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/images/hidpi/lock.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/images/hidpi/refresh.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/images/lock-open.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/images/lock.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/images/refresh.png create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/mainui.css create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/menu.css create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/panel.css create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/presets.css create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/readme.md create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/reset.css create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/richcombo.css create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/skin.js create mode 100644 htdocs/includes/ckeditor/_source/skins/moonocolor/toolbar.css delete mode 100644 htdocs/includes/ckeditor/_source/skins/office2003/dialog.css delete mode 100644 htdocs/includes/ckeditor/_source/skins/office2003/editor.css delete mode 100644 htdocs/includes/ckeditor/_source/skins/office2003/elementspath.css delete mode 100644 htdocs/includes/ckeditor/_source/skins/office2003/icons.css delete mode 100644 htdocs/includes/ckeditor/_source/skins/office2003/icons.png delete mode 100644 htdocs/includes/ckeditor/_source/skins/office2003/icons_rtl.png delete mode 100644 htdocs/includes/ckeditor/_source/skins/office2003/images/dialog_sides.gif delete mode 100644 htdocs/includes/ckeditor/_source/skins/office2003/images/dialog_sides.png delete mode 100644 htdocs/includes/ckeditor/_source/skins/office2003/images/dialog_sides_rtl.png delete mode 100644 htdocs/includes/ckeditor/_source/skins/office2003/images/mini.gif delete mode 100644 htdocs/includes/ckeditor/_source/skins/office2003/images/sprites.png delete mode 100644 htdocs/includes/ckeditor/_source/skins/office2003/images/sprites_ie6.png delete mode 100644 htdocs/includes/ckeditor/_source/skins/office2003/mainui.css delete mode 100644 htdocs/includes/ckeditor/_source/skins/office2003/menu.css delete mode 100644 htdocs/includes/ckeditor/_source/skins/office2003/panel.css delete mode 100644 htdocs/includes/ckeditor/_source/skins/office2003/presets.css delete mode 100644 htdocs/includes/ckeditor/_source/skins/office2003/reset.css delete mode 100644 htdocs/includes/ckeditor/_source/skins/office2003/richcombo.css delete mode 100644 htdocs/includes/ckeditor/_source/skins/office2003/skin.js delete mode 100644 htdocs/includes/ckeditor/_source/skins/office2003/templates.css delete mode 100644 htdocs/includes/ckeditor/_source/skins/office2003/toolbar.css delete mode 100644 htdocs/includes/ckeditor/_source/skins/v2/dialog.css delete mode 100644 htdocs/includes/ckeditor/_source/skins/v2/editor.css delete mode 100644 htdocs/includes/ckeditor/_source/skins/v2/elementspath.css delete mode 100644 htdocs/includes/ckeditor/_source/skins/v2/icons.css delete mode 100644 htdocs/includes/ckeditor/_source/skins/v2/icons.png delete mode 100644 htdocs/includes/ckeditor/_source/skins/v2/icons_rtl.png delete mode 100644 htdocs/includes/ckeditor/_source/skins/v2/images/dialog_sides.gif delete mode 100644 htdocs/includes/ckeditor/_source/skins/v2/images/dialog_sides.png delete mode 100644 htdocs/includes/ckeditor/_source/skins/v2/images/dialog_sides_rtl.png delete mode 100644 htdocs/includes/ckeditor/_source/skins/v2/images/mini.gif delete mode 100644 htdocs/includes/ckeditor/_source/skins/v2/images/noimage.png delete mode 100644 htdocs/includes/ckeditor/_source/skins/v2/images/sprites.png delete mode 100644 htdocs/includes/ckeditor/_source/skins/v2/images/sprites_ie6.png delete mode 100644 htdocs/includes/ckeditor/_source/skins/v2/images/toolbar_start.gif delete mode 100644 htdocs/includes/ckeditor/_source/skins/v2/mainui.css delete mode 100644 htdocs/includes/ckeditor/_source/skins/v2/menu.css delete mode 100644 htdocs/includes/ckeditor/_source/skins/v2/panel.css delete mode 100644 htdocs/includes/ckeditor/_source/skins/v2/presets.css delete mode 100644 htdocs/includes/ckeditor/_source/skins/v2/reset.css delete mode 100644 htdocs/includes/ckeditor/_source/skins/v2/richcombo.css delete mode 100644 htdocs/includes/ckeditor/_source/skins/v2/skin.js delete mode 100644 htdocs/includes/ckeditor/_source/skins/v2/templates.css delete mode 100644 htdocs/includes/ckeditor/_source/skins/v2/toolbar.css create mode 100644 htdocs/includes/ckeditor/_source/styles.js delete mode 100644 htdocs/includes/ckeditor/_source/themes/default/theme.js create mode 100644 htdocs/includes/ckeditor/build-config.js delete mode 100644 htdocs/includes/ckeditor/ckeditor.asp delete mode 100644 htdocs/includes/ckeditor/ckeditor.pack delete mode 100644 htdocs/includes/ckeditor/ckeditor.php delete mode 100644 htdocs/includes/ckeditor/ckeditor_basic.js delete mode 100644 htdocs/includes/ckeditor/ckeditor_basic_source.js delete mode 100644 htdocs/includes/ckeditor/ckeditor_php4.php delete mode 100644 htdocs/includes/ckeditor/ckeditor_php5.php delete mode 100644 htdocs/includes/ckeditor/ckeditor_source.js delete mode 100644 htdocs/includes/ckeditor/lang/_languages.js delete mode 100644 htdocs/includes/ckeditor/lang/_translationstatus.txt mode change 100755 => 100644 htdocs/includes/ckeditor/lang/ka.js create mode 100644 htdocs/includes/ckeditor/lang/ku.js create mode 100644 htdocs/includes/ckeditor/lang/si.js create mode 100644 htdocs/includes/ckeditor/lang/sq.js create mode 100644 htdocs/includes/ckeditor/plugins/a11yhelp/dialogs/lang/_translationstatus.txt create mode 100644 htdocs/includes/ckeditor/plugins/a11yhelp/dialogs/lang/ar.js create mode 100644 htdocs/includes/ckeditor/plugins/a11yhelp/dialogs/lang/bg.js create mode 100644 htdocs/includes/ckeditor/plugins/a11yhelp/dialogs/lang/ca.js create mode 100644 htdocs/includes/ckeditor/plugins/a11yhelp/dialogs/lang/cs.js create mode 100644 htdocs/includes/ckeditor/plugins/a11yhelp/dialogs/lang/cy.js create mode 100644 htdocs/includes/ckeditor/plugins/a11yhelp/dialogs/lang/da.js create mode 100644 htdocs/includes/ckeditor/plugins/a11yhelp/dialogs/lang/de.js create mode 100644 htdocs/includes/ckeditor/plugins/a11yhelp/dialogs/lang/el.js create mode 100644 htdocs/includes/ckeditor/plugins/a11yhelp/dialogs/lang/en-gb.js create mode 100644 htdocs/includes/ckeditor/plugins/a11yhelp/dialogs/lang/en.js create mode 100644 htdocs/includes/ckeditor/plugins/a11yhelp/dialogs/lang/eo.js create mode 100644 htdocs/includes/ckeditor/plugins/a11yhelp/dialogs/lang/es.js create mode 100644 htdocs/includes/ckeditor/plugins/a11yhelp/dialogs/lang/et.js create mode 100644 htdocs/includes/ckeditor/plugins/a11yhelp/dialogs/lang/fa.js create mode 100644 htdocs/includes/ckeditor/plugins/a11yhelp/dialogs/lang/fi.js create mode 100644 htdocs/includes/ckeditor/plugins/a11yhelp/dialogs/lang/fr-ca.js create mode 100644 htdocs/includes/ckeditor/plugins/a11yhelp/dialogs/lang/fr.js create mode 100644 htdocs/includes/ckeditor/plugins/a11yhelp/dialogs/lang/gl.js create mode 100644 htdocs/includes/ckeditor/plugins/a11yhelp/dialogs/lang/gu.js create mode 100644 htdocs/includes/ckeditor/plugins/a11yhelp/dialogs/lang/he.js create mode 100644 htdocs/includes/ckeditor/plugins/a11yhelp/dialogs/lang/hi.js create mode 100644 htdocs/includes/ckeditor/plugins/a11yhelp/dialogs/lang/hr.js create mode 100644 htdocs/includes/ckeditor/plugins/a11yhelp/dialogs/lang/hu.js create mode 100644 htdocs/includes/ckeditor/plugins/a11yhelp/dialogs/lang/id.js create mode 100644 htdocs/includes/ckeditor/plugins/a11yhelp/dialogs/lang/it.js create mode 100644 htdocs/includes/ckeditor/plugins/a11yhelp/dialogs/lang/ja.js create mode 100644 htdocs/includes/ckeditor/plugins/a11yhelp/dialogs/lang/km.js create mode 100644 htdocs/includes/ckeditor/plugins/a11yhelp/dialogs/lang/ko.js create mode 100644 htdocs/includes/ckeditor/plugins/a11yhelp/dialogs/lang/ku.js create mode 100644 htdocs/includes/ckeditor/plugins/a11yhelp/dialogs/lang/lt.js create mode 100644 htdocs/includes/ckeditor/plugins/a11yhelp/dialogs/lang/lv.js create mode 100644 htdocs/includes/ckeditor/plugins/a11yhelp/dialogs/lang/mk.js create mode 100644 htdocs/includes/ckeditor/plugins/a11yhelp/dialogs/lang/mn.js create mode 100644 htdocs/includes/ckeditor/plugins/a11yhelp/dialogs/lang/nb.js create mode 100644 htdocs/includes/ckeditor/plugins/a11yhelp/dialogs/lang/nl.js create mode 100644 htdocs/includes/ckeditor/plugins/a11yhelp/dialogs/lang/no.js create mode 100644 htdocs/includes/ckeditor/plugins/a11yhelp/dialogs/lang/pl.js create mode 100644 htdocs/includes/ckeditor/plugins/a11yhelp/dialogs/lang/pt-br.js create mode 100644 htdocs/includes/ckeditor/plugins/a11yhelp/dialogs/lang/pt.js create mode 100644 htdocs/includes/ckeditor/plugins/a11yhelp/dialogs/lang/ro.js create mode 100644 htdocs/includes/ckeditor/plugins/a11yhelp/dialogs/lang/ru.js create mode 100644 htdocs/includes/ckeditor/plugins/a11yhelp/dialogs/lang/si.js create mode 100644 htdocs/includes/ckeditor/plugins/a11yhelp/dialogs/lang/sk.js create mode 100644 htdocs/includes/ckeditor/plugins/a11yhelp/dialogs/lang/sl.js create mode 100644 htdocs/includes/ckeditor/plugins/a11yhelp/dialogs/lang/sq.js create mode 100644 htdocs/includes/ckeditor/plugins/a11yhelp/dialogs/lang/sr-latn.js create mode 100644 htdocs/includes/ckeditor/plugins/a11yhelp/dialogs/lang/sr.js create mode 100644 htdocs/includes/ckeditor/plugins/a11yhelp/dialogs/lang/sv.js create mode 100644 htdocs/includes/ckeditor/plugins/a11yhelp/dialogs/lang/th.js create mode 100644 htdocs/includes/ckeditor/plugins/a11yhelp/dialogs/lang/tr.js create mode 100644 htdocs/includes/ckeditor/plugins/a11yhelp/dialogs/lang/ug.js create mode 100644 htdocs/includes/ckeditor/plugins/a11yhelp/dialogs/lang/uk.js create mode 100644 htdocs/includes/ckeditor/plugins/a11yhelp/dialogs/lang/vi.js create mode 100644 htdocs/includes/ckeditor/plugins/a11yhelp/dialogs/lang/zh-cn.js create mode 100644 htdocs/includes/ckeditor/plugins/a11yhelp/dialogs/lang/zh.js delete mode 100644 htdocs/includes/ckeditor/plugins/a11yhelp/lang/_translationstatus.txt delete mode 100644 htdocs/includes/ckeditor/plugins/a11yhelp/lang/cs.js delete mode 100644 htdocs/includes/ckeditor/plugins/a11yhelp/lang/cy.js delete mode 100644 htdocs/includes/ckeditor/plugins/a11yhelp/lang/da.js delete mode 100644 htdocs/includes/ckeditor/plugins/a11yhelp/lang/de.js delete mode 100644 htdocs/includes/ckeditor/plugins/a11yhelp/lang/el.js delete mode 100644 htdocs/includes/ckeditor/plugins/a11yhelp/lang/en.js delete mode 100644 htdocs/includes/ckeditor/plugins/a11yhelp/lang/eo.js delete mode 100644 htdocs/includes/ckeditor/plugins/a11yhelp/lang/fa.js delete mode 100644 htdocs/includes/ckeditor/plugins/a11yhelp/lang/fi.js delete mode 100644 htdocs/includes/ckeditor/plugins/a11yhelp/lang/fr.js delete mode 100644 htdocs/includes/ckeditor/plugins/a11yhelp/lang/gu.js delete mode 100644 htdocs/includes/ckeditor/plugins/a11yhelp/lang/he.js delete mode 100644 htdocs/includes/ckeditor/plugins/a11yhelp/lang/it.js delete mode 100644 htdocs/includes/ckeditor/plugins/a11yhelp/lang/mk.js delete mode 100644 htdocs/includes/ckeditor/plugins/a11yhelp/lang/nb.js delete mode 100644 htdocs/includes/ckeditor/plugins/a11yhelp/lang/nl.js delete mode 100644 htdocs/includes/ckeditor/plugins/a11yhelp/lang/no.js delete mode 100644 htdocs/includes/ckeditor/plugins/a11yhelp/lang/pt-br.js delete mode 100644 htdocs/includes/ckeditor/plugins/a11yhelp/lang/ro.js delete mode 100644 htdocs/includes/ckeditor/plugins/a11yhelp/lang/tr.js delete mode 100644 htdocs/includes/ckeditor/plugins/a11yhelp/lang/ug.js delete mode 100644 htdocs/includes/ckeditor/plugins/a11yhelp/lang/vi.js delete mode 100644 htdocs/includes/ckeditor/plugins/a11yhelp/lang/zh-cn.js create mode 100644 htdocs/includes/ckeditor/plugins/about/dialogs/hidpi/logo_ckeditor.png delete mode 100644 htdocs/includes/ckeditor/plugins/adobeair/plugin.js delete mode 100644 htdocs/includes/ckeditor/plugins/ajax/plugin.js delete mode 100644 htdocs/includes/ckeditor/plugins/autogrow/plugin.js delete mode 100755 htdocs/includes/ckeditor/plugins/bbcode/plugin.js delete mode 100644 htdocs/includes/ckeditor/plugins/devtools/lang/_translationstatus.txt delete mode 100644 htdocs/includes/ckeditor/plugins/devtools/lang/bg.js delete mode 100644 htdocs/includes/ckeditor/plugins/devtools/lang/cs.js delete mode 100644 htdocs/includes/ckeditor/plugins/devtools/lang/cy.js delete mode 100644 htdocs/includes/ckeditor/plugins/devtools/lang/da.js delete mode 100644 htdocs/includes/ckeditor/plugins/devtools/lang/de.js delete mode 100644 htdocs/includes/ckeditor/plugins/devtools/lang/el.js delete mode 100755 htdocs/includes/ckeditor/plugins/devtools/lang/en.js delete mode 100644 htdocs/includes/ckeditor/plugins/devtools/lang/eo.js delete mode 100644 htdocs/includes/ckeditor/plugins/devtools/lang/et.js delete mode 100644 htdocs/includes/ckeditor/plugins/devtools/lang/fa.js delete mode 100644 htdocs/includes/ckeditor/plugins/devtools/lang/fi.js delete mode 100644 htdocs/includes/ckeditor/plugins/devtools/lang/fr.js delete mode 100644 htdocs/includes/ckeditor/plugins/devtools/lang/gu.js delete mode 100644 htdocs/includes/ckeditor/plugins/devtools/lang/he.js delete mode 100644 htdocs/includes/ckeditor/plugins/devtools/lang/hr.js delete mode 100644 htdocs/includes/ckeditor/plugins/devtools/lang/it.js delete mode 100644 htdocs/includes/ckeditor/plugins/devtools/lang/nb.js delete mode 100644 htdocs/includes/ckeditor/plugins/devtools/lang/nl.js delete mode 100644 htdocs/includes/ckeditor/plugins/devtools/lang/no.js delete mode 100644 htdocs/includes/ckeditor/plugins/devtools/lang/pl.js delete mode 100644 htdocs/includes/ckeditor/plugins/devtools/lang/pt-br.js delete mode 100644 htdocs/includes/ckeditor/plugins/devtools/lang/tr.js delete mode 100644 htdocs/includes/ckeditor/plugins/devtools/lang/ug.js delete mode 100644 htdocs/includes/ckeditor/plugins/devtools/lang/uk.js delete mode 100644 htdocs/includes/ckeditor/plugins/devtools/lang/vi.js delete mode 100644 htdocs/includes/ckeditor/plugins/devtools/lang/zh-cn.js delete mode 100755 htdocs/includes/ckeditor/plugins/devtools/plugin.js delete mode 100755 htdocs/includes/ckeditor/plugins/docprops/dialogs/docprops.js delete mode 100755 htdocs/includes/ckeditor/plugins/docprops/plugin.js create mode 100644 htdocs/includes/ckeditor/plugins/fakeobjects/images/spacer.gif create mode 100644 htdocs/includes/ckeditor/plugins/icons.png create mode 100644 htdocs/includes/ckeditor/plugins/icons_hidpi.png delete mode 100644 htdocs/includes/ckeditor/plugins/iframedialog/plugin.js rename htdocs/includes/ckeditor/{_source/skins/office2003 => plugins/image}/images/noimage.png (100%) delete mode 100644 htdocs/includes/ckeditor/plugins/link/images/anchor.gif create mode 100644 htdocs/includes/ckeditor/plugins/link/images/anchor.png create mode 100644 htdocs/includes/ckeditor/plugins/link/images/hidpi/anchor.png create mode 100644 htdocs/includes/ckeditor/plugins/magicline/images/hidpi/icon.png create mode 100644 htdocs/includes/ckeditor/plugins/magicline/images/icon.png delete mode 100644 htdocs/includes/ckeditor/plugins/pastetext/dialogs/pastetext.js delete mode 100644 htdocs/includes/ckeditor/plugins/placeholder/dialogs/placeholder.js delete mode 100644 htdocs/includes/ckeditor/plugins/placeholder/lang/_translationstatus.txt delete mode 100644 htdocs/includes/ckeditor/plugins/placeholder/lang/bg.js delete mode 100644 htdocs/includes/ckeditor/plugins/placeholder/lang/cs.js delete mode 100644 htdocs/includes/ckeditor/plugins/placeholder/lang/cy.js delete mode 100644 htdocs/includes/ckeditor/plugins/placeholder/lang/da.js delete mode 100644 htdocs/includes/ckeditor/plugins/placeholder/lang/de.js delete mode 100644 htdocs/includes/ckeditor/plugins/placeholder/lang/el.js delete mode 100644 htdocs/includes/ckeditor/plugins/placeholder/lang/en.js delete mode 100644 htdocs/includes/ckeditor/plugins/placeholder/lang/eo.js delete mode 100644 htdocs/includes/ckeditor/plugins/placeholder/lang/et.js delete mode 100644 htdocs/includes/ckeditor/plugins/placeholder/lang/fa.js delete mode 100644 htdocs/includes/ckeditor/plugins/placeholder/lang/fi.js delete mode 100644 htdocs/includes/ckeditor/plugins/placeholder/lang/fr.js delete mode 100644 htdocs/includes/ckeditor/plugins/placeholder/lang/he.js delete mode 100644 htdocs/includes/ckeditor/plugins/placeholder/lang/hr.js delete mode 100644 htdocs/includes/ckeditor/plugins/placeholder/lang/it.js delete mode 100644 htdocs/includes/ckeditor/plugins/placeholder/lang/nb.js delete mode 100644 htdocs/includes/ckeditor/plugins/placeholder/lang/nl.js delete mode 100644 htdocs/includes/ckeditor/plugins/placeholder/lang/no.js delete mode 100644 htdocs/includes/ckeditor/plugins/placeholder/lang/pl.js delete mode 100644 htdocs/includes/ckeditor/plugins/placeholder/lang/pt-br.js delete mode 100644 htdocs/includes/ckeditor/plugins/placeholder/lang/tr.js delete mode 100644 htdocs/includes/ckeditor/plugins/placeholder/lang/ug.js delete mode 100644 htdocs/includes/ckeditor/plugins/placeholder/lang/uk.js delete mode 100644 htdocs/includes/ckeditor/plugins/placeholder/lang/vi.js delete mode 100644 htdocs/includes/ckeditor/plugins/placeholder/lang/zh-cn.js delete mode 100644 htdocs/includes/ckeditor/plugins/placeholder/placeholder.gif delete mode 100644 htdocs/includes/ckeditor/plugins/placeholder/plugin.js create mode 100644 htdocs/includes/ckeditor/plugins/scayt/LICENSE.md create mode 100644 htdocs/includes/ckeditor/plugins/scayt/README.md create mode 100644 htdocs/includes/ckeditor/plugins/smiley/images/angel_smile.png create mode 100644 htdocs/includes/ckeditor/plugins/smiley/images/angry_smile.png create mode 100644 htdocs/includes/ckeditor/plugins/smiley/images/broken_heart.png create mode 100644 htdocs/includes/ckeditor/plugins/smiley/images/confused_smile.png create mode 100644 htdocs/includes/ckeditor/plugins/smiley/images/cry_smile.png create mode 100644 htdocs/includes/ckeditor/plugins/smiley/images/devil_smile.png create mode 100644 htdocs/includes/ckeditor/plugins/smiley/images/embarrassed_smile.gif create mode 100644 htdocs/includes/ckeditor/plugins/smiley/images/embarrassed_smile.png create mode 100644 htdocs/includes/ckeditor/plugins/smiley/images/envelope.png create mode 100644 htdocs/includes/ckeditor/plugins/smiley/images/heart.png create mode 100644 htdocs/includes/ckeditor/plugins/smiley/images/kiss.png create mode 100644 htdocs/includes/ckeditor/plugins/smiley/images/lightbulb.png create mode 100644 htdocs/includes/ckeditor/plugins/smiley/images/omg_smile.png create mode 100644 htdocs/includes/ckeditor/plugins/smiley/images/regular_smile.png create mode 100644 htdocs/includes/ckeditor/plugins/smiley/images/sad_smile.png create mode 100644 htdocs/includes/ckeditor/plugins/smiley/images/shades_smile.png create mode 100644 htdocs/includes/ckeditor/plugins/smiley/images/teeth_smile.png create mode 100644 htdocs/includes/ckeditor/plugins/smiley/images/thumbs_down.png create mode 100644 htdocs/includes/ckeditor/plugins/smiley/images/thumbs_up.png create mode 100644 htdocs/includes/ckeditor/plugins/smiley/images/tongue_smile.gif create mode 100644 htdocs/includes/ckeditor/plugins/smiley/images/tongue_smile.png create mode 100644 htdocs/includes/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.png create mode 100644 htdocs/includes/ckeditor/plugins/smiley/images/wink_smile.png create mode 100644 htdocs/includes/ckeditor/plugins/specialchar/dialogs/lang/_translationstatus.txt create mode 100644 htdocs/includes/ckeditor/plugins/specialchar/dialogs/lang/ar.js create mode 100644 htdocs/includes/ckeditor/plugins/specialchar/dialogs/lang/bg.js create mode 100644 htdocs/includes/ckeditor/plugins/specialchar/dialogs/lang/ca.js create mode 100644 htdocs/includes/ckeditor/plugins/specialchar/dialogs/lang/cs.js create mode 100644 htdocs/includes/ckeditor/plugins/specialchar/dialogs/lang/cy.js create mode 100644 htdocs/includes/ckeditor/plugins/specialchar/dialogs/lang/de.js create mode 100644 htdocs/includes/ckeditor/plugins/specialchar/dialogs/lang/el.js create mode 100644 htdocs/includes/ckeditor/plugins/specialchar/dialogs/lang/en-gb.js create mode 100644 htdocs/includes/ckeditor/plugins/specialchar/dialogs/lang/en.js create mode 100644 htdocs/includes/ckeditor/plugins/specialchar/dialogs/lang/eo.js create mode 100644 htdocs/includes/ckeditor/plugins/specialchar/dialogs/lang/es.js create mode 100644 htdocs/includes/ckeditor/plugins/specialchar/dialogs/lang/et.js create mode 100644 htdocs/includes/ckeditor/plugins/specialchar/dialogs/lang/fa.js create mode 100644 htdocs/includes/ckeditor/plugins/specialchar/dialogs/lang/fi.js create mode 100644 htdocs/includes/ckeditor/plugins/specialchar/dialogs/lang/fr-ca.js create mode 100644 htdocs/includes/ckeditor/plugins/specialchar/dialogs/lang/fr.js create mode 100644 htdocs/includes/ckeditor/plugins/specialchar/dialogs/lang/gl.js create mode 100644 htdocs/includes/ckeditor/plugins/specialchar/dialogs/lang/he.js create mode 100644 htdocs/includes/ckeditor/plugins/specialchar/dialogs/lang/hr.js create mode 100644 htdocs/includes/ckeditor/plugins/specialchar/dialogs/lang/hu.js create mode 100644 htdocs/includes/ckeditor/plugins/specialchar/dialogs/lang/id.js create mode 100644 htdocs/includes/ckeditor/plugins/specialchar/dialogs/lang/it.js create mode 100644 htdocs/includes/ckeditor/plugins/specialchar/dialogs/lang/ja.js create mode 100644 htdocs/includes/ckeditor/plugins/specialchar/dialogs/lang/km.js create mode 100644 htdocs/includes/ckeditor/plugins/specialchar/dialogs/lang/ku.js create mode 100644 htdocs/includes/ckeditor/plugins/specialchar/dialogs/lang/lv.js create mode 100644 htdocs/includes/ckeditor/plugins/specialchar/dialogs/lang/nb.js create mode 100644 htdocs/includes/ckeditor/plugins/specialchar/dialogs/lang/nl.js create mode 100644 htdocs/includes/ckeditor/plugins/specialchar/dialogs/lang/no.js create mode 100644 htdocs/includes/ckeditor/plugins/specialchar/dialogs/lang/pl.js create mode 100644 htdocs/includes/ckeditor/plugins/specialchar/dialogs/lang/pt-br.js create mode 100644 htdocs/includes/ckeditor/plugins/specialchar/dialogs/lang/pt.js create mode 100644 htdocs/includes/ckeditor/plugins/specialchar/dialogs/lang/ru.js create mode 100644 htdocs/includes/ckeditor/plugins/specialchar/dialogs/lang/si.js create mode 100644 htdocs/includes/ckeditor/plugins/specialchar/dialogs/lang/sk.js create mode 100644 htdocs/includes/ckeditor/plugins/specialchar/dialogs/lang/sl.js create mode 100644 htdocs/includes/ckeditor/plugins/specialchar/dialogs/lang/sq.js create mode 100644 htdocs/includes/ckeditor/plugins/specialchar/dialogs/lang/sv.js create mode 100644 htdocs/includes/ckeditor/plugins/specialchar/dialogs/lang/th.js create mode 100644 htdocs/includes/ckeditor/plugins/specialchar/dialogs/lang/tr.js create mode 100644 htdocs/includes/ckeditor/plugins/specialchar/dialogs/lang/ug.js create mode 100644 htdocs/includes/ckeditor/plugins/specialchar/dialogs/lang/uk.js create mode 100644 htdocs/includes/ckeditor/plugins/specialchar/dialogs/lang/vi.js create mode 100644 htdocs/includes/ckeditor/plugins/specialchar/dialogs/lang/zh-cn.js create mode 100644 htdocs/includes/ckeditor/plugins/specialchar/dialogs/lang/zh.js delete mode 100644 htdocs/includes/ckeditor/plugins/specialchar/lang/_translationstatus.txt delete mode 100644 htdocs/includes/ckeditor/plugins/specialchar/lang/cs.js delete mode 100644 htdocs/includes/ckeditor/plugins/specialchar/lang/cy.js delete mode 100644 htdocs/includes/ckeditor/plugins/specialchar/lang/de.js delete mode 100644 htdocs/includes/ckeditor/plugins/specialchar/lang/el.js delete mode 100644 htdocs/includes/ckeditor/plugins/specialchar/lang/en.js delete mode 100644 htdocs/includes/ckeditor/plugins/specialchar/lang/eo.js delete mode 100644 htdocs/includes/ckeditor/plugins/specialchar/lang/et.js delete mode 100644 htdocs/includes/ckeditor/plugins/specialchar/lang/fa.js delete mode 100644 htdocs/includes/ckeditor/plugins/specialchar/lang/fi.js delete mode 100644 htdocs/includes/ckeditor/plugins/specialchar/lang/fr.js delete mode 100644 htdocs/includes/ckeditor/plugins/specialchar/lang/he.js delete mode 100644 htdocs/includes/ckeditor/plugins/specialchar/lang/hr.js delete mode 100644 htdocs/includes/ckeditor/plugins/specialchar/lang/it.js delete mode 100644 htdocs/includes/ckeditor/plugins/specialchar/lang/nb.js delete mode 100644 htdocs/includes/ckeditor/plugins/specialchar/lang/nl.js delete mode 100644 htdocs/includes/ckeditor/plugins/specialchar/lang/no.js delete mode 100644 htdocs/includes/ckeditor/plugins/specialchar/lang/pt-br.js delete mode 100644 htdocs/includes/ckeditor/plugins/specialchar/lang/tr.js delete mode 100644 htdocs/includes/ckeditor/plugins/specialchar/lang/ug.js delete mode 100644 htdocs/includes/ckeditor/plugins/specialchar/lang/zh-cn.js delete mode 100644 htdocs/includes/ckeditor/plugins/styles/styles/default.js delete mode 100755 htdocs/includes/ckeditor/plugins/stylesheetparser/plugin.js delete mode 100644 htdocs/includes/ckeditor/plugins/tableresize/plugin.js create mode 100644 htdocs/includes/ckeditor/plugins/templates/dialogs/templates.css delete mode 100644 htdocs/includes/ckeditor/plugins/uicolor/dialogs/uicolor.js delete mode 100644 htdocs/includes/ckeditor/plugins/uicolor/lang/_translationstatus.txt delete mode 100644 htdocs/includes/ckeditor/plugins/uicolor/lang/bg.js delete mode 100644 htdocs/includes/ckeditor/plugins/uicolor/lang/cs.js delete mode 100644 htdocs/includes/ckeditor/plugins/uicolor/lang/cy.js delete mode 100644 htdocs/includes/ckeditor/plugins/uicolor/lang/da.js delete mode 100644 htdocs/includes/ckeditor/plugins/uicolor/lang/de.js delete mode 100644 htdocs/includes/ckeditor/plugins/uicolor/lang/el.js delete mode 100644 htdocs/includes/ckeditor/plugins/uicolor/lang/en.js delete mode 100644 htdocs/includes/ckeditor/plugins/uicolor/lang/eo.js delete mode 100644 htdocs/includes/ckeditor/plugins/uicolor/lang/et.js delete mode 100644 htdocs/includes/ckeditor/plugins/uicolor/lang/fa.js delete mode 100644 htdocs/includes/ckeditor/plugins/uicolor/lang/fi.js delete mode 100644 htdocs/includes/ckeditor/plugins/uicolor/lang/fr.js delete mode 100644 htdocs/includes/ckeditor/plugins/uicolor/lang/he.js delete mode 100644 htdocs/includes/ckeditor/plugins/uicolor/lang/hr.js delete mode 100644 htdocs/includes/ckeditor/plugins/uicolor/lang/it.js delete mode 100644 htdocs/includes/ckeditor/plugins/uicolor/lang/mk.js delete mode 100644 htdocs/includes/ckeditor/plugins/uicolor/lang/nb.js delete mode 100644 htdocs/includes/ckeditor/plugins/uicolor/lang/nl.js delete mode 100644 htdocs/includes/ckeditor/plugins/uicolor/lang/no.js delete mode 100644 htdocs/includes/ckeditor/plugins/uicolor/lang/pl.js delete mode 100644 htdocs/includes/ckeditor/plugins/uicolor/lang/pt-br.js delete mode 100644 htdocs/includes/ckeditor/plugins/uicolor/lang/tr.js delete mode 100644 htdocs/includes/ckeditor/plugins/uicolor/lang/ug.js delete mode 100644 htdocs/includes/ckeditor/plugins/uicolor/lang/uk.js delete mode 100644 htdocs/includes/ckeditor/plugins/uicolor/lang/vi.js delete mode 100644 htdocs/includes/ckeditor/plugins/uicolor/lang/zh-cn.js delete mode 100644 htdocs/includes/ckeditor/plugins/uicolor/plugin.js delete mode 100644 htdocs/includes/ckeditor/plugins/uicolor/uicolor.gif delete mode 100644 htdocs/includes/ckeditor/plugins/uicolor/yui/assets/hue_bg.png delete mode 100644 htdocs/includes/ckeditor/plugins/uicolor/yui/assets/hue_thumb.png delete mode 100644 htdocs/includes/ckeditor/plugins/uicolor/yui/assets/picker_mask.png delete mode 100644 htdocs/includes/ckeditor/plugins/uicolor/yui/assets/picker_thumb.png delete mode 100644 htdocs/includes/ckeditor/plugins/uicolor/yui/assets/yui.css delete mode 100644 htdocs/includes/ckeditor/plugins/uicolor/yui/yui.js create mode 100644 htdocs/includes/ckeditor/plugins/wsc/LICENSE.md create mode 100644 htdocs/includes/ckeditor/plugins/wsc/README.md create mode 100644 htdocs/includes/ckeditor/plugins/wsc/dialogs/tmp.html create mode 100644 htdocs/includes/ckeditor/plugins/wsc/dialogs/wsc_ie.js delete mode 100644 htdocs/includes/ckeditor/plugins/xml/plugin.js delete mode 100644 htdocs/includes/ckeditor/skins/kama/dialog.css delete mode 100644 htdocs/includes/ckeditor/skins/kama/editor.css delete mode 100644 htdocs/includes/ckeditor/skins/kama/icons.png delete mode 100644 htdocs/includes/ckeditor/skins/kama/icons_rtl.png delete mode 100644 htdocs/includes/ckeditor/skins/kama/images/dialog_sides.gif delete mode 100644 htdocs/includes/ckeditor/skins/kama/images/dialog_sides.png delete mode 100644 htdocs/includes/ckeditor/skins/kama/images/dialog_sides_rtl.png delete mode 100644 htdocs/includes/ckeditor/skins/kama/images/mini.gif delete mode 100644 htdocs/includes/ckeditor/skins/kama/images/noimage.png delete mode 100644 htdocs/includes/ckeditor/skins/kama/images/sprites.png delete mode 100644 htdocs/includes/ckeditor/skins/kama/images/sprites_ie6.png delete mode 100644 htdocs/includes/ckeditor/skins/kama/images/toolbar_start.gif delete mode 100644 htdocs/includes/ckeditor/skins/kama/skin.js delete mode 100644 htdocs/includes/ckeditor/skins/kama/templates.css create mode 100644 htdocs/includes/ckeditor/skins/moono/dialog.css create mode 100644 htdocs/includes/ckeditor/skins/moono/dialog_ie.css create mode 100644 htdocs/includes/ckeditor/skins/moono/dialog_ie7.css create mode 100644 htdocs/includes/ckeditor/skins/moono/dialog_ie8.css create mode 100644 htdocs/includes/ckeditor/skins/moono/dialog_iequirks.css create mode 100644 htdocs/includes/ckeditor/skins/moono/dialog_opera.css create mode 100644 htdocs/includes/ckeditor/skins/moono/editor.css create mode 100644 htdocs/includes/ckeditor/skins/moono/editor_gecko.css create mode 100644 htdocs/includes/ckeditor/skins/moono/editor_ie.css create mode 100644 htdocs/includes/ckeditor/skins/moono/editor_ie7.css create mode 100644 htdocs/includes/ckeditor/skins/moono/editor_ie8.css create mode 100644 htdocs/includes/ckeditor/skins/moono/editor_iequirks.css create mode 100644 htdocs/includes/ckeditor/skins/moono/icons.png create mode 100644 htdocs/includes/ckeditor/skins/moono/icons_hidpi.png create mode 100644 htdocs/includes/ckeditor/skins/moono/images/arrow.png create mode 100644 htdocs/includes/ckeditor/skins/moono/images/close.png create mode 100644 htdocs/includes/ckeditor/skins/moono/images/hidpi/close.png create mode 100644 htdocs/includes/ckeditor/skins/moono/images/hidpi/lock-open.png create mode 100644 htdocs/includes/ckeditor/skins/moono/images/hidpi/lock.png create mode 100644 htdocs/includes/ckeditor/skins/moono/images/hidpi/refresh.png create mode 100644 htdocs/includes/ckeditor/skins/moono/images/lock-open.png create mode 100644 htdocs/includes/ckeditor/skins/moono/images/lock.png create mode 100644 htdocs/includes/ckeditor/skins/moono/images/refresh.png create mode 100644 htdocs/includes/ckeditor/skins/moono/readme.md delete mode 100644 htdocs/includes/ckeditor/skins/office2003/dialog.css delete mode 100644 htdocs/includes/ckeditor/skins/office2003/editor.css delete mode 100644 htdocs/includes/ckeditor/skins/office2003/icons.png delete mode 100644 htdocs/includes/ckeditor/skins/office2003/icons_rtl.png delete mode 100644 htdocs/includes/ckeditor/skins/office2003/images/dialog_sides.gif delete mode 100644 htdocs/includes/ckeditor/skins/office2003/images/dialog_sides.png delete mode 100644 htdocs/includes/ckeditor/skins/office2003/images/dialog_sides_rtl.png delete mode 100644 htdocs/includes/ckeditor/skins/office2003/images/mini.gif delete mode 100644 htdocs/includes/ckeditor/skins/office2003/images/noimage.png delete mode 100644 htdocs/includes/ckeditor/skins/office2003/images/sprites.png delete mode 100644 htdocs/includes/ckeditor/skins/office2003/images/sprites_ie6.png delete mode 100644 htdocs/includes/ckeditor/skins/office2003/skin.js delete mode 100644 htdocs/includes/ckeditor/skins/office2003/templates.css delete mode 100644 htdocs/includes/ckeditor/skins/v2/dialog.css delete mode 100644 htdocs/includes/ckeditor/skins/v2/editor.css delete mode 100644 htdocs/includes/ckeditor/skins/v2/icons.png delete mode 100644 htdocs/includes/ckeditor/skins/v2/icons_rtl.png delete mode 100644 htdocs/includes/ckeditor/skins/v2/images/dialog_sides.gif delete mode 100644 htdocs/includes/ckeditor/skins/v2/images/dialog_sides.png delete mode 100644 htdocs/includes/ckeditor/skins/v2/images/dialog_sides_rtl.png delete mode 100644 htdocs/includes/ckeditor/skins/v2/images/mini.gif delete mode 100644 htdocs/includes/ckeditor/skins/v2/images/noimage.png delete mode 100644 htdocs/includes/ckeditor/skins/v2/images/sprites.png delete mode 100644 htdocs/includes/ckeditor/skins/v2/images/sprites_ie6.png delete mode 100644 htdocs/includes/ckeditor/skins/v2/images/toolbar_start.gif delete mode 100644 htdocs/includes/ckeditor/skins/v2/skin.js delete mode 100644 htdocs/includes/ckeditor/skins/v2/templates.css create mode 100644 htdocs/includes/ckeditor/styles.js delete mode 100644 htdocs/includes/ckeditor/themes/default/theme.js diff --git a/htdocs/includes/ckeditor/.htaccess b/htdocs/includes/ckeditor/.htaccess deleted file mode 100755 index 1427d97fb6e..00000000000 --- a/htdocs/includes/ckeditor/.htaccess +++ /dev/null @@ -1,24 +0,0 @@ -# -# Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. -# For licensing, see LICENSE.html or http://ckeditor.com/license -# - -# -# On some specific Linux installations you could face problems with Firefox. -# It could give you errors when loading the editor saying that some illegal -# characters were found (three strange chars in the beginning of the file). -# This could happen if you map the .js or .css files to PHP, for example. -# -# Those characters are the Byte Order Mask (BOM) of the Unicode encoded files. -# All FCKeditor files are Unicode encoded. -# - -AddType application/x-javascript .js -AddType text/css .css - -# -# If PHP is mapped to handle XML files, you could have some issues. The -# following will disable it. -# - -AddType text/xml .xml diff --git a/htdocs/includes/ckeditor/CHANGES.html b/htdocs/includes/ckeditor/CHANGES.html deleted file mode 100644 index 6fa02bbfd44..00000000000 --- a/htdocs/includes/ckeditor/CHANGES.html +++ /dev/null @@ -1,1548 +0,0 @@ - - - - - Changelog — CKEditor - - - - -

- CKEditor Changelog -

-

- CKEditor 3.6.4

-

- Fixed issues:

-
    -
  • #8887 : Ugly hover effect for buttons in dialog windows due to slightly wrong background position.
  • -
  • #8783 : getAttribute( 'contenteditable' ) returns 'inherited' on IE7 and IE6 for elements created from code.
  • -
  • #8463 : WebKit: Cut/Copy buttons didn't go on "enabled" state after selecting text in the editor.
  • -
  • #9043 : Command newpage didn't return its name when afterCommandExec event was fired.
  • -
  • #9015 : Applied ARIA label on dialog file input element.
  • -
  • #9016 : Applied the "presentation" role on the iframe element in dialog file field markup.
  • -
  • #8949 : Image Properties does not show in context menu when the image is wrapped in a div with the width set.
  • -
  • #9008 : Fixed list items order reversed when merging two lists.
  • -
  • #9042 : [Safari] Fixed pasting left garbage html at the end of document.
  • -
  • #7745 : The list of frames on JAWS will not any more show the "ALT+0 for help" text for the editor entry.
  • -
  • #8979 : Overriding matches will not any more interfere on the Font size combo.
  • -
  • #5447 : Anchor names created by the Link dialog are now trimmed to protect against unwanted spaces.
  • -
  • #8997 : Styles are lost on sub-lists when converting list type.
  • -
  • #8971 : [IE7] Dialog size are stretched when long text field value is received.
  • -
  • #8945 : Fake elements now show alternative text on High Contrast mode.
  • -
  • #8985 : Better handling of Enter key events on dialogs.
  • -
  • #8925 : [Firefox] Unexpected page scroll on large floating block when editor is re-focused.
  • -
  • #8978 : [IE] Saved editor text selection is lost after close menu.
  • -
  • #9022 : [IE7] Fixed wrong selection introduced in empty editor document when click to the bottom-right of the document.
  • -
  • #9034 : [IE7] Fixed JavaScript error caused by drag-to-select at the bottom of the document.
  • -
  • #9057 : Unexpected block established when decreasing indent of a styled list item.
  • -
  • #9063 : Styles on sub-list are lost when decreasing indent of the parent list.
  • -
  • #9047 : [Firefox] Anchors in the preview window will now work properly.
  • -
  • #8941 : [Webkit] Content region disappeared when resizing the browser.
  • -
  • #8968 : [Firefox] The forcePasteAsPlainText configuration is not working when using Ctrl/Cmd-V.
  • -
  • #6217 : Handled Del/Backspace key at the boundary of table to unify the cursor position.
  • -
  • #8950 : Changed the cursor position after calling editor::insertElement on block element.
  • -
  • #9080 : Fixed Backspace key in front of the list item to join with previous line.
  • -
  • #3592 : Removed the "title" field from flash dialog advanced tab.
  • -
  • #9084 : [IE] Dragging absolute positioned elements is now enabled by default.
  • -
  • #8879 : Corrected styling of labels used in dialog windows.
  • -
  • #8921 : [Chrome] Paste on a newly created CKEditor instance does not work on Chrome.
  • -
  • #9036 : Find feature cannot locate certain words while Match Whole Word is enabled.
  • -
  • #9069 : [Chrome] Issue with popups not opening properly on Chrome 20 makes it impossible to view the file browser window.
  • -
  • #5811 : Code for Image dialog is missing dialog dependency.
  • -
  • #5810 : Code for Div Container is missing dialog dependency.
  • -
  • #5809 : Dialog a11yhelp is missing dialog dependency.
  • -
  • #4045 : "Field Name" Column in sample_posteddata.php is to narrow.
  • -
  • Updated the following language files as submitted to the CKEditor UI Translation Center: Bulgarian, Chinese, Czech, Danish, Esperanto, Estonian, Greek, Italian, Norwegian, Portuguese, Romanian, Vietnamese.
  • -
-

- CKEditor 3.6.3

-

- New features:

-
    -
  • #7430 : Justify commands now perform alignment on the element when an image is selected.
  • -
  • #8706 : Better ARIA accessibility for the color picker dialog window.
  • -
  • #7366 : Editor paste function is now available on browser toolbar and context menu.
  • -
-

- Fixed issues:

-
    -
  • #8634 : [IE] Command execution always returns true in IE browsers.
  • -
  • #8333 : Dialog windows can now be closed with the Esc key even if there is no Cancel button available.
  • -
  • #8644 : Missing variable declaration in the dialog plugin.
  • -
  • #8699 : Focus is now moved to the clicked button and back to color picker dialog window opener (button) in all browsers after the dialog window is closed.
  • -
  • #8132 : [IE9] Link line gets broken when it contains a br tag.
  • -
  • #8629 : Optimize float panel layout when there is not enough space in the viewport.
  • -
  • #7955 : [FF] Page Up and Page Down in the WYSIWYG mode cause the selection to become lost.
  • -
  • #8698 : Esc key does not close the color picker dialog window.
  • -
  • #8413 : HTML comment nodes break content styling in tables.
  • -
  • #7932, #8643 : [IE] Clicking below the content region scrolls the page to the top.
  • -
  • #5538, #8729 : [IE] Focus jump results in incorrect context menu display.
  • -
  • #6359 : [IE] Selectable area in blank WYSIWYG editor is too small.
  • -
  • #7326, #8074 : [FF] Scrolling does not work correctly in editor with large amount of text.
  • -
  • #8630 : HTML events are now disabled when loading data.
  • -
  • #8433 : [IE9] Use W3C event model.
  • -
  • #8691 : [IE] Pasting invalid HTML crashes the browser.
  • -
  • #8345 : [IE] Selection is not properly restored after closing the Link dialog window.
  • -
  • #6308 : Vertical-only resize imposes fixed width on editor chrome.
  • -
  • #7360 : [WebKit] WYSIWYG area sometimes does not resize with the chrome.
  • -
  • #5527 : Do not encode the # character sent from the file browser.
  • -
  • #8014 : Autogrow now stretches to fit the content when switching editor modes.
  • -
  • #8249 : Inconsistent behavior with the Backspace key used at the start of a list item.
  • -
  • #8617 : [WebKit] Selection becomes broken after an inline style is opened.
  • -
  • #8527 : Insertion with cursor before an empty anchor is error-prone.
  • -
  • #8632 : Cursor panic when the Backspace key is used in a list item.
  • -
  • #8455 : Mousedown focus is too agressive.
  • -
  • #8475 : Issue with deleting elements with inline styling in tables.
  • -
  • #8324 : [IE8] Undo generates an error when a control type element is selected.
  • -
  • #7946 : Find and Replace dialog window result does not scroll into view when the editor is off the viewport.
  • -
  • #8157 : Flash/IFrame dialog window cannot be closed when displayed over Flash/IFrame with dialog_startupFocusTab set to true.
  • -
  • #8305 : Text direction lost when converting a paragraph to a list.
  • -
  • #8379 : The cursor moves to the start of the document when inserting a row or column is undone.
  • -
  • #6666 : Removed references to element.all.
  • -
  • #8732 : Issue when CKEDITOR.range::enlarge passes through comment nodes.
  • -
  • #7492 : The Style system can now use overrides with the same element (change classes instead of nesting).
  • -
  • #6111 : Splitting table cells results in incorrect column spans.
  • -
  • #8247 : [IE] Error when aligning a document with page breaks inside of contents.
  • -
  • #8540 : Orphan texts inside a list or table are now properly fixed.
  • -
  • #8774 : The Entities plugin can now be configured to only output XML entities.
  • -
  • #8602 : Image source is now properly hidden when running data through the data processor.
  • -
  • #8812 : [IE] Issues with the native range translation with comments in the DOM.
  • -
  • #7907 : Decreasing indentation of a RTL block in a list item loses text direction.
  • -
  • #8835 : Right margin on IE<8 removed to avoid mouse click confusion.
  • -
  • #8400 : [IE] Script error when closing the Cell Properties dialog window if the table cell text is selected.
  • -
  • #8248 : [IE8] Issues with Backspace and Del keys when used at the start or end of list items.
  • -
  • #8855 : [Chrome] Issue with the popup window size in Chrome 18 makes it impossible to view the file browser window.
  • -
  • #8407 : Unneeded aria-posinset and aria-setsize for a list block are now removed.
  • -
  • #8701 : Highlight field in the color picker does not show the correct color when keyboard navigation is used.
  • -
  • #8509 : Table height gets copied from the width value when the Advanced tab is hidden.
  • -
  • #8432 : [IE8] openDialog('image') error.
  • -
  • #8493 : [IE] It is impossible to add a link to the selected text.
  • -
  • #8528 : Redundant imagePreviewBoxId in the Image Properties dialog window is now removed.
  • -
  • #8864 : [IE] Fix ARIA presentation of toolbar rich combo in JAWS.
  • -
  • #8459 : Fix wrong undo step on enter key.
  • -
  • #8895 : Editing anchors using the Link dialog window could not work in release version.
  • -
  • #8876 : <link> element in the floating panels have been moved to <head>.
  • -
  • Updated the following language files as submitted to the CKEditor UI Translation Center: Arabic, Bulgarian, Chinese, Croatian, Czech, Danish, Dutch, Esperanto, Estonian, Faroese, French, German, Greek, Gujarati, Hindi, Italian, Macedonian, Norwegian (Bokmål and Nynorsk), Polish, Portuguese, Turkish, Uighur, Ukrainian, Vietnamese, Welsh.
  • -
-

- CKEditor 3.6.2

-

- New features:

-
    -
  • #6089 : The editor is now enabled on iOS 5 (iPad and iPhone).
  • -
  • #7354 : It is now possible to exit from blockquotes by using the Enter key on empty paragraphs.
  • -
  • #7931 : The mode event now carries the previous editor mode.
  • -
  • #6161 : New autoGrow_onStartup configuration option.
  • -
  • #8052 : autogrow is now available as an editor command.
  • -
  • #3457 : It is now possible to edit the contents of <textarea> elements through the dialog window.
  • -
  • #8242 : The "»" character is now added to the Special Character dialog window.
  • -
-

- Fixed issues:

-
    -
  • #8171, #8172 : Updated links to WebSpellChecker.net.
  • -
  • #8155 : Tooltips in the Special Character dialog window corrected.
  • -
  • #8163 : The name of the filebrowserWindowFeatures configuration setting corrected to match the documented name.
  • -
  • #8124 : The Style fields in Advanced dialog window tabs are now validated according to CSS style attribute syntax.
  • -
  • #8025 : The checkboxes in the Find and Replace dialog window are now part of a fieldset.
  • -
  • #7943 : CSS conflict no longer appears when the page styles set the float property of label elements.
  • -
  • #8016 : [WebKit] Flash content is not visible when previewing content.
  • -
  • #6908 : Text color should always be applied to the linked text.
  • -
  • #7619 : [IE] IFrame shim now consolidates the editor dialog window to avoid having it masked by embedded objects.
  • -
  • #7900 : [FF] Copy/Paste operations for table cells no longer break the Table Properties dialog window.
  • -
  • #7243 : Inline JavaScript events may become corrupted.
  • -
  • #7448 : List creation in RTL blocks is wrongly merged with the above LTR block.
  • -
  • #6957 : Highlighting of searched terms does not reach read-only blocks.
  • -
  • #7948 : Tooltips with information about correct length units are now displayed for the Width/Height fields of the Table Properties dialog window.
  • -
  • #6212 : [WebKit] Editor resize may scroll the host page.
  • -
  • #6540 : [Safari] Editor loses focus on resizing.
  • -
  • #7908 : [IE] Unlink command is sometimes missing from the context menu of a link.
  • -
  • #8159 : Editor fails to load if the browser has no default language set.
  • -
  • #7490 : [IE] Block format leaks to the next unselected line when enterMode is set to BR.
  • -
  • #8087 : Indenting list items may add redundant text direction attributes.
  • -
  • #6200 : Add styling for certain dialog window element types that miss focus outline (like checkbox).
  • -
  • #7894 : Fault tolerance when parsing a malformed link.
  • -
  • #8049 : Bullets/Numbers are invisible for list items with LTR text direction.
  • -
  • #8222 : [IE] Incorrect selection locking after opening a dialog window in some cases.
  • -
  • #7002 : [IE] Undo operation when a table is selected results in an error.
  • -
  • #8232 : [IE] Unable to apply inline style that starts at the end of a link text.
  • -
  • #7153 : Fail to load the source version of the editor after the window is loaded.
  • -
  • #8246 : Bad editing performance on certain document contents.
  • -
  • #7912 : Cursor trapped in an invisible element after pressing the Enter key.
  • -
  • #7645 : Full list or table deletion with the Backspace/Delete key.
  • -
  • #8050 : AutoGrow feature better fits the content styles.
  • -
  • #8349 : [IE9] Larger toolbar top offset on HTML5 pages.
  • -
  • #8352 : [IE9] Toolbar wrapping is incorrect.
  • -
  • #8080 : JavaScript error when inserting a new table row.
  • -
  • Updated the following language files:
      -
    • #8263 : Dutch;
    • -
    • #8238 : Estonian;
    • -
    • #8193 : Finnish;
    • -
    • German;
    • -
    • Hebrew;
    • -
    • #8179 : Hungarian;
    • -
    • #8128 : Italian;
    • -
    • #8371 : Lithuanian;
    • -
    • #8126, #8256 : Norwegian (Bokmal and Nynorsk);
    • -
    • #8356 : Persian;
    • -
    • Polish;
    • -
    • Portuguese (Brazil);
    • -
    • #8151, #8298 : Russian;
    • -
    • Spanish;
    • -
  • -
-

- CKEditor 3.6.1

-

- New features:

-
    -
  • #4556 : Initial support for HTML5 elements.
  • -
  • #6492 : The Find/Replace dialog window will now be populated with text selected in the editor.
  • -
  • #7323 : New align property in dialog window UI elements for field alignment.
  • -
  • #6462 : A wider range of CSS length units (like pt and percentage) are now supported in related dialog window fields.
  • -
  • #7911 : New Remove Anchor option is now available in the context menu.
  • -
  • #7387 : Allow styleDefinition to be applied to a set of elements.
  • -
  • #4345 : A new langLoaded event added to CKEDITOR.editor in order to make it possible to perform "by code" language updates.
  • -
  • #7959 : The cursor will now blink in the first cell after a table is inserted.
  • -
  • #7885 : New editor::removeMenuItem API for removing plugin context menu items introduced.
  • -
  • #7991 : Introduce the controlStyle and inputStyle definitions to allow fine-grained controlling of dialog window element styles.
  • -
-

- Fixed issues:

-
    -
  • #7914 : ATTENTION! The signature for the setReadOnly() function has been changed, reversing the meaning of the parameter to be passed to it. Please make sure to update your code when upgrading.
  • -
  • #7657 : Wrong margin mirroring when creating a list from RTL paragraphs.
  • -
  • #7620 : A glitch in list pasting from Microsoft Word caused by broken child references when filtering.
  • -
  • #7811 : [IE] Deleting table row throws a JavaScript error.
  • -
  • #6962 : Changed the CKEDITOR.CTRL, CKEDITOR.SHIFT and CKEDITOR.ALT constant values to avoid collision with any possible Unicode character.
  • -
  • #6263 : Some table cell context menu options may be incorrectly disabled.
  • -
  • #6247 : Focus is not restored properly after a drop-down menu is closed.
  • -
  • #7334 : [IE7] Indentation style does not apply to RTL lists.
  • -
  • #6845 : Spaces inside the URL field in the Link dialog window will now be removed.
  • -
  • #7840 : [IE] Opening the Table Properties dialog window via the context menu causes a JavaScript error.
  • -
  • #7733 : Flash movies inserted with the Flash Properties dialog window are not displaying properly when injected into the page.
  • -
  • #7837 : [IE<8] Inserting a page break results in an error.
  • -
  • #7804 : The HTML5 wbr tag is now recognized by the editor.
  • -
  • #7867 : The file browser for the background image in the Document Properties plugin dialog window does not work.
  • -
  • #7130 : The column resizer gripping area is invading adjacent table cells.
  • -
  • #7844 : [FF] Calling setData() on a hidden editor caused editor not to display.
  • -
  • #7860 : The BBCode plugin was stripping BBCode tags that were not implemented in the plugin, but from now on they will be handled as simple text.
  • -
  • #7321 : [IE6] Contents inside the RTL fields in dialog windows are overflowing.
  • -
  • #7323 : [IE Quirks] Some fields are not centered in the dialog window.
  • -
  • #5955 : Editor accessibility issue with JAWS when a drop-down menu is placed as the first item in the toolbar.
  • -
  • #6671 : [FF] Selection of an item from the Styles drop-down list is not refreshed after the style is removed.
  • -
  • #7879 : The Style and Height/Width fields of the Table Properties dialog window are not synchronized.
  • -
  • #7581 : [IE] The Enter key pressed at the end of a list item containing the start attribute crashes the browser.
  • -
  • #7266 : Dialog window fields that did not pass validation are now ARIA-compatible with aria-invalid.
  • -
  • #7742 : [WebKit] Indentation, alignment, and language direction are not applied on an empty document without the editor being in focus.
  • -
  • #7801 : [Opera] Pasted paragraphs now split partially selected blocks.
  • -
  • #6663 : Table caption that contains rich text is corrupted after an edit done with the Table Properties dialog window.
  • -
  • #7893 : [WebKit, Opera, IE<8] It is impossible to link to anchors in the document.
  • -
  • #7637 : Cursor position might in some cases cause problems after inserting a page break.
  • -
  • #5314 : The aria-selected attribute is not removed when toolbar drop-down menu items are deselected.
  • -
  • #7749 : Small check introduced to avoid issues with custom data processors and the insertHtml function.
  • -
  • #7269 : [WebKit] Paste from Word is including the full file:// URL path for anchor links.
  • -
  • #7584 : Start number of the List dialog window now works with numbered list items.
  • -
  • #6975 : [IE6, IE7] A definition list crashes Internet Explorer on HTML output.
  • -
  • #7841 : Deleting a column with a cell deleted in one of the rows does not work.
  • -
  • #7944 : The Enter key should not split or create new paragraphs inside caption elements.
  • -
  • #7639 : [IE9] Browser might crash when an object is selected in the document.
  • -
  • #7847 : [IE8] Inserting an image with non-secure source in a HTTPS page breaks the dialog window.
  • -
  • #7953 : [IE] Text selection lost after the browser context menu is opened.
  • -
  • #5239 : Inconsistent focus behavior after closing a toolbar drop-down menu.
  • -
  • #6470 : The Start attribute of a Numbered List is rendered incorrectly if the field is left empty.
  • -
  • #7324 : [IE6 Quirks] Context menus are not displayed correctly.
  • -
  • #7566 : BiDi: Increasing indentation of a list item changes the language direction.
  • -
  • #7839 : [IE] Pasting multi-level numbered lists from Microsoft Word does not work properly.
  • -
  • #188 : [IE] Object selection was making the toolbar inactive in some situations.
  • -
  • Updated the following language files:
  • -
-

- CKEditor 3.6

-

- New features:

-
    -
  • #7044 : New BBCode sample plugin that makes the editor output (one dialect of) BBCode format.
  • -
  • #5647 : Accessibility enhancements to the structure of the toolbar.
  • -
  • #5647 : The Kama skin now presents separators for the toolbar items, making it easier to group buttons and have a cleaner layout.
  • -
  • #5647 : Usability enhancements to keyboard navigation on the toolbar. The Tab key is now used to jump between toolbar groups, while the Arrow keys can be used to cycle within the group. The new toolbarGroupCycling setting can be used to change the Arrow keys behavior.
  • -
  • #1376 : It is now possible to put the editor in the "read-only" state, so that the users would not be able to introduce changes to the contents. Check out the new CKEDITOR.editor::setReadOnly method, the CKEDITOR.editor::readOnly property, the CKEDITOR.editor::readOnly event, and the readOnly setting.
  • -
  • #3582 : New presentation of anchor elements in the WYSIWYG mode.
  • -
  • #6737 : The Format drop-down list will now display the preview of its contents exactly as defined in their style configurations.
  • -
  • #6654 : A new autoParagraph configuration setting is added to disable the auto paragraphing feature.
  • -
  • #901 : New Stylesheet Parser (stylesheetparser) plugin that fills the Styles drop-down list based on the CSS classes available for the content. Check the new sample to learn how to use it.
  • -
  • #2988 : New Document Properties (docprops) plugin that sets the metadata of the page in the Full Page mode.
  • -
  • #7240 : New Developer Tools (devtools) plugin that shows information about dialog window UI elements to allow for easier customization.
  • -
  • #6841 : Pressing the Enter key at the end of a pre-formatted block will now exit from it.
  • -
  • #6850 : The About CKEditor dialog window now contains a link to CKEditor User's Guide.
  • -
  • #5745 : Extra configuration options for the iframeDialog can now be passed.
  • -
  • #6589 : The onDialogEvent function will now be used automatically in the iframeDialog contents if no callback is used on creation.
  • -
  • #7757 : Georgian localization added.
  • -
-

- Fixed issues:

-
    -
  • #6774 : Internal styles are not included in the contents.css sample.
  • -
  • #6521 : Added sample for the TableResize plugin.
  • -
  • #6664 : Page break is sometimes merged into block-level elements.
  • -
  • #7594 : Toolbar keyboard navigation is not possible after recreating the editor.
  • -
  • #6657 : Allow to style the entire dialog window field when the input element is disabled.
  • -
  • Updated the following language files:
      -
    • Hebrew;
    • -
    • Polish;
    • -
  • -
-

- CKEditor 3.5.4

-

- Fixed issues:

-
    -
  • Added protection against XSS attacks in PHP samples when displaying element names.
  • -
  • #7347 : The Enter key will no longer be caught by the dialog window covering the editor.
  • -
  • #6718 : Paste from Word command overrides the Force Paste as Plain Text configuration.
  • -
  • #6629 : Padding body is no longer needed when the last block is pre-formatted.
  • -
  • #4844 : [IE] Dialog windows fail to load if there are too many editor instances on the page.
  • -
  • #5788 : HTML parser trims empty spaces following <br> elements.
  • -
  • #7513 : Invalid markup could cause the editor to hang.
  • -
  • #6109 : Paste and Paste as Plain Text dialog windows now use the standard commitContent and setupContent methods.
  • -
  • #7588 : The editor code now has a protection system to avoid issues when including ckeditor.js more than once in the page.
  • -
  • #7322 : Text font plugin now recognizes font family names that contain quotes.
  • -
  • #7540 : Paste from Word introduces wrong spaces.
  • -
  • #7697 : Successive calls of the replace() method did not work after SCAYT context menu initialization.
  • -
  • Updated the following language files:
  • -
-

- CKEditor 3.5.3

-

- New features:

-
    -
  • #4890 : Added the possibility to edit the rel attribute for links.
  • -
  • #7004 : Allow loading plugin translations even if they are not present in the plugin definition.
  • -
  • #7315 : Firing the resize event on dialog window instances is now possible.
  • -
  • #7259 : Dialog window definition allows to specify initial width and height values.
  • -
  • #7131 : List item numbering is now supported on pasting from Microsoft Word.
  • -
-

- Fixed issues:

-
    -
  • #1272 : [WebKit] It is now possible to apply styles to collapsed selections in Safari and Chrome.
  • -
  • #7054 : The tooltips for special characters are now lowercased, making them more readable.
  • -
  • #7102 : "Replace DIV" sample did not work when double-clicking inside the formatted text.
  • -
  • #7088 : Loading of plugins failed on new instances of the editor after the Insert Special Character dialog window was used.
  • -
  • #6215 : Removal of inline styles now also removes overrides.
  • -
  • #6144 : Rich text drop-down lists have wrong height when toolbar is wrapped.
  • -
  • #6387 : AutoGrow may cause an error when editor instance is destroyed too quickly after a height change.
  • -
  • #6901 : Mixed direction content was not properly respected in a shared toolbar setting.
  • -
  • #4809 : Table-related tags are output in wrong order.
  • -
  • #7092 : Corrupted toolbar button state for inline style after switching to Source.
  • -
  • #6921 : Pasted text marked by SCAYT in one language is not re-checked if another spellchecking language is selected in the editor.
  • -
  • #6614 : Enhancement of the resize handle in RTL.
  • -
  • #5924 : Flash plugin now recognizes Flash content without an embed tag.
  • -
  • #4475 : Protected source in attributes and inline CSS text is not handled correctly.
  • -
  • #6984 : [FF] Trailing line breaks are lost in ENTER_BR.
  • -
  • #6987 : [IE] Text selection lost when calling editor::insertHtml from a dialog window in some situations.
  • -
  • #6865 : BiDi mirroring does not work when a text direction change is done through a dialog window.
  • -
  • #6966 : [IE] Unintended paragraph is created in an empty document in enterMode set for BR and DIV.
  • -
  • #7084 : SCAYT dialog window is now working properly with more than one editor instance in a page.
  • -
  • #6662 : [FF] List structure pasting error caused by a regression from FF3.5.x is now fixed.
  • -
  • #7300 : Link dialog window now loads numeric values correctly.
  • -
  • #7330 : New list items no longer inherit the value attribute from their sibling.
  • -
  • #7293 : The "Automatic" color button is now presented correctly without focus inside the editor.
  • -
  • #7018 : [IE] Toolbar drop-down lists did not have a border around them.
  • -
  • #7073 : Image dialog window no longer allows zero height and width value to be entered.
  • -
  • #7316 : [FF] Clicking on "Paste" button incorrectly breaks the line at the cursor position.
  • -
  • #6751 : Inline whitespaces are incorrectly stripped when pasting from Word.
  • -
  • #6236 : [IE] Fixing malformed nested list structure which was introduced by the Backspace key.
  • -
  • #6649 : [IE] Selection of the full table sometimes does not work.
  • -
  • #6946 : HTML parser is now able to fix orphan list items.
  • -
  • #6861 : Indenting a list item should retain the text direction.
  • -
  • #6938 : Outdenting a list item should retain the text direction.
  • -
  • #6849 : Correct Enter key behavior on list item.
  • -
  • #7113 : [WebKit] Undesired document scroll on click after scrolling.
  • -
  • #6491 : Undesired Image dialog window dimension lock reset on URL change.
  • -
  • #7284 : [FF Quirks] Maximize now works correctly.
  • -
  • #6609 : [IE9] Browser in high contrast mode is not properly detected.
  • -
  • #7222 : [WebKit] Impossible to apply a single style to a collapsed selection without giving the editor focus.
  • -
  • #7180 : [IE9] When using Kama skin and RTL layout dialog window buttons were not being displayed correctly.
  • -
  • #7182 : [IE9] When using Office2003/v2 skin and RTL layout dialog window shadows were corrupted.
  • -
  • #6913 : Invalid escape sequence (\b) was used in the PHP integration.
  • -
  • #5757 : [IE6] Text was not wrapping in the accessibility instructions dialog window.
  • -
  • [6604] : Xml.js and Ajax.js are now available as plugins ('xml' and 'ajax').
  • -
  • #7304 : Microsoft Word cleanup function is not always invoked when clicking on the "Paste From Word" button.
  • -
  • #6658 : [IE] Pasting text from Microsoft Word with one or more tabs between list items was failing.
  • -
  • #7433 : [IE9] ENTER_BR at the end of a block breaks due to an IE9 regression.
  • -
  • #7432 : [WebKit] Unable to create a new list in an empty document.
  • -
  • #4880 : CKEditor changes tag style inside HTML comment with cke_protected.
  • -
  • #7023 : [IE] JavaScript error when a Selection Field is inserted into a page.
  • -
  • #7034 : Inserting special characters into styled text.
  • -
  • #7132 : Paste toolbar buttons are becoming disabled.
  • -
  • #7138 : The api.html sample in Opera does not work as expected.
  • -
  • #7160 : Cannot paste the form element on top of the page.
  • -
  • #7171 : Double-clicking an image in non-editable content opens the editing dialog window.
  • -
  • #7455 : Extra line break is added automatically to the preformatted element.
  • -
  • #7467 : [Firefox] Extra br element is added in a nested list.
  • -
  • Updated the following language files:
      -
    • #7124 : Czech;
    • -
    • #7126 : French;
    • -
    • #7140 : Catalan;
    • -
    • #7215 : Faroese;
    • -
    • #7177 : Finnish;
    • -
    • #7163 : Norwegian (no and nb);
    • -
    • #7219 : Swedish;
    • -
    • #7183 : Afrikaans;
    • -
    • Hebrew;
    • -
    • Spanish;
    • -
    • Polish;
    • -
    • German;
    • -
  • -
-

- CKEditor 3.5.2

-

- Fixed issues:

-
    -
  • #7168 : [IE9] Destroying an editor instance throws an error.
  • -
  • #7169 : [IE9] Menu item has incorrect height.
  • -
  • #7178 : [IE9] Read-only attributes do not work in IE9.
  • -
  • #7181 : [IE9] Toolbar items are not aligned in v2 and Office2003 skins.
  • -
  • #7174 : [IE9] Elements path does not load correctly when the editor is switched back from Source to WYSIWYG.
  • -
-

- CKEditor 3.5.1

-

- New features:

-
    -
  • #6107 : It is now possible to remove block styles using Styles and Paragraph Format drop-down lists.
  • -
  • #5590 : Remove Format command works in collapsed selections.
  • -
  • #5755 : The dialog_buttonsOrder option now works in Internet Explorer.
  • -
  • #6869 : The data-cke-nostyle attribute (which was introduced for escaping the element from been influenced by the style system since 3.5) is deprecated in favor of the new data-nostyle attribute.
  • -
  • Revised sample pages with code examples and clarifications.
  • -
-

- Fixed issues:

-
    -
  • #5855 : Updating a link multiple times generates wrong href attribute.
  • -
  • #6166 : Error on Maximize command, when the toolbar button is not shown.
  • -
  • #6607 : Table cell "merge down" and "merge right" commands work only once.
  • -
  • #6228 : Merge down does not work, throwing a JavasSript error.
  • -
  • #6625 : BIDI: Mixed LTR/RTL direction causes incorrect behavior.
  • -
  • #6881 : IFrame capitalization is now consistent throughout labels.
  • -
  • #6686 : BIDI: [FF] When we apply explicit language direction to a numbered/bulleted list, the corresponding language direction toolbar icon is not highlighted.
  • -
  • #6566 : It is now possible to exit a blockquote using ENTER_BR.
  • -
  • #6868 : Partial (invalid) list structure crashes the editor on load.
  • -
  • #6804 : Buggy behavior when editing the legend element inside a fieldset.
  • -
  • #6724 : [IE7] Nested list display bug on empty list item.
  • -
  • #6715 : List items do not create paragraphs after the list placed in a table cell is removed.
  • -
  • #6695 : [Webkit] Display bug after the editor is restored from the full screen mode.
  • -
  • #6661 : [IE] Pre-formatted style does not preserve applied text direction.
  • -
  • #6655 : Using the editor resize grip causes small visual offsets.
  • -
  • #6604 : The div element should be used as a formatting block in ENTER_BR.
  • -
  • #6249 : BIDI: List item bullets are off viewport with RTL text direction.
  • -
  • #6610 : BIDI: ENTER_BR change direction in one line out of multiple.
  • -
  • #6872 : [IE] Link target field is not populated properly when no target is set.
  • -
  • #6880 : Samples: Added a user-friendly message for users on servers without PHP support.
  • -
  • #6628 : Setting config.enterMode from PHP fails.
  • -
  • #6278 : Comments were moved above the br tags.
  • -
  • #6687 : Empty tag should be removed in inline-style format.
  • -
  • #6645 : Allow to configure whether " (double quotes) characters should be encoded in the contents.
  • -
  • #6336 : IE: (double)clicking an input type="submit" button submitted the form.
  • -
  • #6646 : Context menu was not working for text inputs present in the initial content.
  • -
  • #6641 : Copying and pasting links inside the editor was not working.
  • -
  • #4208 : The disableObjectResizing setting now works in IE.
  • -
  • #6242 : [IE] Editing existing links with href of a relative path mangles containing text.
  • -
  • #5930 : [IE] Style definitions are no longer lowercased.
  • -
  • #5361 : Preview window's title should reflect the title tag in full page mode.
  • -
  • #5522 : [IE] In versions < 8 or compatibility mode, type="text" was missing in text fields.
  • -
  • #6126 : [IE] Avoid problems if there are two buttons named "submit".
  • -
  • #6791 : [IE7] Editor did not show up when the name of a replaced textarea matched the name of a meta tag in the page.
  • -
  • #5684 : [FF] When forcePasteAsPlainText is used, the cursor disappears after paste.
  • -
  • #6390 : Prevent toolbar dialog window buttons from being clicked twice.
  • -
  • #6684 : [Webkit] Toolbar buttons are not wrapping correctly when the editor is displayed inside a table.
  • -
  • #6703 : [IE] editor focus event not fired in an instance, when a dialog window closes.
  • -
  • #6873 : Difficult to drag the resize grip of the spell checker dialog window.
  • -
  • #6896 : [Webkit] Unable to paste into source area when the editor is maximized.
  • -
  • #6020 : The state of the Cut, Copy, and Paste toolbar now matches the state of the context menu buttons.
  • -
  • #5256 : JavaScript error thrown when percent (%) sign is used in image URL.
  • -
  • #6577 : [FF] Selection error when an element containing the editor instance is hidden.
  • -
  • #5500 : [IE] value attribute of text input dialog window field was missing.
  • -
  • #6665 : [IE] name field of Link dialog window was missing.
  • -
  • #6639 : Line-breaks inside pasted list item from Microsoft Word break the list structure.
  • -
  • #6909 : [IE] GIF icons of toolbar button from custom plugins are not diplayed in zoom level 100%.
  • -
  • #6860 : [FF] Double-clicking the placeholder element in order to open a Placeholder dialog window throws a JavaScript error.
  • -
  • #6630 : Empty pre elements are output differently in various browsers.
  • -
  • #6568 : Insert table row/column does not work with spanning.
  • -
  • #6735 : Inaccurate read-only selection detection.
  • -
  • #6728 : BIDI: Change direction does not work with list nested inside a blockquote.
  • -
  • #6432 : Inserting a table in place of a fully selected list results in a JavaScript error.
  • -
  • #6438 : [IE] Performance enhancement when typing inside an element with many child nodes.
  • -
  • #6970 : [IE] Dialog window shadows were presented inaccurately.
  • -
  • #6672 : [IE] Unnecessary br element is no longer inserted after a form.
  • -
  • #7087 : [FF] Sometimes it was not possible to move cursor out of link at the end of block.
  • -
  • Updated the following language files:
  • -
-

- CKEditor 3.5

-

- New features:

-
    -
  • #4090 : Full Adobe AIR support.
  • -
  • #5084 : Dialog windows are now resizable with a grip located in the footer.
  • -
  • #5755 : Introduced the dialog_buttonsOrder setting, making it possible to control the buttons order.
  • -
  • #4648 : Added the new iFrame plugin.
  • -
  • #6010 : The Automatic option of the font/background color panel now represents the real color.
  • -
  • #5654 : New "placeholder" plugin.
  • -
  • #6334 : CKEditor now uses HTML5's data-* attributes for its internal attributes.
  • -
  • #6103 : It's now possible to control the styling of inline read-only elements with the disableReadonlyStyling setting. It's also possible to avoid inline-styling any element by setting its "data-cke-nostyle" attribute to "1".
  • -
  • #5404 : fillEmptyBlocks configuration option of v2 is now available.
  • -
  • #5367 : New CKEDITOR.editor#insertText method (check api.html sample page for usages) is now provided to insert plain text into editor.
  • -
  • #5915 : New removeDialogTabs configuration option to hide certain dialog tabs.
  • -
-

- Fixed issues:

-
    -
  • #4821 : Icons in the toolbar were distorted with IE and zoom != 100%.
  • -
  • #5587 : Visual improvements in dialogs, reinforce field label on separate line.
  • -
  • #4652 : Now it's able to disable editor context menu by simply removing the "contextmenu" plugin.
  • -
  • #5599 : Labels of "specialchar" dialog are now translated.
  • -
  • #6419 : [IE] List creation by merging problem.
  • -
  • #6502 : Removed IE6 image preloading, which was used to defect the duplicate request of background images.
  • -
  • #6822 : Added labels to fake objects.
  • -
  • #6898 : [IE6] Toolbar icons becomes invisible in RTL.
  • -
  • Updated the following language files:
      -
    • Hebrew
    • -
  • -
-

- CKEditor 3.4.3

-

- Fixed issues:

-
    -
  • #6554 : [Webkit] cannot type after inserting Page Break.
  • -
  • #6569 : Indentation now complies with text direction of the only item.
  • -
  • #6579 : The jQuery adapter was not working properly and was turned on in incompatible environments.
  • -
  • #6644 : Restrict onmousedown handler to the toolbar area.
  • -
  • #6656 : Panelbutton's buttons became active when clicking on Source.
  • -
  • #6248 : Whitespaces (nbsp elements) were incorrectly added into empty table cells and list items.
  • -
  • #6575 : Tabs disappearing in Link dialog window after a specific sequence of actions.
  • -
  • #6510 : Margin mirroring does not respect style configuration.
  • -
  • #6471 : BIDI: Pressing Decrease Indent in an RTL bulleted list causes incorrect behaviour.
  • -
  • #6479 : BIDI: Language direction is not being preserved when pressing Enter after a Paragraph Format was applied.
  • -
  • #6670 : BIDI: Indent & List icons are not reversed when we apply RTL direction to a paragraph with any of Paragraph Formatting options.
  • -
  • #6640 : Floating panels are now being closed when switching modes.
  • -
  • #4790 : Remove list with multiple items in enterBr doesnot preserve line breaks.
  • -
  • #6297 : Floated inline elements are not taking part in behavior of blocks anymore.
  • -
  • #6171 : [Firefox] Opening rich content drop-down list scrolls host page to the top when editor has a vertical scrollbar.
  • -
  • #6330 : List markers from MS Word with Roman numbering are not preserved.
  • -
  • #6720 : Attribute protection might detect wrong elements.
  • -
  • #6580 : [IE9] Flash dialog window does not get filled up.
  • -
  • #6447 : Decreasing indentation of a list with indentClasses config does not work.
  • -
  • #5894 : Adding custom buttons at the bottom of a dialog window does not cause it to expand to include its contents.
  • -
  • #6513 : Wrong ARIA attributes created on list options of Styles drop-down list.
  • -
  • #6150 : [Safari] Color dialog window was broken.
  • -
  • #6747 : Full screen layout issue caused by page element focus outside editor.
  • -
  • #6779 : Clicking the body element on elements path turns the selection on and off immediately.
  • -
  • #6781 : [IE7] Dialog windows are broken with RTL, Office 2003 and v2 skins.
  • -
  • #6798 : [IE7] Dialog window buttons disappearing in RTL after dragging.
  • -
  • #6806 : [IE7] Dialog window buttons invisible on focus.
  • -
  • #6588 : Copy and paste adds <span> if SCAYT is enabled.
  • -
  • #6673 : IE Target combo for Image Link shown as blank even when we select <not set> as an option.
  • -
  • Updated the following language files:
  • -
-

- CKEditor 3.4.2

-

- New features:

-
    -
  • #5024 : Added a sample that shows how to output HTML that is valid for Flash.
  • -
-

- Fixed issues:

-
    -
  • #5237 : English text in dialogs' title was flipped when using RTL language (office2003 and v2 skins).
  • -
  • #6289 : Deleting nested table removed the parent cell.
  • -
  • #6341 : The editor contents now have the text cursor.
  • -
  • #6153 : Chrome: tab focus is wrong.
  • -
  • #6261 : Focus and infinite loop between multiple editors.
  • -
  • #6170 : Dedicated class names are removed from floating panels when opening another panel.
  • -
  • #6339 : Autogrow plugin now doesn't work on maximized editors.
  • -
  • #6237 : BIDI: Applying same language direction to all paragraphs not working.
  • -
  • #6353 : [IE] Resize was broken with office2003 and v2 skins.
  • -
  • #6375 : Avoiding errors when hiding the editor after the blur event.
  • -
  • #6133 : Styled paragraphs result on buggy list creation.
  • -
  • #5074 : Link target is not removed when changing to popup.
  • -
  • #6408 : [IE] Autogrow now works correctly on Quirks.
  • -
  • #6420 : [IE] The table properties dialog now correctly retrieves the caption text.
  • -
  • #6141 : It was impossible to outdent a list when indentOffset was set to 0.
  • -
  • #6377 : FF width and height are not shown for smiley in Image properties dialog.
  • -
  • #5399 : Lists pasted from Word do not maintain their nesting.
  • -
  • #6225 : [FF] Cannot transform several lines to list with enterMode BR.
  • -
  • #6467 : [FF] It is now possible to disable the plugin command on "mode" event.
  • -
  • #6461 : Attributes are now being kept when changing block formatting.
  • -
  • #6226 : BIDI: Language direction applied to a Paragraph is removed when we apply one of Paragraph formatting options.
  • -
  • #5395 : [Opera] Native context menu incorrectly opened after Opera 10.2.
  • -
  • #6444 : [Opera] Close panels and dialogs don't return focus to wysiwyg frame.
  • -
  • #6332 : IE: V2 skin bottom dialog's border broken.
  • -
  • #5646 : Parser incorrectly removes inline element when there's only one comment node enclosed.
  • -
  • #6189 : Minor code size reduction.
  • -
  • #5045 : uiColor behaved wrong if multiple editors were used with period in their names.
  • -
  • #5766 : Config entry "ignoreEmptyParagraph" should only remove one single empty paragraph in document.
  • -
  • #5931 : Unable to apply inline style because of nested elements with same style name.
  • -
  • #6083 : Dialog close sometimes cause collapsed editor selection before the insertion.
  • -
  • #6253 : BIDI: creating a Numbered/Bulleted list causing improper behavior on bidi.
  • -
  • #4023 : [Opera] Maximize plugin.
  • -
  • #6403 : [Opera] Font name options are not correctly marked in dropdown list.
  • -
  • #4534 : [Opera] Arrow key to navigate through combo list has side effects of window scrolling.
  • -
  • #6534 : [Opera] Menu key brings up both CKEditor and browser context menu.
  • -
  • #6534 : [Opera] Menu key brings up both CKEditor and browser context menu.
  • -
  • #6416 : [IE9] Unable to make text selection with mouse in source area.
  • -
  • #6417 : [IE9] Context menu opens at the upper-left corner always.
  • -
  • #6501 : [IE9] Context menu item layout is broken.
  • -
  • #6099 : BIDI: when we apply explicit language direction to Numbered/Bulleted List the corresponding BIDI Tool bar icon is not highlighted in the Toolbar.
  • -
  • #6100 : BIDI: when we change Table language direction indentation of text in Table cells is not applied correctly.
  • -
  • #6376 : BIDI: buttons should not toggle the base language direction.
  • -
  • #6235 : BIDI: Applying direction to multi-paragraph selection within a div.
  • -
  • #6187 : [IE6] Multi-instance loading produces 404s on background images.
  • -
  • #5446 : Setting config.filebrowserImageBrowseUrl results in displaying also Browser Server on links.
  • -
  • #5626 : CKeditor 3.2.1 : html content attached makes ckeditor crash the browser FF/IE.
  • -
  • #6508 : BiDi: Margin mirroring logic doesn't honor CSS direction.
  • -
  • #6043 : BIDI: When we apply RTL direction to a right aligned Paragraph, Paragraph is not moved to the left & Alignment of Paragraph is not changed.
  • -
  • #6485 : BIDI: When direction is applied on partial selected list, the style is been incorrectly applied to the entire list.
  • -
  • #6087 : Cursor of input fields in dialog isn't visible in RTL.
  • -
  • #5595 : Extra leading spaces added in preformatted block.
  • -
  • #6094 : Match full word option doesn't stop on block boundaries.
  • -
  • #5730 : [Safari] Continual pastes (holding paste key) breaks document contents.
  • -
  • #5850 : [IE] Inline style misbehaviors at the beginning of numbered/bulleted list.
  • -
  • Updated the following language files:
      -
    • #6427 : Ukrainian;
    • -
    • #6464 : Finnish;
    • -
    • Hebrew;
    • -
  • -
-

- CKEditor 3.4.1

-

- New features:

- -

- Fixed issues:

-
    -
  • #6027 : Modifying Table Properties by selecting more than one cell caused issues.
  • -
  • #6146 : IE: Floating panels were being opened in the wrong place in RTL pages with horizontal scrollbars.
  • -
  • #6055 : The timestamp is now added only once to each loaded file.
  • -
  • #6097 : The bookmarks now use the right name.
  • -
  • #5717 : Removed the scayt_contextMenuOntop setting and the SCAYT context menu options are always on top.
  • -
  • #5956 : [FF] It was impossible to create an editor inside an hidden container.
  • -
  • #5753 : It was impossible to have a default value for the name field in the select dialog.
  • -
  • #6041 : BIDI: Direction of Increase Indent & Decrease Indent icons are not reversed after changing Lang direction to RTL.
  • -
  • #6138 : List indentation is not working.
  • -
  • #5649 : Image dialog too wide when many styles are set.
  • -
  • #5715 : Cell color picker dialog returns focus to document.
  • -
  • #6108 : Fixed div style.
  • -
  • #5336 : Remove object style.
  • -
  • #6155 : [[FF]] Modifying Table Header Properties by selecting first Row, causing several issues.
  • -
  • #6163 : Focus not going to Tabs in Image dialog when we went to Edit the Image.
  • -
  • #6177 : IE we can't start Numbered/Bulleted list on a Empty page.
  • -
  • #6034 : Horizontal Alignment applied to Table cell is not updated correctly in the Toolbar.
  • -
  • #6112 : BIDI: Alignment set to text in Table cell is not shown in the Tool bar when we press Enter to start a new Paragraph.
  • -
  • #6117 : BIDI: Language direction is changing when we come out of Numbered/Bulleted list.
  • -
  • #6182 : Language Direction field on the Advanced tab of Table Properties dialog has a fixed pixel width.
  • -
  • #5487 : Fullpage writer problem with line-break.
  • -
  • #6197 : The CKEDITOR.loader base path auto-detection was not working with the _source folder.
  • -
  • #6240 : Font Names & Font Sizes should be shown Left Align even for RTL Languages.
  • -
  • #5975 : Page-break should have proper Alt Text instead of Unknown object. so that JAWS reads it properly.
  • -
  • #6255 : Inserting a page break as the first node triggered an error.
  • -
  • #6188 : [IE7] Automatic color button had the wrong cursor.
  • -
  • #6129 : The show blocks' labels are now shown in the right for RTL languages.
  • -
  • #5421 : &shy; entity not converted when config.entities=false.
  • -
  • #5769 : xhtml code generation problem &nbsp; instead of &#160; (htmlentities, entities,entities_additional,..., configuration).
  • -
  • #4472 : [FF3] Browser window scrolls to loaded CKEditor.
  • -
  • #6230 : Fixed invalid parameter count for setTimeout function call.
  • -
  • #5335 : Several lines' formatted data will be merged to one line when we apply Numbers/Bullets.
  • -
  • #5353 : wrong width of editor after resize() called in Firefox 3.6.
  • -
  • #5778 : [IE] Unwanted scroll on first mouse right-click.
  • -
  • #5218 : [FF] Copy/paste of an image from same domain changed URL to relative URL.
  • -
  • #6265 : Popup window properties were visible in the link dialog's target tab when nothing was selected.
  • -
  • #6075 : [FF] Newly created links didn't fill in information on edit.
  • -
  • #6183 : The toolbar panels options sometimes had the contents' link color.
  • -
  • #6192 : [WebKit] Inserting smileys was not working because of editor focus issues.
  • -
  • #6178 : [WebKit] Inserting elements by code was failing if the editor didn't receive the focus first.
  • -
  • #6179 : [WebKit] The Image dialog was not working if the editor didn't receive the focus first.
  • -
  • #4657 : [Opera] Styles where not working with collapsed selections.
  • -
  • #5839 : "Insert row after" was removing the ids of the elements from the clicked row.
  • -
  • #6315 : DIV plugin TT #2885 regression.
  • -
  • Updated the following language files:
  • -
-

- CKEditor 3.4

-

- Fixed issues:

-
    -
  • #6118 : Initial focus is now set to the tabs in the table properties dialog.
  • -
  • #6135 : The dialogadvtab plugin now uses the correct label.
  • -
  • #6125 : Focus was lost after applying commands in Opera.
  • -
  • #6137 : The table dialog was missing the default width value on second opening.
  • -
-

- CKEditor 3.4 Beta

-

- New features:

-
    -
  • #5909 : New BiDi feature, making it possible to switch the base language direction of block elements.
  • -
  • #5268 : Introducing the "tableresize" plugin, which makes it possible to resize tables columns by mouse drag. It's not enabled by default, so it must be enabled in the configurations file.
  • -
  • #979 : New enableTabKeyTools configuration to allow using the TAB key to navigate through table cells.
  • -
  • #4606 : Introduce the "autogrow" plugin, which makes the editor resize automatically, based on the contents size.
  • -
  • #5737 : Added support for the HTML5 contenteditable attribute, making it possible to define read only regions into the editor contents.
  • -
  • #5418 : New "Advanced" tab introduced on the Table Properties dialog. It's based on the new dialogadvtab plugin.
  • -
  • #6082 : Introduced the useComputedState setting, making it possible to control whether toolbar features, like alignment and direction, should reflect the "computed" selection states, even when the effective feature value is not applied.
  • -
-

- Fixed issues:

-
    -
  • #5911 : BiDi: List items should support and retain correct base language direction
  • -
  • #5689 : Make it possible to run CKEditor inside of Firefox chrome.
  • -
  • #6042 : It wasn't possible to align a paragraph with the dir attribute to the opposite direction.
  • -
  • #6058 : Fixed a small style glitch with file upload fields in IE+Quirks.
  • -
-

- CKEditor 3.3.2

-

- New features:

-
    -
  • #5882 : Introduce the dialog#selectPage event, replicating the OnDialogTabChange feature available in FCKeditor 2.
  • -
  • #5927 : The native controls in ui.dialog.elements can be styled with the controlStyle definition.
  • -
-

- Fixed issues:

-
    -
  • #1644 : Removed references to cursor:hand in the stylesheets.
  • -
  • #5411 : Anchor, hidden fields and Page-Break objects can no longer be resized.
  • -
  • #5456 : Initial focus incorect in api_dialog sample page.
  • -
  • #5628 : Incorrect <pre> siblings merging.
  • -
  • #5829 : Adding validation for start number field in list style dialog.
  • -
  • #5845 : Context menu on empty list item loses selection.
  • -
  • #5860 : [IE] > in attribute values are incorrectly escaped.
  • -
  • #5905 : SCAYT is not any more enabled by default.
  • -
  • #5736 : Improved the text generated for mailto: links if no text was selected.
  • -
  • #4779 : Adjust resize_minWidth and resize_minHeight if smaller than actual dimensions.
  • -
  • #5687 : Navigation through colors is now compatible with RTL.
  • -
  • #4615 : [IE] Text fields are no longer disrupted in dialog with RTL.
  • -
  • #5887 : The number of columns in the smileys table is now configurable via the smiley_columns setting.
  • -
  • #5100 : It was possible to drag&drop some elements like context menu items or dropdown entries.
  • -
  • #5933 : Text color and background color panels don't have scrollbars anymore under office2003 and v2 skins.
  • -
  • #5943 : An error is no longer generated when using percent or pixel values in the image dialog.
  • -
  • #5951 : Avoid problems with security systems due to the usage of UniversalXPConnect.
  • -
  • #5441 : Avoid errors if the editor instance is removed from the DOM before calling its destroy() method.
  • -
  • #4997 : Provide better access to the native input in the ui.dialog.file element.
  • -
  • #5914 : Modified the Smileys dialog to make active only the images and not their borders.
  • -
  • #5565 : The scrollbar does not behaves erratically when opening a rich combo in RTL page.
  • -
  • #5843 : In CKEditor 3.3: When we set the focus in the 'instanceReady' event, FF3.6 is giving js error.
  • -
  • #5902 : paste and pastetext dialogs cannot be skinned easily.
  • -
  • #5959 : Dialog auto focus does not check for hidden tabs.
  • -
  • #5415 : Undo not working when we change the Table Properties for the table on a saved page.
  • -
  • #5435 : IE: we can't start Numbered/Bulleted list in Tables by Clicking on Insert/Remove Numbers/Bullets Icon.
  • -
  • #5832 : The JQuery adapter sample is not working properly with SSL.
  • -
  • #5728 : Text field & Upload Button in Upload Tab of Image Properties dialog are not shown Properly in Arabic.
  • -
  • #5436 : IE: Cursor goes to next Table Cell after we insert a Smiley in the Table Cell.
  • -
  • #5580 : Maximize does not work properly in the Office 2003 and V2 skins.
  • -
  • #5495 : The link dialog was breaking the undo system on some situations.
  • -
  • #5775 : Required field's label to contain a CSS class to allow it to be styled differently.
  • -
  • #5999 : Table dialog rows and columns fields are now marked as required.
  • -
  • #5693 : baseHref detection in the flash dialog now works correctly.
  • -
  • #5690 : Table cell's width attribute is now respected properly.
  • -
  • #5819 : Introducing the new removeFormatCleanup event and making sure remove format doesn't break the showborder plugin.
  • -
  • #5558 : After pasting on WebKit based browsers the editor now scrolls to the end of the pasted content.
  • -
  • #5799 : Correct plugin dependencies for the liststyle plugin with contextMenu and dialog.
  • -
  • #5436 : IE: The cursor was moving to the wrong position when inserting inline elements at the end of cells on tables.
  • -
  • #5984 : Firefox: CTRL+HOME was creating an unwanted empty paragraph at the start of the document.
  • -
  • #5634 : IE: It was needed to click twice in the editor to make it editable on some situations.
  • -
  • #5338 : Pasting from Open Office could lead on error.
  • -
  • #5224 : Some invalid markup could break the editor.
  • -
  • #5455 : It was not possible to remove formatting from pasted content on specific cases.
  • -
  • #5735 : IE: The editor was having focus issues when the previous selection got hidden by scroll operations.
  • -
  • #5563 : Firefox: The disableObjectResizing and disableNativeTableHandles settings stopped working.
  • -
  • #5781 : Firefox: Editing was not possible in an empty document.
  • -
  • #5293 : Firefox: Unwanted BR tags were being left in the editor output when it should be empty.
  • -
  • #5280 : IE: Scrollbars where reacting improperly when clicking in the bar space.
  • -
  • #5840 : Some dialog access keys are conflicting with "Ctrl + A", select all text behavior on text input.
  • -
  • #6059 : Changing list type didn't preserve the list's attributes.
  • -
  • #5193 : In Firefox, the element path options had the text cursor instead of the arrow.
  • -
  • #6073 : The list context menu was showing the wrong option when in a mixed list hierarchy.
  • -
  • #6074 : The Insert Table Column command was duplicating the selected column cells ids.
  • -
  • #6066 : The toolbar combos had the text cursor instead of the arrow.
  • -
  • #6062 : The toolbar buttons had the text cursor instead of the arrow.
  • -
  • #6068 : [IE7] A few labels were hidden in a RTL language.
  • -
  • #6000 : Safari and Chrome where scrolling the contents to the top when moving the focus to the editor.
  • -
  • #6090 : IE: Textarea with selection inside causes Link dialog issues.
  • -
  • #5079 : Page break in lists move to above the list when you switch from WYSIWYG to HTML mode and back.
  • -
  • Updated the following language files:
      -
    • Chinese Simplified;
    • -
    • Hebrew;
    • -
    • #5962 : German;
    • -
    • #5645 : Portuguese;
    • -
    • #5797 : Turkish;
    • -
  • -
-

- CKEditor 3.3.1

-

- Fixed issues:

-
    -
  • #5780 : Text selection lost when opening some of the dialogs.
  • -
  • #5787 : Liststyle plugin wasn't packaged into the core (CKEDITOR.resourceManager.load exception).
  • -
  • #5637 : Fix wrong nesting that generated "<head> must be a child of <html>" warning in Webkit.
  • -
  • #5790 : Internal only attributes output on fullpage <html> tag.
  • -
  • #5761 : [IE] Color dialog matrix buttons are barely clickable in quirks mode.
  • -
  • #5759 : [IE] Clicking on the scrollbar and then on the host page causes error.
  • -
  • #5772 : List style dialog is missing tab page ids.
  • -
  • #5782 : [FF] Wysiwyg mode is broken by 'display' style changes on editor's parent DOM tree.
  • -
  • #5801 : [IE] contentEditable="false" doesn't apply in effect on inline-elements.
  • -
  • #5794 : Empty find matching twice results in JavaScript error.
  • -
  • #5732 : If it isn't possible to connect to the SCAYT servers the dialogs might hang in Firefox. Fix for Firefox>=3.6.
  • -
  • #5807 : [FF2] New page command results in uneditable document.
  • -
  • #5807 : [FF2] SCAYT plugin is disabled in Firefox2 due to selection interference.
  • -
  • #5772 : [IE] Some numbered list style types are not supported by IE6/7 and causes JavaScript error.
  • -
-

- CKEditor 3.3

-

- New features:

-
    -
  • #635 : The properties dialog will now open when double clicking on objects.
  • -
  • #3893 : It's now possible to indent/outdent lists when selecting the first list item.
  • -
  • #4968 : The contentsLangDirection setting now has a default value 'ui' which inherit language direction from the editor UI language.
  • -
  • #4649 : The color picker dialog is now accessible.
  • -
  • #3593 : The editing area is now enabled by contentEditable="true" instead of designMode="on" to allow creating uneditable content elements in all browsers.
  • -
  • #4056 : Hidden fields will now be displayed as fake element just like in FCKeditor 2.
  • -
-

- CKEditor 3.2.2

-

- New features:

-
    -
  • The SCAYT spell checker is now enabled by default through the autoStartup setting.
  • -
  • #5631 : The SCAYT context menu options can now be reorganized through the scayt_contextMenuItemsOrder setting.
  • -
  • #4231 : Introducing the resize_dir setting, to be able to restrict manual resizing of the editor to only one direction (horizontal/vertical).
  • -
  • #5479 : Introducing the classic ASP integration files and samples.
  • -
  • #5024 : Added samples (HTML and XHTML) to show how to output HTML using fonts and other attributes instead of styles.
  • -
  • #4358 : Introduced the List Properties dialog.
  • -
  • #5485 : Adding the contentsLanguage configuration option to be able to set the language for the editor contents.
  • -
-

- Fixed issues:

-
    -
  • #5330 : Corrected detection of CTRL and META keys in Macs for the context menu.
  • -
  • #5434 : Fixed access denied issues with IE when accessing web sites through IPv6 IP addresses.
  • -
  • #4476 : [IE] Inaccessible empty list item contains sub list.
  • -
  • #4881 : [IE] Selection range broken because of cutting a single control type element from it.
  • -
  • #5505 : Image dialog throw JavaScript error when click close dialog before preview area is loading.
  • -
  • #5144 : [Chrome] Paste in Webkit sometimes leaves extra 'div' element.
  • -
  • #5021 : [Firefox] Typing in empty document start from second line when enterMode = CKEDITOR.ENTER_BR.
  • -
  • #5416 : [IE] Delete table throws a error when enterMode = CKEDITOR.ENTER_BR.
  • -
  • #4459 : [IE] Select element is penetrating the maximized editor in IE6.
  • -
  • #5559 : [IE] The first call to setData is affected by iframe cache when loading the wysiwyg mode.
  • -
  • #5567 : [IE] Remove inline styles in some case doesn't join identical siblings.
  • -
  • #5450 : [FireFox] Press ENTER on 'replace' button result wrong.
  • -
  • #5121 : Recognizes the <br /> tag as a separator when apply block styles and enterMode = CKEDITOR.ENTER_BR.
  • -
  • #5575 : CKEDITOR.replaceAll should consider all kind of white spaces between class names.
  • -
  • #5582 : Prevent the default behavior when click the 'x' button to close dialog box.
  • -
  • #5584 : ENTER key with forceEnterMode turns on doesn't inherit current block attributes.
  • -
  • #4797 : [Opera] Press ENTER key in dialog fields to close throws JavaScript error.
  • -
  • #5578 : Add flash fake element align property when switch mode (source to wysiwyg).
  • -
  • #5577 : Update delete column behavior when choose multiple cells in the same column.
  • -
  • #5512 : Open context menu with SHIFT+F10 doesn't get correct editor selection.
  • -
  • #5433 : English protocol text directions in Link dialog are not incorrect in 'rtl' UI languages.
  • -
  • #5553 : Paste dialog clipboard area text direction is incorrect for 'rtl' content languages.
  • -
  • #4734 : Font size resets when font name is changed in an empty numbered list.
  • -
  • #5237 : English text in dialogs' title is flipped when using RTL language.
  • -
  • #3257 : Create list doesn't keep blocks as headings.
  • -
  • #5111 : [Firefox] JAWS doesn't respect PC cursor mode (application role) on toolbar.
  • -
  • #5530 : Page break for printing can't be removed with undo.
  • -
  • #5381 : Unable to place cursor between two paragraphs in body.
  • -
  • #5568 : [IE6/7] Selecting a entire table cell changes the original range.
  • -
  • #5623 : [Firefox] Apply style that edges another inline style result incorrect.
  • -
  • #5586 : [Firefox] Maximize the second editor ruins full screen mode.
  • -
  • #5617 : HTML filter system does not allow two 'text' filter rules.
  • -
  • #5663 : General memory clean up after destroying last instance.
  • -
  • #5461 : [IE] Fix Paste from Word dialog doesn't accept imput problem.
  • -
  • #5676 : Make color buttons use RRGGBB instead of RGB for better compatibility with IE.
  • -
  • #4948 : [Safari] Select the first/last cell of table to open context menu may lead to undetected table.
  • -
  • #5591 : [Firefox] Select a list item makes selected element broken.
  • -
  • #5667 : Pasting in a RTL page content causes shows up the horizontal scrollbar.
  • -
  • #5688 : Duplicate ids are used in dialog definition.
  • -
  • #5719 : [IE] 'change' dialog event should not be triggered when dialog is already closed.
  • -
  • #5747 : [IE] Error thrown when IE input field editing mode is turned on.
  • -
  • #5516 : IE8: Toolbar buttons have higher bottom padding.
  • -
  • #5402 : SHIFT-ENTER could now be used to exit from preformat block.
  • -
  • SCAYT plugin related:
      -
    • #4836 : Using SCAYT result in fragile elements when applying inline styles.
    • -
    • #5425 : [Opera] Disable SCAYT plugin for Opera browser.
    • -
    • #5632 : SCAYT word marker is not visible on text with background-color set.
    • -
    • #4125 : Remove Format command incorrectly removes SCAYT word markers.
    • -
    • #5671 : SCAYT bootstrap script could be added multiple times unnecessarily.
    • -
    • #5573 : SCAYT move cursor position after insert element into marked word text.
    • -
    • #5546 : SCAYT interferes with undo/redo commands.
    • -
    • #5570 : [IE] First enabling SCAYT blind cursor in editor.
    • -
    • #5741 : Enable SCAYT cause error in multiple editor instances.
    • -
    • #5744 : Remove editor with SCAYT enabled in source mode throws error.
    • -
  • -
  • Updated the following language files:
  • -
-

- CKEditor 3.2.1

-

- New features:

-
    -
  • #4478 : Enable the SelectAll command in source mode.
  • -
  • #5150 : Allow names in the CKEDITOR.config.colorButton_colors setting.
  • -
  • #4810 : Adding configuration option for image dialog preview area filling text.
  • -
  • #536 : Object style now could be applied on any parent element of current selection.
  • -
  • #5290 : Unified stylesSet loading removing dependencies from the styles combo. - Now the configuration entry is named 'config.stylesSet' instead of config.stylesCombo_stylesSet and the default location - is under the 'styles' plugin instead of 'stylescombo'.
  • -
  • #5352 : Allow to define the stylesSet array in the config object for the editor.
  • -
  • #5302 : Adding config option "forceEnterMode".
  • -
  • #5216 : Extend CKEDITOR.appendTo to allow a data parameter for the initial value.
  • -
  • #5024 : Added sample to show how to output XHTML and avoid deprecated tags.
  • -
-

- Fixed issues:

-
    -
  • #5152 : Indentation using class attribute doesn't work properly.
  • -
  • #4682 : It wasn't possible to edit block elements in IE that had styles like width, height or float.
  • -
  • #4750 : Correcting default order of buttons layout in dialogs on Mac.
  • -
  • #4932 : Fixed collapse button not clickable on simple toolbar.
  • -
  • #5228 : Link dialog is automatically changes protocol when URLs that starts with '?'.
  • -
  • #4877 : Fixed CKEditor displays source code in one long line (IE quirks mode + office2003 skin).
  • -
  • #5132 : Apply inline style leaks into sibling words which are seperated spaces.
  • -
  • #3599 : Background color style on sized text displayed as narrow band behind.
  • -
  • #4661 : Translation missing in link dialog.
  • -
  • #5240 : Flash alignment property is not presented visually on fake element.
  • -
  • #4910 : Pasting in IE scrolls document to the end.
  • -
  • #5041 : Table summary attribute can't be removed with dialog.
  • -
  • #5124 : All inline styles cannot be applied on empty spaces.
  • -
  • #3570 : SCAYT marker shouldn't appear inside elements path bar.
  • -
  • #4553 : Dirty check result incorrect when editor document is empty.
  • -
  • #4555 : Unreleased memory when editor is created and destroyed.
  • -
  • #5118 : Arrow keys navigation in RTL languages is incorrect.
  • -
  • #4721 : Remove attribute 'value' of checkbox in IE.
  • -
  • #5278 : IE: Add validation to check for bad window names of popup window.
  • -
  • #5171 : Dialogs contains lists don't have proper voice labels.
  • -
  • #4791 : Can't place cursor inside a form that end with a checkbox/radio.
  • -
  • #4479 : StylesCombo doesn't reflect the selection state until it's first opened.
  • -
  • #4717 : 'Unlink' and 'Outdent' command buttons should be disabled on editor startup.
  • -
  • #5119 : Disabled command buttons are not being properly styled when focused.
  • -
  • #5307 : Hide dialog page cause problem when there's two tab pages remain.
  • -
  • #5343 : Active list item ARIA role is wrongly placed.
  • -
  • #3599 : Background color style applying to text with font size style has been narrowly rendered.
  • -
  • #4711 : Line break character inside preformatted text makes it unable to type text at the end of previous line.
  • -
  • #4829 : [IE] Apply style from combo has wrong result on manually created selection.
  • -
  • #4830 : Retrieving selected element isn't always right, especially selecting using keyboard (SHIFT+ARROW).
  • -
  • #5128 : Element attribute inside preformatted text is corrupted when converting to other blocks.
  • -
  • #5190 : Template list entry shouldn't gain initial focus open templates list dialog opens.
  • -
  • #5238 : Menu button doesn't display arrow icon in high-contrast mode.
  • -
  • #3576 : Non-attributed element of the same name with the applied style is incorrectly removed.
  • -
  • #5221 : Insert table into empty document cause JavaScript error thrown.
  • -
  • #5242 : Apply 'automatic' color option of text color incorrectly removes background-color style.
  • -
  • #4719 : IE does not escape attribute values properly.
  • -
  • #5170 : Firefox does not insert text into styled element properly.
  • -
  • #4026 : Office2003 skin has no toolbar button borders in High Contrast in IE7.
  • -
  • #4348 : There should have exception thrown when 'CKEDITOR_BASEPATH' couldn't be figured out automatically.
  • -
  • #5364 : Focus may not be put into dialog correctly when dialog skin file is loading slow.
  • -
  • #4016 : Justify the layout of forms select dialog in Chrome and IE7.
  • -
  • #5373 : Variable 'pathBlockElements' defines wrong items in CKEDITOR.dom.elementPath.
  • -
  • #5082 : Ctrl key should be described as Cmd key on Mac.
  • -
  • #5182 : Context menu is not been announced correctly by ATs.
  • -
  • #4898 : Can't navigate outside table under the last paragraph of document.
  • -
  • #4950 : List commands could compromise list item attribute and styles.
  • -
  • #5018 : Find result highlighting remove normal font color styles unintentionally.
  • -
  • #5376 : Unable to exit list from within a empty block under list item.
  • -
  • #5145 : Various SCAYT fixes.
  • -
  • #5319 : Match whole word doesn't work anymore after replacement has happened.
  • -
  • #5363 : 'title' attribute now presents on all editor iframes.
  • -
  • #5374 : Unable to toggle inline style when the selection starts at the linefeed of the previous paragraph.
  • -
  • #4513 : Selected link element is not always correctly detected when using keyboard arrows to perform such selection.
  • -
  • #5372 : Newly created sub list should inherit nothing from the original (parent) list, except the list type.
  • -
  • #5274 : [IE6] Templates preview image is displayed in wrong size.
  • -
  • #5292 : Preview in font size and family doesn't work with custom styles.
  • -
  • #5396 : Selection is lost when use cell properties dialog to change cell type to header.
  • -
  • #4082 : [IE+Quirks] Preview text in the image dialog is not wrapping.
  • -
  • #4197 : Fixing format combo don't hide when editor blur on Safari.
  • -
  • #5401 : The context menu break layout with Office2003 and V2 skin on IE quirks mode.
  • -
  • #4825 : Fixing browser context menu is opened when clicking right mouse button twice.
  • -
  • #5356 : The SCAYT dialog had issues with Prototype enabled pages.
  • -
  • #5266 : SCAYT was disturbing the rendering of TH elements.
  • -
  • #4688 : SCAYT was interfering on checkDirty.
  • -
  • #5429 : High Contrast mode was being mistakenly detected when loading the editor through Dojo's xhrGet.
  • -
  • #5221 : Range is mangled when making collapsed selection in an empty paragraph.
  • -
  • #5261 : Config option 'scayt_autoStartup' slow down editor loading.
  • -
  • #3846 : Google Chrome - No Img properties after inserting.
  • -
  • #5465 : ShiftEnter=DIV doesn't respect list item when pressing ENTER at end of list item.
  • -
  • #5454 : After replaced success, the popup window couldn't be closed and a js error occured.
  • -
  • #4784 : Incorrect cursor position after delete table cells.
  • -
  • #5149 : [FF] Cursor disappears after maximize when the editor has focus.
  • -
  • #5220 : DTD now shows tolerance to <style> appear inside content.
  • -
  • #5440 : Mobile browsers (iPhone, Android...) are marked as incompatible as they don't support editing features.
  • -
  • #5504 : [IE6/7] 'Paste' dialog will always get opened even when user allows the clipboard access dialog when using 'Paste' button.
  • -
  • Updated the following language files:
  • -
-

- CKEditor 3.2

-

- New features:

-
    -
  • Several accessibility enhancements:
      -
    • #4502 : The editor accessibility is now totally based on WAI-ARIA.
    • -
    • #5015 : Adding accessibility help dialog plugin.
    • -
    • #5014 : Keyboard navigation compliance with screen reader suggested keys.
    • -
    • #4595 : Better accessibility in the Templates dialog.
    • -
    • #3389 : Esc/Arrow Key now works for closing sub menu.
    • -
  • -
  • #4973 : The Style field in the Div Container dialog is now loading the styles defined in the default styleset used by the Styles toolbar combo.
  • -
-

- Fixed issues:

-
    -
  • #5049 : Form Field list command in JAWS incorrectly lists extra fields.
  • -
  • #5008 : Lock/Unlock ratio buttons in the Image dialog was poorly designed in High Contrast mode.
  • -
  • #3980 : All labels in dialogs now use <label> instead of <div>.
  • -
  • #5213 : Reorganization of some entries in the language files to make it more consistent.
  • -
  • #5199 : In IE, single row toolbars didn't have the bottom padding.
  • -
-

- CKEditor 3.1.1

-

- New features:

-
    -
  • #4399 : Improved support for external file browsers by allowing executing a callback function.
  • -
  • #4612 : The text of links is now updated if it matches the URL to which it points to.
  • -
  • #4936 : New localization support for the Welsh language.
  • -
-

- Fixed issues:

-
    -
  • #4272 : Kama skin toolbar was broken in IE+Quirks+RTL.
  • -
  • #4987 : Changed the url which is called by the Browser Server button in the Link tab of Image Properties dialog.
  • -
  • #5030 : The CKEDITOR.timestamp wasn't been appended to the skin.js file.
  • -
  • #4993 : Removed the float style from images when the user selects 'not set' for alignment.
  • -
  • #4944 : Fixed a bug where nested list structures with inconsequent levels were not being pasted correctly from MS Word.
  • -
  • #4637 : Table cells' 'nowrap' attribute was not being loaded by the cell property dialog. Thanks to pomu0325.
  • -
  • #4724 : Using the mouse to insert a link in IE might create incorrect results.
  • -
  • #4640 : Small optimizations for the fileBrowser plugin.
  • -
  • #4583 : The "Target Frame Name" field is now visible when target is set to 'frame' only.
  • -
  • #4863 : Fixing iframedialog's height doesn't stretch to 100% (except IE Quirks).
  • -
  • #4964 : The BACKSPACE key positioning was not correct in some cases with Firefox.
  • -
  • #4980 : Setting border, vspace and hspace of images to zero was not working.
  • -
  • #4773 : The fileBrowser plugin was overwriting onClick functions eventually defined on fileButton elements.
  • -
  • #4731 : The clipboard plugin was missing a reference to the dialog plugin.
  • -
  • #5051 : The about plugin was missing a reference to the dialog plugin.
  • -
  • #5146 : The wsc plugin was missing a reference to the dialog plugin.
  • -
  • #4632 : The print command will now properly break on the insertion point of page break for printing.
  • -
  • #4862 : The English (United Kingdom) language file has been renamed to en-gb.js.
  • -
  • #4618 : Selecting an emoticon or the lock and reset buttons in the image dialog fired the onBeforeUnload event in IE.
  • -
  • #4678 : It was not possible to set tables' width to empty value.
  • -
  • #5012 : Fixed dependency issues with the menu plugin.
  • -
  • #5040 : The editor will not properly ignore font related settings that have extra item separators (semi-colons).
  • -
  • #4046 : Justify should respect config.enterMode = CKEDITOR.ENTER_BR.
  • -
  • #4622 : Inserting tables multiple times was corrupting the undo system.
  • -
  • #4647 : [IE] Selection on an element within positioned container is lost after open context-menu then click one menu item.
  • -
  • #4683 : Double-quote character in attribute values was not escaped in the editor output.
  • -
  • #4762 : [IE] Unexpected vertical-scrolling behavior happens whenever focus is moving out of editor in source mode.
  • -
  • #4772 : Text color was not being applied properly on links.
  • -
  • #4795 : [IE] Press 'Del' key on horizontal line or table result in error.
  • -
  • #4824 : [IE] <br/> at the very first table cell breaks the editor selection.
  • -
  • #4851 : [IE] Delete table rows with context-menu may cause error.
  • -
  • #4951 : Replacing text with empty string was throwing errors.
  • -
  • #4963 : Link dialog was not opening properly for e-mail type links.
  • -
  • #5043 : Removed the possibility of having an unwanted script tag being outputted with the editor contents.
  • -
  • #3678 : There were issues when editing links inside floating divs with IE.
  • -
  • #4763 : Pressing ENTER key with text selected was not deleting the text in some situations.
  • -
  • #5096 : Simple ampersand attribute value doesn't work for more than one occurrence.
  • -
  • #3494 : Context menu is too narrow in some translations.
  • -
  • #5005 : Fixed HTML errors in PHP samples.
  • -
  • #5123 : Fixed broken XHTML in User Interface Languages sample.
  • -
  • #4893 : Editor now understands table cell inline styles.
  • -
  • #4611 : Selection around <select> in editor doesn't cause error anymore.
  • -
  • #4886 : Extra BR tags were being created in the output HTML.
  • -
  • #4933 : Empty tags with BR were being left in the DOM.
  • -
  • #5127 : There were errors when removing dialog definition pages through code.
  • -
  • #4767 : CKEditor was not working when ckeditor_source.js is loaded in the <body> .
  • -
  • #5062 : Avoided security warning message when loading the wysiwyg area in IE6 under HTTPS.
  • -
  • #5135 : The TAB key will now behave properly when in Source mode.
  • -
  • #4988 : It wasn't possible to use forcePasteAsPlainText with Safari on Mac.
  • -
  • #5095 : Safari on Mac deleted the current selection in the editor when Edit menu was clicked.
  • -
  • #5140 : In High Contrast mode, arrows were now been displayed for menus with submenus.
  • -
  • #5163 : The undo system was not working on some specific cases.
  • -
  • #5162 : The ajax sample was throwing errors when loading data.
  • -
  • #4999 : The Template dialog was not generating an undo snapshot.
  • -
  • Updated the following language files:
  • -
-

- CKEditor 3.1

-

- New features:

-
    -
  • #4067 : Introduced the full page editing support (from <html> to </html>).
  • -
  • #4228 : Introduced the Shared Spaces feature.
  • -
  • #4379 : Introduced the new powerful pasting system and word cleanup procedure, including enhancements to the paste as plain text feature.
  • -
  • #2872 : Introduced the new native PHP API, the first standardized server side support.
  • -
  • #4210 : Added CKEditor plugin for jQuery.
  • -
  • #2885 : Added 'div' dialog and corresponding context menu options.
  • -
  • #4574 : Added the table merging tools and corresponding context menu options.
  • -
  • #4340 : Added the email protection option for link dialog.
  • -
  • #4463 : Added inline CSS support in all places where custom stylesheet could apply.
  • -
  • #3881 : Added color dialog for 'more color' option in color buttons.
  • -
  • #4341 : Added the 'showborder' plugin.
  • -
  • #4549 : Make the anti-cache query string configurable.
  • -
  • #4708 : Added the 'htmlEncodeOutput' config option.
  • -
  • #4342 : Introduced the bodyId and bodyClass settings to specify the id and class. to be used in the editing area at runtime.
  • -
  • #3401 : Introduced the baseHref setting so it's possible to set the URL to be used to resolve absolute and relative URLs in the contents.
  • -
  • #4729 : Added support to fake elements for comments.
  • -
-

- Fixed issues:

-
    -
  • #4707 : Fixed invalid link is requested in image preview.
  • -
  • #4461 : Fixed toolbar separator line along side combo enlarging the toolbar height.
  • -
  • #4596 : Fixed image re-size lock buttons aren't accessible in high-contrast mode.
  • -
  • #4676 : Fixed editing tables using table properties dialog overwrites original style values.
  • -
  • #4714 : Fixed IE6 JavaScript error when editing flash by commit 'Flash' dialog.
  • -
  • #3905 : Fixed 'wysiwyg' mode causes unauthenticated content warnings over SSL in FF 3.5.
  • -
  • #4768 : Fixed open context menu in IE throws js error when focus is not inside document.
  • -
  • #4822 : Fixed applying 'Headers' to existing table does not work in IE.
  • -
  • #4855 : Fixed toolbar doesn't wrap well for 'v2' skin in all browsers.
  • -
  • #4882 : Fixed auto detect paste from MS-Word is not working for Safari.
  • -
  • #4882 : Fixed unexpected margin style left behind on content cleaning up from MS-Word.
  • -
  • #4896 : Fixed paste nested list from MS-Word with measurement units set to cm is broken.
  • -
  • #4899 : Fixed unable to undo pre-formatted style.
  • -
  • #4900 : Fixed ratio-lock inconsistent between browsers.
  • -
  • #4901 : Fixed unable to edit any link with popup window's features in Firefox.
  • -
  • #4904 : Fixed when paste happen from dialog, it always throw JavaScript error.
  • -
  • #4905 : Fixed paste plain text result incorrect when content from dialog.
  • -
  • #4889 : Fixed unable to undo 'New Page' command after typing inside editor.
  • -
  • #4892 : Fixed table alignment style is not properly represented by the wrapping div.
  • -
  • #4918 : Fixed switching mode when maximized is showing background page contents.
  • -
-

- CKEditor 3.0.2

-

- New features:

-
    -
  • #4343 : Added the configuration option 'browserContextMenuOnCtrl' so it's possible to enable the default browser context menu by holding the CTRL key.
  • -
-

- Fixed issues:

-
    -
  • #4552 : Fixed float panel doesn't show up since editor instanced been destroyed once.
  • -
  • #3918 : Fixed fake object is editable with Image dialog.
  • -
  • #4053 : Fixed 'Form Properties' missing from context menu when selection collapsed inside form.
  • -
  • #4401 : Fixed customized by removing 'upload' tab page from 'Link dialog' cause JavaScript error.
  • -
  • #4477 : Adding missing tag names in object style elements.
  • -
  • #4567 : Fixed IE throw error when pressing BACKSPACE in source mode.
  • -
  • #4573 : Fixed 'IgnoreEmptyPargraph' config doesn't work with the config 'entities' is set to 'false'.
  • -
  • #4614 : Fixed attribute protection fails because of line-break.
  • -
  • #4546 : Fixed UIColor plugin doesn't work when editor id contains CSS selector preserved keywords.
  • -
  • #4609 : Fixed flash object is lost when loading data from outside editor.
  • -
  • #4625 : Fixed editor stays visible in a div with style 'visibility:hidden'.
  • -
  • #4621 : Fixed clicking below table caused an empty table been generated.
  • -
  • #3373 : Fixed empty context menu when there's no menu item at all.
  • -
  • #4473 : Fixed setting rules on the same element tag name throws error.
  • -
  • #4514 : Fixed press 'Back' button breaks wysiwyg editing mode is Firefox.
  • -
  • #4542 : Fixed unable to access buttons using tab key in Safari and Opera.
  • -
  • #4577 : Fixed relative link url is broken after opening 'Link' dialog.
  • -
  • #4597 : Fixed custom style with same attribute name but different attribute value doesn't work.
  • -
  • #4651 : Fixed 'Deleted' and 'Inserted' text style is not rendering in wysiwyg mode and is wrong is source mode.
  • -
  • #4654 : Fixed 'CKEDITOR.config.font_defaultLabel(fontSize_defaultLabel)' is not working.
  • -
  • #3950 : Fixed table column insertion incorrect when selecting empty cell area.
  • -
  • #3912 : Fixed UIColor not working in IE when page has more than 30+ editors.
  • -
  • #4031 : Fixed mouse cursor on toolbar combo has more than 3 shapes.
  • -
  • #4041 : Fixed open context menu on multiple cells to remove them result in only one removed.
  • -
  • #4185 : Fixed resize handler effect doesn't affect flash object on output.
  • -
  • #4196 : Fixed 'Remove Numbered/Bulleted List' on nested list doesn't work well on nested list.
  • -
  • #4200 : Fixed unable to insert 'password' type filed with attributes.
  • -
  • #4530 : Fixed context menu couldn't open in Opera.
  • -
  • #4536 : Fixed keyboard navigation doesn't work at all in IE quirks mode.
  • -
  • #4584 : Fixed updated link Target field is not updating when updating to certain values.
  • -
  • #4603 : Fixed unable to disable submenu items in contextmenu.
  • -
  • #4672 : Fixed unable to redo the insertion of horizontal line.
  • -
  • #4677 : Fixed 'Tab' key is trapped by hidden dialog elements.
  • -
  • #4073 : Fixed insert template with replace option could result in empty document.
  • -
  • #4455 : Fixed unable to start editing when image inside document not loaded.
  • -
  • #4517 : Fixed 'dialog_backgroundCoverColor' doesn't work on IE6.
  • -
  • #3165 : Fixed enter key in empty list item before nested one result in collapsed line.
  • -
  • #4527 : Fixed checkbox generate invalid 'checked' attribute.
  • -
  • #1659 : Fixed unable to click below content to start editing in IE with 'config.docType' setting to standard compliant.
  • -
  • #3933 : Fixed extra <br> left at the end of document when the last element is a table.
  • -
  • #4736 : Fixed PAGE UP and PAGE DOWN keys in standards mode are not working.
  • -
  • #4725 : Fixed hitting 'enter' before html comment node produces a JavaScript error.
  • -
  • #4522 : Fixed unable to redo when typing after insert an image with relative url.
  • -
  • #4594 : Fixed context menu goes off-screen when mouse is at right had side of screen.
  • -
  • #4673 : Fixed undo not available straight away if shift key is used to enter first character.
  • -
  • #4690 : Fixed the parsing of nested inline elements.
  • -
  • #4450 : Fixed selecting multiple table cells before apply justify commands generates spurious paragraph in Firefox.
  • -
  • #4733 : Fixed dialog opening sometimes hang up Firefox and Safari.
  • -
  • #4498 : Fixed toolbar collapse button missing tooltip.
  • -
  • #4738 : Fixed inserting table inside bold/italic/underline generates error on ENTER_BR mode.
  • -
  • #4246 : Fixed avoid XHTML deprecated attributes for image styling.
  • -
  • #4543 : Fixed unable to move cursor between table and hr.
  • -
  • #4764 : Fixed wrong exception message when CKEDITOR.editor.append() to non-existing elements.
  • -
  • #4521 : Fixed dialog layout in IE6/7 may have scroll-bar and other weird effects.
  • -
  • #4709 : Fixed inconsistent scroll-bar behavior on IE.
  • -
  • #4776 : Fixed preview page failed to open when relative URl contains in document.
  • -
  • #4812 : Fixed 'Esc' key not working on dialogs in Opera.
  • -
  • Updated the following language files:
  • -
-

- CKEditor 3.0.1

-

- New features:

-
    -
  • #4219 : Added fallback mechanism for config.language.
  • -
  • #4194 : Added support for using multiple css style sheets within the editor.
  • -
-

- Fixed issues:

-
    -
  • #3898 : Added validation for URL value in Image dialog.
  • -
  • #3528 : Fixed Context Menu issue when triggered using Shift+F10.
  • -
  • #4028 : Maximize control's tool tip was wrong once it is maximized.
  • -
  • #4237 : Toolbar is chopped off in Safari browser 3.x.
  • -
  • #4241 : Float panels are left on screen while editor is destroyed.
  • -
  • #4274 : Double click event is incorrect handled in 'divreplace' sample.
  • -
  • #4354 : Fixed TAB key on toolbar to not focus disabled buttons.
  • -
  • #3856 : Fixed focus and blur events in source view mode.
  • -
  • #3438 : Floating panels are off by (-1px, 0px) in RTL mode.
  • -
  • #3370 : Refactored use of CKEDITOR.env.isCustomDomain().
  • -
  • #4230 : HC detection caused js error.
  • -
  • #3978 : Fixed setStyle float on IE7 strict.
  • -
  • #4262 : Tab and Shift+Tab was not working to cycle through CTRL+SHIFT+F10 context menu in IE.
  • -
  • #3633 : Default context menu isn't disabled in toolbar, status bar, panels...
  • -
  • #3897 : Now there is no image previews when the URL is empty in image dialog.
  • -
  • #4048 : Context submenu was lacking uiColor.
  • -
  • #3568 : Dialogs now select all text when tabbing to text inputs.
  • -
  • #3727 : Cell Properties dialog was missing color selection option.
  • -
  • #3517 : Fixed "Match cyclic" field in Find & Replace dialog.
  • -
  • #4368 : borderColor table cell attribute haven't worked for none-IE
  • -
  • #4203 : In IE quirks mode + toolbar collapsed + source mode editing block height was incorrect.
  • -
  • #4387 : Fixed: right clicking in Kama skin can lead to a javascript error.
  • -
  • #4397 : Wysiwyg mode caused the host page scroll.
  • -
  • #4385 : Fixed editor's auto adjusting on DOM structure were confusing the dirty checking mechanism.
  • -
  • #4397 : Fixed regression of [3816] where turn on design mode was causing Firefox3 to scroll the host page.
  • -
  • #4254 : Added basic API sample.
  • -
  • #4107 : Normalize css font-family style text for correct comparision.
  • -
  • #3664 : Insert block element in empty editor document should not create new paragraph.
  • -
  • #4037 : 'id' attribute is missing with Flash dialog advanced page.
  • -
  • #4047 : Delete selected control type element when 'Backspace' is pressed on it.
  • -
  • #4191 : Fixed: dialog changes confirmation on image dialog appeared even when no changes have been made.
  • -
  • #4351 : Dash and dot could appear in attribute names.
  • -
  • #4355 : 'maximize' and 'showblock' commands shouldn't take editor focus.
  • -
  • #4504 : Fixed 'Enter'/'Esc' key is not working on dialog button.
  • -
  • #4245 : 'Strange Template' now come with a style attribute for width.
  • -
  • #4512 : Fixed styles plugin incorrectly adding semicolons to style text.
  • -
  • #3855 : Fixed loading unminified _source files when ckeditor_source.js is used.
  • -
  • #3717 : Dialog settings defaults can now be overridden in-page through the CKEDITOR.config object.
  • -
  • #4481 : The 'stylesCombo_stylesSet' configuration entry didn't work for full URLs.
  • -
  • #4480 : Fixed scope attribute in th.
  • -
  • #4467 : Fixed bug to use custom icon in context menus. Thanks to george.
  • -
  • #4190 : Fixed select field dialog layout in Safari.
  • -
  • #4518 : Fixed unable to open dialog without editor focus in IE.
  • -
  • #4519 : Fixed maximize without editor focus throw error in IE.
  • -
  • Updated the following language files:
  • -
-

- CKEditor 3.0

-

- New features:

-
    -
  • #3188 : Introduce - <pre> formatting feature when converting from other blocks.
  • -
  • #4445 : editor::setData now support an optional callback parameter.
  • -
-

- Fixed issues:

-
    -
  • #2856 : Fixed problem with inches in Paste From Word plugin.
  • -
  • #3929 : Using Paste dialog, - the text is pasted into current selection
  • -
  • #3920 : Mouse cursor over characters in - Special Character dialog now is correct
  • -
  • #3882 : Fixed an issue - with PasteFromWord dialog in which default values was ignored
  • -
  • #3859 : Fixed Flash dialog layout in Webkit
  • -
  • #3852 : Disabled textarea resizing in dialogs
  • -
  • #3831 : The attempt to remove the contextmenu plugin - will not anymore break the editor
  • -
  • #3781 : Colorbutton is now disabled in 'source' mode
  • -
  • #3848 : Fixed an issue with Webkit in witch - elements in the Image and Link dialogs had wrong dimensions.
  • -
  • #3808 : Fixed UI Color Picker dialog size in example page.
  • -
  • #3658 : Editor had horizontal scrollbar in IE6.
  • -
  • #3819 : The cursor was not visible - when applying style to collapsed selections in Firefox 2.
  • -
  • #3809 : Fixed beam cursor - when mouse cursor is over text-only buttons in IE.
  • -
  • #3815 : Fixed an issue - with the form dialog in which the "enctype" attribute is outputted as "encoding".
  • -
  • #3785 : Fixed an issue - in CKEDITOR.tools.htmlEncode() which incorrectly outputs &nbsp; in IE8.
  • -
  • #3820 : Fixed an issue in - bullet list command in which a list created at the bottom of another gets merged to the top. -
  • -
  • #3830 : Table cell properties dialog - doesn't apply to all selected cells.
  • -
  • #3835 : Element path is not refreshed - after click on 'newpage'; and safari is not putting focus on document also. -
  • -
  • #3821 : Fixed an issue with JAWS in which - toolbar items are read inconsistently between virtual cursor modes.
  • -
  • #3789 : The "src" attribute - was getting duplicated in some situations.
  • -
  • #3591 : Protecting flash related elements - including '<object>', '<embed>' and '<param>'. -
  • -
  • #3759 : Fixed CKEDITOR.dom.element::scrollIntoView - logic bug which scroll even element is inside viewport. -
  • -
  • #3773 : Fixed remove list will merge lines. -
  • -
  • #3829 : Fixed remove empty link on output data.
  • -
  • #3730 : Indent is performing on the whole - block instead of selected lines in enterMode = BR.
  • -
  • #3844 : Fixed UndoManager register keydown on obsoleted document
  • -
  • #3805 : Enabled SCAYT plugin for IE.
  • -
  • #3834 : Context menu on table caption was incorrect.
  • -
  • #3812 : Fixed an issue in which the editor - may show up empty or uneditable in IE7, 8 and Firefox 3.
  • -
  • #3825 : Fixed JS error when opening spellingcheck.
  • -
  • #3862 : Fixed html parser infinite loop on certain malformed - source code.
  • -
  • #3639 : Button size was inconsistent.
  • -
  • #3874 : Paste as plain text in Safari loosing lines.
  • -
  • #3849 : Fixed IE8 crashes when applying lists and indenting.
  • -
  • #3876 : Changed dialog checkbox and radio labels to explicit labels.
  • -
  • #3843 : Fixed context submenu position in IE 6 & 7 RTL.
  • -
  • #3864 : [FF]Document is not editable after inserting element on a fresh page.
  • -
  • #3883 : Fixed removing inline style logic incorrect on Firefox2.
  • -
  • #3884 : Empty "href" attribute was duplicated on output data.
  • -
  • #3858 : Fixed the issue where toolbars - break up in IE6 and IE7 after the browser is resized.
  • -
  • #3868 : [chrome] SCAYT toolbar options was in reversed order.
  • -
  • #3875 : Fixed an issue in Safari where - table row/column/cell menus are not useable when table cells are selected.
  • -
  • #3896 : The editing area was - flashing when switching forth and back to source view.
  • -
  • #3894 : Fixed an issue where editor failed to initialize when using the on-demand loading way.
  • -
  • #3903 : Color button plugin doesn't read config entry from editor instance correctly.
  • -
  • #3801 : Comments at the start of the document was lost in IE.
  • -
  • #3871 : Unable to redo when undos to the front of snapshots stack.
  • -
  • #3909 : Move focus from editor into a text input control is broken.
  • -
  • #3870 : The empty paragraph - desappears when hitting ENTER after "New Page".
  • -
  • #3887 : Fixed an issue in which the create - list command may leak outside of a selected table cell and into the rest of document.
  • -
  • #3916 : Fixed maximize does not enlarge editor width when width is set.
  • -
  • #3879 : [webkit] Color button panel had incorrect size on first open.
  • -
  • #3839 : Update Scayt plugin to reflect the latest change from SpellChecker.net.
  • -
  • #3742 : Fixed wrong dialog layout for dialogs without tab bar in IE RTL mode .
  • -
  • #3671 : Fixed body fixing should be applied to the real type under fake elements.
  • -
  • #3836 : Fixed remove list in enterMode=BR will merge sibling text to one line.
  • -
  • #3949 : Fixed enterKey within pre-formatted text introduce wrong line-break.
  • -
  • #3878 : Whenever possible, - dialogs will not present scrollbars if the content is too big for its standard - size.
  • -
  • #3782 : Remove empty list in table cell result in collapsed cell.
  • -
  • Updated the following language files:
  • -
  • #3984 : [IE]The pre-formatted style is generating error.
  • -
  • #3946 : Fixed unable to hide contextmenu.
  • -
  • #3956 : Fixed About dialog in Source Mode for IE.
  • -
  • #3953 : Fixed keystroke for close Paste dialog.
  • -
  • #3951 : Reset size and lock ratio options were not accessible in Image dialog.
  • -
  • #3921 : Fixed Container scroll issue on IE7.
  • -
  • #3940 : Fixed list operation doesn't stop at table.
  • -
  • #3891 : [IE] Fixed 'automatic' font color doesn't work.
  • -
  • #3972 : Fixed unable to remove a single empty list in document in Firefox with enterMode=BR.
  • -
  • #3973 : Fixed list creation error at the end of document.
  • -
  • #3959 : Pasting styled text from word result in content lost.
  • -
  • #3793 : Combined images into sprites.
  • -
  • #3783 : Fixed indenting command in table cells create collapsed paragraph.
  • -
  • #3968 : About dialog layout was broken with IE+Standards+RTL.
  • -
  • #3991 : In IE quirks, text was not visible in v2 and office2003 skins.
  • -
  • #3983 : In IE, we'll now - silently ignore wrong toolbar definition settings which have extra commas being - left around.
  • -
  • Fixed the following test cases:
      -
    • #3992 : core/ckeditor2.html
    • -
    • #4138 : core/plugins.html
    • -
    • #3801 : plugins/htmldataprocessor/htmldataprocessor.html
    • -
  • -
  • #3989 : Host page horizontal scrolling a lot when on having righ-to-left direction.
  • -
  • #4001 : Create link around existing image result incorrect.
  • -
  • #3988 : Destroy editor on form submit event cause error.
  • -
  • #3994 : Insert horizontal line at end of document cause error.
  • -
  • #4074 : Indent error with 'indentClasses' config specified.
  • -
  • #4057 : Fixed anchor is lost after switch between editing modes.
  • -
  • #3644 : Image dialog was missin radio lock.
  • -
  • #4014 : Firefox2 had no dialog button backgrounds.
  • -
  • #4018 : Firefox2 had no richcombo text visible.
  • -
  • #4035 : [IE6] Paste dialog size was too small.
  • -
  • #4049 : Kama skin was too wide with config.width.
  • -
  • The following released files now doesn't require the _source folder
      -
    • #4086 : _samples/ui_languages.html
    • -
    • #4093 : _tests/core/dom/document.html
    • -
    • #4094 : Smiley plugin file
    • -
    • #4097 : No undo/redo support for fontColor and backgroundColor buttons.
    • -
  • -
  • #4085 : Paste and Paste from Word dialogs were not well styled in IE+RTL.
  • -
  • #3982 : Fixed enterKey on empty list item result in weird dom structure.
  • -
  • #4101 : Now it is possible to close dialog before gets focus.
  • -
  • #4075 : [IE6/7]Fixed apply custom inline style with "class" attribute failed.
  • -
  • #4087 : [Firefox]Fixed extra blocks created on create list when full document selected.
  • -
  • #4097 : No undo/redo support for fontColor and backgroundColor buttons.
  • -
  • #4111 : Fixed apply block style after inline style applied on full document error.
  • -
  • #3622 : Fixed shift enter with selection not deleting highlighted text.
  • -
  • #4092 : [IE6] Close button was missing for dialog without multiple tabs.
  • -
  • #4003 : Markup on the image dialog was disrupted when removing the border input.
  • -
  • #4096 : Editor content area was pushed down in IE RTL quirks.
  • -
  • #4112 : [FF] Paste dialog had scrollbars in quirks.
  • -
  • #4118 : Dialog dragging was - occasionally behaving strangely .
  • -
  • #4077 : The toolbar combos - were rendering incorrectly in some languages, like Chinese.
  • -
  • #3622 : The toolbar in the v2 - skin was wrapping improperly in some languages.
  • -
  • #4119 : Unable to edit image link with image dialog.
  • -
  • #4117 : Fixed dialog error when transforming image into button.
  • -
  • #4058 : [FF] wysiwyg mode is sometimes not been activated.
  • -
  • #4114 : [IE] RTE + IE6/IE7 Quirks = dialog mispositoned.
  • -
  • #4123 : Some dialog buttons were broken in IE7 quirks.
  • -
  • #4122 : [IE] The image dialog - was being rendered improperly when loading an image with long URL.
  • -
  • #4144 : Fixed the white-spaces at the end of <pre> is incorrectly removed.
  • -
  • #4143 : Fixed element id is lost when extracting contents from the range.
  • -
  • #4007 : [IE] Source area overflow from editor chrome.
  • -
  • #4145 : Fixed the on demand - ("basic") loading model of the editor.
  • -
  • #4139 : Fixed list plugin regression of [3903].
  • -
  • #4147 : Unify style text normalization logic when comparing styles.
  • -
  • #4150 : Fixed enlarge list result incorrect at the inner boundary of block.
  • -
  • #4164 : Now it is possible to paste text - in Source mode even if forcePasteAsPlainText = true.
  • -
  • #4129 : [FF]Unable to remove list with Ctrl-A.
  • -
  • #4172 : [Safari] The trailing - <br> was not been always added to blank lines ending with &nbsp;.
  • -
  • #4178 : It's now possible to - copy and paste Flash content among different editor instances.
  • -
  • #4193 : Automatic font color produced empty span on Firefox 3.5.
  • -
  • #4186 : [FF] Fixed First open float panel cause host page scrollbar blinking.
  • -
  • #4227 : Fixed destroy editor instance created on textarea which is not within form cause error.
  • -
  • #4240 : Fixed editor name containing hyphen break editor completely.
  • -
  • #3828 : Malformed nested list is now corrected by the parser.
  • -
-

- CKEditor 3.0 RC

-

- Changelog starts at this release.

- - - diff --git a/htdocs/includes/ckeditor/CHANGES.md b/htdocs/includes/ckeditor/CHANGES.md new file mode 100644 index 00000000000..dad7405bcdf --- /dev/null +++ b/htdocs/includes/ckeditor/CHANGES.md @@ -0,0 +1,442 @@ +CKEditor 4 Changelog +==================== + +## CKEditor 4.3.3 + +Fixed Issues: + +* [#11500](http://dev.ckeditor.com/ticket/11500): [Webkit/Blink] Fixed: Selection lost when setting data in another inline editor. Additionally, [`selection.removeAllRanges()`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.selection-method-removeAllRanges) is now scoped to selection's [root](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.selection-property-root). +* [#11104](http://dev.ckeditor.com/ticket/11104): [IE] Fixed: Various issues with scrolling and selection when focusing widgets. +* [#11487](http://dev.ckeditor.com/ticket/11487): Moving mouse over the [Enhanced Image](http://ckeditor.com/addon/image2) widget will no longer change the value returned by the [`editor.checkDirty()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-checkDirty) method. +* [#8673](http://dev.ckeditor.com/ticket/8673): [WebKit] Fixed: Cannot select and remove the [Page Break](http://ckeditor.com/addon/pagebreak). +* [#11413](http://dev.ckeditor.com/ticket/11413): Fixed: Incorrect [`editor.execCommand()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-execCommand) behavior. +* [#11438](http://dev.ckeditor.com/ticket/11438): Splitting table cells vertically is no longer changing table structure. +* [#8899](http://dev.ckeditor.com/ticket/8899): Fixed: Links in the [About CKEditor](http://ckeditor.com/addon/about) dialog window now open in a new browser window or tab. +* [#11490](http://dev.ckeditor.com/ticket/11490): Fixed: [Menu button](http://ckeditor.com/addon/menubutton) panel not showing in the source mode. +* [#11417](http://dev.ckeditor.com/ticket/11417): The [`widget.doubleclick`](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.widget-event-doubleclick) event is not canceled anymore after editing was triggered. +* [#11253](http://dev.ckeditor.com/ticket/11253): [IE] Fixed: Clipped upload button in the [Enhanced Image](http://ckeditor.com/addon/image2) dialog window. +* [#11359](http://dev.ckeditor.com/ticket/11359): Standardized the way anchors are discovered by the [Link](http://ckeditor.com/addon/link) plugin. +* [#11058](http://dev.ckeditor.com/ticket/11058): [IE8] Fixed: Error when deleting a table row. +* [#11508](http://dev.ckeditor.com/ticket/11508): Fixed: [`htmlDataProcessor`](http://docs.ckeditor.com/#!/api/CKEDITOR.htmlDataProcessor) discovering protected attributes within other attributes' values. +* [#11533](http://dev.ckeditor.com/ticket/11533): Widgets: Avoid recurring upcasts if the DOM structure was modified during an upcast. +* [#11400](http://dev.ckeditor.com/ticket/11400): Fixed: The [`domObject.removeAllListeners()`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.domObject-method-removeAllListeners) method does not remove custom listeners completely. +* [#11493](http://dev.ckeditor.com/ticket/11493): Fixed: The [`selection.getRanges()`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.selection-method-getRanges) method does not override cached ranges when used with the `onlyEditables` argument. +* [#11390](http://dev.ckeditor.com/ticket/11390): [IE] All [XML](http://ckeditor.com/addon/xml) plugin [methods](http://docs.ckeditor.com/#!/api/CKEDITOR.xml) now work in IE10+. +* [#11542](http://dev.ckeditor.com/ticket/11542): [IE11] Fixed: Blurry toolbar icons when Right-to-Left UI language is set. +* [#11504](http://dev.ckeditor.com/ticket/11504): Fixed: When [`config.fullPage`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-fullPage) is set to `true`, entities are not encoded in editor output. +* [#11004](http://dev.ckeditor.com/ticket/11004): Integrated [Enhanced Image](http://ckeditor.com/addon/image2) dialog window with [Advanced Content Filter](http://docs.ckeditor.com/#!/guide/dev_advanced_content_filter). +* [#11439](http://dev.ckeditor.com/ticket/11439): Fixed: Properties get cloned in the Cell Properties dialog window if multiple cells are selected. + +## CKEditor 4.3.2 + +Fixed Issues: + +* [#11331](http://dev.ckeditor.com/ticket/11331): A menu button will have a changed label when selected instead of using the `aria-pressed` attribute. +* [#11177](http://dev.ckeditor.com/ticket/11177): Widget drag handler improvements: + * [#11176](http://dev.ckeditor.com/ticket/11176): Fixed: Initial position is not updated when the widget data object is empty. + * [#11001](http://dev.ckeditor.com/ticket/11001): Fixed: Multiple synchronous layout recalculations are caused by initial drag handler positioning causing performance issues. + * [#11161](http://dev.ckeditor.com/ticket/11161): Fixed: Drag handler is not repositioned in various situations. + * [#11281](http://dev.ckeditor.com/ticket/11281): Fixed: Drag handler and mask are duplicated after widget reinitialization. +* [#11207](http://dev.ckeditor.com/ticket/11207): [Firefox] Fixed: Misplaced [Enhanced Image](http://ckeditor.com/addon/image2) resizer in the inline editor. +* [#11102](http://dev.ckeditor.com/ticket/11102): `CKEDITOR.template` improvements: + * [#11102](http://dev.ckeditor.com/ticket/11102): Added newline character support. + * [#11216](http://dev.ckeditor.com/ticket/11216): Added "\\'" substring support. +* [#11121](http://dev.ckeditor.com/ticket/11121): [Firefox] Fixed: High Contrast mode is enabled when the editor is loaded in a hidden iframe. +* [#11350](http://dev.ckeditor.com/ticket/11350): The default value of [`config.contentsCss`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-contentsCss) is affected by [`CKEDITOR.getUrl()`](http://docs.ckeditor.com/#!/api/CKEDITOR-method-getUrl). +* [#11097](http://dev.ckeditor.com/ticket/11097): Improved the [Autogrow](http://ckeditor.com/addon/autogrow) plugin performance when dealing with very big tables. +* [#11290](http://dev.ckeditor.com/ticket/11290): Removed redundant code in the [Source Dialog](http://ckeditor.com/addon/sourcedialog) plugin. +* [#11133](http://dev.ckeditor.com/ticket/11133): [Page Break](http://ckeditor.com/addon/pagebreak) becomes editable if pasted. +* [#11126](http://dev.ckeditor.com/ticket/11126): Fixed: Native Undo executed once the bottom of the snapshot stack is reached. +* [#11131](http://dev.ckeditor.com/ticket/11131): [Div Editing Area](http://ckeditor.com/addon/divarea): Fixed: Error thrown when switching to source mode if the selection was in widget's nested editable. +* [#11139](http://dev.ckeditor.com/ticket/11139): [Div Editing Area](http://ckeditor.com/addon/divarea): Fixed: Elements Path is not cleared after switching to source mode. +* [#10778](http://dev.ckeditor.com/ticket/10778): Fixed a bug with range enlargement. The range no longer expands to visible whitespace. +* [#11146](http://dev.ckeditor.com/ticket/11146): [IE] Fixed: Preview window switches Internet Explorer to Quirks Mode. +* [#10762](http://dev.ckeditor.com/ticket/10762): [IE] Fixed: JavaScript code displayed in preview window's URL bar. +* [#11186](http://dev.ckeditor.com/ticket/11186): Introduced the [`widgets.repository.addUpcastCallback()`](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.widget.repository-method-addUpcastCallback) method that allows to block upcasting given element to a widget. +* [#11307](http://dev.ckeditor.com/ticket/11307): Fixed: Paste as Plain Text conflict with the [MooTools](http://mootools.net) library. +* [#11140](http://dev.ckeditor.com/ticket/11140): [IE11] Fixed: Anchors are not draggable. +* [#11379](http://dev.ckeditor.com/ticket/11379): Changed default contents `line-height` to unitless values to avoid huge text overlapping (like in [#9696](http://dev.ckeditor.com/ticket/9696)). +* [#10787](http://dev.ckeditor.com/ticket/10787): [Firefox] Fixed: Broken replacement of text while pasting into `div`-based editor. +* [#10884](http://dev.ckeditor.com/ticket/10884): Widgets integration with the [Show Blocks](http://ckeditor.com/addon/showblocks) plugin. +* [#11021](http://dev.ckeditor.com/ticket/11021): Fixed: An error thrown when selecting entire editable contents while fake selection is on. +* [#11086](http://dev.ckeditor.com/ticket/11086): [IE8] Re-enable inline widgets drag&drop in Internet Explorer 8. +* [#11372](http://dev.ckeditor.com/ticket/11372): Widgets: Special characters encoded twice in nested editables. +* [#10068](http://dev.ckeditor.com/ticket/10068): Fixed: Support for protocol-relative URLs. +* [#11283](http://dev.ckeditor.com/ticket/11283): [Enhanced Image](http://ckeditor.com/addon/image2): A `
` element with `text-align: center` and an image inside is not recognised correctly. +* [#11196](http://dev.ckeditor.com/ticket/11196): [Accessibility Instructions](http://ckeditor.com/addon/a11yhelp): Allowed additional keyboard button labels to be translated in the dialog window. + +## CKEditor 4.3.1 + +**Important Notes:** + +* To match the naming convention, the `language` button is now `Language` ([#11201](http://dev.ckeditor.com/ticket/11201)). +* [Enhanced Image](http://ckeditor.com/addon/image2) button, context menu, command, and icon names match those of the [Image](http://ckeditor.com/addon/image) plugin ([#11222](http://dev.ckeditor.com/ticket/11222)). + +Fixed Issues: + +* [#11244](http://dev.ckeditor.com/ticket/11244): Changed: The [`widget.repository.checkWidgets()`](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.widget.repository-method-checkWidgets) method now fires the [`widget.repository.checkWidgets`](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.widget.repository-event-checkWidgets) event, so from CKEditor 4.3.1 it is preferred to use the method rather than fire the event. +* [#11171](http://dev.ckeditor.com/ticket/11171): Fixed: [`editor.insertElement()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-insertElement) and [`editor.insertText()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-insertText) methods do not call the [`widget.repository.checkWidgets()`](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.widget.repository-method-checkWidgets) method. +* [#11085](http://dev.ckeditor.com/ticket/11085): [IE8] Replaced preview generated by the [Mathematical Formulas](http://ckeditor.com/addon/mathjax) widget with a placeholder. +* [#11044](http://dev.ckeditor.com/ticket/11044): Enhanced WAI-ARIA support for the [Language](http://ckeditor.com/addon/language) plugin drop-down menu. +* [#11075](http://dev.ckeditor.com/ticket/11075): With drop-down menu button focused, pressing the *Down Arrow* key will now open the menu and focus its first option. +* [#11165](http://dev.ckeditor.com/ticket/11165): Fixed: The [File Browser](http://ckeditor.com/addon/filebrowser) plugin cannot be removed from the editor. +* [#11159](http://dev.ckeditor.com/ticket/11159): [IE9-10] [Enhanced Image](http://ckeditor.com/addon/image2): Fixed buggy discovery of image dimensions. +* [#11101](http://dev.ckeditor.com/ticket/11101): Drop-down lists no longer break when given double quotes. +* [#11077](http://dev.ckeditor.com/ticket/11077): [Enhanced Image](http://ckeditor.com/addon/image2): Empty undo step recorded when resizing the image. +* [#10853](http://dev.ckeditor.com/ticket/10853): [Enhanced Image](http://ckeditor.com/addon/image2): Widget has paragraph wrapper when de-captioning unaligned image. +* [#11198](http://dev.ckeditor.com/ticket/11198): Widgets: Drag handler is not fully visible when an inline widget is in a heading. +* [#11132](http://dev.ckeditor.com/ticket/11132): [Firefox] Fixed: Caret is lost after drag and drop of an inline widget. +* [#11182](http://dev.ckeditor.com/ticket/11182): [IE10-11] Fixed: Editor crashes (IE11) or works with minor issues (IE10) if a page is loaded in Quirks Mode. See [`env.quirks`](http://docs.ckeditor.com/#!/api/CKEDITOR.env-property-quirks) for more details. +* [#11204](http://dev.ckeditor.com/ticket/11204): Added `figure` and `figcaption` styles to the `contents.css` file so [Enhanced Image](http://ckeditor.com/addon/image2) looks nicer. +* [#11202](http://dev.ckeditor.com/ticket/11202): Fixed: No newline in [BBCode](http://ckeditor.com/addon/bbcode) mode. +* [#10890](http://dev.ckeditor.com/ticket/10890): Fixed: Error thrown when pressing the *Delete* key in a list item. +* [#10055](http://dev.ckeditor.com/ticket/10055): [IE8-10] Fixed: *Delete* pressed on a selected image causes the browser to go back. +* [#11183](http://dev.ckeditor.com/ticket/11183): Fixed: Inserting a horizontal rule or a table in multiple row selection causes a browser crash. Additionally, the [`editor.insertElement()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-insertElement) method does not insert the element into every range of a selection any more. +* [#11042](http://dev.ckeditor.com/ticket/11042): Fixed: Selection made on an element containing a non-editable element was not auto faked. +* [#11125](http://dev.ckeditor.com/ticket/11125): Fixed: Keyboard navigation through menu and drop-down items will now cycle. +* [#11011](http://dev.ckeditor.com/ticket/11011): Fixed: The [`editor.applyStyle()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-applyStyle) method removes attributes from nested elements. +* [#11179](http://dev.ckeditor.com/ticket/11179): Fixed: [`editor.destroy()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-destroy) does not cleanup content generated by the [Table Resize](http://ckeditor.com/addon/tableresize) plugin for inline editors. +* [#11237](http://dev.ckeditor.com/ticket/11237): Fixed: Table border attribute value is deleted when pasting content from Microsoft Word. +* [#11250](http://dev.ckeditor.com/ticket/11250): Fixed: HTML entities inside the ` + * ... + * CKEDITOR.replace( 'myfield' ); + * + * var textarea = document.body.appendChild( document.createElement( 'textarea' ) ); + * CKEDITOR.replace( textarea ); + * + * @param {Object/String} element The DOM element (textarea), its ID, or name. + * @param {Object} [config] The specific configuration to apply to this + * editor instance. Configuration set here will override the global CKEditor settings + * (see {@link CKEDITOR.config}). + * @returns {CKEDITOR.editor} The editor instance created. + */ + CKEDITOR.replace = function( element, config ) { + return createInstance( element, config, null, CKEDITOR.ELEMENT_MODE_REPLACE ); + }; + + /** + * Creates a new editor instance at the end of a specific DOM element. + * + *
+ * ... + * CKEDITOR.appendTo( 'editorSpace' ); + * + * @param {Object/String} element The DOM element, its ID, or name. + * @param {Object} [config] The specific configuration to apply to this + * editor instance. Configuration set here will override the global CKEditor settings + * (see {@link CKEDITOR.config}). + * @param {String} [data] Since 3.3. Initial value for the instance. + * @returns {CKEDITOR.editor} The editor instance created. + */ + CKEDITOR.appendTo = function( element, config, data ) + { + return createInstance( element, config, data, CKEDITOR.ELEMENT_MODE_APPENDTO ); + }; + + /** + * Replaces all ` + data = protectElements( data, protectTextareaRegex ); + + // Before anything, we must protect the URL attributes as the + // browser may changing them when setting the innerHTML later in + // the code. + data = protectAttributes( data ); + + // Protect elements than can't be set inside a DIV. E.g. IE removes + // style tags from innerHTML. (#3710) + data = protectElements( data, protectElementsRegex ); + + // Certain elements has problem to go through DOM operation, protect + // them by prefixing 'cke' namespace. (#3591) + data = protectElementsNames( data ); + + // All none-IE browsers ignore self-closed custom elements, + // protecting them into open-close. (#3591) + data = protectSelfClosingElements( data ); + + // Compensate one leading line break after
 open as browsers
+			// eat it up. (#5789)
+			data = protectPreFormatted( data );
+
+			var fixBin = evtData.context || editor.editable().getName(),
+				isPre;
+
+			// Old IEs loose formats when load html into 
.
+			if ( CKEDITOR.env.ie && CKEDITOR.env.version < 9 && fixBin == 'pre' ) {
+				fixBin = 'div';
+				data = '
' + data + '
'; + isPre = 1; + } + + // Call the browser to help us fixing a possibly invalid HTML + // structure. + var el = editor.document.createElement( fixBin ); + // Add fake character to workaround IE comments bug. (#3801) + el.setHtml( 'a' + data ); + data = el.getHtml().substr( 1 ); + + // Restore shortly protected attribute names. + data = data.replace( new RegExp( ' data-cke-' + CKEDITOR.rnd + '-', 'ig' ), ' ' ); + + isPre && ( data = data.replace( /^
|<\/pre>$/gi, '' ) );
+
+			// Unprotect "some" of the protected elements at this point.
+			data = unprotectElementNames( data );
+
+			data = unprotectElements( data );
+
+			// Restore the comments that have been protected, in this way they
+			// can be properly filtered.
+			data = unprotectRealComments( data );
+
+			// Now use our parser to make further fixes to the structure, as
+			// well as apply the filter.
+			evtData.dataValue = CKEDITOR.htmlParser.fragment.fromHtml(
+				data, evtData.context, evtData.fixForBody === false ? false : getFixBodyTag( evtData.enterMode, editor.config.autoParagraph ) );
+		}, null, null, 5 );
+
+		// Filter incoming "data".
+		// Add element filter before htmlDataProcessor.dataFilter when purifying input data to correct html.
+		editor.on( 'toHtml', function( evt ) {
+			if ( evt.data.filter.applyTo( evt.data.dataValue, true, evt.data.dontFilter, evt.data.enterMode ) )
+				editor.fire( 'dataFiltered' );
+		}, null, null, 6 );
+
+		editor.on( 'toHtml', function( evt ) {
+			evt.data.dataValue.filterChildren( that.dataFilter, true );
+		}, null, null, 10 );
+
+		editor.on( 'toHtml', function( evt ) {
+			var evtData = evt.data,
+				data = evtData.dataValue,
+				writer = new CKEDITOR.htmlParser.basicWriter();
+
+			data.writeChildrenHtml( writer );
+			data = writer.getHtml( true );
+
+			// Protect the real comments again.
+			evtData.dataValue = protectRealComments( data );
+		}, null, null, 15 );
+
+
+		editor.on( 'toDataFormat', function( evt ) {
+			var data = evt.data.dataValue;
+
+			// #10854 - we need to strip leading blockless 
which FF adds + // automatically when editable contains only non-editable content. + // We do that for every browser (so it's a constant behavior) and + // not in BR mode, in which chance of valid leading blockless
is higher. + if ( evt.data.enterMode != CKEDITOR.ENTER_BR ) + data = data.replace( /^
/i, '' ); + + evt.data.dataValue = CKEDITOR.htmlParser.fragment.fromHtml( + data, evt.data.context, getFixBodyTag( evt.data.enterMode, editor.config.autoParagraph ) ); + }, null, null, 5 ); + + editor.on( 'toDataFormat', function( evt ) { + evt.data.dataValue.filterChildren( that.htmlFilter, true ); + }, null, null, 10 ); + + // Transform outcoming "data". + // Add element filter after htmlDataProcessor.htmlFilter when preparing output data HTML. + editor.on( 'toDataFormat', function( evt ) { + evt.data.filter.applyTo( evt.data.dataValue, false, true ); + }, null, null, 11 ); + + editor.on( 'toDataFormat', function( evt ) { + var data = evt.data.dataValue, + writer = that.writer; + + writer.reset(); + data.writeChildrenHtml( writer ); + data = writer.getHtml( true ); + + // Restore those non-HTML protected source. (#4475,#4880) + data = unprotectRealComments( data ); + data = unprotectSource( data, editor ); + + evt.data.dataValue = data; + }, null, null, 15 ); + }; + + CKEDITOR.htmlDataProcessor.prototype = { + /** + * Processes the input (potentially malformed) HTML to a purified form which + * is suitable for using in the WYSIWYG editable. + * + * This method fires the {@link CKEDITOR.editor#toHtml} event which makes it possible + * to hook into the process at various stages. + * + * **Note:** Since CKEditor 4.3 the signature of this method changed and all options + * are now grouped in one `options` object. Previously `context`, `fixForBody` and `dontFilter` + * were passed separately. + * + * @param {String} data The raw data. + * @param {Object} [options] The options object. + * @param {String} [options.context] The tag name of a context element within which + * the input is to be processed, default to be the editable element. + * If `null` is passed, then data will be parsed without context (as children of {@link CKEDITOR.htmlParser.fragment}). + * See {@link CKEDITOR.htmlParser.fragment#fromHtml} for more details. + * @param {Boolean} [options.fixForBody=true] Whether to trigger the auto paragraph for non-block contents. + * @param {CKEDITOR.filter} [options.filter] When specified, instead of using the {@link CKEDITOR.editor#filter main filter}, + * passed instance will be used to filter the content. + * @param {Boolean} [options.dontFilter] Do not filter data with {@link CKEDITOR.filter} (note: transformations + * will be still applied). + * @param {Number} [options.enterMode] When specified it will be used instead of the {@link CKEDITOR.editor#enterMode main enterMode}. + * @returns {String} + */ + toHtml: function( data, options, fixForBody, dontFilter ) { + var editor = this.editor, + context, filter, enterMode; + + // Typeof null == 'object', so check truthiness of options too. + if ( options && typeof options == 'object' ) { + context = options.context; + fixForBody = options.fixForBody; + dontFilter = options.dontFilter; + filter = options.filter; + enterMode = options.enterMode; + } + // Backward compatibility. Since CKEDITOR 4.3 every option was a separate argument. + else + context = options; + + // Fall back to the editable as context if not specified. + if ( !context && context !== null ) + context = editor.editable().getName(); + + return editor.fire( 'toHtml', { + dataValue: data, + context: context, + fixForBody: fixForBody, + dontFilter: dontFilter, + filter: filter || editor.filter, + enterMode: enterMode || editor.enterMode + } ).dataValue; + }, + + /** + * See {@link CKEDITOR.dataProcessor#toDataFormat}. + * + * This method fires the {@link CKEDITOR.editor#toDataFormat} event which makes it possible + * to hook into the process at various steps. + * + * @param {String} html + * @param {Object} [options] The options object. + * @param {String} [options.context] The tag name of a context element within which + * the input is to be processed, default to be the editable element. + * @param {CKEDITOR.filter} [options.filter] When specified, instead of using the {@link CKEDITOR.editor#filter main filter}, + * passed instance will be used to apply content transformations to the content. + * @param {Number} [options.enterMode] When specified it will be used instead of the {@link CKEDITOR.editor#enterMode main enterMode}. + * @returns {String} + */ + toDataFormat: function( html, options ) { + var context, filter, enterMode; + + // Do not shorten this to `options && options.xxx`, because + // falsy `options` will be passed instead of undefined. + if ( options ) { + context = options.context; + filter = options.filter; + enterMode = options.enterMode; + } + + // Fall back to the editable as context if not specified. + if ( !context && context !== null ) + context = this.editor.editable().getName(); + + return this.editor.fire( 'toDataFormat', { + dataValue: html, + filter: filter || this.editor.filter, + context: context, + enterMode: enterMode || this.editor.enterMode + } ).dataValue; + } + }; + + // Produce a set of filtering rules that handles bogus and filler node at the + // end of block/pseudo block, in the following consequence: + // 1. elements: - this filter removes any bogus node, then check + // if it's an empty block that requires a filler. + // 2. elements:
- After cleaned with bogus, this filter checks the real + // line-break BR to compensate a filler after it. + // + // Terms definitions: + // filler: An element that's either
or &NBSP; at the end of block that established line height. + // bogus: Whenever a filler is proceeded with inline content, it becomes a bogus which is subjected to be removed. + // + // Various forms of the filler: + // In output HTML: Filler should be consistently &NBSP;
at the end of block is always considered as bogus. + // In Wysiwyg HTML: Browser dependent - see env.needsBrFiller. Either BR for when needsBrFiller is true, or &NBSP; otherwise. + //
is NEVER considered as bogus when needsBrFiller is true. + function createBogusAndFillerRules( editor, type ) { + function createFiller( isOutput ) { + return isOutput || CKEDITOR.env.needsNbspFiller ? + new CKEDITOR.htmlParser.text( '\xa0' ) : + new CKEDITOR.htmlParser.element( 'br', { 'data-cke-bogus': 1 } ); + } + + // This text block filter, remove any bogus and create the filler on demand. + function blockFilter( isOutput, fillEmptyBlock ) { + + return function( block ) { + + // DO NOT apply the filer if it's a fragment node. + if ( block.type == CKEDITOR.NODE_DOCUMENT_FRAGMENT ) + return; + + cleanBogus( block ); + + // [Opera] it's mandatory for the filler to present inside of empty block when in WYSIWYG. + if ( ( ( CKEDITOR.env.opera && !isOutput ) || + ( typeof fillEmptyBlock == 'function' ? fillEmptyBlock( block ) !== false : fillEmptyBlock ) ) && + isEmptyBlockNeedFiller( block ) ) + { + block.add( createFiller( isOutput ) ); + } + }; + } + + // Append a filler right after the last line-break BR, found at the end of block. + function brFilter( isOutput ) { + return function( br ) { + + // DO NOT apply the filer if parent's a fragment node. + if ( br.parent.type == CKEDITOR.NODE_DOCUMENT_FRAGMENT ) + return; + + var attrs = br.attributes; + // Dismiss BRs that are either bogus or eol marker. + if ( 'data-cke-bogus' in attrs || + 'data-cke-eol' in attrs ) { + delete attrs [ 'data-cke-bogus' ]; + return; + } + + // Judge the tail line-break BR, and to insert bogus after it. + var next = getNext( br ), previous = getPrevious( br ); + + if ( !next && isBlockBoundary( br.parent ) ) + append( br.parent, createFiller( isOutput ) ); + else if ( isBlockBoundary( next ) && previous && !isBlockBoundary( previous ) ) + createFiller( isOutput ).insertBefore( next ); + }; + } + + // Determinate whether this node is potentially a bogus node. + function maybeBogus( node, atBlockEnd ) { + + // BR that's not from IE<11 DOM, except for a EOL marker. + if ( !( isOutput && !CKEDITOR.env.needsBrFiller ) && + node.type == CKEDITOR.NODE_ELEMENT && node.name == 'br' && + !node.attributes[ 'data-cke-eol' ] ) + return true; + + var match; + // NBSP, possibly. + if ( node.type == CKEDITOR.NODE_TEXT && + ( match = node.value.match( tailNbspRegex ) ) ) + { + // We need to separate tail NBSP out of a text node, for later removal. + if ( match.index ) { + ( new CKEDITOR.htmlParser.text( node.value.substring( 0, match.index ) ) ).insertBefore( node ); + node.value = match[ 0 ]; + } + + // From IE<11 DOM, at the end of a text block, or before block boundary. + if ( !CKEDITOR.env.needsBrFiller && isOutput && ( !atBlockEnd || node.parent.name in textBlockTags ) ) + return true; + + // From the output. + if ( !isOutput ) { + var previous = node.previous; + + // Following a line-break at the end of block. + if ( previous && previous.name == 'br' ) + return true; + + // Or a single NBSP between two blocks. + if ( !previous || isBlockBoundary( previous ) ) + return true; + } + } + + return false; + } + + // Removes all bogus inside of this block, and to convert fillers into the proper form. + function cleanBogus( block ) { + var bogus = []; + var last = getLast( block ), node, previous; + if ( last ) { + + // Check for bogus at the end of this block. + // e.g.

foo

+ maybeBogus( last, 1 ) && bogus.push( last ); + + while ( last ) { + + // Check for bogus at the end of any pseudo block contained. + if ( isBlockBoundary( last ) && + ( node = getPrevious( last ) ) && + maybeBogus( node ) ) + { + // Bogus must have inline proceeding, instead single BR between two blocks, + // is considered as filler, e.g.


+ if ( ( previous = getPrevious( node ) ) && !isBlockBoundary( previous ) ) + bogus.push( node ); + // Convert the filler into appropriate form. + else { + createFiller( isOutput ).insertAfter( node ); + node.remove(); + } + } + + last = last.previous; + } + } + + // Now remove all bogus collected from above. + for ( var i = 0 ; i < bogus.length ; i++ ) + bogus[ i ].remove(); + } + + // Judge whether it's an empty block that requires a filler node. + function isEmptyBlockNeedFiller( block ) { + + // DO NOT fill empty editable in IE<11. + if ( !isOutput && !CKEDITOR.env.needsBrFiller && block.type == CKEDITOR.NODE_DOCUMENT_FRAGMENT ) + return false; + + // 1. For IE version >=8, empty blocks are displayed correctly themself in wysiwiyg; + // 2. For the rest, at least table cell and list item need no filler space. (#6248) + if ( !isOutput && !CKEDITOR.env.needsBrFiller && + ( document.documentMode > 7 || + block.name in CKEDITOR.dtd.tr || + block.name in CKEDITOR.dtd.$listItem ) ) { + return false; + } + + var last = getLast( block ); + return !last || block.name == 'form' && last.name == 'input' ; + } + + var rules = { elements: {} }; + var isOutput = type == 'html'; + + // Build the list of text blocks. + var textBlockTags = CKEDITOR.tools.extend( {}, blockLikeTags ); + for ( var i in textBlockTags ) { + if ( !( '#' in dtd[ i ] ) ) + delete textBlockTags[ i ]; + } + + for ( i in textBlockTags ) + rules.elements[ i ] = blockFilter( isOutput, editor.config.fillEmptyBlocks !== false ); + + // Editable element is to be checked separately. + rules.root = blockFilter( isOutput ); + rules.elements.br = brFilter( isOutput ); + return rules; + } + + function getFixBodyTag( enterMode, autoParagraph ) { + return ( enterMode != CKEDITOR.ENTER_BR && autoParagraph !== false ) ? enterMode == CKEDITOR.ENTER_DIV ? 'div' : 'p' : false; + } + + // Regex to scan for   at the end of blocks, which are actually placeholders. + // Safari transforms the   to \xa0. (#4172) + var tailNbspRegex = /(?: |\xa0)$/; + + var protectedSourceMarker = '{cke_protected}'; + + function getLast( node ) { + var last = node.children[ node.children.length - 1 ]; + while ( last && isEmpty( last ) ) + last = last.previous; + return last; + } + + function getNext( node ) { + var next = node.next; + while ( next && isEmpty( next ) ) + next = next.next; + return next; + } + + function getPrevious( node ) { + var previous = node.previous; + while ( previous && isEmpty( previous ) ) + previous = previous.previous; + return previous; + } + + // Judge whether the node is an ghost node to be ignored, when traversing. + function isEmpty( node ) { + return node.type == CKEDITOR.NODE_TEXT && + !CKEDITOR.tools.trim( node.value ) || + node.type == CKEDITOR.NODE_ELEMENT && + node.attributes[ 'data-cke-bookmark' ]; + } + + // Judge whether the node is a block-like element. + function isBlockBoundary( node ) { + return node && + ( node.type == CKEDITOR.NODE_ELEMENT && node.name in blockLikeTags || + node.type == CKEDITOR.NODE_DOCUMENT_FRAGMENT ); + } + + function append( parent, node ) { + var last = parent.children[ parent.children.length -1 ]; + parent.children.push( node ); + node.parent = parent; + if ( last ) { + last.next = node; + node.previous = last; + } + } + + function getNodeIndex( node ) { + return node.parent ? node.getIndex() : -1; + } + + var dtd = CKEDITOR.dtd, + // Define orders of table elements. + tableOrder = [ 'caption', 'colgroup', 'col', 'thead', 'tfoot', 'tbody' ], + // List of all block elements. + blockLikeTags = CKEDITOR.tools.extend( {}, dtd.$blockLimit, dtd.$block ); + + // + // DATA filter rules ------------------------------------------------------ + // + + var defaultDataFilterRulesEditableOnly = { + elements: { + input: protectReadOnly, + textarea: protectReadOnly + } + }; + + // These rules will also be applied to non-editable content. + var defaultDataFilterRulesForAll = { + attributeNames: [ + // Event attributes (onXYZ) must not be directly set. They can become + // active in the editing area (IE|WebKit). + [ ( /^on/ ), 'data-cke-pa-on' ], + + // Don't let some old expando enter editor. Concerns only IE8, + // but for consistency remove on all browsers. + [ ( /^data-cke-expando$/ ), '' ] + ] + }; + + // Disable form elements editing mode provided by some browsers. (#5746) + function protectReadOnly( element ) { + var attrs = element.attributes; + + // We should flag that the element was locked by our code so + // it'll be editable by the editor functions (#6046). + if ( attrs.contenteditable != 'false' ) + attrs[ 'data-cke-editable' ] = attrs.contenteditable ? 'true' : 1; + + attrs.contenteditable = 'false'; + } + + // + // HTML filter rules ------------------------------------------------------ + // + + var defaultHtmlFilterRulesEditableOnly = { + elements: { + embed: function( element ) { + var parent = element.parent; + + // If the is child of a , copy the width + // and height attributes from it. + if ( parent && parent.name == 'object' ) { + var parentWidth = parent.attributes.width, + parentHeight = parent.attributes.height; + if ( parentWidth ) + element.attributes.width = parentWidth; + if ( parentHeight ) + element.attributes.height = parentHeight; + } + }, + + // Remove empty link but not empty anchor. (#3829) + a: function( element ) { + if ( !( element.children.length || element.attributes.name || element.attributes[ 'data-cke-saved-name' ] ) ) + return false; + } + } + }; + + // These rules will also be applied to non-editable content. + var defaultHtmlFilterRulesForAll = { + elementNames: [ + // Remove the "cke:" namespace prefix. + [ ( /^cke:/ ), '' ], + + // Ignore tags. + [ ( /^\?xml:namespace$/ ), '' ] + ], + + attributeNames: [ + // Attributes saved for changes and protected attributes. + [ ( /^data-cke-(saved|pa)-/ ), '' ], + + // All "data-cke-" attributes are to be ignored. + [ ( /^data-cke-.*/ ), '' ], + + [ 'hidefocus', '' ] + ], + + elements: { + $: function( element ) { + var attribs = element.attributes; + + if ( attribs ) { + // Elements marked as temporary are to be ignored. + if ( attribs[ 'data-cke-temp' ] ) + return false; + + // Remove duplicated attributes - #3789. + var attributeNames = [ 'name', 'href', 'src' ], + savedAttributeName; + for ( var i = 0; i < attributeNames.length; i++ ) { + savedAttributeName = 'data-cke-saved-' + attributeNames[ i ]; + savedAttributeName in attribs && ( delete attribs[ attributeNames[ i ] ] ); + } + } + + return element; + }, + + // The contents of table should be in correct order (#4809). + table: function( element ) { + // Clone the array as it would become empty during the sort call. + var children = element.children.slice( 0 ); + children.sort( function( node1, node2 ) { + var index1, index2; + + // Compare in the predefined order. + if ( node1.type == CKEDITOR.NODE_ELEMENT && + node2.type == node1.type ) { + index1 = CKEDITOR.tools.indexOf( tableOrder, node1.name ); + index2 = CKEDITOR.tools.indexOf( tableOrder, node2.name ); + } + + // Make sure the sort is stable, if no order can be established above. + if ( !( index1 > -1 && index2 > -1 && index1 != index2 ) ) { + index1 = getNodeIndex( node1 ); + index2 = getNodeIndex( node2 ); + } + + return index1 > index2 ? 1 : -1; + } ); + }, + + // Restore param elements into self-closing. + param: function( param ) { + param.children = []; + param.isEmpty = true; + return param; + }, + + // Remove dummy span in webkit. + span: function( element ) { + if ( element.attributes[ 'class' ] == 'Apple-style-span' ) + delete element.name; + }, + + html: function( element ) { + delete element.attributes.contenteditable; + delete element.attributes[ 'class' ]; + }, + + body: function( element ) { + delete element.attributes.spellcheck; + delete element.attributes.contenteditable; + }, + + style: function( element ) { + var child = element.children[ 0 ]; + if ( child && child.value ) + child.value = CKEDITOR.tools.trim( child.value ); + + if ( !element.attributes.type ) + element.attributes.type = 'text/css'; + }, + + title: function( element ) { + var titleText = element.children[ 0 ]; + + // Append text-node to title tag if not present (i.e. non-IEs) (#9882). + !titleText && append( element, titleText = new CKEDITOR.htmlParser.text() ); + + // Transfer data-saved title to title tag. + titleText.value = element.attributes[ 'data-cke-title' ] || ''; + }, + + input: unprotectReadyOnly, + textarea: unprotectReadyOnly + }, + + attributes: { + 'class': function( value, element ) { + // Remove all class names starting with "cke_". + return CKEDITOR.tools.ltrim( value.replace( /(?:^|\s+)cke_[^\s]*/g, '' ) ) || false; + } + } + }; + + if ( CKEDITOR.env.ie ) { + // IE outputs style attribute in capital letters. We should convert + // them back to lower case, while not hurting the values (#5930) + defaultHtmlFilterRulesForAll.attributes.style = function( value, element ) { + return value.replace( /(^|;)([^\:]+)/g, function( match ) { + return match.toLowerCase(); + } ); + }; + } + + // Disable form elements editing mode provided by some browsers. (#5746) + function unprotectReadyOnly( element ) { + var attrs = element.attributes; + switch ( attrs[ 'data-cke-editable' ] ) { + case 'true': + attrs.contenteditable = 'true'; + break; + case '1': + delete attrs.contenteditable; + break; + } + } + + // + // Preprocessor filters --------------------------------------------------- + // + + var protectElementRegex = /<(a|area|img|input|source)\b([^>]*)>/gi, + // Be greedy while looking for protected attributes. This will let us avoid an unfortunate + // situation when "nested attributes", which may appear valid, are also protected. + // I.e. if we consider the following HTML: + // + // + // + // then the "non-greedy match" returns: + // + // 'href' => '"X"' // It's wrong! Href is not an attribute of . + // + // while greedy match returns: + // + // 'data-x' => '<a href="X"' + // + // which, can be easily filtered out (#11508). + protectAttributeRegex = /([\w-]+)\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|(?:[^ "'>]+))/gi, + protectAttributeNameRegex = /^(href|src|name)$/i; + + // Note: we use lazy star '*?' to prevent eating everything up to the last occurrence of or . + var protectElementsRegex = /(?:])[^>]*>[\s\S]*?<\/style>)|(?:<(:?link|meta|base)[^>]*>)/gi, + protectTextareaRegex = /(])[^>]*>)([\s\S]*?)(?:<\/textarea>)/gi, + encodedElementsRegex = /([^<]*)<\/cke:encoded>/gi; + + var protectElementNamesRegex = /(<\/?)((?:object|embed|param|html|body|head|title)[^>]*>)/gi, + unprotectElementNamesRegex = /(<\/?)cke:((?:html|body|head|title)[^>]*>)/gi; + + var protectSelfClosingRegex = /]*?)\/?>(?!\s*<\/cke:\1)/gi; + + function protectAttributes( html ) { + return html.replace( protectElementRegex, function( element, tag, attributes ) { + return '<' + tag + attributes.replace( protectAttributeRegex, function( fullAttr, attrName ) { + // Avoid corrupting the inline event attributes (#7243). + // We should not rewrite the existed protected attributes, e.g. clipboard content from editor. (#5218) + if ( protectAttributeNameRegex.test( attrName ) && attributes.indexOf( 'data-cke-saved-' + attrName ) == -1 ) + return ' data-cke-saved-' + fullAttr + ' data-cke-' + CKEDITOR.rnd + '-' + fullAttr; + + return fullAttr; + } ) + '>'; + } ); + } + + function protectElements( html, regex ) { + return html.replace( regex, function( match, tag, content ) { + // Encode < and > in textarea because this won't be done by a browser, since + // textarea will be protected during passing data through fix bin. + if ( match.indexOf( '/g, '>' ) + ''; + + return '' + encodeURIComponent( match ) + ''; + } ); + } + + function unprotectElements( html ) { + return html.replace( encodedElementsRegex, function( match, encoded ) { + return decodeURIComponent( encoded ); + } ); + } + + function protectElementsNames( html ) { + return html.replace( protectElementNamesRegex, '$1cke:$2' ); + } + + function unprotectElementNames( html ) { + return html.replace( unprotectElementNamesRegex, '$1$2' ); + } + + function protectSelfClosingElements( html ) { + return html.replace( protectSelfClosingRegex, '' ); + } + + function protectPreFormatted( html ) { + return CKEDITOR.env.opera ? html : html.replace( /(]*>)(\r\n|\n)/g, '$1$2$2' ); + } + + function protectRealComments( html ) { + return html.replace( //g, function( match ) { + return ''; + } ); + } + + function unprotectRealComments( html ) { + return html.replace( //g, function( match, data ) { + return decodeURIComponent( data ); + } ); + } + + function unprotectSource( html, editor ) { + var store = editor._.dataStore; + + return html.replace( //g, function( match, data ) { + return decodeURIComponent( data ); + } ).replace( /\{cke_protected_(\d+)\}/g, function( match, id ) { + return store && store[ id ] || ''; + } ); + } + + function protectSource( data, editor ) { + var protectedHtml = [], + protectRegexes = editor.config.protectedSource, + store = editor._.dataStore || ( editor._.dataStore = { id: 1 } ), + tempRegex = /<\!--\{cke_temp(comment)?\}(\d*?)-->/g; + + var regexes = [ + // Script tags will also be forced to be protected, otherwise + // IE will execute them. + ( //gi ), + + //
' . $langs->trans('Ref') . ''; @@ -2509,7 +2534,7 @@ if ($action == 'create') { } print $form->showrefnav($object, 'ref', $linkback, 1, 'facnumber', 'ref', $morehtmlref); print '
'; print ''; - + // Third party print '"; - print ''."\n"; + print ''."\n"; print "\n"; diff --git a/htdocs/compta/salaries/class/salaries.class.php b/htdocs/compta/salaries/class/salaries.class.php new file mode 100644 index 00000000000..ccb89a1e4e5 --- /dev/null +++ b/htdocs/compta/salaries/class/salaries.class.php @@ -0,0 +1,578 @@ + + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/** + * \file htdocs/compta/salaries/class/salaries.class.php + * \ingroup tax + * \brief Class for tax module salaries + */ + +// Put here all includes required by your class file +require_once DOL_DOCUMENT_ROOT .'/core/class/commonobject.class.php'; + + +/** + * Put here description of your class + */ +class Sal extends CommonObject +{ + //public $element='salaries'; //!< Id that identify managed objects + //public $table_element='salaries'; //!< Name of table without prefix where object is stored + + var $id; + var $ref; + + var $tms; + var $fk_user; + var $datep; + var $datev; + var $amount; + var $label; + var $datesp; + var $dateep; + var $note; + var $fk_bank; + var $fk_user_creat; + var $fk_user_modif; + + + + /** + * Constructor + * + * @param DoliDB $db Database handler + */ + function __construct($db) + { + $this->db = $db; + $this->element = 'salaries'; + $this->table_element = 'salaries'; + return 1; + } + + + /** + * Create in database + * + * @param User $user User that create + * @return int <0 if KO, >0 if OK + */ + function create($user) + { + global $conf, $langs; + + $error=0; + + // Clean parameters + $this->fk_user=trim($this->fk_user); + $this->amount=trim($this->amount); + $this->label=trim($this->label); + $this->note=trim($this->note); + $this->fk_bank=trim($this->fk_bank); + $this->fk_user_creat=trim($this->fk_user_creat); + $this->fk_user_modif=trim($this->fk_user_modif); + + // Check parameters + // Put here code to add control on parameters values + + // Insert request + $sql = "INSERT INTO ".MAIN_DB_PREFIX."salaries("; + $sql.= "tms,"; + $sql.= "fk_user,"; + $sql.= "datep,"; + $sql.= "datev,"; + $sql.= "amount,"; + $sql.= "label,"; + $sql.= "datesp,"; + $sql.= "dateep,"; + $sql.= "note,"; + $sql.= "fk_bank,"; + $sql.= "fk_user_creat,"; + $sql.= "fk_user_modif"; + + $sql.= ") VALUES ("; + + $sql.= " ".$this->db->idate($this->tms).","; + $sql.= " '".$this->fk_user."',"; + $sql.= " ".$this->db->idate($this->datep).","; + $sql.= " ".$this->db->idate($this->datev).","; + $sql.= " '".$this->amount."',"; + $sql.= " '".$this->label."',"; + $sql.= " ".$this->db->idate($this->datesp).","; + $sql.= " ".$this->db->idate($this->dateep).","; + $sql.= " '".$this->note."',"; + $sql.= " ".($this->fk_bank <= 0 ? "NULL" : "'".$this->fk_bank."'").","; + $sql.= " '".$this->fk_user_creat."',"; + $sql.= " '".$this->fk_user_modif."'"; + + $sql.= ")"; + + dol_syslog(get_class($this)."::create sql=".$sql, LOG_DEBUG); + $resql=$this->db->query($sql); + if ($resql) + { + $this->id = $this->db->last_insert_id(MAIN_DB_PREFIX."salaries"); + + // Appel des triggers + include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php'; + $interface=new Interfaces($this->db); + $result=$interface->run_triggers('SAL_CREATE',$this,$user,$langs,$conf); + if ($result < 0) { $error++; $this->errors=$interface->errors; } + // Fin appel triggers + + return $this->id; + } + else + { + $this->error="Error ".$this->db->lasterror(); + dol_syslog(get_class($this)."::create ".$this->error, LOG_ERR); + return -1; + } + } + + /** + * Update database + * + * @param User $user User that modify + * @param int $notrigger 0=no, 1=yes (no update trigger) + * @return int <0 if KO, >0 if OK + */ + function update($user=0, $notrigger=0) + { + global $conf, $langs; + + $error=0; + + // Clean parameters + $this->fk_user=trim($this->fk_user); + $this->amount=trim($this->amount); + $this->label=trim($this->label); + $this->note=trim($this->note); + $this->fk_bank=trim($this->fk_bank); + $this->fk_user_creat=trim($this->fk_user_creat); + $this->fk_user_modif=trim($this->fk_user_modif); + + // Check parameters + if (empty($this->fk_user) || $this->fk_user < 0) + { + $this->error='ErrorBadParameter'; + return -1; + } + + // Update request + $sql = "UPDATE ".MAIN_DB_PREFIX."salaries SET"; + + $sql.= " tms=".$this->db->idate($this->tms).","; + $sql.= " fk_user='".$this->fk_user."',"; + $sql.= " datep=".$this->db->idate($this->datep).","; + $sql.= " datev=".$this->db->idate($this->datev).","; + $sql.= " amount='".$this->amount."',"; + $sql.= " label='".$this->db->escape($this->label)."',"; + $sql.= " datesp=".$this->db->idate($this->datesp).","; + $sql.= " dateep=".$this->db->idate($this->dateep).","; + $sql.= " note='".$this->db->escape($this->note)."',"; + $sql.= " fk_bank='".$this->fk_bank."',"; + $sql.= " fk_user_creat='".$this->fk_user_creat."',"; + $sql.= " fk_user_modif='".$this->fk_user_modif."'"; + + $sql.= " WHERE rowid=".$this->id; + + dol_syslog(get_class($this)."::update sql=".$sql, LOG_DEBUG); + $resql = $this->db->query($sql); + if (! $resql) + { + $this->error="Error ".$this->db->lasterror(); + dol_syslog(get_class($this)."::update ".$this->error, LOG_ERR); + return -1; + } + + if (! $notrigger) + { + // Appel des triggers + include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php'; + $interface=new Interfaces($this->db); + $result=$interface->run_triggers('SAL_MODIFY',$this,$user,$langs,$conf); + if ($result < 0) { $error++; $this->errors=$interface->errors; } + // Fin appel triggers + } + + return 1; + } + + + /** + * Load object in memory from database + * + * @param int $id id object + * @param User $user User that load + * @return int <0 if KO, >0 if OK + */ + function fetch($id, $user=0) + { + global $langs; + $sql = "SELECT"; + $sql.= " s.rowid,"; + + $sql.= " s.tms,"; + $sql.= " s.fk_user,"; + $sql.= " s.datep,"; + $sql.= " s.datev,"; + $sql.= " s.amount,"; + $sql.= " s.label,"; + $sql.= " s.datesp,"; + $sql.= " s.dateep,"; + $sql.= " s.note,"; + $sql.= " s.fk_bank,"; + $sql.= " s.fk_user_creat,"; + $sql.= " s.fk_user_modif,"; + $sql.= " b.fk_account,"; + $sql.= " b.fk_type,"; + $sql.= " b.rappro"; + + $sql.= " FROM ".MAIN_DB_PREFIX."salaries as s"; + $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."bank as b ON s.fk_bank = b.rowid"; + $sql.= " WHERE s.rowid = ".$id; + + dol_syslog(get_class($this)."::fetch sql=".$sql, LOG_DEBUG); + $resql=$this->db->query($sql); + if ($resql) + { + if ($this->db->num_rows($resql)) + { + $obj = $this->db->fetch_object($resql); + + $this->id = $obj->rowid; + $this->ref = $obj->rowid; + $this->tms = $this->db->jdate($obj->tms); + $this->fk_user = $obj->fk_user; + $this->datep = $this->db->jdate($obj->datep); + $this->datev = $this->db->jdate($obj->datev); + $this->amount = $obj->amount; + $this->label = $obj->label; + $this->datesp = $this->db->jdate($obj->datesp); + $this->dateep = $this->db->jdate($obj->dateep); + $this->note = $obj->note; + $this->fk_bank = $obj->fk_bank; + $this->fk_user_creat = $obj->fk_user_creat; + $this->fk_user_modif = $obj->fk_user_modif; + $this->fk_account = $obj->fk_account; + $this->fk_type = $obj->fk_type; + $this->rappro = $obj->rappro; + } + $this->db->free($resql); + + return 1; + } + else + { + $this->error="Error ".$this->db->lasterror(); + dol_syslog(get_class($this)."::fetch ".$this->error, LOG_ERR); + return -1; + } + } + + + /** + * Delete object in database + * + * @param User $user User that delete + * @return int <0 if KO, >0 if OK + */ + function delete($user) + { + global $conf, $langs; + + $error=0; + + $sql = "DELETE FROM ".MAIN_DB_PREFIX."salaries"; + $sql.= " WHERE rowid=".$this->id; + + dol_syslog(get_class($this)."::delete sql=".$sql); + $resql = $this->db->query($sql); + if (! $resql) + { + $this->error="Error ".$this->db->lasterror(); + dol_syslog(get_class($this)."::delete ".$this->error, LOG_ERR); + return -1; + } + + // Appel des triggers + include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php'; + $interface=new Interfaces($this->db); + $result=$interface->run_triggers('SAL_DELETE',$this,$user,$langs,$conf); + if ($result < 0) { $error++; $this->errors=$interface->errors; } + // Fin appel triggers + + return 1; + } + + + /** + * Initialise an instance with random values. + * Used to build previews or test instances. + * id must be 0 if object instance is a specimen. + * + * @return void + */ + function initAsSpecimen() + { + $this->id=0; + + $this->tms=''; + $this->fk_user=''; + $this->datep=''; + $this->datev=''; + $this->amount=''; + $this->label=''; + $this->datesp=''; + $this->dateep=''; + $this->note=''; + $this->fk_bank=''; + $this->fk_user_creat=''; + $this->fk_user_modif=''; + } + + /** + * Ajoute un paiement de salaire + * + * @param User $user Object user that insert + * @return int <0 if KO, rowid in tva table if OK + */ + function addPayment($user) + { + global $conf,$langs; + + $this->db->begin(); + + // Clean parameters + $this->amount=price2num(trim($this->amount)); + + // Check parameters + if (! $this->label) + { + $this->error=$langs->trans("ErrorFieldRequired",$langs->transnoentities("Label")); + return -3; + } + if ($this->fk_user < 0 || $this->fk_user == '') + { + $this->error=$langs->trans("ErrorFieldRequired",$langs->transnoentities("Person")); + return -4; + } + if ($this->amount < 0 || $this->amount == '') + { + $this->error=$langs->trans("ErrorFieldRequired",$langs->transnoentities("Amount")); + return -5; + } + if (! empty($conf->banque->enabled) && (empty($this->accountid) || $this->accountid <= 0)) + { + $this->error=$langs->trans("ErrorFieldRequired",$langs->transnoentities("Account")); + return -6; + } + if (! empty($conf->banque->enabled) && (empty($this->paymenttype) || $this->paymenttype <= 0)) + { + $this->error=$langs->trans("ErrorFieldRequired",$langs->transnoentities("PaymentMode")); + return -6; + } + + // Insertion dans table des paiement salaires + $sql = "INSERT INTO ".MAIN_DB_PREFIX."salaries (fk_user"; + $sql.= ", datep"; + $sql.= ", datev"; + $sql.= ", amount"; + if ($this->note) $sql.=", note"; + if ($this->label) $sql.=", label"; + $sql.= ", datesp"; + $sql.= ", dateep"; + $sql.= ", fk_user_creat"; + $sql.= ", fk_bank"; + $sql.= ", entity"; + $sql.= ") "; + $sql.= " VALUES ("; + $sql.= "'".$this->fk_user."'"; + $sql.= ", '".$this->db->idate($this->datep)."'"; + $sql.= ", '".$this->db->idate($this->datev)."'"; + $sql.= ", ".$this->amount; + if ($this->note) $sql.= ", '".$this->db->escape($this->note)."'"; + if ($this->label) $sql.= ", '".$this->db->escape($this->label)."'"; + $sql.= ", '".$this->db->idate($this->datesp)."'"; + $sql.= ", '".$this->db->idate($this->dateep)."'"; + $sql.= ", '".$user->id."'"; + $sql.= ", NULL"; + $sql.= ", ".$conf->entity; + $sql.= ")"; + + dol_syslog(get_class($this)."::addPayment sql=".$sql); + $result = $this->db->query($sql); + if ($result) + { + $this->id = $this->db->last_insert_id(MAIN_DB_PREFIX."salaries"); // TODO devrait s'appeler payment_sal + + // Appel des triggers + include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php'; + $interface=new Interfaces($this->db); + $result=$interface->run_triggers('SAL_ADDPAYMENT',$this,$user,$langs,$conf); + if ($result < 0) { $error++; $this->errors=$interface->errors; } + // Fin appel triggers + + if ($this->id > 0) + { + $ok=1; + if (! empty($conf->banque->enabled) && ! empty($this->amount)) + { + // Insertion dans llx_bank + require_once DOL_DOCUMENT_ROOT.'/compta/bank/class/account.class.php'; + + $acc = new Account($this->db); + $result=$acc->fetch($this->accountid); + if ($result <= 0) dol_print_error($this->db); + + // Insert payment into llx_bank + // Add link 'payment_sal' in bank_url between payment and bank transaction + $bank_line_id = $acc->addline( + $this->datep, + $this->paymenttype, + $this->label, + -abs($this->amount), + '', + '', + $user + ); + + // Mise a jour fk_bank dans llx_paiement. + // On connait ainsi le paiement qui a genere l'ecriture bancaire + if ($bank_line_id > 0) + { + $this->update_fk_bank($bank_line_id); + } + else + { + $this->error=$acc->error; + $ok=0; + } + + // Add link 'payment_sal' in bank_url between payment and bank transaction + $url=DOL_URL_ROOT.'/compta/salaries/fiche.php?id='; + + $result=$acc->add_url_line($bank_line_id, $this->id, $url, "(SalPayment)", "payment_sal"); + if ($result <= 0) + { + $this->error=$acc->error; + $ok=0; + } + + // Add link 'user' in bank_url between operation and bank transaction + $linkaddedforthirdparty=array(); + foreach ($this->amounts as $key => $value) + { + $sal = new Sal ($this->db); + + $sal->fetch($key); + $sal->fetch_user($this->fk_user); + + if (! in_array($sal->user->id,$linkaddedforthirdparty)) // Not yet done for this thirdparty + { + $result=$acc->add_url_line( + $bank_line_id, + $sal->user->id, + DOL_URL_ROOT.'/user/fiche.php?id=', + $sal->user->lastname, + 'user' + ); + + if ($result <= 0) dol_print_error($this->db); + $linkaddedforthirdparty[$sal->user->id]=$sal->user->id; // Mark as done for this thirdparty + } + + } + } + + if ($ok) + { + $this->db->commit(); + return $this->id; + } + else + { + $this->db->rollback(); + return -3; + } + } + else + { + $this->error=$this->db->error(); + $this->db->rollback(); + return -2; + } + } + else + { + $this->error=$this->db->error(); + $this->db->rollback(); + return -1; + } + } + + /** + * Mise a jour du lien entre le paiement salaire et la ligne générée dans llx_bank + * + * @param int $id_bank Id compte bancaire + * @return int <0 if KO, >0 if OK + */ + function update_fk_bank($id_bank) + { + $sql = 'UPDATE '.MAIN_DB_PREFIX.'salaries SET fk_bank = '.$id_bank; + $sql.= ' WHERE rowid = '.$this->id; + $result = $this->db->query($sql); + if ($result) + { + return 1; + } + else + { + dol_print_error($this->db); + return -1; + } + } + + + /** + * Renvoie nom clicable (avec eventuellement le picto) + * + * @param int $withpicto 0=Pas de picto, 1=Inclut le picto dans le lien, 2=Picto seul + * @param string $option Sur quoi pointe le lien + * @return string Chaine avec URL + */ + function getNomUrl($withpicto=0,$option='') + { + global $langs; + + $result=''; + + $lien = ''; + $lienfin=''; + + $picto='payment'; + $label=$langs->trans("ShowSalPayment").': '.$this->ref; + + if ($withpicto) $result.=($lien.img_object($label,$picto).$lienfin); + if ($withpicto && $withpicto != 2) $result.=' '; + if ($withpicto != 2) $result.=$lien.$this->ref.$lienfin; + return $result; + } + +} +?> diff --git a/htdocs/compta/salaries/fiche.php b/htdocs/compta/salaries/fiche.php new file mode 100644 index 00000000000..9ff49c2ad11 --- /dev/null +++ b/htdocs/compta/salaries/fiche.php @@ -0,0 +1,327 @@ + + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/** + * \file htdocs/compta/salaries/fiche.php + * \ingroup tax + * \brief Page of salaries payments + */ + +require '../../main.inc.php'; +require_once DOL_DOCUMENT_ROOT.'/compta/salaries/class/salaries.class.php'; +require_once DOL_DOCUMENT_ROOT.'/compta/bank/class/account.class.php'; + +$langs->load("compta"); +$langs->load("banks"); +$langs->load("bills"); + +$id=GETPOST("id",'int'); +$action=GETPOST('action'); + +// Security check +$socid = isset($_GET["socid"])?$_GET["socid"]:''; +if ($user->societe_id) $socid=$user->societe_id; +$result = restrictedArea($user, 'tax', '', '', 'charges'); + +$sal = new Sal($db); + +// Initialize technical object to manage hooks of thirdparties. Note that conf->hooks_modules contains array array +$hookmanager->initHooks(array('taxsalcard')); + + + +/** + * Actions + */ + +if ($_POST["cancel"] == $langs->trans("Cancel")) +{ + header("Location: index.php"); + exit; +} + +if ($action == 'add' && $_POST["cancel"] <> $langs->trans("Cancel")) +{ + $db->begin(); + + $datev=dol_mktime(12,0,0, $_POST["datevmonth"], $_POST["datevday"], $_POST["datevyear"]); + $datep=dol_mktime(12,0,0, $_POST["datepmonth"], $_POST["datepday"], $_POST["datepyear"]); + $datesp=dol_mktime(12,0,0, $_POST["datespmonth"], $_POST["datespday"], $_POST["datespyear"]); + $dateep=dol_mktime(12,0,0, $_POST["dateepmonth"], $_POST["dateepday"], $_POST["dateepyear"]); + + + $sal->accountid=$_POST["accountid"]; + $sal->paymenttype=$_POST["paiementtype"]; + $sal->fk_user=$_POST["fk_user"]; + $sal->datev=$datev; + $sal->datep=$datep; + $sal->amount=$_POST["amount"]; + $sal->label=$_POST["label"]; + $sal->datesp=$datesp; + $sal->dateep=$dateep; + + $ret=$sal->addPayment($user); + if ($ret > 0) + { + $db->commit(); + header("Location: index.php"); + exit; + } + else + { + $db->rollback(); + setEventMessage($sal->error, 'errors'); + $action="create"; + } +} + +if ($action == 'delete') +{ + $result=$sal->fetch($id); + + if ($sal->rappro == 0) + { + $db->begin(); + + $ret=$sal->delete($user); + if ($ret > 0) + { + if ($sal->fk_bank) + { + $accountline=new AccountLine($db); + $result=$accountline->fetch($sal->fk_bank); + if ($result > 0) $result=$accountline->delete($user); // $result may be 0 if not found (when bank entry was deleted manually and fk_bank point to nothing) + } + + if ($result >= 0) + { + $db->commit(); + header("Location: ".DOL_URL_ROOT.'/compta/salaries/index.php'); + exit; + } + else + { + $sal->error=$accountline->error; + $db->rollback(); + setEventMessage($sal->error,'errors'); + } + } + else + { + $db->rollback(); + setEventMessage($sal->error,'errors'); + } + } + else + { + setEventMessage('Error try do delete a line linked to a conciliated bank transaction','errors'); + } +} + + +/* +* View +*/ + +llxHeader(); + +$form = new Form($db); + +if ($id) +{ + $salpayment = new Sal($db); + $result = $salpayment->fetch($id); + if ($result <= 0) + { + dol_print_error($db); + exit; + } +} + +// Formulaire saisie salaire +if ($action == 'create') +{ + print "\n"; + print ''; + print ''; + + print_fiche_titre($langs->trans("NewSalPayment")); + + print '
'; @@ -2531,7 +2556,7 @@ if ($action == 'create') { print $object->ref_client; } print '
'; print ''; @@ -2559,7 +2584,7 @@ if ($action == 'create') { print ')'; } print ''; - + // Type print ''; - + // Relative and absolute discounts $addrelativediscount = '' . $langs->trans("EditRelativeDiscounts") . ''; $addabsolutediscount = '' . $langs->trans("EditGlobalDiscounts") . ''; $addcreditnote = '' . $langs->trans("AddCreditNote") . ''; - + print ''; - + // Date invoice print ''; - + // List of payments - + $sign = 1; if ($object->type == Facture::TYPE_CREDIT_NOTE) $sign = - 1; - + $nbrows = 8; $nbcols = 2; if (! empty($conf->projet->enabled)) @@ -2723,11 +2748,11 @@ if ($action == 'create') { $nbrows ++; if ($selleruserevenustamp) $nbrows ++; - + print ''; - + // Conditions de reglement print ''."\n"; } - + print ''."\n"; print ''."\n"; print ''."\n"; @@ -653,7 +653,7 @@ if ($object->format=="D") if ($user->rights->opensurvey->write) { print ''."\n"; } - + print ''."\n"; print ''."\n"; print ''."\n"; @@ -700,7 +700,7 @@ if ($object->format=="D") if ($user->rights->opensurvey->write) { print ''."\n"; } - + print ''."\n"; } } @@ -744,11 +744,11 @@ while ($compteur < $num) $ensemblereponses = $obj->reponses; print ''."\n"; From a80ecc805279200806ca84b9f26cbb927e9c0ac1 Mon Sep 17 00:00:00 2001 From: KreizIT Date: Wed, 5 Mar 2014 12:06:01 +0100 Subject: [PATCH 097/293] Correct multiline comments not manage by dolibarr Avoid error in loading data and also loading data which not be to. --- htdocs/install/mysql/data/llx_accounting.sql | 100 +++++++++---------- 1 file changed, 50 insertions(+), 50 deletions(-) diff --git a/htdocs/install/mysql/data/llx_accounting.sql b/htdocs/install/mysql/data/llx_accounting.sql index 0b2852117af..8720a2aedd5 100644 --- a/htdocs/install/mysql/data/llx_accounting.sql +++ b/htdocs/install/mysql/data/llx_accounting.sql @@ -1400,54 +1400,54 @@ INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1348, 'PCMN-BASE', 'PROD', 'XXXXXX', '792', '79', 'Prélèvement sur les réserves', '1'); INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1349, 'PCMN-BASE', 'PROD', 'XXXXXX', '793', '79', 'Perte à reporter', '1'); INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1350, 'PCMN-BASE', 'PROD', 'XXXXXX', '794', '79', 'Intervention d''associés (ou du propriétaire) dans la perte', '1'); -/* -INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1351, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '00', '0', 'Garanties constituées par des tiers pour le compte de l''entreprise', '1'); -INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1352, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '00', '0', 'Créanciers, bénéficiaires de garanties de tiers', '1'); -INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1353, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '01', '0', 'Tiers constituants de garanties pour compte de l''entreprise', '1'); -INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1354, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '01', '0', 'Garanties constituées pour compte de tiers', '1'); -INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1355, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '010', '01', 'Débiteurs pour engagements sur effets', '1'); -INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1356, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '011', '01', 'Créanciers d''engagements sur effets', '1'); -INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1357, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '0110', '011', 'Effets cédés par l''entreprise sous endos', '1'); -INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1358, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '0111', '011', 'Autres engagements sur effets en circulation', '1'); -INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1359, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '012', '01', 'Débiteurs pour autres garanties personnelles', '1'); -INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1360, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '013', '01', 'Créanciers d''autres garanties personnelles', '1'); -INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1361, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '02', '0', 'Garanties réelles constituées sur avoirs propres', '1'); -INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1362, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '020', '02', 'Créanciers de l''entreprise, bénéficiaires de garanties réelles', '1'); -INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1363, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '021', '02', 'Garanties réelles constituées pour compte propre', '1'); -INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1364, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '022', '02', 'Créanciers de tiers, bénéficiaires de garanties réelles', '1'); -INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1365, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '023', '02', 'Garanties réelles constituées pour compte de tiers', '1'); -INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1366, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '03', '0', 'Garanties reçues', '1'); -INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1367, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '030', '03', 'Dépôts statutaires', '1'); -INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1368, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '031', '03', 'Déposants statutaires', '1'); -INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1369, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '032', '03', 'Garanties reçues', '1'); -INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1370, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '033', '03', 'Constituants de garanties', '1'); -INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1371, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '04', '0', 'Biens te valeurs détenus pat des tiers en leur nom mais aux risques et profits de l''entreprise', '1'); -INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1372, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '040', '04', 'Tiers, détenteurs en leur nom mais aux risques et profits de l''entreprise de biens et de valeurs', '1'); -INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1373, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '041', '04', 'Biens et valeurs détenus par des tiers en leur nom mais aux risques et profits de l''entreprise', '1'); -INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1374, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '05', '0', 'Engagements d''acquisition et de cession d''immobilisation', '1'); -INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1375, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '050', '05', 'Engagements d''acquisition', '1'); -INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1376, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '051', '05', 'Créanciers d''engagements d''acquisition', '1'); -INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1377, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '052', '05', 'Débiteurs pour engagements de cession', '1'); -INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1378, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '053', '05', 'Engagements de cession', '1'); -INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1379, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '06', '0', 'Marchés à terme', '1'); -INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1380, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '060', '06', 'Marchandises achetées à terme - à recevoir', '1'); -INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1381, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '061', '06', 'Créanciers pour marchandises achetées à terme', '1'); -INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1382, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '062', '06', 'Débiteurs pour marchandises vendues à terme - à livrer', '1'); -INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1383, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '063', '06', 'Marchandises vendues à terme - à livrer', '1'); -INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1384, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '064', '06', 'Devises achetées à terme - à recevoir', '1'); -INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1385, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '065', '06', 'Créanciers pour devises achetées à terme', '1'); -INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1386, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '066', '06', 'Débiteurs pour devises vendues à terme', '1'); -INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1387, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '067', '06', 'Devises vendues à terme - à livrer', '1'); -INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1388, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '07', '0', 'Biens et valeurs de tiers détenus pat l''entreprise', '1'); -INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1389, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '070', '07', 'Droits d''usage à long terme', '1'); -INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1390, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '0700', '070', 'Sur terrains et constructions', '1'); -INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1391, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '0701', '070', 'Sur installations, machines et outillage', '1'); -INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1392, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '0702', '070', 'Sur mobilier et matériel roulant', '1'); -INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1393, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '071', '07', 'Créanciers de loyers et redevances', '1'); -INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1394, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '072', '07', 'Biens et valeurs de tiers reçus en dépôt, en consignation ou à façon', '1'); -INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1395, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '073', '07', 'Commettants et déposants de biens et valeurs', '1'); -INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1396, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '074', '07', 'Biens et valeurs détenus pour compte ou aux risques et profits de tiers', '1'); -INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1397, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '075', '07', 'Créanciers de biens et valeurs détenus pour compte de tiers ou à leurs risques et profits', '1'); -INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1398, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '09', '0', 'Droits et engagements divers', '1'); -*/ +-- dolibarr read and execute query line by line so /* is not effective and lead to error +-- INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1351, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '00', '0', 'Garanties constituées par des tiers pour le compte de l''entreprise', '1'); +-- INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1352, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '00', '0', 'Créanciers, bénéficiaires de garanties de tiers', '1'); +-- INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1353, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '01', '0', 'Tiers constituants de garanties pour compte de l''entreprise', '1'); +-- INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1354, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '01', '0', 'Garanties constituées pour compte de tiers', '1'); +-- INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1355, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '010', '01', 'Débiteurs pour engagements sur effets', '1'); +-- INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1356, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '011', '01', 'Créanciers d''engagements sur effets', '1'); +-- INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1357, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '0110', '011', 'Effets cédés par l''entreprise sous endos', '1'); +-- INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1358, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '0111', '011', 'Autres engagements sur effets en circulation', '1'); +-- INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1359, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '012', '01', 'Débiteurs pour autres garanties personnelles', '1'); +-- INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1360, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '013', '01', 'Créanciers d''autres garanties personnelles', '1'); +-- INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1361, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '02', '0', 'Garanties réelles constituées sur avoirs propres', '1'); +-- INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1362, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '020', '02', 'Créanciers de l''entreprise, bénéficiaires de garanties réelles', '1'); +-- INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1363, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '021', '02', 'Garanties réelles constituées pour compte propre', '1'); +-- INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1364, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '022', '02', 'Créanciers de tiers, bénéficiaires de garanties réelles', '1'); +-- INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1365, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '023', '02', 'Garanties réelles constituées pour compte de tiers', '1'); +-- INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1366, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '03', '0', 'Garanties reçues', '1'); +-- INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1367, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '030', '03', 'Dépôts statutaires', '1'); +-- INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1368, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '031', '03', 'Déposants statutaires', '1'); +-- INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1369, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '032', '03', 'Garanties reçues', '1'); +-- INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1370, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '033', '03', 'Constituants de garanties', '1'); +-- INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1371, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '04', '0', 'Biens te valeurs détenus pat des tiers en leur nom mais aux risques et profits de l''entreprise', '1'); +-- INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1372, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '040', '04', 'Tiers, détenteurs en leur nom mais aux risques et profits de l''entreprise de biens et de valeurs', '1'); +-- INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1373, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '041', '04', 'Biens et valeurs détenus par des tiers en leur nom mais aux risques et profits de l''entreprise', '1'); +-- INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1374, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '05', '0', 'Engagements d''acquisition et de cession d''immobilisation', '1'); +-- INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1375, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '050', '05', 'Engagements d''acquisition', '1'); +-- INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1376, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '051', '05', 'Créanciers d''engagements d''acquisition', '1'); +-- INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1377, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '052', '05', 'Débiteurs pour engagements de cession', '1'); +-- INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1378, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '053', '05', 'Engagements de cession', '1'); +-- INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1379, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '06', '0', 'Marchés à terme', '1'); +-- INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1380, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '060', '06', 'Marchandises achetées à terme - à recevoir', '1'); +-- INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1381, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '061', '06', 'Créanciers pour marchandises achetées à terme', '1'); +-- INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1382, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '062', '06', 'Débiteurs pour marchandises vendues à terme - à livrer', '1'); +-- INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1383, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '063', '06', 'Marchandises vendues à terme - à livrer', '1'); +-- INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1384, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '064', '06', 'Devises achetées à terme - à recevoir', '1'); +-- INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1385, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '065', '06', 'Créanciers pour devises achetées à terme', '1'); +-- INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1386, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '066', '06', 'Débiteurs pour devises vendues à terme', '1'); +-- INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1387, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '067', '06', 'Devises vendues à terme - à livrer', '1'); +-- INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1388, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '07', '0', 'Biens et valeurs de tiers détenus pat l''entreprise', '1'); +-- INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1389, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '070', '07', 'Droits d''usage à long terme', '1'); +-- INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1390, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '0700', '070', 'Sur terrains et constructions', '1'); +-- INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1391, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '0701', '070', 'Sur installations, machines et outillage', '1'); +-- INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1392, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '0702', '070', 'Sur mobilier et matériel roulant', '1'); +-- INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1393, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '071', '07', 'Créanciers de loyers et redevances', '1'); +-- INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1394, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '072', '07', 'Biens et valeurs de tiers reçus en dépôt, en consignation ou à façon', '1'); +-- INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1395, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '073', '07', 'Commettants et déposants de biens et valeurs', '1'); +-- INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1396, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '074', '07', 'Biens et valeurs détenus pour compte ou aux risques et profits de tiers', '1'); +-- INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1397, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '075', '07', 'Créanciers de biens et valeurs détenus pour compte de tiers ou à leurs risques et profits', '1'); +-- INSERT INTO llx_accountingaccount (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUE (1398, 'PCMN-BASE', 'HBILAN', 'XXXXXX', '09', '0', 'Droits et engagements divers', '1'); +-- */ From e9b9491a35ae1ba91c601696543e44c585baf5bb Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 5 Mar 2014 12:15:47 +0100 Subject: [PATCH 098/293] Clean database. Fix with firefox. --- htdocs/install/mysql/migration/repair.sql | 7 +++++++ htdocs/opensurvey/results.php | 17 ++++++++++------- 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/htdocs/install/mysql/migration/repair.sql b/htdocs/install/mysql/migration/repair.sql index e656799eb1f..7f909dd7ef2 100644 --- a/htdocs/install/mysql/migration/repair.sql +++ b/htdocs/install/mysql/migration/repair.sql @@ -94,3 +94,10 @@ UPDATE llx_product p SET p.stock= (SELECT SUM(ps.reel) FROM llx_product_stock ps -- DROP TABLE llx_product_fournisseur; -- ALTER TABLE llx_product_fournisseur_price DROP COLUMN fk_product_fournisseur; ALTER TABLE llx_product_fournisseur_price DROP FOREIGN KEY fk_product_fournisseur; + +-- Fix: deprecated tag to new one +update llx_opensurvey_sondage set format = 'D' where format = 'D+'; +update llx_opensurvey_sondage set format = 'A' where format = 'A+'; + + + diff --git a/htdocs/opensurvey/results.php b/htdocs/opensurvey/results.php index 434280d439a..a17cea45759 100644 --- a/htdocs/opensurvey/results.php +++ b/htdocs/opensurvey/results.php @@ -157,7 +157,7 @@ if ($testmodifier) } // Add column (not for date) -if (GETPOST("ajoutercolonne") && GETPOST('nouvellecolonne') && ($object->format == "A")) +if (GETPOST("ajoutercolonne") && GETPOST('nouvellecolonne') && $object->format == "A") { // Security check if (!$user->rights->opensurvey->write) accessforbidden(); @@ -181,8 +181,9 @@ if (GETPOST("ajoutercolonne") && GETPOST('nouvellecolonne') && ($object->format } // Add column (with format date) -if (isset($_POST["ajoutercolonne"]) && ($object->format == "D")) +if (isset($_POST["ajoutercolonne"]) && $object->format == "D") { + // Security check if (!$user->rights->opensurvey->write) accessforbidden(); @@ -276,7 +277,7 @@ if (isset($_POST["ajoutercolonne"]) && ($object->format == "D")) // Delete line for ($i = 0; $i < $nblignes; $i++) { - if (isset($_POST["effaceligne$i"])) + if (GETPOST("effaceligne".$i) || GETPOST("effaceligne".$i."_x") || GETPOST("effaceligne".$i.".x")) // effacelignei for chrome, effacelignei_x for firefox { // Security check if (!$user->rights->opensurvey->write) accessforbidden(); @@ -311,7 +312,8 @@ for ($i = 0; $i < $nblignes; $i++) // Delete column for ($i = 0; $i < $nbcolonnes; $i++) { - if (isset($_POST["effacecolonne$i"]) && $nbcolonnes > 1) + if ((GETPOST("effacecolonne".$i) || GETPOST("effacecolonne".$i."_x") || GETPOST("effacecolonne".$i.".x")) + && $nbcolonnes > 1) // effacecolonnei for chrome, effacecolonnei_x for firefox { // Security check if (!$user->rights->opensurvey->write) accessforbidden(); @@ -462,19 +464,20 @@ dol_fiche_end(); print ''."\n"; + print ''; -// Add form to add a field + +// Show form to add a new field/column if (GETPOST('ajoutsujet')) { // Security check if (!$user->rights->opensurvey->write) accessforbidden(); - //on recupere les données et les sujets du sondage print '
'."\n"; print ''; @@ -706,7 +709,7 @@ if ($object->format=="D") } else { - //affichage des sujets du sondage + // Show titles print '
'."\n"; print ''."\n"; print ''."\n"; From 16a074a69b8cb3e01ceffa205ab1349219eb5816 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 5 Mar 2014 12:25:31 +0100 Subject: [PATCH 099/293] Use better module id number --- htdocs/core/modules/modProductBatch.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/core/modules/modProductBatch.class.php b/htdocs/core/modules/modProductBatch.class.php index 3a3e8e32d4f..03779f8d0ea 100644 --- a/htdocs/core/modules/modProductBatch.class.php +++ b/htdocs/core/modules/modProductBatch.class.php @@ -43,7 +43,7 @@ class modProductBatch extends DolibarrModules global $langs,$conf; $this->db = $db; - $this->numero = 150010; + $this->numero = 39000; $this->family = "products"; $this->name = preg_replace('/^mod/i','',get_class($this)); From d139009ef5ee410e4ca3e69e037127d550ed14e1 Mon Sep 17 00:00:00 2001 From: Alexis Algoud Date: Wed, 5 Mar 2014 15:29:28 +0100 Subject: [PATCH 100/293] bug on update service with service created in 3.4 --- htdocs/product/class/product.class.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/product/class/product.class.php b/htdocs/product/class/product.class.php index e1fb258f11e..ac9381fbd9b 100644 --- a/htdocs/product/class/product.class.php +++ b/htdocs/product/class/product.class.php @@ -338,7 +338,7 @@ class Product extends CommonObject $sql.= ", ".$this->status; $sql.= ", ".$this->status_buy; $sql.= ", '".$this->canvas."'"; - $sql.= ", ".((! isset($this->finished) || $this->finished < 0 || $this->finished == '') ? 'null' : $this->finished); + $sql.= ", ".((! isset($this->finished) || $this->finished < 0 || $this->finished == '') ? 'null' : (int)$this->finished); $sql.= ")"; dol_syslog(get_class($this)."::Create sql=".$sql); @@ -474,7 +474,7 @@ class Product extends CommonObject $sql.= ", tosell = " . $this->status; $sql.= ", tobuy = " . $this->status_buy; - $sql.= ", finished = " . ((! isset($this->finished) || $this->finished < 0) ? "null" : $this->finished); + $sql.= ", finished = " . ((! isset($this->finished) || $this->finished < 0) ? "null" : (int)$this->finished); $sql.= ", weight = " . ($this->weight!='' ? "'".$this->weight."'" : 'null'); $sql.= ", weight_units = " . ($this->weight_units!='' ? "'".$this->weight_units."'": 'null'); $sql.= ", length = " . ($this->length!='' ? "'".$this->length."'" : 'null'); From 8f31af9825147f1acb9b7c5b494d0b94b01f0c28 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 5 Mar 2014 16:42:10 +0100 Subject: [PATCH 101/293] Fix: Translation --- htdocs/langs/en_US/admin.lang | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/langs/en_US/admin.lang b/htdocs/langs/en_US/admin.lang index d157aeccbf0..c12fa12d357 100644 --- a/htdocs/langs/en_US/admin.lang +++ b/htdocs/langs/en_US/admin.lang @@ -736,8 +736,8 @@ Permission55001=Read surveys Permission55002=Create/modify surveys Permission59001=Read commercial margins Permission59002=Define commercial margins -DictionaryCompanyType=Company types -DictionaryCompanyJuridicalType=Juridical kinds of company +DictionaryCompanyType=Thirdparties type +DictionaryCompanyJuridicalType=Juridical kinds of thirdparties DictionaryProspectLevel=Prospect potential level DictionaryCanton=State/Cantons DictionaryRegion=Regions From 6f60755426155c6c5806db05e32324ceea2634aa Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 5 Mar 2014 17:26:59 +0100 Subject: [PATCH 102/293] New: Add option MAIN_FAVICON_URL --- ChangeLog | 1 + htdocs/core/lib/security2.lib.php | 1 + htdocs/langs/ar_SA/admin.lang | 25 +++++++--- htdocs/langs/ar_SA/agenda.lang | 1 + htdocs/langs/ar_SA/cashdesk.lang | 1 + htdocs/langs/ar_SA/errors.lang | 4 ++ htdocs/langs/ar_SA/exports.lang | 4 ++ htdocs/langs/ar_SA/mails.lang | 7 +++ htdocs/langs/ar_SA/main.lang | 2 +- htdocs/langs/ar_SA/opensurvey.lang | 1 + htdocs/langs/ar_SA/orders.lang | 2 + htdocs/langs/ar_SA/other.lang | 17 +++---- htdocs/langs/ar_SA/products.lang | 17 +++++-- htdocs/langs/ar_SA/projects.lang | 17 +++++-- htdocs/langs/ar_SA/stocks.lang | 10 +++- htdocs/langs/bg_BG/admin.lang | 25 +++++++--- htdocs/langs/bg_BG/agenda.lang | 1 + htdocs/langs/bg_BG/cashdesk.lang | 1 + htdocs/langs/bg_BG/errors.lang | 6 ++- htdocs/langs/bg_BG/exports.lang | 4 ++ htdocs/langs/bg_BG/mails.lang | 7 +++ htdocs/langs/bg_BG/main.lang | 2 +- htdocs/langs/bg_BG/opensurvey.lang | 1 + htdocs/langs/bg_BG/orders.lang | 2 + htdocs/langs/bg_BG/other.lang | 27 ++++++----- htdocs/langs/bg_BG/products.lang | 17 +++++-- htdocs/langs/bg_BG/projects.lang | 17 +++++-- htdocs/langs/bg_BG/stocks.lang | 10 +++- htdocs/langs/bg_BG/users.lang | 2 +- htdocs/langs/bs_BA/admin.lang | 25 +++++++--- htdocs/langs/bs_BA/agenda.lang | 5 +- htdocs/langs/bs_BA/banks.lang | 8 ++-- htdocs/langs/bs_BA/bills.lang | 4 +- htdocs/langs/bs_BA/boxes.lang | 2 +- htdocs/langs/bs_BA/cashdesk.lang | 77 +++++++++++++++--------------- htdocs/main.inc.php | 1 + 36 files changed, 241 insertions(+), 113 deletions(-) diff --git a/ChangeLog b/ChangeLog index b13f0bc1586..606a5577e80 100644 --- a/ChangeLog +++ b/ChangeLog @@ -26,6 +26,7 @@ For users: - New: Automatic events for sending mails showing info about mail linked objects. - New: Price management enhancement (multiprice level, price by customer, if MAIN_FEATURES_LEVEL=2 Price by qty) - New: Add filter on text and status into survey list. Can also sorter on id, text and date end. +- New: Add option MAIN_FAVICON_URL - Fix: Project Task numbering rule customs rule works TODO diff --git a/htdocs/core/lib/security2.lib.php b/htdocs/core/lib/security2.lib.php index a33c1b5d443..79c711fe123 100644 --- a/htdocs/core/lib/security2.lib.php +++ b/htdocs/core/lib/security2.lib.php @@ -287,6 +287,7 @@ function dol_loginfunction($langs,$conf,$mysoc) // Set jquery theme $dol_loginmesg = (! empty($_SESSION["dol_loginmesg"])?$_SESSION["dol_loginmesg"]:''); $favicon=DOL_URL_ROOT.'/theme/'.$conf->theme.'/img/favicon.ico'; + if (! empty($conf->global->MAIN_FAVICON_URL)) $favicon=$conf->global->MAIN_FAVICON_URL; $jquerytheme = 'smoothness'; if (! empty($conf->global->MAIN_USE_JQUERY_THEME)) $jquerytheme = $conf->global->MAIN_USE_JQUERY_THEME; diff --git a/htdocs/langs/ar_SA/admin.lang b/htdocs/langs/ar_SA/admin.lang index 0365bb35c62..8a4e5c1ed41 100644 --- a/htdocs/langs/ar_SA/admin.lang +++ b/htdocs/langs/ar_SA/admin.lang @@ -287,7 +287,7 @@ CurrentVersion=Dolibarr النسخة الحالية CallUpdatePage=الذهاب إلى صفحة التحديثات وdatas هيكل قاعدة البيانات : ٪ s. LastStableVersion=آخر نسخة مستقرة GenericMaskCodes=يمكنك إدخال أي قناع الترقيم. في هذا القناع ، وبعد ويمكن استخدام العلامات :
(000000) يطابق عدد الذي سيكون على كل يزداد ٪ s. كما تدخل العديد من أصفار على النحو المنشود طول المضادة. المضاد وسيتم الانتهاء من اصفار من اليسار من أجل الحصول على أكبر عدد اصفار كما القناع.
000000 +000) (نفس السابقة ولكن يقابل المقابلة لعدد للحق من علامة + يطبق اعتبارا من أول ٪ s.
000000 @ (س) نفس السابقة ولكن المضاد هو إعادة الصفر عندما يتم التوصل إلى الشهر خ خ ما بين 1 و 12). إذا كان هذا الخيار هو المستخدمة وس 2 أو أعلى ، ثم تسلسل (ذ ذ م م)) ((سنة أو ملم)) (مطلوب أيضا.
(ب) اليوم (01 الى 31).
() ملم في الشهر (01 الى 12).
(كذا) ، (سنة)) أو السنة أكثر من 2 أو 4 أو 1 الأرقام.
-# GenericMaskCodes2={cccc} the client code
{cccc000} the client code on n characters is followed by a client's ref counter without offset and zeroized with the global counter.
{tttt} The code of company type on n characters (see dictionary-company types).
+# GenericMaskCodes2={cccc} the client code on n characters
{cccc000} the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.
{tttt} The code of company type on n characters (see dictionary-company types).
GenericMaskCodes3=جميع الشخصيات الاخرى في قناع سوف تظل سليمة.
المساحات غير مسموح بها.
GenericMaskCodes4a=ومثال على 99th ق ٪ من طرف ثالث TheCompany عمله 2007-01-31 :
GenericMaskCodes4b=ومثال على طرف ثالث على خلق 2007-03-01 :
@@ -345,8 +345,6 @@ SecurityTokenIsUnique=استخدام معلمة securekey فريدة لكل URL EnterRefToBuildUrl=أدخل مرجع لكائن %s GetSecuredUrl=الحصول على عنوان محسوب # ButtonHideUnauthorized=Hide buttons for unauthorized actions instead of showing disabled buttons -# ProductVatMassChange=Mass VAT change -# ProductVatMassChangeDesc=This page can be used to modify a VAT rate defined on products or services from a value to another. Warning, this change is done on all database. # OldVATRates=Old VAT rate # NewVATRates=New VAT rate # PriceBaseTypeToChange=Modify on prices with base reference value defined on @@ -381,6 +379,16 @@ ExtrafieldPrice = الأسعار # DefaultLink=Default link # ValueOverwrittenByUserSetup=Warning, this value may be overwritten by user specific setup (each user can set his own clicktodial url) # ExternalModule=External module - Installed into directory %s +# BarcodeInitForThirdparties=Mass barcode init for thirdparties +# BarcodeInitForProductsOrServices=Mass barcode init or reset for products or services +# CurrentlyNWithoutBarCode=Currently, you have %s records on %s %s without barcode defined. +# InitEmptyBarCode=Init value for next %s empty records +# EraseAllCurrentBarCode=Erase all current barcode values +# ConfirmEraseAllCurrentBarCode=Are you sure you want to erase all current barcode values ? +# AllBarcodeReset=All barcode values have been removed +# NoBarcodeNumberingTemplateDefined=No numbering barcode template enabled into barcode module setup. +# NoRecordWithoutBarcodeDefined=No record with no barcode value defined. + # Modules Module0Name=& مجموعات المستخدمين @@ -510,6 +518,8 @@ Module50200Desc= وحدة لتقديم على صفحة الدفع عبر الإ # Module59000Desc=Module to manage margins # Module60000Name=Commissions # Module60000Desc=Module to manage commissions +# Module150010Name=Batch number, eat-by date and sell-by date +# Module150010Desc=batch number, eat-by date and sell-by date management for product Permission11=قراءة الفواتير Permission12=خلق الفواتير Permission13=تعديل الفواتير @@ -726,8 +736,8 @@ Permission50202=استيراد المعاملات # Permission55002=Create/modify surveys # Permission59001=Read commercial margins # Permission59002=Define commercial margins -# DictionaryCompanyType=Company types -# DictionaryCompanyJuridicalType=Juridical kinds of company +# DictionaryCompanyType=Thirdparties type +# DictionaryCompanyJuridicalType=Juridical kinds of thirdparties # DictionaryProspectLevel=Prospect potential level # DictionaryCanton=State/Cantons # DictionaryRegion=Regions @@ -959,7 +969,7 @@ SimpleNumRefModelDesc=عودة الرقم المرجعي للتنسيق مع nnn ShowProfIdInAddress=إظهار رقم حرفي مع عناوين على وثائق # ShowVATIntaInAddress=Hide VAT Intra num with addresses on documents TranslationUncomplete=ترجمة جزئية -SomeTranslationAreUncomplete=قد تكون بعض اللغات مترجمة جزئيا أو قد يحتوي على أخطاء. إذا كنت الكشف عن بعض، يمكنك إصلاح. ملفات نصية لانج في htdocs الدليل / langs ورفعها على المنتدى في http://www.dolibarr.org . +# SomeTranslationAreUncomplete=Some languages may be partially translated or may contains errors. If you detect some, you can fix language files registering to http://transifex.com/projects/p/dolibarr/. MenuUseLayout=جعل القائمة العمودية hidable (يجب أن لا يتم تعطيل خيار جافا سكريبت) MAIN_DISABLE_METEO=تعطيل ميتيو رأي TestLoginToAPI=اختبار الدخول إلى API @@ -985,6 +995,7 @@ ExtraFields=تكميلية سمات # ExtraFieldsProjectTask=Complementary attributes (tasks) ExtraFieldHasWrongValue=قيمة الخاصية %s له قيمة خاطئة. # AlphaNumOnlyCharsAndNoSpace=only alphanumericals characters without space +# AlphaNumOnlyLowerCharsAndNoSpace=only alphanumericals and lower case characters without space SendingMailSetup=الإعداد من sendings عن طريق البريد الإلكتروني SendmailOptionNotComplete=تحذير، في بعض أنظمة لينكس، لإرسال البريد الإلكتروني من البريد الإلكتروني الخاص بك، يجب أن تنسخ الإعداد تنفيذ conatins الخيار، على درجة البكالوريوس (mail.force_extra_parameters المعلمة في ملف php.ini الخاص بك). إذا كان بعض المستفيدين لم تلقي رسائل البريد الإلكتروني، في محاولة لتعديل هذه المعلمة PHP مع mail.force_extra_parameters =-BA). PathToDocuments=الطريق إلى وثائق @@ -1269,7 +1280,7 @@ ForANonAnonymousAccess=لصحتها accès (لكتابة الحصول على س # YouMayFindPerfAdviceHere=You will find on this page some checks or advices related to performance. # NotInstalled=Not installed, so your server is not slow down by this. # ApplicativeCache=Applicative cache -# MemcachedNotAvailable=No applicative cache found. You can enhance performance by installing a cache server Memcached and a module able to use this cache server. More information here http://wiki.dolibarr.org/index.php/Module_MemCached_EN. Note that a lot of web hosting provider does not provide such cache server. +# MemcachedNotAvailable=No applicative cache found. You can enhance performance by installing a cache server Memcached and a module able to use this cache server.
More information here http://wiki.dolibarr.org/index.php/Module_MemCached_EN.
Note that a lot of web hosting provider does not provide such cache server. # OPCodeCache=OPCode cache # NoOPCodeCacheFound=No OPCode cache found. May be you use another OPCode cache than XCache or eAccelerator (good), may be you don't have OPCode cache (very bad). # HTTPCacheStaticResources=HTTP cache for static resources (css, img, javascript) diff --git a/htdocs/langs/ar_SA/agenda.lang b/htdocs/langs/ar_SA/agenda.lang index a17b9ac9328..0139e1837c5 100644 --- a/htdocs/langs/ar_SA/agenda.lang +++ b/htdocs/langs/ar_SA/agenda.lang @@ -52,6 +52,7 @@ InvoiceSentByEMail=تم إرسال فاتروة العميل %s بواسطة ا SupplierOrderSentByEMail=تم إرسال طلبية المزود %s بواسطة البريد الإلكتروني SupplierInvoiceSentByEMail=تم إرسال فاتروة المزود%s بواسطة البريد الإلكتروني ShippingSentByEMail=تم إرسال الشحنة %s بواسطة البريد الإلكتروني +# ShippingValidated= Shipping %s validated InterventionSentByEMail=تم إرسال التدخل %s بواسطة البريد الإلكتروني NewCompanyToDolibarr= تم إنشاء طرف ثالث أو خارجي DateActionPlannedStart= التاريخ المخطط للبدء diff --git a/htdocs/langs/ar_SA/cashdesk.lang b/htdocs/langs/ar_SA/cashdesk.lang index 9d6faa0eb65..30448ce34a7 100644 --- a/htdocs/langs/ar_SA/cashdesk.lang +++ b/htdocs/langs/ar_SA/cashdesk.lang @@ -37,3 +37,4 @@ ShowCompany=عرض شركة ShowStock=عرض مستودع DeleteArticle=انقر لإزالة هذه المادة # FilterRefOrLabelOrBC=Search (Ref/Label) +# UserNeedPermissionToEditStockToUsePos=You ask to decrease stock on invoice creation, so user that use POS need to have permission to edit stock. diff --git a/htdocs/langs/ar_SA/errors.lang b/htdocs/langs/ar_SA/errors.lang index c6de9207dea..c2fa7aa6f61 100644 --- a/htdocs/langs/ar_SA/errors.lang +++ b/htdocs/langs/ar_SA/errors.lang @@ -26,8 +26,11 @@ ErrorFromToAccountsMustDiffers=المصدر والأهداف يجب أن تكو ErrorBadThirdPartyName=سوء قيمة اسم طرف ثالث # ErrorProdIdIsMandatory=The %s is mandatory ErrorBadCustomerCodeSyntax=سوء تركيب الزبون مدونة +# ErrorBadBarCodeSyntax=Bad syntax for bar code ErrorCustomerCodeRequired=رمز العميل المطلوبة +# ErrorBarCodeRequired=Bar code required ErrorCustomerCodeAlreadyUsed=الشفرة المستخدمة بالفعل العملاء +# ErrorBarCodeAlreadyUsed=Bar code already used ErrorPrefixRequired=المطلوب ببادئة ErrorUrlNotValid=موقع معالجة صحيحة ErrorBadSupplierCodeSyntax=مورد سوء تركيب لمدونة @@ -63,6 +66,7 @@ ErrorSizeTooLongForVarcharType=وقتا طويلا لنوع السلسلة (%s # ErrorNoValueForRadioType=Please fill value for radio list # ErrorBadFormatValueList=The list value cannot have more than one come : %s, but need at least one: llave,valores ErrorFieldCanNotContainSpecialCharacters=ميدان ٪ ق يجب ألا يحتوي على أحرف خاصة. +# ErrorFieldCanNotContainSpecialNorUpperCharacters=Field %s must not contains special characters, nor upper case characters. ErrorNoAccountancyModuleLoaded=أي وحدة المحاسبة وتفعيل # ErrorExportDuplicateProfil=This profile name already exists for this export set. ErrorLDAPSetupNotComplete=Dolibarr - LDAP المطابقة وليس كاملا. diff --git a/htdocs/langs/ar_SA/exports.lang b/htdocs/langs/ar_SA/exports.lang index ebdca4b8d6e..00753c91404 100644 --- a/htdocs/langs/ar_SA/exports.lang +++ b/htdocs/langs/ar_SA/exports.lang @@ -123,6 +123,10 @@ BankCode=رمز المصرف DeskCode=مدونة مكتبية BankAccountNumber=رقم الحساب BankAccountNumberKey=مفتاح +# SpecialCode=Special code +# ExportStringFilter=%% allows replacing one or more characters in the text +# ExportDateFilter='AAAA' 'AAAAMM' 'AAAAMMJJ': filters by one year/month/day
'AAAA+AAAA' 'AAAAMM+AAAAMM' 'AAAAMMJJ+AAAAMMJJ': filters over a range of years/months/days
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filters on the following years/months/days
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filters on the previous years/months/days +# ExportNumericFilter='NNNNN' filters by one value
'NNNNN+NNNNN' filters over a range of values
'>NNNNN' filters by lower values
'>NNNNN' filters by higher values ## filters # SelectFilterFields=If you want to filter on some values, just input values here. # FilterableFields=Champs Filtrables diff --git a/htdocs/langs/ar_SA/mails.lang b/htdocs/langs/ar_SA/mails.lang index 7b51264f9fc..245a7715904 100644 --- a/htdocs/langs/ar_SA/mails.lang +++ b/htdocs/langs/ar_SA/mails.lang @@ -79,6 +79,13 @@ MailingStatusRead=قرأ # ActivateCheckRead=Allow to use the "Unsubcribe" link # ActivateCheckReadKey=Key use to encrypt URL use for "Read Receipt" and "Unsubcribe" feature # EMailSentToNRecipients=EMail sent to %s recipients. +# EachInvoiceWillBeAttachedToEmail=A document using default invoice document template will be created and attached to each email. +# MailTopicSendRemindUnpaidInvoices=Remind of invoice %s (%s) +# SendRemind=Send remind by EMails +# RemindSent=%S remind(s) sent +# AllRecipientSelectedForRemind=All thirdparties selected and if an email is set (note that one mail per invoice will be sent) +# NoRemindSent=No remind by EMail sent +# ResultOfMassSending=Result of mass remind sending by EMail # Libelle des modules de liste de destinataires mailing MailingModuleDescContactCompanies=اتصالات لجميع الأطراف الثالثة (العملاء ، والاحتمال ، والمورد ،...) diff --git a/htdocs/langs/ar_SA/main.lang b/htdocs/langs/ar_SA/main.lang index ab3b9f8b6d5..bab691b0a3e 100644 --- a/htdocs/langs/ar_SA/main.lang +++ b/htdocs/langs/ar_SA/main.lang @@ -572,7 +572,7 @@ TotalWoman=المجموع TotalMan=المجموع NeverReceived=لم يتلق Canceled=ألغى -# YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu setup - dictionnary +# YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu setup - dictionary Color=لون Documents=ربط الملفات DocumentsNb=ملفات مرتبطة (%s) diff --git a/htdocs/langs/ar_SA/opensurvey.lang b/htdocs/langs/ar_SA/opensurvey.lang index 78bb5432e55..751ad74ede9 100644 --- a/htdocs/langs/ar_SA/opensurvey.lang +++ b/htdocs/langs/ar_SA/opensurvey.lang @@ -35,6 +35,7 @@ # TitleChoice=Choice label # ExportSpreadsheet=Export result spreadsheet ExpireDate=الحد من التاريخ +# NbOfSurveys=Number of surveys # NbOfVoters=Nb of voters # SurveyResults=Results # PollAdminDesc=You are allowed to change all vote lines of this poll with button "Edit". You can, as well, remove a column or a line with %s. You can also add a new column with %s. diff --git a/htdocs/langs/ar_SA/orders.lang b/htdocs/langs/ar_SA/orders.lang index ba3fc2a9804..b2a84c2c709 100644 --- a/htdocs/langs/ar_SA/orders.lang +++ b/htdocs/langs/ar_SA/orders.lang @@ -55,6 +55,7 @@ DraftOrWaitingShipped=مشروع مصادق عليه أو لم تشحن MenuOrdersToBill=أوامر لمشروع قانون # MenuOrdersToBill2=Orders to bill SearchOrder=من أجل البحث +# SearchACustomerOrder=Search a customer order ShipProduct=سفينة المنتج Discount=الخصم CreateOrder=خلق أمر @@ -164,3 +165,4 @@ OrderByPhone=هاتف # OrderCreated=Your orders have been created # OrderFail=An error happened during your orders creation # CreateOrders=Create orders +# ToBillSeveralOrderSelectCustomer=To create an invoice for several orders, click first onto customer, then choose "%s". diff --git a/htdocs/langs/ar_SA/other.lang b/htdocs/langs/ar_SA/other.lang index 6a3bc8ef9dc..c92cae7bfee 100644 --- a/htdocs/langs/ar_SA/other.lang +++ b/htdocs/langs/ar_SA/other.lang @@ -49,14 +49,15 @@ Miscellaneous=متفرقات NbOfActiveNotifications=عدد الإخطارات PredefinedMailTest=هذا هو الاختبار الإلكتروني. تكون مفصولة \\ nThe سطرين من قبل حرف إرجاع. PredefinedMailTestHtml=هذا هو البريد الاختبار (الاختبار يجب أن تكون في كلمة جريئة).
وتفصل بين الخطين من قبل حرف إرجاع. -# PredefinedMailContentSendInvoice=__CONTACTCIVNAME__ \n\n You will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__ \n\n We would like to warn you that the invoice __FACREF__ seems to not being payed. So this is the invoice in attachment again, as a reminder.\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendProposal=__CONTACTCIVNAME__ \n\n You will find here the commercial proposal __PROPREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendOrder=__CONTACTCIVNAME__ \n\n You will find here the order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__ \n\n You will find here our order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__ \n\n You will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendShipping=__CONTACTCIVNAME__ \n\n You will find here the shipping __SHIPPINGREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendFichInter=__CONTACTCIVNAME__ \n\n You will find here the intervention __FICHINTERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__\n\nWe would like to warn you that the invoice __FACREF__ seems to not being payed. So this is the invoice in attachment again, as a reminder.\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendProposal=__CONTACTCIVNAME__\n\nYou will find here the commercial proposal __PROPREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendOrder=__CONTACTCIVNAME__\n\nYou will find here the order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__\n\nYou will find here our order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendShipping=__CONTACTCIVNAME__\n\nYou will find here the shipping __SHIPPINGREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendFichInter=__CONTACTCIVNAME__\n\nYou will find here the intervention __FICHINTERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentThirdparty=__CONTACTCIVNAME__\n\n__PERSONALIZED__\n\n__SIGNATURE__ DemoDesc=Dolibarr الاتفاق هو تخطيط موارد المؤسسات وإدارة علاقات العملاء وتتكون من عدة وحدات وظيفية. وقال ان العرض يشمل جميع وحدات لا يعني اي شيء يحدث هذا أبدا. بذلك ، عرض عدة ملامح المتاحة. ChooseYourDemoProfil=اختيار عرض ملف المباراة التي أنشطتك... DemoFundation=أعضاء في إدارة مؤسسة diff --git a/htdocs/langs/ar_SA/products.lang b/htdocs/langs/ar_SA/products.lang index 9ae345098a0..85918bd3f09 100644 --- a/htdocs/langs/ar_SA/products.lang +++ b/htdocs/langs/ar_SA/products.lang @@ -13,6 +13,10 @@ NewProduct=منتجات جديدة NewService=خدمة جديدة ProductCode=رمز المنتج ServiceCode=قانون الخدمة +# ProductVatMassChange=Mass VAT change +# ProductVatMassChangeDesc=This page can be used to modify a VAT rate defined on products or services from a value to another. Warning, this change is done on all database. +# MassBarcodeInit=Mass barcode init +# MassBarcodeInitDesc=This page can be used to initialize a barcode on objects that does not have barcode defined. Check before that setup of module barcode is complete. ProductAccountancyBuyCode=المحاسبة الرمز (شراء) ProductAccountancySellCode=المحاسبة الرمز (بيع) ProductOrService=المنتج أو الخدمة @@ -173,8 +177,8 @@ CustomCode=قانون الجمارك CountryOrigin=بلد المنشأ HiddenIntoCombo=مخبأة في قوائم مختارة Nature=طبيعة -# ProductCodeModel=Product code template -# ServiceCodeModel=Service code template +# ProductCodeModel=Product ref template +# ServiceCodeModel=Service ref template # AddThisProductCard=Create product card # HelpAddThisProductCard=This option allows you to create or clone a product if it does not exist. # AddThisServiceCard=Create service card @@ -216,5 +220,10 @@ QtyNeed=الكمية # DefinitionOfBarCodeForThirdpartyNotComplete=Definition of type or value of bar code non complete for thirdparty %s. # BarCodeDataForProduct=Barcode information of product %s : # BarCodeDataForThirdparty=Barcode information of thirdparty %s : -# BarcodeStickersMask=xxx - +# ResetBarcodeForAllRecords=Define barcode value for all records (this will also reset barcode value already defined with new values) +# PriceByCustomer=Price by customer +# PriceCatalogue=Catalogue Price +# PricingRule=Pricing Rules +# AddCustomerPrice=Add price by customers +# ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +# PriceByCustomerLog=Price by customer log diff --git a/htdocs/langs/ar_SA/projects.lang b/htdocs/langs/ar_SA/projects.lang index 287b033cb71..45c00384980 100644 --- a/htdocs/langs/ar_SA/projects.lang +++ b/htdocs/langs/ar_SA/projects.lang @@ -1,4 +1,6 @@ # Dolibarr language file - Source file is en_US - projects +# RefProject=Ref. project +# ProjectId=Project Id Project=المشروع Projects=المشاريع SharedProject=مشاريع مشتركة @@ -30,11 +32,18 @@ TimeSpent=الوقت الذي تستغرقه TimesSpent=قضى وقتا RefTask=المرجع. مهمة LabelTask=علامة مهمة +# TaskTimeSpent=Time spent on tasks +# TaskTimeUser=Task time user +# TaskTimeNote=Task time note +# TaskTimeDate=Task time date NewTimeSpent=جديد الوقت الذي يقضيه MyTimeSpent=وقتي قضى MyTasks=مهمتي Tasks=المهام Task=مهمة +# TaskDateStart=Task start date +# TaskDateEnd=Task end date +# TaskDescription=Task description NewTask=مهمة جديدة AddTask=إضافة مهمة AddDuration=تضاف المدة @@ -100,12 +109,12 @@ IfNeedToUseOhterObjectKeepEmpty=إذا كانت بعض الكائنات (فات ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=مشروع زعيم TypeContact_project_external_PROJECTLEADER=مشروع زعيم -TypeContact_project_internal_PROJECTCONTRIBUTOR=مساهم -TypeContact_project_external_PROJECTCONTRIBUTOR=مساهم +# TypeContact_project_internal_PROJECTCONTRIBUTOR=Contributor +# TypeContact_project_external_PROJECTCONTRIBUTOR=Contributor TypeContact_project_task_internal_TASKEXECUTIVE=المهمة التنفيذية TypeContact_project_task_external_TASKEXECUTIVE=المهمة التنفيذية -TypeContact_project_task_internal_TASKCONTRIBUTOR=مساهم -TypeContact_project_task_external_TASKCONTRIBUTOR=مساهم +# TypeContact_project_task_internal_TASKCONTRIBUTOR=Contributor +# TypeContact_project_task_external_TASKCONTRIBUTOR=Contributor # SelectElement=Select element # AddElement=Link to element # Documents models diff --git a/htdocs/langs/ar_SA/stocks.lang b/htdocs/langs/ar_SA/stocks.lang index cd0bd82db9b..a9d0af28773 100644 --- a/htdocs/langs/ar_SA/stocks.lang +++ b/htdocs/langs/ar_SA/stocks.lang @@ -94,14 +94,20 @@ SelectWarehouseForStockIncrease=اختيار مستودع لاستخدامها # StockToBuy=To order # Replenishment=Replenishment # ReplenishmentOrders=Replenishment orders -# UseVirtualStock=Use virtual stock instead of physical stock +# VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differs +# UseVirtualStockByDefault=Use virtual stock by default, instead of physical stock, for replenishment feature +# UseVirtualStock=Use virtual stock +# UsePhysicalStock=Use physical stock +# CurentSelectionMode=Curent selection mode +# CurentlyUsingVirtualStock=Virtual stock +# CurentlyUsingPhysicalStock=Physical stock # RuleForStockReplenishment=Rule for stocks replenishment # SelectProductWithNotNullQty=Select at least one product with a qty not null and a supplier # AlertOnly= Alerts only # WarehouseForStockDecrease=The warehouse %s will be used for stock decrease # WarehouseForStockIncrease=The warehouse %s will be used for stock increase # ForThisWarehouse=For this warehouse -# ReplenishmentStatusDesc=This is list of all product with a physical stock lower than desired stock (or alert value if checkbox "alert only" is checked) and suggest you to create supplier orders to fill the difference. +# ReplenishmentStatusDesc=This is list of all product with a stock lower than desired stock (or lower than alert value if checkbox "alert only" is checked), and suggest you to create supplier orders to fill the difference. # ReplenishmentOrdersDesc=This is list of all opened supplier orders # Replenishments=Replenishments # NbOfProductBeforePeriod=Quantity of product %s in stock before selected period (< %s) diff --git a/htdocs/langs/bg_BG/admin.lang b/htdocs/langs/bg_BG/admin.lang index 4389440acd5..08b3f0cb941 100644 --- a/htdocs/langs/bg_BG/admin.lang +++ b/htdocs/langs/bg_BG/admin.lang @@ -287,7 +287,7 @@ CurrentVersion=Текуща версия на Dolibarr CallUpdatePage=Отидете на страницата, която се актуализира структурата на базата данни и презареждане на: %s. LastStableVersion=Последна стабилна версия GenericMaskCodes=Можете да въведете всяка маска за номериране. В тази маска, могат да се използват следните тагове:
{000000} съответства на номер, който се увеличава на всеки %s. Влез като много нули като желаната дължина на брояча. Броячът ще бъде завършен с нули от ляво, за да има колкото се може повече нули като маска.
{000000 000} същата като предишната, но компенсира, съответстваща на броя на правото на знака + се прилага започва на първи %s.
{000000 @} същата като предишната, но броячът се нулира, когато месеца Х е достигнал (Х между 1 и 12, или 0, за да използвате началото на месеца на фискалната година, определени в вашата конфигурация). Ако тази опция се използва и х е 2 или по-висока, тогава последователност {гг} {mm} или {гггг} {mm} също е задължително.
{DD} ден (01 до 31).
{Mm} месец (01 до 12).
{Гг} {гггг} или {Y} година над 2, 4 или 1 брой.
-# GenericMaskCodes2={cccc} the client code
{cccc000} the client code on n characters is followed by a client's ref counter without offset and zeroized with the global counter.
{tttt} The code of company type on n characters (see dictionary-company types).
+# GenericMaskCodes2={cccc} the client code on n characters
{cccc000} the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.
{tttt} The code of company type on n characters (see dictionary-company types).
GenericMaskCodes3=Всички други символи на маската ще останат непокътнати.
Интервалите не са разрешени.
GenericMaskCodes4a=Пример за използване на 99 %s на третата страна КОМПАНИЯТА извършва 2007-01-31:
GenericMaskCodes4b=Пример за трета страна е създаден на 2007-03-01:
@@ -345,8 +345,6 @@ SecurityTokenIsUnique=Използвайте уникална параметър EnterRefToBuildUrl=Въведете справка за обект %s GetSecuredUrl=Изчислява URL ButtonHideUnauthorized=Скриване на бутоните за неправомерни действия, вместо да се показва с увреждания бутони -ProductVatMassChange=Промяната в масата ДДС -ProductVatMassChangeDesc=Тази страница може да се използва за промяна на ДДС ставката, определена за продукти или услуги от стойността на друг. Внимание, тази промяна се прави на цялата база данни. OldVATRates=Old ставка на ДДС NewVATRates=Нов ставка на ДДС PriceBaseTypeToChange=Промяна на цените с база референтна стойност, определена на @@ -381,6 +379,16 @@ ExtrafieldRadio=Радио бутон # DefaultLink=Default link # ValueOverwrittenByUserSetup=Warning, this value may be overwritten by user specific setup (each user can set his own clicktodial url) ExternalModule=Външен модул - инсталиран в директория %s +# BarcodeInitForThirdparties=Mass barcode init for thirdparties +# BarcodeInitForProductsOrServices=Mass barcode init or reset for products or services +# CurrentlyNWithoutBarCode=Currently, you have %s records on %s %s without barcode defined. +# InitEmptyBarCode=Init value for next %s empty records +# EraseAllCurrentBarCode=Erase all current barcode values +# ConfirmEraseAllCurrentBarCode=Are you sure you want to erase all current barcode values ? +# AllBarcodeReset=All barcode values have been removed +# NoBarcodeNumberingTemplateDefined=No numbering barcode template enabled into barcode module setup. +# NoRecordWithoutBarcodeDefined=No record with no barcode value defined. + # Modules Module0Name=Потребители и групи @@ -510,6 +518,8 @@ Module59000Name=Полета Module59000Desc=Модул за управление на маржовете Module60000Name=Комисии Module60000Desc=Модул за управление на комисии +# Module150010Name=Batch number, eat-by date and sell-by date +# Module150010Desc=batch number, eat-by date and sell-by date management for product Permission11=Клиентите фактури Permission12=Създаване / промяна на фактури на клиентите Permission13=Unvalidate клиентите фактури @@ -726,8 +736,8 @@ Permission50202=Сделки на внос # Permission55002=Create/modify surveys # Permission59001=Read commercial margins # Permission59002=Define commercial margins -# DictionaryCompanyType=Company types -# DictionaryCompanyJuridicalType=Juridical kinds of company +# DictionaryCompanyType=Thirdparties type +# DictionaryCompanyJuridicalType=Juridical kinds of thirdparties # DictionaryProspectLevel=Prospect potential level # DictionaryCanton=State/Cantons # DictionaryRegion=Regions @@ -959,7 +969,7 @@ SimpleNumRefModelDesc=Върнете референтен номер с форм ShowProfIdInAddress=Покажи professionnal номер с адреси на документи # ShowVATIntaInAddress=Hide VAT Intra num with addresses on documents TranslationUncomplete=Частичен превод -SomeTranslationAreUncomplete=Някои езици може да бъдат частично преведени или може да съдържат грешки. Ако забележите грешки, можете да редактирате .lang текстовите файлове в директорията htdocs/langs и да ни ги предоставите във форума http://www.dolibarr.org . +# SomeTranslationAreUncomplete=Some languages may be partially translated or may contains errors. If you detect some, you can fix language files registering to http://transifex.com/projects/p/dolibarr/. MenuUseLayout=Направете вертикално меню hidable (опция JavaScript не трябва да бъде забранена) MAIN_DISABLE_METEO=Изключване метео изглед TestLoginToAPI=Тествайте влезете в API @@ -985,6 +995,7 @@ ExtraFields=Допълнителни атрибути # ExtraFieldsProjectTask=Complementary attributes (tasks) ExtraFieldHasWrongValue=Attribut %s има грешна стойност. AlphaNumOnlyCharsAndNoSpace=само героите alphanumericals без пространство +# AlphaNumOnlyLowerCharsAndNoSpace=only alphanumericals and lower case characters without space SendingMailSetup=Настройка на изпращане по имейл SendmailOptionNotComplete=Внимание, на някои системи Linux, за да изпратите имейл от електронната си поща, Sendmail изпълнение настройка трябва conatins опция-ба (параметър mail.force_extra_parameters във вашия php.ini файл). Ако някои получатели никога не получават имейли, опитайте се да редактирате тази PHP параметър с mail.force_extra_parameters = ба). PathToDocuments=Път до документи @@ -1269,7 +1280,7 @@ ForANonAnonymousAccess=За заверено достъп (достъп за п # YouMayFindPerfAdviceHere=You will find on this page some checks or advices related to performance. # NotInstalled=Not installed, so your server is not slow down by this. # ApplicativeCache=Applicative cache -# MemcachedNotAvailable=No applicative cache found. You can enhance performance by installing a cache server Memcached and a module able to use this cache server. More information here http://wiki.dolibarr.org/index.php/Module_MemCached_EN. Note that a lot of web hosting provider does not provide such cache server. +# MemcachedNotAvailable=No applicative cache found. You can enhance performance by installing a cache server Memcached and a module able to use this cache server.
More information here http://wiki.dolibarr.org/index.php/Module_MemCached_EN.
Note that a lot of web hosting provider does not provide such cache server. # OPCodeCache=OPCode cache # NoOPCodeCacheFound=No OPCode cache found. May be you use another OPCode cache than XCache or eAccelerator (good), may be you don't have OPCode cache (very bad). # HTTPCacheStaticResources=HTTP cache for static resources (css, img, javascript) diff --git a/htdocs/langs/bg_BG/agenda.lang b/htdocs/langs/bg_BG/agenda.lang index f86129c8e3a..3f9810622cd 100644 --- a/htdocs/langs/bg_BG/agenda.lang +++ b/htdocs/langs/bg_BG/agenda.lang @@ -52,6 +52,7 @@ InvoiceSentByEMail=, Изпратени по електронната поща % SupplierOrderSentByEMail=%s доставчик реда, изпратени по електронната поща SupplierInvoiceSentByEMail=, Изпратени по електронната поща %s доставчик фактура ShippingSentByEMail=Доставка %s изпращат по електронна поща +# ShippingValidated= Shipping %s validated InterventionSentByEMail=Намеса %s изпращат по електронна поща NewCompanyToDolibarr= Създадено от трета страна DateActionPlannedStart= Планирана начална дата diff --git a/htdocs/langs/bg_BG/cashdesk.lang b/htdocs/langs/bg_BG/cashdesk.lang index 3575b3dc63d..12da41fb09c 100644 --- a/htdocs/langs/bg_BG/cashdesk.lang +++ b/htdocs/langs/bg_BG/cashdesk.lang @@ -37,3 +37,4 @@ ShowCompany=Покажи фирмата ShowStock=Покажи склад DeleteArticle=Кликнете, за да се премахне тази статия # FilterRefOrLabelOrBC=Search (Ref/Label) +# UserNeedPermissionToEditStockToUsePos=You ask to decrease stock on invoice creation, so user that use POS need to have permission to edit stock. diff --git a/htdocs/langs/bg_BG/errors.lang b/htdocs/langs/bg_BG/errors.lang index 34e81f82ca8..539c02ad25b 100644 --- a/htdocs/langs/bg_BG/errors.lang +++ b/htdocs/langs/bg_BG/errors.lang @@ -26,8 +26,11 @@ ErrorFromToAccountsMustDiffers=Източника и целите на банк ErrorBadThirdPartyName=Неправилна стойност за името на трета страна # ErrorProdIdIsMandatory=The %s is mandatory ErrorBadCustomerCodeSyntax=Bad синтаксис за код на клиента +# ErrorBadBarCodeSyntax=Bad syntax for bar code ErrorCustomerCodeRequired=Клиентите изисква код +# ErrorBarCodeRequired=Bar code required ErrorCustomerCodeAlreadyUsed=Клиентът код вече се използва +# ErrorBarCodeAlreadyUsed=Bar code already used ErrorPrefixRequired=Префикс изисква ErrorUrlNotValid=Адресът на интернет страницата е неправилно ErrorBadSupplierCodeSyntax=Bad синтаксис за код на доставчика @@ -63,6 +66,7 @@ ErrorSizeTooLongForVarcharType=Размер твърде дълго за низ # ErrorNoValueForRadioType=Please fill value for radio list # ErrorBadFormatValueList=The list value cannot have more than one come : %s, but need at least one: llave,valores ErrorFieldCanNotContainSpecialCharacters=Полеви %s, не трябва да съдържа специални знаци. +# ErrorFieldCanNotContainSpecialNorUpperCharacters=Field %s must not contains special characters, nor upper case characters. ErrorNoAccountancyModuleLoaded=Не е активиран модула Счетоводство # ErrorExportDuplicateProfil=This profile name already exists for this export set. ErrorLDAPSetupNotComplete=Dolibarr LDAP съвпадение не е пълна. @@ -107,7 +111,7 @@ ErrorBadLoginPassword=Неправилна стойност за потреби ErrorLoginDisabled=Вашият акаунт е забранено ErrorFailedToRunExternalCommand=Не може да се работи на външна команда. Уверете се, тя е достъпна и изпълнима от PHP на вашия сървър. Ако PHP Safe Mode е активирана, тази команда е вътре в директория, определена от параметър safe_mode_exec_dir. ErrorFailedToChangePassword=Неуспешно да смените паролата -ErrorLoginDoesNotExists=Потребителят с вход %s не може да бъде намерен. +ErrorLoginDoesNotExists=Потребителя %s не е намерен. ErrorLoginHasNoEmail=Този потребител няма имейл адрес. Процес прекратено. ErrorBadValueForCode=Неправилна стойност за код за сигурност. Опитайте отново с нова стойност ... ErrorBothFieldCantBeNegative=Полетата %s и %s не може да бъде едновременно отрицателен diff --git a/htdocs/langs/bg_BG/exports.lang b/htdocs/langs/bg_BG/exports.lang index 21225c32f51..90919e130e2 100644 --- a/htdocs/langs/bg_BG/exports.lang +++ b/htdocs/langs/bg_BG/exports.lang @@ -123,6 +123,10 @@ BankCode=Банков код DeskCode=Бюро код BankAccountNumber=Номер на сметка BankAccountNumberKey=Ключ +# SpecialCode=Special code +# ExportStringFilter=%% allows replacing one or more characters in the text +# ExportDateFilter='AAAA' 'AAAAMM' 'AAAAMMJJ': filters by one year/month/day
'AAAA+AAAA' 'AAAAMM+AAAAMM' 'AAAAMMJJ+AAAAMMJJ': filters over a range of years/months/days
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filters on the following years/months/days
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filters on the previous years/months/days +# ExportNumericFilter='NNNNN' filters by one value
'NNNNN+NNNNN' filters over a range of values
'>NNNNN' filters by lower values
'>NNNNN' filters by higher values ## filters # SelectFilterFields=If you want to filter on some values, just input values here. # FilterableFields=Champs Filtrables diff --git a/htdocs/langs/bg_BG/mails.lang b/htdocs/langs/bg_BG/mails.lang index 3c028dacd45..4fe4da0482e 100644 --- a/htdocs/langs/bg_BG/mails.lang +++ b/htdocs/langs/bg_BG/mails.lang @@ -79,6 +79,13 @@ MailtoEMail=Хипер-връзка на приятел ActivateCheckRead=Оставя се да се използва за четене тракер получаване и връзката unsubcribe ActivateCheckReadKey=Key използване за криптиране на използването на URL адрес за обратна разписка и функция unsubcribe # EMailSentToNRecipients=EMail sent to %s recipients. +# EachInvoiceWillBeAttachedToEmail=A document using default invoice document template will be created and attached to each email. +# MailTopicSendRemindUnpaidInvoices=Remind of invoice %s (%s) +# SendRemind=Send remind by EMails +# RemindSent=%S remind(s) sent +# AllRecipientSelectedForRemind=All thirdparties selected and if an email is set (note that one mail per invoice will be sent) +# NoRemindSent=No remind by EMail sent +# ResultOfMassSending=Result of mass remind sending by EMail # Libelle des modules de liste de destinataires mailing MailingModuleDescContactCompanies=Контакти на всички трети лица (клиенти, перспектива, доставчици, ...) diff --git a/htdocs/langs/bg_BG/main.lang b/htdocs/langs/bg_BG/main.lang index 114bd16f91a..2988a52fcba 100644 --- a/htdocs/langs/bg_BG/main.lang +++ b/htdocs/langs/bg_BG/main.lang @@ -572,7 +572,7 @@ TotalWoman=Общо TotalMan=Общо NeverReceived=Никога не са получавали Canceled=Отменен -# YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu setup - dictionnary +# YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu setup - dictionary Color=Цвят Documents=Свързани файлове DocumentsNb=Свързани файлове (%s) diff --git a/htdocs/langs/bg_BG/opensurvey.lang b/htdocs/langs/bg_BG/opensurvey.lang index b0f0653cf77..82299550ebc 100644 --- a/htdocs/langs/bg_BG/opensurvey.lang +++ b/htdocs/langs/bg_BG/opensurvey.lang @@ -35,6 +35,7 @@ AddNewColumn=Добавяне на нова колона TitleChoice=Избор на етикет # ExportSpreadsheet=Export result spreadsheet ExpireDate=Крайната дата +# NbOfSurveys=Number of surveys NbOfVoters=Брой гласове SurveyResults=Резултати # PollAdminDesc=You are allowed to change all vote lines of this poll with button "Edit". You can, as well, remove a column or a line with %s. You can also add a new column with %s. diff --git a/htdocs/langs/bg_BG/orders.lang b/htdocs/langs/bg_BG/orders.lang index b62beac9e83..0a5a13dbf28 100644 --- a/htdocs/langs/bg_BG/orders.lang +++ b/htdocs/langs/bg_BG/orders.lang @@ -55,6 +55,7 @@ DraftOrWaitingShipped=Проект или потвърдено все още н MenuOrdersToBill=Доставени поръчки # MenuOrdersToBill2=Orders to bill SearchOrder=Търсене за +# SearchACustomerOrder=Search a customer order ShipProduct=Кораб продукт Discount=Отстъпка CreateOrder=Създаване на поръчка @@ -164,3 +165,4 @@ OrderByPhone=Телефон # OrderCreated=Your orders have been created # OrderFail=An error happened during your orders creation # CreateOrders=Create orders +# ToBillSeveralOrderSelectCustomer=To create an invoice for several orders, click first onto customer, then choose "%s". diff --git a/htdocs/langs/bg_BG/other.lang b/htdocs/langs/bg_BG/other.lang index 7758f35dca4..cc235aba544 100644 --- a/htdocs/langs/bg_BG/other.lang +++ b/htdocs/langs/bg_BG/other.lang @@ -49,14 +49,15 @@ Miscellaneous=Разни NbOfActiveNotifications=Брой на уведомленията PredefinedMailTest=Това е тестов имейл.\nДвата реда са разделени с нов ред.\n\n__SIGNATURE__ PredefinedMailTestHtml=Това е тестов имейл (думата тестов трябва да бъде с удебелен шрифт).
Двата реда са разделени с нов ред.

__SIGNATURE__ -PredefinedMailContentSendInvoice=__CONTACTCIVNAME__ \n\n Тук ще намерите фактура __ FACREF__ \n\n от __ PERSONALIZED__Sincerely \n\n __ SIGNATURE__ -PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__ \n\n Бихме искали да ви предупредя, че фактурата FACREF__ __ изглежда не се заплащат. Така че това е фактурата в прикачения файл отново, за напомняне. \n\n __ PERSONALIZED__Sincerely \n\n __ SIGNATURE__ -PredefinedMailContentSendProposal=__CONTACTCIVNAME__ \n\n Тук ще намерите търговския propoal __ PROPREF__ \n\n __ PERSONALIZED__Sincerely \n\n __ SIGNATURE__ -PredefinedMailContentSendOrder=__CONTACTCIVNAME__ \n\n Тук ще намерите за __ ORDERREF__ \n\n __ PERSONALIZED__Sincerely \n\n __ SIGNATURE__ -PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__ \n\n Тук ще намерите нашата цел __ ORDERREF__ \n\n __ PERSONALIZED__Sincerely \n\n __ SIGNATURE__ -PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__ \n\n Тук ще намерите фактура __ FACREF__ \n\n от __ PERSONALIZED__Sincerely \n\n __ SIGNATURE__ -PredefinedMailContentSendShipping=__CONTACTCIVNAME__ \n\n Тук ще намерите корабоплаването __ SHIPPINGREF__ \n\n __ PERSONALIZED__Sincerely \n\n __ SIGNATURE__ -PredefinedMailContentSendFichInter=__CONTACTCIVNAME__ \n\n Тук ще намерите намесата __ FICHINTERREF__ \n\n __ PERSONALIZED__Sincerely \n\n __ SIGNATURE__ +# PredefinedMailContentSendInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__\n\nWe would like to warn you that the invoice __FACREF__ seems to not being payed. So this is the invoice in attachment again, as a reminder.\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendProposal=__CONTACTCIVNAME__\n\nYou will find here the commercial proposal __PROPREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendOrder=__CONTACTCIVNAME__\n\nYou will find here the order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__\n\nYou will find here our order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendShipping=__CONTACTCIVNAME__\n\nYou will find here the shipping __SHIPPINGREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendFichInter=__CONTACTCIVNAME__\n\nYou will find here the intervention __FICHINTERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentThirdparty=__CONTACTCIVNAME__\n\n__PERSONALIZED__\n\n__SIGNATURE__ DemoDesc=Dolibarr е компактен ERP / CRM състои от няколко функционални модули. Демо, което включва всички модули не означава нищо, тъй като това никога не се случва. Така че, няколко демо профили са на разположение. ChooseYourDemoProfil=Изберете профила демо, които съответстват на вашата дейност ... DemoFundation=Управление на членовете на организацията @@ -175,12 +176,12 @@ StartUpload=Започнете качване CancelUpload=Анулиране на качването FileIsTooBig=Files е твърде голям PleaseBePatient=Моля, бъдете търпеливи ... -# RequestToResetPasswordReceived=A request to change your Dolibarr password has been received -# NewKeyIs=This is your new keys to login -# NewKeyWillBe=Your new key to login to software will be +RequestToResetPasswordReceived=Получена е заявка за промяна на Вашата парола за достъп до Dolibarr +NewKeyIs=Това е Вашият нов ключ за влизане +NewKeyWillBe=Вашият нов ключ за влизане в софтуера ще бъде # ClickHereToGoTo=Click here to go to %s -# YouMustClickToChange=You must however first click on the following link to validate this password change -# ForgetIfNothing=If you didn't request this change, just forget this email. Your credentials are kept safe. +YouMustClickToChange=Необходимо е да щтракнете върху следния линк за да потвърдите промяната на паролата +ForgetIfNothing=Ако не сте заявили промяната, просто забравете за този имейл. Вашите идентификационни данни се съхраняват на сигурно място. ##### Calendar common ##### AddCalendarEntry=Добави запис в календара %s diff --git a/htdocs/langs/bg_BG/products.lang b/htdocs/langs/bg_BG/products.lang index ffc0d04ce97..7bc0c09e0fe 100644 --- a/htdocs/langs/bg_BG/products.lang +++ b/htdocs/langs/bg_BG/products.lang @@ -13,6 +13,10 @@ NewProduct=Нов продукт NewService=Нова услуга ProductCode=Код на продукта ServiceCode=Код на услугата +# ProductVatMassChange=Mass VAT change +# ProductVatMassChangeDesc=This page can be used to modify a VAT rate defined on products or services from a value to another. Warning, this change is done on all database. +# MassBarcodeInit=Mass barcode init +# MassBarcodeInitDesc=This page can be used to initialize a barcode on objects that does not have barcode defined. Check before that setup of module barcode is complete. ProductAccountancyBuyCode=Счетоводен код (покупка) ProductAccountancySellCode=Счетоводен код (продажба) ProductOrService=Продукт или Услуга @@ -173,8 +177,8 @@ CustomCode=Customs code CountryOrigin=Държава на произход HiddenIntoCombo=Hidden into select lists Nature=Природа -ProductCodeModel=Код на продукта модел -ServiceCodeModel=Service код модел +# ProductCodeModel=Product ref template +# ServiceCodeModel=Service ref template AddThisProductCard=Създаване на карта на продукт HelpAddThisProductCard=Тази опция ви позволява да създадете или да клонирате продукт, ако не съществува. AddThisServiceCard=Създаване на карта на услуга @@ -216,5 +220,10 @@ QtyNeed=Количество # DefinitionOfBarCodeForThirdpartyNotComplete=Definition of type or value of bar code non complete for thirdparty %s. # BarCodeDataForProduct=Barcode information of product %s : # BarCodeDataForThirdparty=Barcode information of thirdparty %s : -# BarcodeStickersMask=xxx - +# ResetBarcodeForAllRecords=Define barcode value for all records (this will also reset barcode value already defined with new values) +# PriceByCustomer=Price by customer +# PriceCatalogue=Catalogue Price +# PricingRule=Pricing Rules +# AddCustomerPrice=Add price by customers +# ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +# PriceByCustomerLog=Price by customer log diff --git a/htdocs/langs/bg_BG/projects.lang b/htdocs/langs/bg_BG/projects.lang index ed3f3c1cd8c..b2432ab830b 100644 --- a/htdocs/langs/bg_BG/projects.lang +++ b/htdocs/langs/bg_BG/projects.lang @@ -1,4 +1,6 @@ # Dolibarr language file - Source file is en_US - projects +# RefProject=Ref. project +# ProjectId=Project Id Project=Проект Projects=Проекти SharedProject=Всички @@ -30,11 +32,18 @@ TimeSpent=Времето, прекарано TimesSpent=Времето, прекарано RefTask=Реф. задача LabelTask=Label задача +# TaskTimeSpent=Time spent on tasks +# TaskTimeUser=Task time user +# TaskTimeNote=Task time note +# TaskTimeDate=Task time date NewTimeSpent=Времето, прекарано на MyTimeSpent=Времето, прекарано MyTasks=Моите задачи Tasks=Задачи Task=Задача +# TaskDateStart=Task start date +# TaskDateEnd=Task end date +# TaskDescription=Task description NewTask=Нова задача AddTask=Добавяне на задача AddDuration=Добави продължителността @@ -100,12 +109,12 @@ ErrorShiftTaskDate=Невъзможно е да се смени датата н ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Ръководител на проекта TypeContact_project_external_PROJECTLEADER=Ръководител на проекта -TypeContact_project_internal_PROJECTCONTRIBUTOR=Сътрудник -TypeContact_project_external_PROJECTCONTRIBUTOR=Сътрудник +# TypeContact_project_internal_PROJECTCONTRIBUTOR=Contributor +# TypeContact_project_external_PROJECTCONTRIBUTOR=Contributor TypeContact_project_task_internal_TASKEXECUTIVE=Задача изпълнителен TypeContact_project_task_external_TASKEXECUTIVE=Задача изпълнителен -TypeContact_project_task_internal_TASKCONTRIBUTOR=Сътрудник -TypeContact_project_task_external_TASKCONTRIBUTOR=Сътрудник +# TypeContact_project_task_internal_TASKCONTRIBUTOR=Contributor +# TypeContact_project_task_external_TASKCONTRIBUTOR=Contributor # SelectElement=Select element # AddElement=Link to element # Documents models diff --git a/htdocs/langs/bg_BG/stocks.lang b/htdocs/langs/bg_BG/stocks.lang index 5f0cfeef4a6..11620a2237b 100644 --- a/htdocs/langs/bg_BG/stocks.lang +++ b/htdocs/langs/bg_BG/stocks.lang @@ -94,14 +94,20 @@ DesiredStock=Желана наличност # StockToBuy=To order # Replenishment=Replenishment # ReplenishmentOrders=Replenishment orders -# UseVirtualStock=Use virtual stock instead of physical stock +# VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differs +# UseVirtualStockByDefault=Use virtual stock by default, instead of physical stock, for replenishment feature +# UseVirtualStock=Use virtual stock +# UsePhysicalStock=Use physical stock +# CurentSelectionMode=Curent selection mode +# CurentlyUsingVirtualStock=Virtual stock +# CurentlyUsingPhysicalStock=Physical stock # RuleForStockReplenishment=Rule for stocks replenishment SelectProductWithNotNullQty=Изберете най-малко един продукт с количество различно от 0 и доставчик AlertOnly= Само известия # WarehouseForStockDecrease=The warehouse %s will be used for stock decrease # WarehouseForStockIncrease=The warehouse %s will be used for stock increase ForThisWarehouse=За този склад -# ReplenishmentStatusDesc=This is list of all product with a physical stock lower than desired stock (or alert value if checkbox "alert only" is checked) and suggest you to create supplier orders to fill the difference. +# ReplenishmentStatusDesc=This is list of all product with a stock lower than desired stock (or lower than alert value if checkbox "alert only" is checked), and suggest you to create supplier orders to fill the difference. # ReplenishmentOrdersDesc=This is list of all opened supplier orders Replenishments=Попълване # NbOfProductBeforePeriod=Quantity of product %s in stock before selected period (< %s) diff --git a/htdocs/langs/bg_BG/users.lang b/htdocs/langs/bg_BG/users.lang index 8b956a62499..b2ec544387e 100644 --- a/htdocs/langs/bg_BG/users.lang +++ b/htdocs/langs/bg_BG/users.lang @@ -54,7 +54,7 @@ NewGroup=Нова група CreateGroup=Създаване RemoveFromGroup=Премахване от групата PasswordChangedAndSentTo=Паролата е сменена и изпратена на %s. -PasswordChangeRequestSent=Заявка за промяна на парола за %s, изпратени до %s. +PasswordChangeRequestSent=Заявка за промяна на паролата на %s, е изпратена на %s. MenuUsersAndGroups=Потребители и Групи LastGroupsCreated=Последните %s създадени групи LastUsersCreated=Последните %s създадени потребители diff --git a/htdocs/langs/bs_BA/admin.lang b/htdocs/langs/bs_BA/admin.lang index f7c54ee6936..d893f7ca6b1 100644 --- a/htdocs/langs/bs_BA/admin.lang +++ b/htdocs/langs/bs_BA/admin.lang @@ -287,7 +287,7 @@ ThisIsProcessToFollow=Ove postavke su za procesuiranje: # CallUpdatePage=Go to the page that updates the database structure and datas: %s. # LastStableVersion=Last stable version # GenericMaskCodes=You may enter any numbering mask. In this mask, the following tags could be used:
{000000} corresponds to a number which will be incremented on each %s. Enter as many zeros as the desired length of the counter. The counter will be completed by zeros from the left in order to have as many zeros as the mask.
{000000+000} same as previous but an offset corresponding to the number to the right of the + sign is applied starting on first %s.
{000000@x} same as previous but the counter is reset to zero when month x is reached (x between 1 and 12, or 0 to use the early months of fiscal year defined in your configuration, or 99 to reset to zero every month). If this option is used and x is 2 or higher, then sequence {yy}{mm} or {yyyy}{mm} is also required.
{dd} day (01 to 31).
{mm} month (01 to 12).
{yy}, {yyyy} or {y} year over 2, 4 or 1 numbers.
-# GenericMaskCodes2={cccc} the client code
{cccc000} the client code on n characters is followed by a client's ref counter without offset and zeroized with the global counter.
{tttt} The code of company type on n characters (see dictionary-company types).
+# GenericMaskCodes2={cccc} the client code on n characters
{cccc000} the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.
{tttt} The code of company type on n characters (see dictionary-company types).
# GenericMaskCodes3=All other characters in the mask will remain intact.
Spaces are not allowed.
# GenericMaskCodes4a=Example on the 99th %s of the third party TheCompany done 2007-01-31:
# GenericMaskCodes4b=Example on third party created on 2007-03-01:
@@ -345,8 +345,6 @@ ExamplesWithCurrentSetup=Primjeri sa trenutnim postavkama # EnterRefToBuildUrl=Enter reference for object %s # GetSecuredUrl=Get calculated URL # ButtonHideUnauthorized=Hide buttons for unauthorized actions instead of showing disabled buttons -# ProductVatMassChange=Mass VAT change -# ProductVatMassChangeDesc=This page can be used to modify a VAT rate defined on products or services from a value to another. Warning, this change is done on all database. # OldVATRates=Old VAT rate # NewVATRates=New VAT rate # PriceBaseTypeToChange=Modify on prices with base reference value defined on @@ -381,6 +379,16 @@ ExtrafieldParamHelpsellist=Popis Parametri su došli iz tabele

na primj # DefaultLink=Default link ValueOverwrittenByUserSetup=Upozorenje, ova vrijednost se može prebrisati posebnim postabkama korisnika (svaki korisnik može postaviti svoj clicktodial URL) ExternalModule=Eksterni moduli - Instalirani u direktorij %s +# BarcodeInitForThirdparties=Mass barcode init for thirdparties +# BarcodeInitForProductsOrServices=Mass barcode init or reset for products or services +# CurrentlyNWithoutBarCode=Currently, you have %s records on %s %s without barcode defined. +# InitEmptyBarCode=Init value for next %s empty records +# EraseAllCurrentBarCode=Erase all current barcode values +# ConfirmEraseAllCurrentBarCode=Are you sure you want to erase all current barcode values ? +# AllBarcodeReset=All barcode values have been removed +# NoBarcodeNumberingTemplateDefined=No numbering barcode template enabled into barcode module setup. +# NoRecordWithoutBarcodeDefined=No record with no barcode value defined. + # Modules # Module0Name=Users & groups @@ -510,6 +518,8 @@ Module55000Desc=Modul za kreiranje online anketa (kao Doodle, Studs, Rdvz, ...) # Module59000Desc=Module to manage margins # Module60000Name=Commissions # Module60000Desc=Module to manage commissions +# Module150010Name=Batch number, eat-by date and sell-by date +# Module150010Desc=batch number, eat-by date and sell-by date management for product # Permission11=Read customer invoices # Permission12=Create/modify customer invoices # Permission13=Unvalidate customer invoices @@ -726,8 +736,8 @@ Permission55001=Pročitajte ankete Permission55002=Napravi/izmijeni ankete Permission59001=Pročitajte komercijalne margine Permission59002=Definirajte komercijalne margine -# DictionaryCompanyType=Company types -# DictionaryCompanyJuridicalType=Juridical kinds of company +# DictionaryCompanyType=Thirdparties type +# DictionaryCompanyJuridicalType=Juridical kinds of thirdparties # DictionaryProspectLevel=Prospect potential level # DictionaryCanton=State/Cantons # DictionaryRegion=Regions @@ -959,7 +969,7 @@ InfoPerf=Informacije o performansama # ShowProfIdInAddress=Show professionnal id with addresses on documents # ShowVATIntaInAddress=Hide VAT Intra num with addresses on documents # TranslationUncomplete=Partial translation -# SomeTranslationAreUncomplete=Some languages may be partially translated or may contains errors. If you detect some, you can fix .lang text files into directory htdocs/langs and submit them on the forum at http://www.dolibarr.org. +# SomeTranslationAreUncomplete=Some languages may be partially translated or may contains errors. If you detect some, you can fix language files registering to http://transifex.com/projects/p/dolibarr/. # MenuUseLayout=Make vertical menu hidable (option javascript must not be disabled) # MAIN_DISABLE_METEO=Disable meteo view # TestLoginToAPI=Test login to API @@ -985,6 +995,7 @@ ExtraFieldsProject=Dopunski atributi (projekti) ExtraFieldsProjectTask=Dopunski atributi (zadaci) # ExtraFieldHasWrongValue=Attribut %s has a wrong value. # AlphaNumOnlyCharsAndNoSpace=only alphanumericals characters without space +# AlphaNumOnlyLowerCharsAndNoSpace=only alphanumericals and lower case characters without space # SendingMailSetup=Setup of sendings by email # SendmailOptionNotComplete=Warning, on some Linux systems, to send email from your email, sendmail execution setup must contains option -ba (parameter mail.force_extra_parameters into your php.ini file). If some recipients never receive emails, try to edit this PHP parameter with mail.force_extra_parameters = -ba). # PathToDocuments=Path to documents @@ -1269,7 +1280,7 @@ PerfDolibarr=Izvještaj o perfomansama postavki/optimizacije YouMayFindPerfAdviceHere=Na ovoj stranici ćete pronaći neke provjere ili savjete vezane za performanse. NotInstalled=Nije instalirano, tako da vaš server nije usporen ovim. ApplicativeCache=Aplikativni cache -MemcachedNotAvailable=Aplikativni cache nije pronađen. Možete poboljšati performanse instaliranjem cache server Memcached i modula koji koristi ovaj cache server. Više informacija možete pronaći na http://wiki.dolibarr.org/index.php/Module_MemCached_EN. Imajte na umu da mnogo web hosting snabdjevača ne pruža takav cache server. +# MemcachedNotAvailable=No applicative cache found. You can enhance performance by installing a cache server Memcached and a module able to use this cache server.
More information here http://wiki.dolibarr.org/index.php/Module_MemCached_EN.
Note that a lot of web hosting provider does not provide such cache server. OPCodeCache=OPCode cache NoOPCodeCacheFound=OPCode cache nije pronađen. Možda koristite drugu OPCode cache pored XCache ili eAccelerator (dobro), možda nemate OPCode cache (jako loše). HTTPCacheStaticResources=HTTP cache za statičke resurse (css, img, javascript) diff --git a/htdocs/langs/bs_BA/agenda.lang b/htdocs/langs/bs_BA/agenda.lang index 5f126a9b173..5ae82a7d9e4 100644 --- a/htdocs/langs/bs_BA/agenda.lang +++ b/htdocs/langs/bs_BA/agenda.lang @@ -40,18 +40,19 @@ ActionsEvents= Događaji za koje će Dolibarr stvoriti akciju u dnevni red autom PropalValidatedInDolibarr= Prijedlog %s potvrđen InvoiceValidatedInDolibarr= Faktura %s potvrđena InvoiceBackToDraftInDolibarr=Faktura %s vraćena u status izrade -InvoiceDeleteDolibarr=Faktura %s izbrisana +InvoiceDeleteDolibarr=Faktura %s obrisana OrderValidatedInDolibarr= Narudžba %s potvrđena OrderApprovedInDolibarr=Narudžba %s odobrena OrderBackToDraftInDolibarr=NArudžbu %s vratiti u status izrade OrderCanceledInDolibarr=Narudžba %s otkazana InterventionValidatedInDolibarr=Intervencija %s potvrđena -ProposalSentByEMail=Trgovački prijedlog %s poslan putem e-maila +ProposalSentByEMail=Poslovni prijedlog %s poslan putem e-maila OrderSentByEMail=Narudžba za kupca %s poslana putem e-maila InvoiceSentByEMail=Fakture za kupca %s poslana putem e-maila SupplierOrderSentByEMail=Narudžba za dobavljača %s poslan putem e-maila SupplierInvoiceSentByEMail=Predračun dobavljača %s poslan putem e-maila ShippingSentByEMail=Dostava %s poslana putem e-maila +# ShippingValidated= Shipping %s validated InterventionSentByEMail=Intervencija %s poslana putem e-maila NewCompanyToDolibarr= Trća stranka kreirana DateActionPlannedStart= Planirani datum početka diff --git a/htdocs/langs/bs_BA/banks.lang b/htdocs/langs/bs_BA/banks.lang index b9719a007e4..23dd9ffa519 100644 --- a/htdocs/langs/bs_BA/banks.lang +++ b/htdocs/langs/bs_BA/banks.lang @@ -68,7 +68,7 @@ BankType2=Gotovinski račun IfBankAccount=If bankovni račun AccountsArea=Područje za račune AccountCard=Kartica računa -DeleteAccount=Brisanje računa +DeleteAccount=Obriši račun ConfirmDeleteAccount=Jeste li sigurni da želite obrisati ovaj račun? Account=Račun ByCategories=Po kategorijama @@ -119,15 +119,15 @@ TransferFromToDone=Transfer sa %s na %s u iznosu od %s %s j CheckTransmitter=Otpremnik ValidateCheckReceipt=Potvrditi ovu priznanicu čeka? ConfirmValidateCheckReceipt=Jeste li sigurni da želite potvrditi priznanicu čeka, promjena neće biti moguća kada se to uradi? -DeleteCheckReceipt=Izbrisati ovu priznanicu čeka? +DeleteCheckReceipt=Obrisati ovu priznanicu čeka? ConfirmDeleteCheckReceipt=Jeste li sigurni da želite obrisati ovu priznanicu čeka? BankChecks=Bankovni ček BankChecksToReceipt=Čekovi čekaju depozit ShowCheckReceipt=Prikaži priznanicu depozita čeka NumberOfCheques=Broj čeka -DeleteTransaction=Brisanje transakcije +DeleteTransaction=Obrisati transakciju ConfirmDeleteTransaction=Jeste li sigurni da želite obrisati ovu transakciju? -ThisWillAlsoDeleteBankRecord=Ovo će također izbrisati generisane bankovne transakcije +ThisWillAlsoDeleteBankRecord=Ovo će također obrisati generisane bankovne transakcije BankMovements=Promet CashBudget=Novčani proračun PlannedTransactions=Planirana transakcije diff --git a/htdocs/langs/bs_BA/bills.lang b/htdocs/langs/bs_BA/bills.lang index a2abdfc8ced..0b4b71ea0ee 100644 --- a/htdocs/langs/bs_BA/bills.lang +++ b/htdocs/langs/bs_BA/bills.lang @@ -58,7 +58,7 @@ Payments=Uplate PaymentsBack=Povrat uplata PaidBack=Uplaćeno nazad DatePayment=Datum uplate -DeletePayment=Brisanje uplate +DeletePayment=Obriši uplatu ConfirmDeletePayment=Jeste li sigurni da želite obrisati ovu uplatu? # ConfirmConvertToReduc=Do you want to convert this credit note or deposit into an absolute discount ?
The amount will so be saved among all discounts and could be used as a discount for a current or a future invoice for this customer. SupplierPayments=Uplate dobavljača @@ -207,7 +207,7 @@ ToBill=Za fakturisati RemainderToBill=Ostatak za naplatiti SendBillByMail=Pošalji fakturu na e-mail SendReminderBillByMail=Pošalji opomenu na e-mail -# RelatedCommercialProposals=Related commercial proposals +RelatedCommercialProposals=Vezani poslovni prijedlozi MenuToValid=Za važeći DateMaxPayment=Rok plaćanja do DateEcheance=Datum isteka roka za plaćanje diff --git a/htdocs/langs/bs_BA/boxes.lang b/htdocs/langs/bs_BA/boxes.lang index 1872f9717b1..cc7e5d2cc32 100644 --- a/htdocs/langs/bs_BA/boxes.lang +++ b/htdocs/langs/bs_BA/boxes.lang @@ -7,7 +7,7 @@ BoxLastSupplierBills=Zadnje fakture dobavljača BoxLastCustomerBills=Zadnje fakture kupca BoxOldestUnpaidCustomerBills=Najstarije neplaćene fakture kupca BoxOldestUnpaidSupplierBills=Najstarije neplaćene fakture dobavljača -BoxLastProposals=Zadnji trgovački prijedlozi +BoxLastProposals=Zadnji poslovni prijedlozi # BoxLastProspects=Last modified prospects BoxLastCustomers=Zadnji izmijenjeni kupci BoxLastSuppliers=Zadnji izmijenjeni dobavljači diff --git a/htdocs/langs/bs_BA/cashdesk.lang b/htdocs/langs/bs_BA/cashdesk.lang index 8fd787620f4..ebd9ff59a19 100644 --- a/htdocs/langs/bs_BA/cashdesk.lang +++ b/htdocs/langs/bs_BA/cashdesk.lang @@ -1,39 +1,40 @@ # Language file - Source file is en_US - cashdesk -# CashDeskMenu=Point of sale -# CashDesk=Point of sale -# CashDesks=Point of sales -# CashDeskBank=Bank account -# CashDeskBankCash=Bank account (cash) -# CashDeskBankCB=Bank account (card) -# CashDeskBankCheque=Bank account (cheque) -# CashDeskWarehouse=Warehouse -# CashdeskShowServices=Selling services -# CashDeskProducts=Products -# CashDeskStock=Stock -# CashDeskOn=on -# CashDeskThirdParty=Third party -# CashdeskDashboard=Point of sale access -# ShoppingCart=Shopping cart -# NewSell=New sell -# BackOffice=Back office -# AddThisArticle=Add this article -# RestartSelling=Go back on sell -# SellFinished=Sell finished -# PrintTicket=Print ticket -# NoProductFound=No article found -# ProductFound=product found -# ProductsFound=products found -# NoArticle=No article -# Identification=Identification -# Article=Article -# Difference=Difference -# TotalTicket=Total ticket -# NoVAT=No VAT for this sale -# Change=Excess received -# CalTip=Click to view the calendar -# CashDeskSetupStock=You ask to decrease stock on invoice creation but warehouse for this is was not defined
Change stock module setup, or choose a warehouse -# BankToPay=Charge Account -# ShowCompany=Show company -# ShowStock=Show warehouse -# DeleteArticle=Click to remove this article -# FilterRefOrLabelOrBC=Search (Ref/Label) +CashDeskMenu=Prodajno mjesto +CashDesk=Prodajno mjesto +CashDesks=Prodajna mjesta +CashDeskBank=Bakovni račun +CashDeskBankCash=Bankovni račun (gotovina) +CashDeskBankCB=Bankovni račun (kartica) +CashDeskBankCheque=Bankovni račun (ček) +CashDeskWarehouse=Skladište +CashdeskShowServices=Prodajne usluge +CashDeskProducts=Proizvodi +CashDeskStock=Zalihe +CashDeskOn=uključen u +CashDeskThirdParty=Subjekt +CashdeskDashboard=Pristup prodajnom mjestu +ShoppingCart=Korpa +NewSell=Nova prodaja +BackOffice=Administracija +AddThisArticle=Dodaj ovaj proizvod +RestartSelling=Nazad na prodaju +SellFinished=Prodaja završena +PrintTicket=Isprintaj račun +NoProductFound=Nema pronađenih proizvoda +ProductFound=proizvod pronađen +ProductsFound=proizvodi pronađeni +NoArticle=Nema proizvoda +Identification=Identifikacija +Article=Proizvod +Difference=Razlika +TotalTicket=Ukupno račun +NoVAT=Nema PDV-a na ovu prodaju +Change=Primljeni višak +CalTip=Klikni da vidiš kalendar +CashDeskSetupStock=Tražite da smanjite zalihu na kreaciji fakture, ali skladište za ovo nije definisano.
Promijenite postavke modula, ili izaberite skladište. +BankToPay=Dozvola za kupovinu na kredit +ShowCompany=Prikaži kompaniju +ShowStock=Prikaži skladište +DeleteArticle=Klikni da uklonis ovaj proizvod +FilterRefOrLabelOrBC=Traži (Ref/Oznaku) +# UserNeedPermissionToEditStockToUsePos=You ask to decrease stock on invoice creation, so user that use POS need to have permission to edit stock. diff --git a/htdocs/main.inc.php b/htdocs/main.inc.php index 419730c5bb1..83c113b358f 100644 --- a/htdocs/main.inc.php +++ b/htdocs/main.inc.php @@ -959,6 +959,7 @@ function top_htmlhead($head, $title='', $disablejs=0, $disablehead=0, $arrayofjs print ''."\n"; // Evite indexation par robots print ''."\n"; $favicon=dol_buildpath('/theme/'.$conf->theme.'/img/favicon.ico',1); + if (! empty($conf->global->MAIN_FAVICON_URL)) $favicon=$conf->global->MAIN_FAVICON_URL; print ''."\n"; if (empty($conf->global->MAIN_OPTIMIZEFORTEXTBROWSER)) print ''."\n"; if (empty($conf->global->MAIN_OPTIMIZEFORTEXTBROWSER)) print ''."\n"; From dd3169e1edc2c22eb51bc63bc7d8cb95661c6e20 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 5 Mar 2014 20:47:22 +0100 Subject: [PATCH 103/293] Sync from transifex --- htdocs/langs/bs_BA/categories.lang | 4 +- htdocs/langs/bs_BA/companies.lang | 666 +++++++++++++------------- htdocs/langs/bs_BA/compta.lang | 26 +- htdocs/langs/bs_BA/cron.lang | 96 ++-- htdocs/langs/bs_BA/deliveries.lang | 46 +- htdocs/langs/bs_BA/dict.lang | 638 ++++++++++++------------ htdocs/langs/bs_BA/donations.lang | 62 +-- htdocs/langs/bs_BA/ecm.lang | 106 ++-- htdocs/langs/bs_BA/errors.lang | 4 + htdocs/langs/bs_BA/exports.lang | 4 + htdocs/langs/bs_BA/externalsite.lang | 6 +- htdocs/langs/bs_BA/ftp.lang | 22 +- htdocs/langs/bs_BA/help.lang | 54 +-- htdocs/langs/bs_BA/holiday.lang | 292 +++++------ htdocs/langs/bs_BA/interventions.lang | 78 +-- htdocs/langs/bs_BA/ldap.lang | 12 +- htdocs/langs/bs_BA/mails.lang | 257 +++++----- htdocs/langs/bs_BA/main.lang | 4 +- htdocs/langs/bs_BA/opensurvey.lang | 1 + htdocs/langs/bs_BA/orders.lang | 2 + htdocs/langs/bs_BA/oscommerce.lang | 14 +- htdocs/langs/bs_BA/other.lang | 17 +- htdocs/langs/bs_BA/products.lang | 17 +- htdocs/langs/bs_BA/projects.lang | 195 ++++---- htdocs/langs/bs_BA/propal.lang | 74 +-- htdocs/langs/bs_BA/sms.lang | 102 ++-- htdocs/langs/bs_BA/stocks.lang | 132 ++--- htdocs/langs/bs_BA/trips.lang | 2 +- htdocs/langs/bs_BA/users.lang | 10 +- htdocs/langs/bs_BA/workflow.lang | 4 +- htdocs/langs/ca_ES/admin.lang | 25 +- htdocs/langs/ca_ES/agenda.lang | 2 +- htdocs/langs/ca_ES/cashdesk.lang | 1 + htdocs/langs/ca_ES/errors.lang | 4 + htdocs/langs/ca_ES/exports.lang | 4 + htdocs/langs/ca_ES/mails.lang | 7 + htdocs/langs/ca_ES/main.lang | 2 +- htdocs/langs/ca_ES/opensurvey.lang | 1 + htdocs/langs/ca_ES/orders.lang | 2 + htdocs/langs/ca_ES/other.lang | 17 +- htdocs/langs/ca_ES/products.lang | 17 +- htdocs/langs/ca_ES/projects.lang | 17 +- htdocs/langs/ca_ES/stocks.lang | 10 +- htdocs/langs/cs_CZ/admin.lang | 25 +- htdocs/langs/cs_CZ/agenda.lang | 1 + htdocs/langs/cs_CZ/cashdesk.lang | 1 + htdocs/langs/cs_CZ/errors.lang | 4 + htdocs/langs/cs_CZ/exports.lang | 4 + htdocs/langs/cs_CZ/mails.lang | 7 + htdocs/langs/cs_CZ/main.lang | 2 +- htdocs/langs/cs_CZ/opensurvey.lang | 1 + htdocs/langs/cs_CZ/orders.lang | 2 + htdocs/langs/cs_CZ/other.lang | 17 +- htdocs/langs/cs_CZ/products.lang | 17 +- htdocs/langs/cs_CZ/projects.lang | 17 +- htdocs/langs/cs_CZ/stocks.lang | 10 +- htdocs/langs/da_DK/admin.lang | 25 +- htdocs/langs/da_DK/agenda.lang | 1 + htdocs/langs/da_DK/cashdesk.lang | 1 + htdocs/langs/da_DK/errors.lang | 4 + htdocs/langs/da_DK/exports.lang | 4 + htdocs/langs/da_DK/mails.lang | 7 + htdocs/langs/da_DK/main.lang | 2 +- htdocs/langs/da_DK/opensurvey.lang | 1 + htdocs/langs/da_DK/orders.lang | 2 + htdocs/langs/da_DK/other.lang | 17 +- htdocs/langs/da_DK/products.lang | 17 +- htdocs/langs/da_DK/projects.lang | 17 +- htdocs/langs/da_DK/stocks.lang | 10 +- htdocs/langs/de_DE/admin.lang | 25 +- htdocs/langs/de_DE/agenda.lang | 1 + htdocs/langs/de_DE/cashdesk.lang | 1 + htdocs/langs/de_DE/errors.lang | 4 + htdocs/langs/de_DE/exports.lang | 4 + htdocs/langs/de_DE/mails.lang | 7 + htdocs/langs/de_DE/main.lang | 2 +- htdocs/langs/de_DE/opensurvey.lang | 1 + htdocs/langs/de_DE/orders.lang | 2 + htdocs/langs/de_DE/other.lang | 17 +- htdocs/langs/de_DE/products.lang | 17 +- htdocs/langs/de_DE/projects.lang | 17 +- htdocs/langs/de_DE/stocks.lang | 10 +- htdocs/langs/el_GR/admin.lang | 25 +- htdocs/langs/el_GR/agenda.lang | 1 + htdocs/langs/el_GR/cashdesk.lang | 1 + htdocs/langs/el_GR/errors.lang | 4 + htdocs/langs/el_GR/exports.lang | 6 +- htdocs/langs/el_GR/mails.lang | 7 + htdocs/langs/el_GR/main.lang | 2 +- htdocs/langs/el_GR/opensurvey.lang | 1 + htdocs/langs/el_GR/orders.lang | 2 + htdocs/langs/el_GR/other.lang | 17 +- htdocs/langs/el_GR/products.lang | 17 +- htdocs/langs/el_GR/projects.lang | 17 +- htdocs/langs/el_GR/stocks.lang | 10 +- htdocs/langs/es_ES/admin.lang | 25 +- htdocs/langs/es_ES/agenda.lang | 2 +- htdocs/langs/es_ES/bills.lang | 4 +- htdocs/langs/es_ES/cashdesk.lang | 1 + htdocs/langs/es_ES/errors.lang | 4 + htdocs/langs/es_ES/exports.lang | 8 +- htdocs/langs/es_ES/mails.lang | 7 + htdocs/langs/es_ES/opensurvey.lang | 1 + htdocs/langs/es_ES/orders.lang | 2 + htdocs/langs/es_ES/other.lang | 17 +- htdocs/langs/es_ES/products.lang | 13 +- htdocs/langs/es_ES/projects.lang | 26 +- htdocs/langs/es_ES/users.lang | 2 +- htdocs/langs/et_EE/admin.lang | 25 +- htdocs/langs/et_EE/agenda.lang | 1 + htdocs/langs/et_EE/cashdesk.lang | 1 + htdocs/langs/et_EE/errors.lang | 4 + htdocs/langs/et_EE/exports.lang | 4 + htdocs/langs/et_EE/mails.lang | 7 + htdocs/langs/et_EE/main.lang | 2 +- htdocs/langs/et_EE/opensurvey.lang | 1 + htdocs/langs/et_EE/orders.lang | 2 + htdocs/langs/et_EE/other.lang | 17 +- htdocs/langs/et_EE/products.lang | 17 +- htdocs/langs/et_EE/projects.lang | 17 +- htdocs/langs/et_EE/stocks.lang | 10 +- htdocs/langs/eu_ES/admin.lang | 25 +- htdocs/langs/eu_ES/agenda.lang | 1 + htdocs/langs/eu_ES/cashdesk.lang | 1 + htdocs/langs/eu_ES/errors.lang | 4 + htdocs/langs/eu_ES/exports.lang | 4 + htdocs/langs/eu_ES/mails.lang | 7 + htdocs/langs/eu_ES/main.lang | 2 +- htdocs/langs/eu_ES/opensurvey.lang | 1 + htdocs/langs/eu_ES/orders.lang | 2 + htdocs/langs/eu_ES/other.lang | 17 +- htdocs/langs/eu_ES/products.lang | 17 +- htdocs/langs/eu_ES/projects.lang | 17 +- htdocs/langs/eu_ES/stocks.lang | 10 +- htdocs/langs/fa_IR/admin.lang | 25 +- htdocs/langs/fa_IR/agenda.lang | 1 + htdocs/langs/fa_IR/cashdesk.lang | 1 + htdocs/langs/fa_IR/errors.lang | 4 + htdocs/langs/fa_IR/exports.lang | 4 + htdocs/langs/fa_IR/mails.lang | 7 + htdocs/langs/fa_IR/main.lang | 2 +- htdocs/langs/fa_IR/opensurvey.lang | 1 + htdocs/langs/fa_IR/orders.lang | 2 + htdocs/langs/fa_IR/other.lang | 17 +- htdocs/langs/fa_IR/products.lang | 17 +- htdocs/langs/fa_IR/projects.lang | 17 +- htdocs/langs/fa_IR/stocks.lang | 10 +- htdocs/langs/fi_FI/admin.lang | 25 +- htdocs/langs/fi_FI/agenda.lang | 1 + htdocs/langs/fi_FI/cashdesk.lang | 1 + htdocs/langs/fi_FI/errors.lang | 4 + htdocs/langs/fi_FI/exports.lang | 4 + htdocs/langs/fi_FI/mails.lang | 7 + htdocs/langs/fi_FI/main.lang | 2 +- htdocs/langs/fi_FI/opensurvey.lang | 1 + htdocs/langs/fi_FI/orders.lang | 2 + htdocs/langs/fi_FI/other.lang | 17 +- htdocs/langs/fi_FI/products.lang | 17 +- htdocs/langs/fi_FI/projects.lang | 17 +- htdocs/langs/fi_FI/stocks.lang | 10 +- htdocs/langs/fr_FR/admin.lang | 28 +- htdocs/langs/fr_FR/agenda.lang | 2 +- htdocs/langs/fr_FR/cashdesk.lang | 2 +- htdocs/langs/fr_FR/contracts.lang | 1 - htdocs/langs/fr_FR/errors.lang | 5 +- htdocs/langs/fr_FR/exports.lang | 11 +- htdocs/langs/fr_FR/mails.lang | 7 + htdocs/langs/fr_FR/opensurvey.lang | 2 +- htdocs/langs/fr_FR/orders.lang | 2 + htdocs/langs/fr_FR/other.lang | 18 +- htdocs/langs/fr_FR/products.lang | 24 +- htdocs/langs/fr_FR/projects.lang | 17 +- htdocs/langs/fr_FR/stocks.lang | 10 +- htdocs/langs/fr_FR/withdrawals.lang | 2 +- htdocs/langs/he_IL/admin.lang | 25 +- htdocs/langs/he_IL/agenda.lang | 1 + htdocs/langs/he_IL/cashdesk.lang | 1 + htdocs/langs/he_IL/errors.lang | 4 + htdocs/langs/he_IL/exports.lang | 4 + htdocs/langs/he_IL/mails.lang | 7 + htdocs/langs/he_IL/main.lang | 2 +- htdocs/langs/he_IL/opensurvey.lang | 1 + htdocs/langs/he_IL/orders.lang | 2 + htdocs/langs/he_IL/other.lang | 17 +- htdocs/langs/he_IL/products.lang | 17 +- htdocs/langs/he_IL/projects.lang | 9 + htdocs/langs/he_IL/stocks.lang | 10 +- htdocs/langs/hr_HR/admin.lang | 25 +- htdocs/langs/hr_HR/agenda.lang | 1 + htdocs/langs/hr_HR/bookmarks.lang | 36 +- htdocs/langs/hr_HR/cashdesk.lang | 1 + htdocs/langs/hr_HR/companies.lang | 334 ++++++------- htdocs/langs/hr_HR/errors.lang | 4 + htdocs/langs/hr_HR/exports.lang | 4 + htdocs/langs/hr_HR/mails.lang | 7 + htdocs/langs/hr_HR/main.lang | 2 +- htdocs/langs/hr_HR/opensurvey.lang | 1 + htdocs/langs/hr_HR/orders.lang | 2 + htdocs/langs/hr_HR/other.lang | 17 +- htdocs/langs/hr_HR/products.lang | 17 +- htdocs/langs/hr_HR/projects.lang | 17 +- htdocs/langs/hr_HR/propal.lang | 160 +++---- htdocs/langs/hr_HR/stocks.lang | 10 +- htdocs/langs/hu_HU/admin.lang | 25 +- htdocs/langs/hu_HU/agenda.lang | 1 + htdocs/langs/hu_HU/cashdesk.lang | 1 + htdocs/langs/hu_HU/errors.lang | 4 + htdocs/langs/hu_HU/exports.lang | 4 + htdocs/langs/hu_HU/mails.lang | 7 + htdocs/langs/hu_HU/main.lang | 2 +- htdocs/langs/hu_HU/opensurvey.lang | 1 + htdocs/langs/hu_HU/orders.lang | 2 + htdocs/langs/hu_HU/other.lang | 17 +- htdocs/langs/hu_HU/products.lang | 17 +- htdocs/langs/hu_HU/projects.lang | 17 +- htdocs/langs/hu_HU/stocks.lang | 10 +- htdocs/langs/id_ID/admin.lang | 25 +- htdocs/langs/id_ID/agenda.lang | 1 + htdocs/langs/id_ID/cashdesk.lang | 1 + htdocs/langs/id_ID/errors.lang | 4 + htdocs/langs/id_ID/exports.lang | 4 + htdocs/langs/id_ID/mails.lang | 7 + htdocs/langs/id_ID/main.lang | 2 +- htdocs/langs/id_ID/opensurvey.lang | 1 + htdocs/langs/id_ID/orders.lang | 2 + htdocs/langs/id_ID/other.lang | 17 +- htdocs/langs/id_ID/products.lang | 17 +- htdocs/langs/id_ID/projects.lang | 17 +- htdocs/langs/id_ID/stocks.lang | 10 +- htdocs/langs/is_IS/admin.lang | 25 +- htdocs/langs/is_IS/agenda.lang | 1 + htdocs/langs/is_IS/cashdesk.lang | 1 + htdocs/langs/is_IS/errors.lang | 4 + htdocs/langs/is_IS/exports.lang | 4 + htdocs/langs/is_IS/mails.lang | 7 + htdocs/langs/is_IS/main.lang | 2 +- htdocs/langs/is_IS/opensurvey.lang | 1 + htdocs/langs/is_IS/orders.lang | 2 + htdocs/langs/is_IS/other.lang | 17 +- htdocs/langs/is_IS/products.lang | 17 +- htdocs/langs/is_IS/projects.lang | 17 +- htdocs/langs/is_IS/stocks.lang | 10 +- htdocs/langs/it_IT/admin.lang | 49 +- htdocs/langs/it_IT/agenda.lang | 1 + htdocs/langs/it_IT/cashdesk.lang | 1 + htdocs/langs/it_IT/errors.lang | 4 + htdocs/langs/it_IT/exports.lang | 4 + htdocs/langs/it_IT/mails.lang | 7 + htdocs/langs/it_IT/main.lang | 2 +- htdocs/langs/it_IT/opensurvey.lang | 65 +-- htdocs/langs/it_IT/orders.lang | 2 + htdocs/langs/it_IT/other.lang | 17 +- htdocs/langs/it_IT/products.lang | 17 +- htdocs/langs/it_IT/projects.lang | 17 +- htdocs/langs/it_IT/stocks.lang | 10 +- htdocs/langs/ja_JP/admin.lang | 25 +- htdocs/langs/ja_JP/agenda.lang | 1 + htdocs/langs/ja_JP/cashdesk.lang | 1 + htdocs/langs/ja_JP/errors.lang | 4 + htdocs/langs/ja_JP/exports.lang | 4 + htdocs/langs/ja_JP/mails.lang | 7 + htdocs/langs/ja_JP/main.lang | 2 +- htdocs/langs/ja_JP/opensurvey.lang | 1 + htdocs/langs/ja_JP/orders.lang | 2 + htdocs/langs/ja_JP/other.lang | 17 +- htdocs/langs/ja_JP/products.lang | 17 +- htdocs/langs/ja_JP/projects.lang | 17 +- htdocs/langs/ja_JP/stocks.lang | 10 +- htdocs/langs/ko_KR/admin.lang | 25 +- htdocs/langs/ko_KR/agenda.lang | 1 + htdocs/langs/ko_KR/cashdesk.lang | 1 + htdocs/langs/ko_KR/errors.lang | 4 + htdocs/langs/ko_KR/exports.lang | 4 + htdocs/langs/ko_KR/mails.lang | 7 + htdocs/langs/ko_KR/main.lang | 2 +- htdocs/langs/ko_KR/opensurvey.lang | 1 + htdocs/langs/ko_KR/orders.lang | 2 + htdocs/langs/ko_KR/other.lang | 17 +- htdocs/langs/ko_KR/products.lang | 17 +- htdocs/langs/ko_KR/projects.lang | 9 + htdocs/langs/ko_KR/stocks.lang | 10 +- htdocs/langs/lt_LT/admin.lang | 25 +- htdocs/langs/lt_LT/agenda.lang | 1 + htdocs/langs/lt_LT/cashdesk.lang | 1 + htdocs/langs/lt_LT/errors.lang | 4 + htdocs/langs/lt_LT/exports.lang | 4 + htdocs/langs/lt_LT/mails.lang | 7 + htdocs/langs/lt_LT/main.lang | 2 +- htdocs/langs/lt_LT/opensurvey.lang | 1 + htdocs/langs/lt_LT/orders.lang | 2 + htdocs/langs/lt_LT/other.lang | 17 +- htdocs/langs/lt_LT/products.lang | 17 +- htdocs/langs/lt_LT/projects.lang | 17 +- htdocs/langs/lt_LT/stocks.lang | 10 +- htdocs/langs/lv_LV/admin.lang | 57 ++- htdocs/langs/lv_LV/agenda.lang | 1 + htdocs/langs/lv_LV/bills.lang | 4 +- htdocs/langs/lv_LV/boxes.lang | 4 +- htdocs/langs/lv_LV/cashdesk.lang | 1 + htdocs/langs/lv_LV/compta.lang | 2 +- htdocs/langs/lv_LV/cron.lang | 2 +- htdocs/langs/lv_LV/errors.lang | 8 +- htdocs/langs/lv_LV/exports.lang | 4 + htdocs/langs/lv_LV/install.lang | 4 +- htdocs/langs/lv_LV/interventions.lang | 2 +- htdocs/langs/lv_LV/mails.lang | 7 + htdocs/langs/lv_LV/main.lang | 8 +- htdocs/langs/lv_LV/opensurvey.lang | 1 + htdocs/langs/lv_LV/orders.lang | 2 + htdocs/langs/lv_LV/other.lang | 17 +- htdocs/langs/lv_LV/products.lang | 19 +- htdocs/langs/lv_LV/projects.lang | 17 +- htdocs/langs/lv_LV/stocks.lang | 10 +- htdocs/langs/mk_MK/admin.lang | 25 +- htdocs/langs/mk_MK/agenda.lang | 1 + htdocs/langs/mk_MK/cashdesk.lang | 1 + htdocs/langs/mk_MK/errors.lang | 4 + htdocs/langs/mk_MK/exports.lang | 4 + htdocs/langs/mk_MK/mails.lang | 7 + htdocs/langs/mk_MK/main.lang | 2 +- htdocs/langs/mk_MK/opensurvey.lang | 1 + htdocs/langs/mk_MK/orders.lang | 2 + htdocs/langs/mk_MK/other.lang | 17 +- htdocs/langs/mk_MK/products.lang | 17 +- htdocs/langs/mk_MK/projects.lang | 17 +- htdocs/langs/mk_MK/stocks.lang | 10 +- htdocs/langs/nb_NO/admin.lang | 25 +- htdocs/langs/nb_NO/agenda.lang | 1 + htdocs/langs/nb_NO/cashdesk.lang | 1 + htdocs/langs/nb_NO/errors.lang | 4 + htdocs/langs/nb_NO/exports.lang | 4 + htdocs/langs/nb_NO/mails.lang | 7 + htdocs/langs/nb_NO/main.lang | 2 +- htdocs/langs/nb_NO/opensurvey.lang | 1 + htdocs/langs/nb_NO/orders.lang | 2 + htdocs/langs/nb_NO/other.lang | 17 +- htdocs/langs/nb_NO/products.lang | 17 +- htdocs/langs/nb_NO/projects.lang | 17 +- htdocs/langs/nb_NO/stocks.lang | 10 +- htdocs/langs/nl_NL/admin.lang | 29 +- htdocs/langs/nl_NL/agenda.lang | 1 + htdocs/langs/nl_NL/banks.lang | 6 +- htdocs/langs/nl_NL/bills.lang | 6 +- htdocs/langs/nl_NL/cashdesk.lang | 1 + htdocs/langs/nl_NL/errors.lang | 4 + htdocs/langs/nl_NL/exports.lang | 8 +- htdocs/langs/nl_NL/mails.lang | 7 + htdocs/langs/nl_NL/main.lang | 6 +- htdocs/langs/nl_NL/opensurvey.lang | 1 + htdocs/langs/nl_NL/orders.lang | 2 + htdocs/langs/nl_NL/other.lang | 17 +- htdocs/langs/nl_NL/products.lang | 19 +- htdocs/langs/nl_NL/projects.lang | 17 +- htdocs/langs/nl_NL/stocks.lang | 10 +- htdocs/langs/pl_PL/admin.lang | 49 +- htdocs/langs/pl_PL/agenda.lang | 1 + htdocs/langs/pl_PL/bills.lang | 4 +- htdocs/langs/pl_PL/boxes.lang | 20 +- htdocs/langs/pl_PL/cashdesk.lang | 1 + htdocs/langs/pl_PL/companies.lang | 328 ++++++------- htdocs/langs/pl_PL/errors.lang | 4 + htdocs/langs/pl_PL/exports.lang | 4 + htdocs/langs/pl_PL/externalsite.lang | 4 +- htdocs/langs/pl_PL/holiday.lang | 2 +- htdocs/langs/pl_PL/mails.lang | 7 + htdocs/langs/pl_PL/main.lang | 12 +- htdocs/langs/pl_PL/opensurvey.lang | 1 + htdocs/langs/pl_PL/orders.lang | 2 + htdocs/langs/pl_PL/other.lang | 19 +- htdocs/langs/pl_PL/products.lang | 17 +- htdocs/langs/pl_PL/projects.lang | 17 +- htdocs/langs/pl_PL/shop.lang | 10 +- htdocs/langs/pl_PL/stocks.lang | 10 +- htdocs/langs/pl_PL/users.lang | 2 +- htdocs/langs/pt_PT/admin.lang | 25 +- htdocs/langs/pt_PT/agenda.lang | 1 + htdocs/langs/pt_PT/cashdesk.lang | 1 + htdocs/langs/pt_PT/errors.lang | 4 + htdocs/langs/pt_PT/exports.lang | 4 + htdocs/langs/pt_PT/mails.lang | 7 + htdocs/langs/pt_PT/main.lang | 2 +- htdocs/langs/pt_PT/opensurvey.lang | 1 + htdocs/langs/pt_PT/orders.lang | 2 + htdocs/langs/pt_PT/other.lang | 17 +- htdocs/langs/pt_PT/products.lang | 17 +- htdocs/langs/pt_PT/projects.lang | 17 +- htdocs/langs/pt_PT/stocks.lang | 10 +- htdocs/langs/ro_RO/admin.lang | 25 +- htdocs/langs/ro_RO/agenda.lang | 1 + htdocs/langs/ro_RO/cashdesk.lang | 1 + htdocs/langs/ro_RO/errors.lang | 4 + htdocs/langs/ro_RO/exports.lang | 4 + htdocs/langs/ro_RO/mails.lang | 7 + htdocs/langs/ro_RO/main.lang | 2 +- htdocs/langs/ro_RO/opensurvey.lang | 1 + htdocs/langs/ro_RO/orders.lang | 2 + htdocs/langs/ro_RO/other.lang | 17 +- htdocs/langs/ro_RO/products.lang | 17 +- htdocs/langs/ro_RO/projects.lang | 17 +- htdocs/langs/ro_RO/stocks.lang | 10 +- htdocs/langs/ru_RU/admin.lang | 25 +- htdocs/langs/ru_RU/agenda.lang | 1 + htdocs/langs/ru_RU/cashdesk.lang | 1 + htdocs/langs/ru_RU/errors.lang | 4 + htdocs/langs/ru_RU/exports.lang | 4 + htdocs/langs/ru_RU/mails.lang | 7 + htdocs/langs/ru_RU/main.lang | 2 +- htdocs/langs/ru_RU/opensurvey.lang | 1 + htdocs/langs/ru_RU/orders.lang | 2 + htdocs/langs/ru_RU/other.lang | 17 +- htdocs/langs/ru_RU/products.lang | 17 +- htdocs/langs/ru_RU/projects.lang | 17 +- htdocs/langs/ru_RU/stocks.lang | 10 +- htdocs/langs/sk_SK/admin.lang | 25 +- htdocs/langs/sk_SK/agenda.lang | 1 + htdocs/langs/sk_SK/cashdesk.lang | 1 + htdocs/langs/sk_SK/errors.lang | 4 + htdocs/langs/sk_SK/exports.lang | 4 + htdocs/langs/sk_SK/mails.lang | 7 + htdocs/langs/sk_SK/main.lang | 2 +- htdocs/langs/sk_SK/opensurvey.lang | 1 + htdocs/langs/sk_SK/orders.lang | 2 + htdocs/langs/sk_SK/other.lang | 17 +- htdocs/langs/sk_SK/products.lang | 17 +- htdocs/langs/sk_SK/projects.lang | 17 +- htdocs/langs/sk_SK/stocks.lang | 10 +- htdocs/langs/sl_SI/admin.lang | 25 +- htdocs/langs/sl_SI/agenda.lang | 1 + htdocs/langs/sl_SI/cashdesk.lang | 1 + htdocs/langs/sv_SE/admin.lang | 25 +- htdocs/langs/sv_SE/agenda.lang | 1 + htdocs/langs/sv_SE/cashdesk.lang | 1 + htdocs/langs/sv_SE/errors.lang | 4 + htdocs/langs/sv_SE/exports.lang | 4 + htdocs/langs/sv_SE/mails.lang | 7 + htdocs/langs/sv_SE/main.lang | 2 +- htdocs/langs/sv_SE/opensurvey.lang | 1 + htdocs/langs/sv_SE/orders.lang | 2 + htdocs/langs/sv_SE/other.lang | 17 +- htdocs/langs/sv_SE/products.lang | 17 +- htdocs/langs/sv_SE/projects.lang | 17 +- htdocs/langs/sv_SE/stocks.lang | 10 +- htdocs/langs/th_TH/admin.lang | 25 +- htdocs/langs/th_TH/agenda.lang | 1 + htdocs/langs/th_TH/cashdesk.lang | 1 + htdocs/langs/th_TH/errors.lang | 4 + htdocs/langs/th_TH/exports.lang | 4 + htdocs/langs/th_TH/mails.lang | 7 + htdocs/langs/th_TH/main.lang | 2 +- htdocs/langs/th_TH/opensurvey.lang | 1 + htdocs/langs/th_TH/orders.lang | 2 + htdocs/langs/th_TH/other.lang | 17 +- htdocs/langs/th_TH/products.lang | 17 +- htdocs/langs/th_TH/projects.lang | 17 +- htdocs/langs/th_TH/stocks.lang | 10 +- htdocs/langs/tr_TR/admin.lang | 87 ++-- htdocs/langs/tr_TR/agenda.lang | 1 + htdocs/langs/tr_TR/cashdesk.lang | 1 + htdocs/langs/tr_TR/compta.lang | 12 +- htdocs/langs/tr_TR/errors.lang | 14 +- htdocs/langs/tr_TR/exports.lang | 8 +- htdocs/langs/tr_TR/mails.lang | 7 + htdocs/langs/tr_TR/opensurvey.lang | 23 +- htdocs/langs/tr_TR/orders.lang | 2 + htdocs/langs/tr_TR/other.lang | 17 +- htdocs/langs/tr_TR/products.lang | 41 +- htdocs/langs/tr_TR/projects.lang | 17 +- htdocs/langs/tr_TR/stocks.lang | 10 +- htdocs/langs/uk_UA/admin.lang | 25 +- htdocs/langs/uk_UA/agenda.lang | 1 + htdocs/langs/uk_UA/cashdesk.lang | 1 + htdocs/langs/uk_UA/errors.lang | 4 + htdocs/langs/uk_UA/exports.lang | 4 + htdocs/langs/uk_UA/mails.lang | 7 + htdocs/langs/uk_UA/main.lang | 2 +- htdocs/langs/uk_UA/opensurvey.lang | 1 + htdocs/langs/uk_UA/orders.lang | 2 + htdocs/langs/uk_UA/other.lang | 17 +- htdocs/langs/uk_UA/products.lang | 17 +- htdocs/langs/uk_UA/projects.lang | 17 +- htdocs/langs/uk_UA/stocks.lang | 10 +- htdocs/langs/uz_UZ/admin.lang | 25 +- htdocs/langs/uz_UZ/agenda.lang | 1 + htdocs/langs/uz_UZ/cashdesk.lang | 1 + htdocs/langs/uz_UZ/errors.lang | 4 + htdocs/langs/uz_UZ/exports.lang | 4 + htdocs/langs/uz_UZ/mails.lang | 7 + htdocs/langs/uz_UZ/main.lang | 2 +- htdocs/langs/uz_UZ/opensurvey.lang | 1 + htdocs/langs/uz_UZ/orders.lang | 2 + htdocs/langs/uz_UZ/other.lang | 17 +- htdocs/langs/uz_UZ/products.lang | 17 +- htdocs/langs/uz_UZ/projects.lang | 9 + htdocs/langs/uz_UZ/stocks.lang | 10 +- htdocs/langs/vi_VN/admin.lang | 25 +- htdocs/langs/vi_VN/agenda.lang | 1 + htdocs/langs/vi_VN/cashdesk.lang | 1 + htdocs/langs/vi_VN/errors.lang | 4 + htdocs/langs/vi_VN/exports.lang | 4 + htdocs/langs/vi_VN/mails.lang | 7 + htdocs/langs/vi_VN/main.lang | 2 +- htdocs/langs/vi_VN/opensurvey.lang | 1 + htdocs/langs/vi_VN/orders.lang | 2 + htdocs/langs/vi_VN/other.lang | 17 +- htdocs/langs/vi_VN/products.lang | 17 +- htdocs/langs/vi_VN/projects.lang | 17 +- htdocs/langs/vi_VN/stocks.lang | 10 +- htdocs/langs/zh_CN/admin.lang | 25 +- htdocs/langs/zh_CN/agenda.lang | 1 + htdocs/langs/zh_CN/boxes.lang | 2 +- htdocs/langs/zh_CN/cashdesk.lang | 1 + htdocs/langs/zh_CN/errors.lang | 4 + htdocs/langs/zh_CN/exports.lang | 4 + htdocs/langs/zh_CN/mails.lang | 7 + htdocs/langs/zh_CN/main.lang | 4 +- htdocs/langs/zh_CN/opensurvey.lang | 1 + htdocs/langs/zh_CN/orders.lang | 2 + htdocs/langs/zh_CN/other.lang | 17 +- htdocs/langs/zh_CN/products.lang | 17 +- htdocs/langs/zh_CN/projects.lang | 17 +- htdocs/langs/zh_CN/stocks.lang | 10 +- htdocs/langs/zh_TW/admin.lang | 25 +- htdocs/langs/zh_TW/agenda.lang | 1 + htdocs/langs/zh_TW/cashdesk.lang | 1 + htdocs/langs/zh_TW/errors.lang | 4 + htdocs/langs/zh_TW/exports.lang | 4 + htdocs/langs/zh_TW/mails.lang | 7 + htdocs/langs/zh_TW/main.lang | 2 +- htdocs/langs/zh_TW/opensurvey.lang | 1 + htdocs/langs/zh_TW/orders.lang | 2 + htdocs/langs/zh_TW/other.lang | 17 +- htdocs/langs/zh_TW/products.lang | 17 +- htdocs/langs/zh_TW/projects.lang | 17 +- htdocs/langs/zh_TW/stocks.lang | 10 +- 534 files changed, 5157 insertions(+), 3067 deletions(-) diff --git a/htdocs/langs/bs_BA/categories.lang b/htdocs/langs/bs_BA/categories.lang index 5890482d1d5..33d039961ee 100644 --- a/htdocs/langs/bs_BA/categories.lang +++ b/htdocs/langs/bs_BA/categories.lang @@ -67,8 +67,8 @@ ContentsVisibleByAll=Sadržaj će biti vidljiv svima ContentsVisibleByAllShort=Sadržaj vidljiv svima ContentsNotVisibleByAllShort=Sadržaj nije vidljiv svima CategoriesTree=Stablo kategorija -DeleteCategory=Izbrisati kategoriju -ConfirmDeleteCategory=Jeste li sigurni da želite izbrisati ovu kategoriju? +DeleteCategory=Obriši kategoriju +ConfirmDeleteCategory=Jeste li sigurni da želite obrisati ovu kategoriju? RemoveFromCategory=Uklonite vezu sa kategorijom RemoveFromCategoryConfirm=Jeste li sigurni da želite ukloniti vezu između transakcije i kategorije? NoCategoriesDefined=Nema definisane kategorije diff --git a/htdocs/langs/bs_BA/companies.lang b/htdocs/langs/bs_BA/companies.lang index 0273600cfda..2bec912ee4d 100644 --- a/htdocs/langs/bs_BA/companies.lang +++ b/htdocs/langs/bs_BA/companies.lang @@ -1,88 +1,88 @@ # Dolibarr language file - Source file is en_US - companies -# ErrorCompanyNameAlreadyExists=Company name %s already exists. Choose another one. -# ErrorPrefixAlreadyExists=Prefix %s already exists. Choose another one. -# ErrorSetACountryFirst=Set the country first -# SelectThirdParty=Select a third party -# DeleteThirdParty=Delete a third party -# ConfirmDeleteCompany=Are you sure you want to delete this company and all inherited information ? -# DeleteContact=Delete a contact/address -# ConfirmDeleteContact=Are you sure you want to delete this contact and all inherited information ? -# MenuNewThirdParty=New third party -# MenuNewCompany=New company -# MenuNewCustomer=New customer -# MenuNewProspect=New prospect -# MenuNewSupplier=New supplier -# MenuNewPrivateIndividual=New private individual -# MenuSocGroup=Groups -# NewCompany=New company (prospect, customer, supplier) -# NewThirdParty=New third party (prospect, customer, supplier) -# NewSocGroup=New company group -# NewPrivateIndividual=New private individual (prospect, customer, supplier) -# ProspectionArea=Prospection area -# SocGroup=Group of companies -# IdThirdParty=Id third party -# IdCompany=Company Id -# IdContact=Contact Id -# Contacts=Contacts/Addresses -# ThirdPartyContacts=Third party contacts -# ThirdPartyContact=Third party contact/address -# StatusContactValidated=Status of contact/address -# Company=Company -# CompanyName=Company name -# Companies=Companies -# CountryIsInEEC=Country is inside European Economic Community -# ThirdPartyName=Third party name -# ThirdParty=Third party -# ThirdParties=Third parties -# ThirdPartyAll=Third parties (all) -# ThirdPartyProspects=Prospects -# ThirdPartyProspectsStats=Prospects -# ThirdPartyCustomers=Customers -# ThirdPartyCustomersStats=Customers -# ThirdPartyCustomersWithIdProf12=Customers with %s or %s -# ThirdPartySuppliers=Suppliers -# ThirdPartyType=Third party type -# Company/Fundation=Company/Foundation -# Individual=Private individual -# ToCreateContactWithSameName=Will create automatically a physical contact with same informations -# ParentCompany=Parent company -# Subsidiary=Subsidiary -# Subsidiaries=Subsidiaries -# NoSubsidiary=No subsidiary -# ReportByCustomers=Report by customers -# ReportByQuarter=Report by rate +ErrorCompanyNameAlreadyExists=Ime kompanije %s već postoji. Izaberite neko drugo. +ErrorPrefixAlreadyExists=Prefiks %s već postoji. Izaberite neko drugo. +ErrorSetACountryFirst=Odberite prvo zemlju +SelectThirdParty=Odaberite subjekt +DeleteThirdParty=Obrisati subjekta +ConfirmDeleteCompany=Jeste li sigurni da želite obrisati ove kompanije i podatke vezane za istu? +DeleteContact=Obrisati kontakt/uslugu +ConfirmDeleteContact=Jeste li sigurni da želite obrisati ovaj kontakt i sve podatke vezane za isti? +MenuNewThirdParty=Novi subjekt +MenuNewCompany=Nova kompanija +MenuNewCustomer=Novi kupac +MenuNewProspect=Novi mogući klijent +MenuNewSupplier=Novi dobavljač +MenuNewPrivateIndividual=Nova privatna individua +MenuSocGroup=Grupe +NewCompany=Nova kompanija (mogući klijent, kupac, dobavljač) +NewThirdParty=Novi subjekt (mogući klijent, kupac, dobavljač) +NewSocGroup=Nova grupa kompanije +NewPrivateIndividual=Nova privatna individua (mogući klijent, kupac, dobavljač) +ProspectionArea=Područje za moguće kupce +SocGroup=Grupa kompanija +IdThirdParty=ID subjekta +IdCompany=ID kompanije +IdContact=ID kontakta +Contacts=Kontakti/Adrese +ThirdPartyContacts=Kontakti subjekta +ThirdPartyContact=Kontakt/Adresa subjekta +StatusContactValidated=Status kontakta/adrese +Company=Kompanija +CompanyName=Ime kompanije +Companies=Kompanije +CountryIsInEEC=Zemlja je unutar Evropske ekonomske zajednice +ThirdPartyName=Ime subjekta +ThirdParty=Subjekt +ThirdParties=Subjekti +ThirdPartyAll=Subjekti (svi) +ThirdPartyProspects=Mogući klijenti +ThirdPartyProspectsStats=Mogući klijenti +ThirdPartyCustomers=Kupci +ThirdPartyCustomersStats=Kupci +ThirdPartyCustomersWithIdProf12=Kupci sa %s ili %s +ThirdPartySuppliers=Dobavljači +ThirdPartyType=Tip subjekta +Company/Fundation=Kompanija/Fondacija +Individual=Privatna individua +ToCreateContactWithSameName=Ovo će automatski kreirati fizički kontakt sa istim informacijama +ParentCompany=Matična kompanija +Subsidiary=Podružnica +Subsidiaries=Podružnice +NoSubsidiary=Nema podružnica +ReportByCustomers=Izvještaj po kupcima +ReportByQuarter=Izvještaj po stopama # CivilityCode=Civility code -# RegisteredOffice=Registered office -# Name=Name -# Lastname=Last name -# Firstname=First name -# PostOrFunction=Post/Function -# UserTitle=Title -# Surname=Surname/Pseudo -# Address=Address -# State=State/Province -# Region=Region -# Country=Country -# CountryCode=Country code -# CountryId=Country id -# Phone=Phone -# Skype=Skype -# Call=Call -# Chat=Chat -# PhonePro=Prof. phone -# PhonePerso=Pers. phone -# PhoneMobile=Mobile +RegisteredOffice=Registrovan ured +Name=Naziv +Lastname=Prezime +Firstname=Ime +PostOrFunction=Položaj/Funkcija +UserTitle=Titula +Surname=Prezime/pseudonim +Address=Adresa +State=Država/Provincija +Region=Region +Country=Država +CountryCode=Šifra države +CountryId=ID države +Phone=Telefon +Skype=Skajp +Call=Pozovi +Chat=Chat +PhonePro=Službeni telefon +PhonePerso=Privatni telefon +PhoneMobile=Mobitel # No_Email=Don't send mass e-mailings -# Fax=Fax -# Zip=Zip Code -# Town=City -# Web=Web -# Poste= Position -# DefaultLang=Language by default -# VATIsUsed=VAT is used -# VATIsNotUsed=VAT is not used -# CopyAddressFromSoc=Fill address with thirdparty address -# NoEmailDefined=There is no email defined +Fax=Fax +Zip=ZIP kod +Town=Grad +Web=Web +Poste= Pozicija +DefaultLang=Defaultni jezik +VATIsUsed=Oporeziva osoba +VATIsNotUsed=Neoporeziva osoba +CopyAddressFromSoc=Popuni adresu sa adresom subjekta +NoEmailDefined=Nema definisanog emaila ##### Local Taxes ##### # LocalTax1IsUsedES= RE is used # LocalTax1IsNotUsedES= RE is not used @@ -90,12 +90,12 @@ # LocalTax2IsNotUsedES= IRPF is not used # LocalTax1ES=RE # LocalTax2ES=IRPF -# ThirdPartyEMail=%s -# WrongCustomerCode=Customer code invalid -# WrongSupplierCode=Supplier code invalid -# CustomerCodeModel=Customer code model -# SupplierCodeModel=Supplier code model -# Gencod=Bar code +ThirdPartyEMail=%s +WrongCustomerCode=Nevažeća šifra kupca +WrongSupplierCode=Nevažeća šifra dobavljača +CustomerCodeModel=Model šifre kupca +SupplierCodeModel=Model šifre dobavljača +Gencod=Barkod ##### Professional ID ##### # ProfId1Short=Prof. id 1 # ProfId2Short=Prof. id 2 @@ -109,301 +109,301 @@ # ProfId4=Professional ID 4 # ProfId5=Professional ID 5 # ProfId6=Professional ID 6 -# ProfId1AR=Prof Id 1 (CUIT/CUIL) -# ProfId2AR=Prof Id 2 (Revenu brutes) -# ProfId3AR=- -# ProfId4AR=- -# ProfId5AR=- -# ProfId6AR=- -# ProfId1AU=Prof Id 1 (ABN) -# ProfId2AU=- -# ProfId3AU=- -# ProfId4AU=- -# ProfId5AU=- -# ProfId6AU=- -# ProfId1BE=Prof Id 1 (Professional number) -# ProfId2BE=- -# ProfId3BE=- -# ProfId4BE=- -# ProfId5BE=- -# ProfId6BE=- -# ProfId1BR=- -# ProfId2BR=IE (Inscricao Estadual) -# ProfId3BR=IM (Inscricao Municipal) -# ProfId4BR=CPF +ProfId1AR=Prof Id 1 (CUIT / CUIL) +ProfId2AR=Prof Id 2 (Revenu brutes) +ProfId3AR=- +ProfId4AR=- +ProfId5AR=- +ProfId6AR=- +ProfId1AU=Prof Id 1 (ABN) +ProfId2AU=- +ProfId3AU=- +ProfId4AU=- +ProfId5AU=- +ProfId6AU=- +ProfId1BE=Prof Id 1 (Professional number) +ProfId2BE=- +ProfId3BE=- +ProfId4BE=- +ProfId5BE=- +ProfId6BE=- +ProfId1BR=- +ProfId2BR=IE (Inscricao Estadual) +ProfId3BR=IM (Inscricao Municipal) +ProfId4BR=CPF #ProfId5BR=CNAE #ProfId6BR=INSS -# ProfId1CH=- -# ProfId2CH=- +ProfId1CH=- +ProfId2CH=- # ProfId3CH=Prof Id 1 (Federal number) # ProfId4CH=Prof Id 2 (Commercial Record number) -# ProfId5CH=- -# ProfId6CH=- +ProfId5CH=- +ProfId6CH=- # ProfId1CL=Prof Id 1 (R.U.T.) -# ProfId2CL=- -# ProfId3CL=- -# ProfId4CL=- -# ProfId5CL=- -# ProfId6CL=- +ProfId2CL=- +ProfId3CL=- +ProfId4CL=- +ProfId5CL=- +ProfId6CL=- # ProfId1CO=Prof Id 1 (R.U.T.) -# ProfId2CO=- -# ProfId3CO=- -# ProfId4CO=- -# ProfId5CO=- -# ProfId6CO=- +ProfId2CO=- +ProfId3CO=- +ProfId4CO=- +ProfId5CO=- +ProfId6CO=- # ProfId1DE=Prof Id 1 (USt.-IdNr) # ProfId2DE=Prof Id 2 (USt.-Nr) # ProfId3DE=Prof Id 3 (Handelsregister-Nr.) -# ProfId4DE=- +ProfId4DE=- # ProfId5DE=- -# ProfId6DE=- +ProfId6DE=- # ProfId1ES=Prof Id 1 (CIF/NIF) # ProfId2ES=Prof Id 2 (Social security number) # ProfId3ES=Prof Id 3 (CNAE) # ProfId4ES=Prof Id 4 (Collegiate number) -# ProfId5ES=- -# ProfId6ES=- +ProfId5ES=- +ProfId6ES=- # ProfId1FR=Prof Id 1 (SIREN) # ProfId2FR=Prof Id 2 (SIRET) # ProfId3FR=Prof Id 3 (NAF, old APE) # ProfId4FR=Prof Id 4 (RCS/RM) -# ProfId5FR=- -# ProfId6FR=- -# ProfId1GB=Registration Number -# ProfId2GB=- -# ProfId3GB=SIC -# ProfId4GB=- -# ProfId5GB=- -# ProfId6GB=- +ProfId5FR=- +ProfId6FR=- +ProfId1GB=Registracijski broj +ProfId2GB=- +ProfId3GB=SIC +ProfId4GB=- +ProfId5GB=- +ProfId6GB=- # ProfId1HN=Id prof. 1 (RTN) -# ProfId2HN=- -# ProfId3HN=- -# ProfId4HN=- -# ProfId5HN=- -# ProfId6HN=- +ProfId2HN=- +ProfId3HN=- +ProfId4HN=- +ProfId5HN=- +ProfId6HN=- # ProfId1IN=Prof Id 1 (TIN) # ProfId2IN=Prof Id 2 (PAN) # ProfId3IN=Prof Id 3 (SRVC TAX) # ProfId4IN=Prof Id 4 # ProfId5IN=Prof Id 5 -# ProfId6IN=- +ProfId6IN=- # ProfId1MA=Id prof. 1 (R.C.) # ProfId2MA=Id prof. 2 (Patente) # ProfId3MA=Id prof. 3 (I.F.) # ProfId4MA=Id prof. 4 (C.N.S.S.) -# ProfId5MA=- -# ProfId6MA=- +ProfId5MA=- +ProfId6MA=- # ProfId1MX=Prof Id 1 (R.F.C). # ProfId2MX=Prof Id 2 (R..P. IMSS) # ProfId3MX=Prof Id 3 (Profesional Charter) -# ProfId4MX=- -# ProfId5MX=- -# ProfId6MX=- +ProfId4MX=- +ProfId5MX=- +ProfId6MX=- # ProfId1NL=KVK nummer -# ProfId2NL=- -# ProfId3NL=- +ProfId2NL=- +ProfId3NL=- # ProfId4NL=Burgerservicenummer (BSN) -# ProfId5NL=- -# ProfId6NL=- +ProfId5NL=- +ProfId6NL=- # ProfId1PT=Prof Id 1 (NIPC) # ProfId2PT=Prof Id 2 (Social security number) # ProfId3PT=Prof Id 3 (Commercial Record number) # ProfId4PT=Prof Id 4 (Conservatory) -# ProfId5PT=- -# ProfId6PT=- +ProfId5PT=- +ProfId6PT=- # ProfId1SN=RC # ProfId2SN=NINEA -# ProfId3SN=- -# ProfId4SN=- -# ProfId5SN=- -# ProfId6SN=- +ProfId3SN=- +ProfId4SN=- +ProfId5SN=- +ProfId6SN=- # ProfId1TN=Prof Id 1 (RC) # ProfId2TN=Prof Id 2 (Fiscal matricule) # ProfId3TN=Prof Id 3 (Douane code) # ProfId4TN=Prof Id 4 (BAN) -# ProfId5TN=- -# ProfId6TN=- +ProfId5TN=- +ProfId6TN=- # ProfId1RU=Prof Id 1 (OGRN) # ProfId2RU=Prof Id 2 (INN) # ProfId3RU=Prof Id 3 (KPP) # ProfId4RU=Prof Id 4 (OKPO) -# ProfId5RU=- -# ProfId6RU=- -# VATIntra=VAT number -# VATIntraShort=VAT number -# VATIntraVeryShort=VAT -# VATIntraSyntaxIsValid=Syntax is valid -# VATIntraValueIsValid=Value is valid -# ProspectCustomer=Prospect / Customer -# Prospect=Prospect -# CustomerCard=Customer Card -# Customer=Customer -# CustomerDiscount=Customer Discount -# CustomerRelativeDiscount=Relative customer discount -# CustomerAbsoluteDiscount=Absolute customer discount -# CustomerRelativeDiscountShort=Relative discount -# CustomerAbsoluteDiscountShort=Absolute discount -# CompanyHasRelativeDiscount=This customer has a default discount of %s%% -# CompanyHasNoRelativeDiscount=This customer has no relative discount by default -# CompanyHasAbsoluteDiscount=This customer still has discount credits or deposits for %s %s +ProfId5RU=- +ProfId6RU=- +VATIntra=PDV broj +VATIntraShort=PDV broj +VATIntraVeryShort=PDV +VATIntraSyntaxIsValid=Sintaksa je nevažeća +VATIntraValueIsValid=Vrijednost je nevažeća +ProspectCustomer=Mogući klijent / Kupac +Prospect=Mogući klijent +CustomerCard=Kartica kupca +Customer=Kupac +CustomerDiscount=Popust kupca +CustomerRelativeDiscount=Relativni popust kupca +CustomerAbsoluteDiscount=Fiksni popust kupca +CustomerRelativeDiscountShort=Relativni popust +CustomerAbsoluteDiscountShort=Fiksni popust +CompanyHasRelativeDiscount=Ovaj kupca ima defaultni popust od %s%% +CompanyHasNoRelativeDiscount=Ovaj kupac nema relativnog popusta po defaultu +CompanyHasAbsoluteDiscount=Ovaj kupac još uvijek ima zasluga za popust ili depozit za %s %s # CompanyHasCreditNote=This customer still has credit notes for %s %s -# CompanyHasNoAbsoluteDiscount=This customer has no discount credit available -# CustomerAbsoluteDiscountAllUsers=Absolute discounts (granted by all users) -# CustomerAbsoluteDiscountMy=Absolute discounts (granted by yourself) -# DefaultDiscount=Default discount -# AvailableGlobalDiscounts=Absolute discounts available -# DiscountNone=None -# Supplier=Supplier -# CompanyList=Company's list -# AddContact=Add contact -# AddContactAddress=Add contact/address -# EditContact=Edit contact -# EditContactAddress=Edit contact/address -# Contact=Contact -# ContactsAddresses=Contacts/Addresses -# NoContactDefinedForThirdParty=No contact defined for this third party -# NoContactDefined=No contact defined -# DefaultContact=Default contact/address -# AddCompany=Add company -# AddThirdParty=Add third party -# DeleteACompany=Delete a company -# PersonalInformations=Personal data -# AccountancyCode=Accountancy code -# CustomerCode=Customer code -# SupplierCode=Supplier code -# CustomerAccount=Customer account -# SupplierAccount=Supplier account -# CustomerCodeDesc=Customer code, unique for all customers -# SupplierCodeDesc=Supplier code, unique for all suppliers -# RequiredIfCustomer=Required if third party is a customer or prospect -# RequiredIfSupplier=Required if third party is a supplier -# ValidityControledByModule=Validity controled by module -# ThisIsModuleRules=This is rules for this module -# LastProspect=Last -# ProspectToContact=Prospect to contact -# CompanyDeleted=Company "%s" deleted from database. -# ListOfContacts=List of contacts/addresses -# ListOfContactsAddresses=List of contacts/adresses -# ListOfProspectsContacts=List of prospect contacts -# ListOfCustomersContacts=List of customer contacts -# ListOfSuppliersContacts=List of supplier contacts -# ListOfCompanies=List of companies -# ListOfThirdParties=List of third parties -# ShowCompany=Show company -# ShowContact=Show contact -# ContactsAllShort=All (No filter) -# ContactType=Contact type -# ContactForOrders=Order's contact -# ContactForProposals=Proposal's contact -# ContactForContracts=Contract's contact -# ContactForInvoices=Invoice's contact -# NoContactForAnyOrder=This contact is not a contact for any order -# NoContactForAnyProposal=This contact is not a contact for any commercial proposal -# NoContactForAnyContract=This contact is not a contact for any contract -# NoContactForAnyInvoice=This contact is not a contact for any invoice -# NewContact=New contact -# NewContactAddress=New contact/address -# LastContacts=Last contacts -# MyContacts=My contacts -# Phones=Phones -# Capital=Capital -# CapitalOf=Capital of %s -# EditCompany=Edit company -# EditDeliveryAddress=Edit delivery address -# ThisUserIsNot=This user is not a prospect, customer nor supplier -# VATIntraCheck=Check -# VATIntraCheckDesc=The link %s allows to ask the european VAT checker service. An external internet access from server is required for this service to work. -# VATIntraCheckURL=http://ec.europa.eu/taxation_customs/vies/vieshome.do +CompanyHasNoAbsoluteDiscount=Ovaj kupac nema zasluga za popust +CustomerAbsoluteDiscountAllUsers=Fiksni popust (odobren od strane svih korisnika) +CustomerAbsoluteDiscountMy=Fiksni popust (odobren od strane sebe) +DefaultDiscount=Defaultni popust +AvailableGlobalDiscounts=Fiksni popust dostupan +DiscountNone=Ništa +Supplier=Dobavljač +CompanyList=Lista kompanije +AddContact=Dodaj kontakt +AddContactAddress=Dodaj kontakt/adresu +EditContact=Uredi kontakt +EditContactAddress=Uredi kontakt/adresu +Contact=Kontakt +ContactsAddresses=Kontakti/Adrese +NoContactDefinedForThirdParty=Nema definiranih kontakata za ovaj subjekt +NoContactDefined=Nijedan kontakt definiran +DefaultContact=Defaultni kontakt/adresa +AddCompany=Dodaj kompaniju +AddThirdParty=Dodaj subjekta +DeleteACompany=Obrisati kompaniju +PersonalInformations=Osobni podaci +AccountancyCode=Šifra računovodstva +CustomerCode=Šifra kupca +SupplierCode=Šifra dobavljača +CustomerAccount=Račun kupca +SupplierAccount=Račun dobavljača +CustomerCodeDesc=Šifra kupca, jedinstvena za sve kupce +SupplierCodeDesc=Šifra dobavljača, jedinstvena za sve dobavljače +RequiredIfCustomer=Potrebno ako je subjekt kupac ili mogući klijent +RequiredIfSupplier=Potrebno ako je subjekt dobavljač +ValidityControledByModule=Porvjera valjanosti se kontroliše modulom +ThisIsModuleRules=Ovo us pravila za ovaj modul +LastProspect=Zadnji +ProspectToContact=Mogući klijent za kontaktirati +CompanyDeleted=Kompanija"%s" obrisana iz baze podataka +ListOfContacts=Lista kontakta/adresa +ListOfContactsAddresses=Lista kontakta/adresa +ListOfProspectsContacts=Lista kontakata mogućeg klijenta +ListOfCustomersContacts=Lista kontakata kupca +ListOfSuppliersContacts=Lista kontakata dobavljača +ListOfCompanies=Lista kompanija +ListOfThirdParties=Lista subjekata +ShowCompany=Prikaži kompaniju +ShowContact=Prikaži kontakt +ContactsAllShort=Svi (bez filtera) +ContactType=Tip kontakta +ContactForOrders=Kontakt narudžbe +ContactForProposals=Kontakt prijedloga +ContactForContracts=Kontakt ugovora +ContactForInvoices=Kontakt fakture +NoContactForAnyOrder=Ovaj kontakt nije kontakt za bilo koju narudžbu +NoContactForAnyProposal=Ovaj kontakt nije kontakt za bilo koji poslovni prijedlog +NoContactForAnyContract=Ovaj kontakt nije kontakt za bilo koji ugovor +NoContactForAnyInvoice=Ovaj kontakt nije kontakt za bilo koju fakturu +NewContact=Novi kontakt +NewContactAddress=Novi kontakt/adresa +LastContacts=Zadnji kontakti +MyContacts=Moji kontakti +Phones=Telefoni +Capital=Kapital +CapitalOf=Kapital od %s +EditCompany=Uredi kompaniju +EditDeliveryAddress=Uredi adresu za dostavu +ThisUserIsNot=OVaj korisnik nije mogući klijent, kupac niti dobavljač +VATIntraCheck=Provjeri +VATIntraCheckDesc=Link %s dozvoljava upit za evopski PDV servis za provjeru. Potrebno je imati pristup internetu na serveru za ovu uslugu. +VATIntraCheckURL=http://ec.europa.eu/taxation_customs/vies/vieshome.do # VATIntraCheckableOnEUSite=Check Intracomunnautary VAT on European commision site # VATIntraManualCheck=You can also check manually from european web site %s -# ErrorVATCheckMS_UNAVAILABLE=Check not possible. Check service is not provided by the member state (%s). -# NorProspectNorCustomer=Nor prospect, nor customer -# JuridicalStatus=Juridical status -# Staff=Staff -# ProspectLevelShort=Potential -# ProspectLevel=Prospect potential -# ContactPrivate=Private -# ContactPublic=Shared -# ContactVisibility=Visibility -# OthersNotLinkedToThirdParty=Others, not linked to a third party -# ProspectStatus=Prospect status -# PL_NONE=None -# PL_UNKNOWN=Unknown -# PL_LOW=Low -# PL_MEDIUM=Medium -# PL_HIGH=High -# TE_UNKNOWN=- -# TE_STARTUP=Startup -# TE_GROUP=Large company -# TE_MEDIUM=Medium company -# TE_ADMIN=Governmental -# TE_SMALL=Small company -# TE_RETAIL=Retailer -# TE_WHOLE=Wholetailer -# TE_PRIVATE=Private individual -# TE_OTHER=Other -# StatusProspect-1=Do not contact -# StatusProspect0=Never contacted -# StatusProspect1=To contact -# StatusProspect2=Contact in process -# StatusProspect3=Contact done -# ChangeDoNotContact=Change status to 'Do not contact' -# ChangeNeverContacted=Change status to 'Never contacted' -# ChangeToContact=Change status to 'To contact' -# ChangeContactInProcess=Change status to 'Contact in process' -# ChangeContactDone=Change status to 'Contact done' -# ProspectsByStatus=Prospects by status -# BillingContact=Billing contact -# NbOfAttachedFiles=Number of attached files -# AttachANewFile=Attach a new file +ErrorVATCheckMS_UNAVAILABLE=Provjera nije moguća. Servis za provjeru nije naveden od stran države članice (%s). +NorProspectNorCustomer=Niti mogući klijent, niti kupac +JuridicalStatus=Pravni status +Staff=Osoblje +ProspectLevelShort=Potencijal +ProspectLevel=Potencijal mogućeg klijenta +ContactPrivate=Privatno +ContactPublic=Zajedničko +ContactVisibility=Vidljivost +OthersNotLinkedToThirdParty=Drugo, koje nije povezano sa subjektom +ProspectStatus=Status mogućeg klijenta +PL_NONE=Nema potencijala +PL_UNKNOWN=Nepoznat potencijal +PL_LOW=Nizak potencijal +PL_MEDIUM=Srednji potencijal +PL_HIGH=Veliki potencijal +TE_UNKNOWN=- +TE_STARTUP=Nova kompanija +TE_GROUP=Velika kompanija +TE_MEDIUM=Srednja kompanija +TE_ADMIN=Državna kompanija +TE_SMALL=Mala kompanija +TE_RETAIL=Maloprodaja +TE_WHOLE=Veleprodaja +TE_PRIVATE=Privatna individua +TE_OTHER=Ostalo +StatusProspect-1=Ne kontaktirati +StatusProspect0=Nikada kontaktirano +StatusProspect1=Kontaktirati +StatusProspect2=Kontaktiranje u toku +StatusProspect3=Kontaktirano +ChangeDoNotContact=Promijeni status u 'Ne kontaktirati' +ChangeNeverContacted=Promjeni status na 'Nikada kontaktirano' +ChangeToContact=Promjeni status na 'Kontaktirati' +ChangeContactInProcess=Promjeni status na 'Kontaktiranje u toku' +ChangeContactDone=Promjeni status na 'Kontaktirano' +ProspectsByStatus=Mogući klijenti po statusu +BillingContact=Kontakt za naplatu +NbOfAttachedFiles=Broj vezanih fajlova +AttachANewFile=Prikači novi fajl # NoRIB=No BAN defined -# NoParentCompany=None -# ExportImport=Import-Export -# ExportCardToFormat=Export card to format -# ContactNotLinkedToCompany=Contact not linked to any third party -# DolibarrLogin=Dolibarr login -# NoDolibarrAccess=No Dolibarr access -# ExportDataset_company_1=Third parties (Companies/foundations/physical people) and properties -# ExportDataset_company_2=Contacts and properties -# ImportDataset_company_1=Third parties (Companies/foundations/physical people) and properties -# ImportDataset_company_2=Contacts/Addresses (of thirdparties or not) and attributes -# ImportDataset_company_3=Bank details -# PriceLevel=Price level -# DeliveriesAddress=Delivery addresses -# DeliveryAddress=Delivery address -# DeliveryAddressLabel=Delivery address label -# DeleteDeliveryAddress=Delete a delivery address -# ConfirmDeleteDeliveryAddress=Are you sure you want to delete this delivery address? -# NewDeliveryAddress=New delivery address -# AddDeliveryAddress=Add address -# AddAddress=Add address -# NoOtherDeliveryAddress=No alternative delivery address defined -# SupplierCategory=Supplier category -# JuridicalStatus200=Independant -# DeleteFile=Delete file -# ConfirmDeleteFile=Are you sure you want to delete this file? -# AllocateCommercial=Assigned to sale representative -# SelectCountry=Select a country -# SelectCompany=Select a third party -# Organization=Organization -# AutomaticallyGenerated=Automatically generated -# FiscalYearInformation=Information on the fiscal year -# FiscalMonthStart=Starting month of the fiscal year -# YouMustCreateContactFirst=You must create emails contacts for third party first to be able to add emails notifications. -# ListSuppliersShort=List of suppliers -# ListProspectsShort=List of prospects -# ListCustomersShort=List of customers -# ThirdPartiesArea=Third parties area -# LastModifiedThirdParties=Last %s modified third parties -# UniqueThirdParties=Total of unique third parties -# InActivity=Open -# ActivityCeased=Closed -# ActivityStateFilter=Activity status -# ProductsIntoElements=List of products into -# CurrentOutstandingBill=Current outstanding bill -# OutstandingBill=Max. for outstanding bill -# OutstandingBillReached=Reached max. for outstanding bill +NoParentCompany=Bez +ExportImport=Uvoz-Izvoz +ExportCardToFormat=Izvod podataka u formatu +ContactNotLinkedToCompany=Kontakt nije povezan sa nekim od subjekata +DolibarrLogin=Dolibarr login +NoDolibarrAccess=Nema Dolibarr pristupa +ExportDataset_company_1=Subjekti (Kompanije/fondacije/fizička lica) i svojstva +ExportDataset_company_2=Kontakti i osobine +ImportDataset_company_1=Subjekti (Kompanije/fondacije/fizička lica) i svojstva +ImportDataset_company_2=Kontakti/Adrese (od subjekata ili ne) i atributi +ImportDataset_company_3=Detalji banke +PriceLevel=Visina cijene +DeliveriesAddress=Adrese za dostavu +DeliveryAddress=Adresa za dostavu +DeliveryAddressLabel=Oznaka za adresu za dostavu +DeleteDeliveryAddress=Obrisani adresu za dostavu +ConfirmDeleteDeliveryAddress=Jeste li sigurni da želite obrisati ovu adresu za dostavu? +NewDeliveryAddress=Nova adresa za dostavu +AddDeliveryAddress=Dodaj adresu +AddAddress=Dodaj adresu +NoOtherDeliveryAddress=Nema definisane alternativne adrese za dostavu +SupplierCategory=Kategorija dobavljača +JuridicalStatus200=Nezavisno +DeleteFile=Obriši fajl +ConfirmDeleteFile=Jeste li sigurni da želite obrisati ovaj fajl? +AllocateCommercial=Dodijeljeno predstavniku prodaje +SelectCountry=Odaberi državu +SelectCompany=Odaberi subjekta +Organization=Organizacija +AutomaticallyGenerated=Automatski generisano +FiscalYearInformation=Informacije o fiskalnoj godini +FiscalMonthStart=Početni mjesec fiskalne godine +YouMustCreateContactFirst=Morate prvo kreirati emailove kontakata za subjekte da bi mogli dodati email notifikacije +ListSuppliersShort=Lista dobavljača +ListProspectsShort=Lista mogućih klijenata +ListCustomersShort=Lista kupaca +ThirdPartiesArea=Područje za subjekte +LastModifiedThirdParties=Zadnjih %s izmijenjenih subjekata +UniqueThirdParties=Ukupno unikatnih subjekata +InActivity=Otvori +ActivityCeased=Zatvoreno +ActivityStateFilter=Status aktivnosti +ProductsIntoElements=Lista informacija o proizvodu +CurrentOutstandingBill=Trenutni neplaćeni račun +OutstandingBill=Max. za neplaćeni račun +OutstandingBillReached=Dostugnut je max. za neplaćeni račun # Monkey -# MonkeyNumRefModelDesc=Return numero with format %syymm-nnnn for customer code and %syymm-nnnn for supplier code where yy is year, mm is month and nnnn is a sequence with no break and no return to 0. +MonkeyNumRefModelDesc=Vratiti broj sa formatom %syymm-nnnn za šifru kupca i $syymm-nnnn za šifru dobavljača gdje je yy godina, mm mjesec i nnnn niz bez prekida i bez vraćanja za 0. # Leopard -# LeopardNumRefModelDesc=The code is free. This code can be modified at any time. +LeopardNumRefModelDesc=Ova šifra je slobodna. Ova šifra se može mijenjati bilo kad. diff --git a/htdocs/langs/bs_BA/compta.lang b/htdocs/langs/bs_BA/compta.lang index 6f458805058..359e333d510 100644 --- a/htdocs/langs/bs_BA/compta.lang +++ b/htdocs/langs/bs_BA/compta.lang @@ -1,22 +1,22 @@ # Dolibarr language file - Source file is en_US - compta -# Accountancy=Accountancy -# AccountancyCard=Accountancy card -# Treasury=Treasury -# MenuFinancial=Financial +Accountancy=Računovodstvo +AccountancyCard=Kartica računovodstva +Treasury=Blagajna +MenuFinancial=Finansijski # TaxModuleSetupToModifyRules=Go to Taxes module setup to modify rules for calculation -# OptionMode=Option for accountancy -# OptionModeTrue=Option Incomes-Expenses -# OptionModeVirtual=Option Claims-Debts +OptionMode=Opcija za računovodstvo +OptionModeTrue=Opcija Prihodi-Rashodi +OptionModeVirtual=Opcija Potraživanja-Zaduženost # OptionModeTrueDesc=In this context, the turnover is calculated over payments (date of payments). The validity of the figures is assured only if the book-keeping is scrutinized through the input/output on the accounts via invoices. # OptionModeVirtualDesc=In this context, the turnover is calculated over invoices (date of validation). When these invoices are due, whether they have been paid or not, they are listed in the turnover output. # FeatureIsSupportedInInOutModeOnly=Feature only available in CREDITS-DEBTS accountancy mode (See Accountancy module configuration) # VATReportBuildWithOptionDefinedInModule=Amounts shown here are calculated using rules defined by Tax module setup. -# Param=Setup -# RemainingAmountPayment=Amount payment remaining : -# AmountToBeCharged=Total amount to pay : -# AccountsGeneral=Accounts -# Account=Account -# Accounts=Accounts +Param=Postavke +RemainingAmountPayment=Iznos preostale uplate : +AmountToBeCharged=Ukupan iznos za plaćanje: +AccountsGeneral=Računi +Account=Račun +Accounts=Računi # Accountparent=Account parent # Accountsparent=Accounts parent # BillsForSuppliers=Bills for suppliers diff --git a/htdocs/langs/bs_BA/cron.lang b/htdocs/langs/bs_BA/cron.lang index 1be23d72ca3..1dfc1847e9f 100644 --- a/htdocs/langs/bs_BA/cron.lang +++ b/htdocs/langs/bs_BA/cron.lang @@ -2,17 +2,17 @@ # # About page # -# About = About -# CronAbout = About Cron -# CronAboutPage = Cron about page +About = O programu +CronAbout = O Cron-u +CronAboutPage = Stranica o Cron-u # # Right # -# Permission23101 = Read Scheduled task -# Permission23102 = Create/update Scheduled task -# Permission23103 = Delete Scheduled task -# Permission23104 = Execute Scheduled task +Permission23101 = Pročitaj redovne zadatke +Permission23102 = Kreiraj/Ažuriraj redovni zadatak +Permission23103 = Obriši redovan zadatak +Permission23104 = Izvrši redovan zadatak # # Admin @@ -20,7 +20,7 @@ # CronSetup= Scheduled job management setup # URLToLaunchCronJobs=URL to check and launch cron jobs if required # OrToLaunchASpecificJob=Or to check and launch a specific job -# KeyForCronAccess=Security key for URL to launch cron jobs +KeyForCronAccess=Sigurnosni ključ za URL za pokretanje cron poslova # FileToLaunchCronJobs=Command line to launch cron jobs # CronExplainHowToRunUnix=On Unix environment you should use crontab to run Command line each minutes # CronExplainHowToRunWin=On Microsoft(tm) Windows environement you can use Scheduled task tools to run Command line each minutes @@ -30,85 +30,85 @@ # Menu # # CronJobs=Scheduled jobs -# CronListActive= List of active jobs -# CronListInactive= List of disabled jobs -# CronListActive= List of active jobs +CronListActive= Lista aktivnih poslova +CronListInactive= Lista onemogućenih poslova +CronListActive= Lista aktivnih poslova # # Page list # -# CronDateLastRun=Last run -# CronLastOutput=Last run output -# CronLastResult=Last result code -# CronListOfCronJobs=List of scheduled jobs -# CronCommand=Command +CronDateLastRun=Zadnje pokretanje +CronLastOutput=Izvještaj o zadnjem pokretanju +CronLastResult=Šifra rezultat zadnjeg pokretanja +CronListOfCronJobs=Lista redovnih poslova +CronCommand=Komanda # CronList=Jobs list -# CronDelete= Delete cron jobs +CronDelete= Obriši kron posao # CronConfirmDelete= Are you sure you want to delete this cron job ? # CronExecute=Launch job -# CronConfirmExecute= Are you sure to execute this job now -# CronInfo= Jobs allow to execute task that have been planned +CronConfirmExecute= Jeste li sigurni sada da izvrši ovaj posao sada +CronInfo= Poslovi omogućavaju da se izvrše zadatci koji su planirani # CronWaitingJobs=Wainting jobs # CronTask=Job -# CronNone= None -# CronDtStart=Start date +CronNone= Ništa +CronDtStart=Datum početka # CronDtEnd=End date -# CronDtNextLaunch=Next execution -# CronDtLastLaunch=Last execution -# CronFrequency=Frequancy +CronDtNextLaunch=Sljedeće izvršenje +CronDtLastLaunch=Zadnje izvršenje +CronFrequency=Frekvencija # CronClass=Classe -# CronMethod=Method -# CronModule=Module -# CronAction=Action -# CronStatus=Status +CronMethod=Metoda +CronModule=Modul +CronAction=Akcija +CronStatus=Status # CronStatusActive=Enabled # CronStatusInactive=Disabled -# CronNoJobs=No jobs registered -# CronPriority=Priority -# CronLabel=Description -# CronNbRun=Nb. launch +CronNoJobs=Nema registrovanih poslova +CronPriority=Prioritet +CronLabel=Opis +CronNbRun=Broj pokretanja # CronEach=Every # JobFinished=Job launched and finished # #Page card # -# CronAdd= Add jobs -# CronHourStart= Start Hour and date of task -# CronEvery= And execute task each -# CronObject= Instance/Object to create -# CronArgs=Parameters +CronAdd= Dodaj posao +CronHourStart= Vrijeme početka i datum zadatka +CronEvery= I izvrši zadatak vaki +CronObject= Instanca/Objekat za kreirati +CronArgs=PArametri # CronSaveSucess=Save succesfully -# CronNote=Comment -# CronFieldMandatory=Fields %s is mandatory -# CronErrEndDateStartDt=End date cannot be before start date +CronNote=Komentar +CronFieldMandatory=Polja %s su obavezna +CronErrEndDateStartDt=Datum završetka ne može biti prije datuma početka # CronStatusActiveBtn=Enable # CronStatusInactiveBtn=Disable # CronTaskInactive=This job is disabled -# CronDtLastResult=Last result date -# CronId=Id +CronDtLastResult=Datum zadnjeg rezultata +CronId=ID # CronClassFile=Classes (filename.class.php) # CronModuleHelp=Name of Dolibarr module directory (also work with external Dolibarr module).
For exemple to fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value of module is product # CronClassFileHelp=The file name to load.
For exemple to fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value of class file name is product.class.php # CronObjectHelp=The object name to load.
For exemple to fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value of class file name is Product # CronMethodHelp=The object method to launch.
For exemple to fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value of method is is fecth # CronArgsHelp=The method arguments.
For exemple to fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value of paramters can be 0, ProductRef -# CronCommandHelp=The system command line to execute. +CronCommandHelp=Sistemska komanda za izvršenje # # Info # -# CronInfoPage=Information +CronInfoPage=Inromacije # # Common # -# CronType=Task type +CronType=Tip zadatka # CronType_method=Call method of a Dolibarr Class -# CronType_command=Shell command -# CronMenu=Cron -# CronCannotLoadClass=Cannot load class %s or object %s +CronType_command=Shell komanda +CronMenu=Cron +CronCannotLoadClass=Ne može se otvoriti klada %s ili objekat %s # UseMenuModuleToolsToAddCronJobs=Go into menu "Home - Modules tools - Job list" to see and edit scheduled jobs. diff --git a/htdocs/langs/bs_BA/deliveries.lang b/htdocs/langs/bs_BA/deliveries.lang index 87b76940c13..077619fe964 100644 --- a/htdocs/langs/bs_BA/deliveries.lang +++ b/htdocs/langs/bs_BA/deliveries.lang @@ -1,25 +1,25 @@ # Dolibarr language file - Source file is en_US - deliveries -# Delivery=Delivery -# Deliveries=Deliveries -# DeliveryCard=Delivery card -# DeliveryOrder=Delivery order -# DeliveryOrders=Delivery orders -# DeliveryDate=Delivery date -# DeliveryDateShort=Deliv. date -# CreateDeliveryOrder=Generate delivery order -# QtyDelivered=Qty delivered -# SetDeliveryDate=Set shipping date -# ValidateDeliveryReceipt=Validate delivery receipt -# ValidateDeliveryReceiptConfirm=Are you sure you want to validate this delivery receipt ? -# DeleteDeliveryReceipt=Delete delivery receipt -# DeleteDeliveryReceiptConfirm=Are you sure you want to delete delivery receipt %s ? -# DeliveryMethod=Delivery method -# TrackingNumber=Tracking number -# DeliveryNotValidated=Delivery not validated +Delivery=Dostava +Deliveries=Dostave +DeliveryCard=Kartica dostave +DeliveryOrder=Narudžba dostave +DeliveryOrders=Narudžbe dostave +DeliveryDate=Datum dostave +DeliveryDateShort=Datum dostave +CreateDeliveryOrder=Generiši narudžbu dostave +QtyDelivered=Kol. dostavljena +SetDeliveryDate=Postavi datum otpremanja +ValidateDeliveryReceipt=Potvrdi dostavnicu +ValidateDeliveryReceiptConfirm=Jeste li sigurni da želite potvrditi ovu dostavnicu? +DeleteDeliveryReceipt=Obriši dostavnicu +DeleteDeliveryReceiptConfirm=Jeste li sigurni da želite obrisati dostavnicu %s ? +DeliveryMethod=Način dostave +TrackingNumber=Broj za praćenje +DeliveryNotValidated=Dostava nije potvrđena # merou PDF model -# NameAndSignature=Name and Signature : -# ToAndDate=To___________________________________ on ____/_____/__________ -# GoodStatusDeclaration=Have received the goods above in good condition, -# Deliverer=Deliverer : -# Sender=Sender -# Recipient=Recipient +NameAndSignature=Ime i potpis: +ToAndDate=Za ___________________________________ na ____/____/__________ +GoodStatusDeclaration=Primio sam robu navedenu gore u dobrom stanju. +Deliverer=Dostavljač: +Sender=Pošiljalac +Recipient=Primalac diff --git a/htdocs/langs/bs_BA/dict.lang b/htdocs/langs/bs_BA/dict.lang index a662b0f7573..5b710b3a768 100644 --- a/htdocs/langs/bs_BA/dict.lang +++ b/htdocs/langs/bs_BA/dict.lang @@ -1,329 +1,329 @@ # Dolibarr language file - Source file is en_US - dict -# CountryFR=France -# CountryBE=Belgium -# CountryIT=Italy -# CountryES=Spain -# CountryDE=Germany -# CountryCH=Switzerland -# CountryGB=Great Britain -# CountryUK=United Kingdom -# CountryIE=Ireland -# CountryCN=China -# CountryTN=Tunisia -# CountryUS=United States -# CountryMA=Morocco -# CountryDZ=Algeria -# CountryCA=Canada -# CountryTG=Togo -# CountryGA=Gabon -# CountryNL=Netherlands -# CountryHU=Hungary -# CountryRU=Russia -# CountrySE=Sweden -# CountryCI=Ivoiry Coast -# CountrySN=Senegal -# CountryAR=Argentina -# CountryCM=Cameroon -# CountryPT=Portugal -# CountrySA=Saudi Arabia -# CountryMC=Monaco -# CountryAU=Australia -# CountrySG=Singapore -# CountryAF=Afghanistan -# CountryAX=Åland Islands -# CountryAL=Albania -# CountryAS=American Samoa -# CountryAD=Andorra -# CountryAO=Angola -# CountryAI=Anguilla -# CountryAQ=Antarctica -# CountryAG=Antigua and Barbuda -# CountryAM=Armenia -# CountryAW=Aruba -# CountryAT=Austria -# CountryAZ=Azerbaijan -# CountryBS=Bahamas -# CountryBH=Bahrain -# CountryBD=Bangladesh -# CountryBB=Barbados -# CountryBY=Belarus -# CountryBZ=Belize -# CountryBJ=Benin -# CountryBM=Bermuda -# CountryBT=Bhutan -# CountryBO=Bolivia -# CountryBA=Bosnia and Herzegovina -# CountryBW=Botswana -# CountryBV=Bouvet Island -# CountryBR=Brazil -# CountryIO=British Indian Ocean Territory -# CountryBN=Brunei Darussalam -# CountryBG=Bulgaria -# CountryBF=Burkina Faso -# CountryBI=Burundi -# CountryKH=Cambodia -# CountryCV=Cape Verde -# CountryKY=Cayman Islands -# CountryCF=Central African Republic -# CountryTD=Chad -# CountryCL=Chile -# CountryCX=Christmas Island -# CountryCC=Cocos (Keeling) Islands -# CountryCO=Colombia -# CountryKM=Comoros -# CountryCG=Congo -# CountryCD=Congo, The Democratic Republic of the -# CountryCK=Cook Islands -# CountryCR=Costa Rica -# CountryHR=Croatia -# CountryCU=Cuba -# CountryCY=Cyprus -# CountryCZ=Czech Republic -# CountryDK=Denmark -# CountryDJ=Djibouti -# CountryDM=Dominica -# CountryDO=Dominican Republic -# CountryEC=Ecuador -# CountryEG=Egypt -# CountrySV=El Salvador -# CountryGQ=Equatorial Guinea -# CountryER=Eritrea -# CountryEE=Estonia -# CountryET=Ethiopia -# CountryFK=Falkland Islands -# CountryFO=Faroe Islands -# CountryFJ=Fiji Islands -# CountryFI=Finland -# CountryGF=French Guiana -# CountryPF=French Polynesia -# CountryTF=French Southern Territories -# CountryGM=Gambia -# CountryGE=Georgia -# CountryGH=Ghana -# CountryGI=Gibraltar -# CountryGR=Greece -# CountryGL=Greenland -# CountryGD=Grenada -# CountryGP=Guadeloupe -# CountryGU=Guam -# CountryGT=Guatemala -# CountryGN=Guinea -# CountryGW=Guinea-Bissau -# CountryGY=Guyana -# CountryHT=Haïti -# CountryHM=Heard Island and McDonald -# CountryVA=Holy See (Vatican City State) -# CountryHN=Honduras -# CountryHK=Hong Kong -# CountryIS=Icelande -# CountryIN=India -# CountryID=Indonesia -# CountryIR=Iran -# CountryIQ=Iraq -# CountryIL=Israel -# CountryJM=Jamaica -# CountryJP=Japan -# CountryJO=Jordan -# CountryKZ=Kazakhstan -# CountryKE=Kenya -# CountryKI=Kiribati -# CountryKP=North Korea -# CountryKR=South Korea -# CountryKW=Kuwait -# CountryKG=Kyrghyztan -# CountryLA=Lao -# CountryLV=Latvia -# CountryLB=Lebanon -# CountryLS=Lesotho -# CountryLR=Liberia -# CountryLY=Libyan -# CountryLI=Liechtenstein -# CountryLT=Lituania -# CountryLU=Luxembourg -# CountryMO=Macao -# CountryMK=Macedonia, the former Yugoslav of -# CountryMG=Madagascar -# CountryMW=Malawi -# CountryMY=Malaysia -# CountryMV=Maldives -# CountryML=Mali -# CountryMT=Malta -# CountryMH=Marshall Islands -# CountryMQ=Martinique -# CountryMR=Mauritania -# CountryMU=Mauritius -# CountryYT=Mayotte -# CountryMX=Mexico -# CountryFM=Micronesia -# CountryMD=Moldova -# CountryMN=Mongolia -# CountryMS=Monserrat -# CountryMZ=Mozambique -# CountryMM=Birmania (Myanmar) -# CountryNA=Namibia -# CountryNR=Nauru -# CountryNP=Nepal -# CountryAN=Netherlands Antilles -# CountryNC=New Caledonia -# CountryNZ=New Zealand -# CountryNI=Nicaragua -# CountryNE=Niger -# CountryNG=Nigeria -# CountryNU=Niue -# CountryNF=Norfolk Island -# CountryMP=Northern Mariana Islands -# CountryNO=Norway -# CountryOM=Oman -# CountryPK=Pakistan -# CountryPW=Palau -# CountryPS=Palestinian Territory, Occupied -# CountryPA=Panama -# CountryPG=Papua New Guinea -# CountryPY=Paraguay -# CountryPE=Peru -# CountryPH=Philippines -# CountryPN=Pitcairn Islands -# CountryPL=Poland -# CountryPR=Puerto Rico -# CountryQA=Qatar -# CountryRE=Reunion -# CountryRO=Romania -# CountryRW=Rwanda -# CountrySH=Saint Helena -# CountryKN=Saint Kitts and Nevis -# CountryLC=Saint Lucia -# CountryPM=Saint Pierre and Miquelon -# CountryVC=Saint Vincent and Grenadines -# CountryWS=Samoa -# CountrySM=San Marino -# CountryST=Sao Tome and Principe -# CountryRS=Serbia -# CountrySC=Seychelles -# CountrySL=Sierra Leone -# CountrySK=Slovakia -# CountrySI=Slovenia -# CountrySB=Solomon Islands -# CountrySO=Somalia -# CountryZA=South Africa -# CountryGS=South Georgia and the South Sandwich Islands -# CountryLK=Sri Lanka -# CountrySD=Sudan -# CountrySR=Suriname -# CountrySJ=Svalbard and Jan Mayen -# CountrySZ=Swaziland -# CountrySY=Syrian -# CountryTW=Taiwan -# CountryTJ=Tajikistan -# CountryTZ=Tanzania -# CountryTH=Thailand -# CountryTL=Timor-Leste -# CountryTK=Tokelau -# CountryTO=Tonga -# CountryTT=Trinidad and Tobago -# CountryTR=Turkey -# CountryTM=Turkmenistan -# CountryTC=Turks and Cailos Islands -# CountryTV=Tuvalu -# CountryUG=Uganda -# CountryUA=Ukraine -# CountryAE=United Arab Emirates -# CountryUM=United States Minor Outlying Islands -# CountryUY=Uruguay -# CountryUZ=Uzbekistan -# CountryVU=Vanuatu -# CountryVE=Venezuela -# CountryVN=Viet Nam -# CountryVG=Virgin Islands, British -# CountryVI=Virgin Islands, U.S. -# CountryWF=Wallis and Futuna -# CountryEH=Western Sahara -# CountryYE=Yemen -# CountryZM=Zambia -# CountryZW=Zimbabwe -# CountryGG=Guernsey -# CountryIM=Isle of Man -# CountryJE=Jersey -# CountryME=Montenegro -# CountryBL=Saint Barthelemy -# CountryMF=Saint Martin +CountryFR=Francuska +CountryBE=Belgija +CountryIT=Italija +CountryES=Španija +CountryDE=Njemačka +CountryCH=Švicarska +CountryGB=Velika Britanija +CountryUK=Ujedinjeno Kraljevstvo +CountryIE=Irska +CountryCN=Kina +CountryTN=Tunis +CountryUS=Sjedinjene Države +CountryMA=Maroko +CountryDZ=Alžir +CountryCA=Kanada +CountryTG=Togo +CountryGA=Gabon +CountryNL=Holandija +CountryHU=Mađarska +CountryRU=Rusija +CountrySE=Švedska +CountryCI=Obala Slonovače +CountrySN=Senegal +CountryAR=Argentina +CountryCM=Kamerun +CountryPT=Portugal +CountrySA=Saudijska Arabija +CountryMC=Monako +CountryAU=Australija +CountrySG=Singapur +CountryAF=Avganistan +CountryAX=Alandi +CountryAL=Albanija +CountryAS=Američka Samoa +CountryAD=Andora +CountryAO=Angola +CountryAI=Anguilla +CountryAQ=Antarktika +CountryAG=Antigva i Barbuda +CountryAM=Armenija +CountryAW=Aruba +CountryAT=Austrija +CountryAZ=Azerbejdžan +CountryBS=Bahami +CountryBH=Bahrein +CountryBD=Bangladeš +CountryBB=Barbados +CountryBY=Bjelorusija +CountryBZ=Belize +CountryBJ=Benin +CountryBM=Bermuda +CountryBT=Butan +CountryBO=Bolivija +CountryBA=Bosna i Hercegovina +CountryBW=Bocvana +CountryBV=Bouvet Otok +CountryBR=Brazil +CountryIO=Britanska Indijsko Okeanska Teritorija +CountryBN=Brunei +CountryBG=Bugarska +CountryBF=Burkina Faso +CountryBI=Burundi +CountryKH=Kambodža +CountryCV=Cape Verde +CountryKY=Kajmanski otoci +CountryCF=Srednjoafrička Republika +CountryTD=Čad +CountryCL=Čile +CountryCX=Božićni otok +CountryCC=Cocos (Keeling) +CountryCO=Kolumbija +CountryKM=Komori +CountryCG=Kongo +CountryCD=Kongo, Demokratska Republika +CountryCK=Cook Islands +CountryCR=Kostarika +CountryHR=Hrvatska +CountryCU=Kuba +CountryCY=Kipar +CountryCZ=Češka +CountryDK=Danska +CountryDJ=Džibuti +CountryDM=Dominika +CountryDO=Dominikanska Republika +CountryEC=Ekvador +CountryEG=Egipat +CountrySV=El Salvador +CountryGQ=Ekvatorska Gvineja +CountryER=Eritreja +CountryEE=Estonija +CountryET=Etiopija +CountryFK=Falklandski Otoci +CountryFO=Farski Otoci +CountryFJ=Fiji Islands +CountryFI=Finska +CountryGF=Francuska Gvajana +CountryPF=Francuska Polinezija +CountryTF=Francuski južni teritoriji +CountryGM=Gambija +CountryGE=Gruzija +CountryGH=Gana +CountryGI=Gibraltar +CountryGR=Grčka +CountryGL=Grenland +CountryGD=Grenada +CountryGP=Guadeloupe +CountryGU=Guam +CountryGT=Gvatemala +CountryGN=Gvineja +CountryGW=Gvineja Bisau +CountryGY=Gvajana +CountryHT=Haiti +CountryHM=Čuo Island i McDonald +CountryVA=Sveta Stolica (Vatikan State) +CountryHN=Honduras +CountryHK=Hongkong +CountryIS=Island +CountryIN=Indija +CountryID=Indonezija +CountryIR=Iran +CountryIQ=Irak +CountryIL=Izrael +CountryJM=Jamajka +CountryJP=Japan +CountryJO=Jordan +CountryKZ=Kazahstan +CountryKE=Kenija +CountryKI=Kiribati +CountryKP=Severna Koreja +CountryKR=Južna Koreja +CountryKW=Kuvajt +CountryKG=Kyrghyztan +CountryLA=Lao +CountryLV=Letonija +CountryLB=Liban +CountryLS=Lesoto +CountryLR=Liberija +CountryLY=Libijski +CountryLI=Lihtenštajn +CountryLT=Litva +CountryLU=Luksemburg +CountryMO=Makao +CountryMK=Makedonije, bivše Jugoslavija od +CountryMG=Madagaskar +CountryMW=Malavi +CountryMY=Malezija +CountryMV=Maldivi +CountryML=Mali +CountryMT=Malta +CountryMH=Maršalovi otoci +CountryMQ=Martinique +CountryMR=Mauritanija +CountryMU=Mauricijus +CountryYT=Mayotte +CountryMX=Meksiko +CountryFM=Mikronezija +CountryMD=Moldavija +CountryMN=Mongolija +CountryMS=Monserrat +CountryMZ=Mozambik +CountryMM=Birma (Myanmar) +CountryNA=Namibija +CountryNR=Nauru +CountryNP=Nepal +CountryAN=Holandski Antili +CountryNC=Nova Kaledonija +CountryNZ=Novi Zeland +CountryNI=Nikaragva +CountryNE=Niger +CountryNG=Nigerija +CountryNU=Niue +CountryNF=Norfolk otok +CountryMP=Sjeverni Marijanski otoci +CountryNO=Norveška +CountryOM=Oman +CountryPK=Pakistan +CountryPW=Palau +CountryPS=Palestinska teritorija, Zauzeto +CountryPA=Panama +CountryPG=Papua Nova Gvineja +CountryPY=Paragvaj +CountryPE=Peru +CountryPH=Filipini +CountryPN=Pitcairn Islands +CountryPL=Poljska +CountryPR=Portoriko +CountryQA=Katar +CountryRE=Ponovno sjedinjenje +CountryRO=Rumunija +CountryRW=Ruanda +CountrySH=Sveta Helena +CountryKN=Sveti Kristofor i Nevis +CountryLC=Saint Lucia +CountryPM=Saint Pierre i Miquelon +CountryVC=Sveti Vincent i Grenadini +CountryWS=Samoa +CountrySM=San Marino +CountryST=Sao Tome i Principe +CountryRS=Srbija +CountrySC=Sejšeli +CountrySL=Sierra Leone +CountrySK=Slovačka +CountrySI=Slovenija +CountrySB=Solomonski otoci +CountrySO=Somalija +CountryZA=Južna Afrika +CountryGS=Južna Džordžija i Otoci Južni Sendvič +CountryLK=Šri Lanka +CountrySD=Sudan +CountrySR=Surinam +CountrySJ=Svalbard i Jan Mayen +CountrySZ=Svazi +CountrySY=Sirijski +CountryTW=Tajvan +CountryTJ=Tadžikistan +CountryTZ=Tanzanija +CountryTH=Tajland +CountryTL=Istočni Timor +CountryTK=Tokelau +CountryTO=Tonga +CountryTT=Trinidad i Tobago +CountryTR=Turska +CountryTM=Turkmenistan +CountryTC=Turci i Cailos Islands +CountryTV=Tuvalu +CountryUG=Uganda +CountryUA=Ukrajina +CountryAE=Ujedinjeni Arapski Emirati +CountryUM=Sjedinjene Države manji zabačeni otoci +CountryUY=Urugvaj +CountryUZ=Uzbekistan +CountryVU=Vanuatu +CountryVE=Venezuela +CountryVN=Vijetnam +CountryVG=Britanski Djevičanski otoci +CountryVI=Djevičanski otoci, US +CountryWF=Wallis i Futuna +CountryEH=Zapadna Sahara +CountryYE=Jemen +CountryZM=Zambija +CountryZW=Zimbabve +CountryGG=Guernsey +CountryIM=Mana ostrvo +CountryJE=Jersey +CountryME=Crna Gora +CountryBL=Saint Barthelemy +CountryMF=Saint Martin ##### Civilities ##### -# CivilityMME=Mrs. -# CivilityMR=Mr. -# CivilityMLE=Ms. -# CivilityMTRE=Master -# CivilityDR=Doctor +CivilityMME=Gospođa +CivilityMR=Gospodin +CivilityMLE=Gospođica +CivilityMTRE=Master +CivilityDR=Doktor ##### Currencies ##### -# Currencyeuros=Euros -# CurrencyAUD=AU Dollars -# CurrencySingAUD=AU Dollar -# CurrencyCAD=CAN Dollars -# CurrencySingCAD=CAN Dollar -# CurrencyCHF=Swiss Francs -# CurrencySingCHF=Swiss Franc -# CurrencyEUR=Euros -# CurrencySingEUR=Euro -# CurrencyFRF=French Francs -# CurrencySingFRF=French Franc -# CurrencyGBP=GB Pounds -# CurrencySingGBP=GB Pound -# CurrencyINR=Indian rupees -# CurrencySingINR=Indian rupee -# CurrencyMAD=Dirham -# CurrencySingMAD=Dirham -# CurrencyMGA=Ariary -# CurrencySingMGA=Ariary -# CurrencyMUR=Mauritius rupees -# CurrencySingMUR=Mauritius rupee -# CurrencyNOK=Norwegian krones -# CurrencySingNOK=Norwegian krone -# CurrencyTND=Tunisian dinars -# CurrencySingTND=Tunisian dinar -# CurrencyUSD=US Dollars -# CurrencySingUSD=US Dollar -# CurrencyUAH=Hryvnia -# CurrencySingUAH=Hryvnia -# CurrencyXAF=CFA Francs BEAC -# CurrencySingXAF=CFA Franc BEAC -# CurrencyXOF=CFA Francs BCEAO -# CurrencySingXOF=CFA Franc BCEAO -# CurrencyXPF=CFP Francs -# CurrencySingXPF=CFP Franc +Currencyeuros=EUR +CurrencyAUD=Australski dolari +CurrencySingAUD=Australaski dolar +CurrencyCAD=Kanadski dolari +CurrencySingCAD=Kanadski dolar +CurrencyCHF=Švicarski franci +CurrencySingCHF=Švicarski franak +CurrencyEUR=EUR +CurrencySingEUR=EUR +CurrencyFRF=Francuski franci +CurrencySingFRF=Francuski franak +CurrencyGBP=Engleske funte +CurrencySingGBP=Engleska funta +CurrencyINR=Indijske rupije +CurrencySingINR=Indijska rupija +CurrencyMAD=Dirham +CurrencySingMAD=Dirham +CurrencyMGA=Ariary +CurrencySingMGA=Ariary +CurrencyMUR=Mauricijke rupije +CurrencySingMUR=Mauricijska rupija +CurrencyNOK=Norveške krune +CurrencySingNOK=Norveška kruna +CurrencyTND=Tuniski dinari +CurrencySingTND=Tuniski dinar +CurrencyUSD=Američki dolari +CurrencySingUSD=Američki dolar +CurrencyUAH=Grivna +CurrencySingUAH=Grivna +CurrencyXAF=CFA franci BEAC +CurrencySingXAF=CFA franak BEAC +CurrencyXOF=CFA franci BCEAO +CurrencySingXOF=CFA Franak BCEAO +CurrencyXPF=CFP franci +CurrencySingXPF=CFP franak -# CurrencyCentSingEUR=cent -# CurrencyThousandthSingTND=thousandth +CurrencyCentSingEUR=cent +CurrencyThousandthSingTND=hiljaditi #### Input reasons ##### -# DemandReasonTypeSRC_INTE=Internet -# DemandReasonTypeSRC_CAMP_MAIL=Mailing campaign -# DemandReasonTypeSRC_CAMP_EMAIL=EMailing campaign -# DemandReasonTypeSRC_CAMP_PHO=Phone campaign -# DemandReasonTypeSRC_CAMP_FAX=Fax campaign -# DemandReasonTypeSRC_COMM=Commercial contact -# DemandReasonTypeSRC_SHOP=Shop contact -# DemandReasonTypeSRC_WOM=Word of mouth -# DemandReasonTypeSRC_PARTNER=Partner -# DemandReasonTypeSRC_EMPLOYEE=Employee -# DemandReasonTypeSRC_SPONSORING=Sponsorship +DemandReasonTypeSRC_INTE=Internet +DemandReasonTypeSRC_CAMP_MAIL=Mailing kampanje +DemandReasonTypeSRC_CAMP_EMAIL=Emailing kampanja +DemandReasonTypeSRC_CAMP_PHO=Telefonska kampanja +DemandReasonTypeSRC_CAMP_FAX=Fax kampanja +DemandReasonTypeSRC_COMM=Poslovni kontakti +DemandReasonTypeSRC_SHOP=Kontakt u prodavnici +DemandReasonTypeSRC_WOM=Riječ usta +DemandReasonTypeSRC_PARTNER=Partner +DemandReasonTypeSRC_EMPLOYEE=Zaposlenik +DemandReasonTypeSRC_SPONSORING=Pokroviteljstvo #### Paper formats #### -# PaperFormatEU4A0=Format 4A0 -# PaperFormatEU2A0=Format 2A0 -# PaperFormatEUA0=Format A0 -# PaperFormatEUA1=Format A1 -# PaperFormatEUA2=Format A2 -# PaperFormatEUA3=Format A3 -# PaperFormatEUA4=Format A4 -# PaperFormatEUA5=Format A5 -# PaperFormatEUA6=Format A6 -# PaperFormatUSLETTER=Format Letter US -# PaperFormatUSLEGAL=Format Legal US -# PaperFormatUSEXECUTIVE=Format Executive US -# PaperFormatUSLEDGER=Format Ledger/Tabloid -# PaperFormatCAP1=Format P1 Canada -# PaperFormatCAP2=Format P2 Canada -# PaperFormatCAP3=Format P3 Canada -# PaperFormatCAP4=Format P4 Canada -# PaperFormatCAP5=Format P5 Canada -# PaperFormatCAP6=Format P6 Canada +PaperFormatEU4A0=Format 4A0 +PaperFormatEU2A0=Format 2A0 +PaperFormatEUA0=Format A0 +PaperFormatEUA1=Format A1 +PaperFormatEUA2=Format A2 +PaperFormatEUA3=Format A3 +PaperFormatEUA4=Format A4 +PaperFormatEUA5=Format A5 +PaperFormatEUA6=Format A6 +PaperFormatUSLETTER=Format Letter US +PaperFormatUSLEGAL=Format Legal US +PaperFormatUSEXECUTIVE=Format Executive US +PaperFormatUSLEDGER=Format Ledger / Tabloid +PaperFormatCAP1=Format P1 Canada +PaperFormatCAP2=Format P2 Canada +PaperFormatCAP3=Format P3 Canada +PaperFormatCAP4=Format P4 Canada +PaperFormatCAP5=Format P5 Canada +PaperFormatCAP6=Format P6 Canada diff --git a/htdocs/langs/bs_BA/donations.lang b/htdocs/langs/bs_BA/donations.lang index 12a72464cae..612bf1d5850 100644 --- a/htdocs/langs/bs_BA/donations.lang +++ b/htdocs/langs/bs_BA/donations.lang @@ -1,32 +1,32 @@ # Dolibarr language file - Source file is en_US - donations -# Donation=Donation -# Donations=Donations -# DonationRef=Donation ref. -# Donor=Donor -# Donors=Donors -# AddDonation=Add a donation -# NewDonation=New donation -# ShowDonation=Show donation -# DonationPromise=Gift promise -# PromisesNotValid=Not validated promises -# PromisesValid=Validated promises -# DonationsPaid=Donations paid -# DonationsReceived=Donations received -# PublicDonation=Public donation -# DonationsNumber=Donation number -# DonationsArea=Donations area -# DonationStatusPromiseNotValidated=Draft promise -# DonationStatusPromiseValidated=Validated promise -# DonationStatusPaid=Donation received -# DonationStatusPromiseNotValidatedShort=Draft -# DonationStatusPromiseValidatedShort=Validated -# DonationStatusPaidShort=Received -# ValidPromess=Validate promise -# DonationReceipt=Donation receipt -# BuildDonationReceipt=Build receipt -# DonationsModels=Documents models for donation receipts -# LastModifiedDonations=Last %s modified donations -# SearchADonation=Search a donation -# DonationRecipient=Donation recipient -# ThankYou=Thank You -# IConfirmDonationReception=The recipient declare reception, as a donation, of the following amount +Donation=Donacija +Donations=Donacije +DonationRef=Donacija ref. +Donor=Donator +Donors=Donatori +AddDonation=Dodaj donaciju +NewDonation=Nova donacija +ShowDonation=Prikaži donaciju +DonationPromise=Obećanje za poklon +PromisesNotValid=Nepotvrđena obećanja +PromisesValid=Potvrđena obećanja +DonationsPaid=Uplaćene donacije +DonationsReceived=Primljene donacije +PublicDonation=Javne donacije +DonationsNumber=Broj donacije +DonationsArea=Područje za donacije +DonationStatusPromiseNotValidated=Nacrt obećanja +DonationStatusPromiseValidated=Potvrđena obećanja +DonationStatusPaid=Primljena donacija +DonationStatusPromiseNotValidatedShort=Nacrt +DonationStatusPromiseValidatedShort=Potvrđena donacija +DonationStatusPaidShort=Primljena donacija +ValidPromess=Potvrdi obećanje +DonationReceipt=Priznanica za donaciju +BuildDonationReceipt=Napravi priznanicu +DonationsModels=Modeli dokumenata za priznanicu donacije +LastModifiedDonations=Zadnje %s izmijenjene donacije +SearchADonation=Traži donaciju +DonationRecipient=Primalac donacije +ThankYou=Hvala Vam +IConfirmDonationReception=Primalac potvrđuje prijem, kao donacija, slijedeći iznos diff --git a/htdocs/langs/bs_BA/ecm.lang b/htdocs/langs/bs_BA/ecm.lang index 47c6a4ccd6e..f389a0e8f28 100644 --- a/htdocs/langs/bs_BA/ecm.lang +++ b/htdocs/langs/bs_BA/ecm.lang @@ -1,55 +1,55 @@ # Dolibarr language file - Source file is en_US - ecm -# MenuECM=Documents -# DocsMine=My documents -# DocsGenerated=Generated documents -# DocsElements=Elements documents -# DocsThirdParties=Documents third parties -# DocsContracts=Documents contracts -# DocsProposals=Documents proposals -# DocsOrders=Documents orders -# DocsInvoices=Documents invoices -# ECMNbOfDocs=Nb of documents in directory -# ECMNbOfDocsSmall=Nb of doc. -# ECMSection=Directory -# ECMSectionManual=Manual directory -# ECMSectionAuto=Automatic directory -# ECMSectionsManual=Manual tree -# ECMSectionsAuto=Automatic tree -# ECMSections=Directories -# ECMRoot=Root -# ECMNewSection=New directory -# ECMAddSection=Add directory -# ECMNewDocument=New document -# ECMCreationDate=Creation date -# ECMNbOfFilesInDir=Number of files in directory -# ECMNbOfSubDir=Number of sub-directories -# ECMNbOfFilesInSubDir=Number of files in sub-directories -# ECMCreationUser=Creator -# ECMArea=EDM area -# ECMAreaDesc=The EDM (Electronic Document Management) area allows you to save, share and search quickly all kind of documents in Dolibarr. -# ECMAreaDesc2=* Automatic directories are filled automatically when adding documents from card of an element.
* Manual directories can be used to save documents not linked to a particular element. -# ECMSectionWasRemoved=Directory %s has been deleted. -# ECMDocumentsSection=Document of directory -# ECMSearchByKeywords=Search by keywords -# ECMSearchByEntity=Search by object -# ECMSectionOfDocuments=Directories of documents -# ECMTypeManual=Manual -# ECMTypeAuto=Automatic -# ECMDocsBySocialContributions=Documents linked to social contributions -# ECMDocsByThirdParties=Documents linked to third parties -# ECMDocsByProposals=Documents linked to proposals -# ECMDocsByOrders=Documents linked to customers orders -# ECMDocsByContracts=Documents linked to contracts -# ECMDocsByInvoices=Documents linked to customers invoices -# ECMDocsByProducts=Documents linked to products -# ECMDocsByProjects=Documents linked to projects -# ECMNoDirectoryYet=No directory created -# ShowECMSection=Show directory -# DeleteSection=Remove directory -# ConfirmDeleteSection=Can you confirm you want to delete the directory %s ? -# ECMDirectoryForFiles=Relative directory for files -# CannotRemoveDirectoryContainsFiles=Removed not possible because it contains some files -# ECMFileManager=File manager -# ECMSelectASection=Select a directory on left tree... -# DirNotSynchronizedSyncFirst=This directory seems to be created or modified outside ECM module. You must click on "Refresh" button first to synchronize disk and database to get content of this directory. +MenuECM=Dokumenti +DocsMine=Moji dokumenti +DocsGenerated=Generisani doumenti +DocsElements=Elementi dokumenata +DocsThirdParties=Dokumenti subjekata +DocsContracts=Dokumenti ugovora +DocsProposals=Dokumenti prijedloga +DocsOrders=Dokumenti narudžbi +DocsInvoices=Dokumenti faktura +ECMNbOfDocs=Broj dokumenata u direktoriju +ECMNbOfDocsSmall=Br. dok. +ECMSection=Direktorij +ECMSectionManual=Ručni direktorij +ECMSectionAuto=Automatski direktorij +ECMSectionsManual=Ručna struktura +ECMSectionsAuto=Automatska struktura +ECMSections=Direktoriji +ECMRoot=Root +ECMNewSection=Novi direktorij +ECMAddSection=Dodaj direktorij +ECMNewDocument=Novi dokument +ECMCreationDate=Datum kreacije +ECMNbOfFilesInDir=Broj fajlova u direktoriju +ECMNbOfSubDir=Broj poddirektorija +ECMNbOfFilesInSubDir=Broj fajlova u poddirektoriju +ECMCreationUser=Kreator +ECMArea=Područje za EDM +ECMAreaDesc=Područje za EDM (Elektronsko upravljanje dokumentima) vam omogućava da snimite, podijelite ili brzo tražite sve tipove dokumenata u Dolibarr-u. +ECMAreaDesc2=* Automatski direktoriji se popunjavaju automatski nakon dodavanja dokumenata sa kartice elementa.
* Manuelni direktoriji se mogu koristit za snimanje dokumenata koji nisu povezani za određeni element. +ECMSectionWasRemoved=Direktorij %s je obrisan. +ECMDocumentsSection=Dokument u direktoriju +ECMSearchByKeywords=Traži po ključnim riječima +ECMSearchByEntity=Traži po objektu +ECMSectionOfDocuments=Direktoriji dokumenata +ECMTypeManual=Ručno +ECMTypeAuto=Automatski +ECMDocsBySocialContributions=Dokumenti vezani za socijalne doprinose +ECMDocsByThirdParties=Dokumenti vezani sza subjekte +ECMDocsByProposals=Dokumenti vezani za prijedloge +ECMDocsByOrders=Dokumenti vezani za narudžbe kupaca +ECMDocsByContracts=Dokumenti vezani za ugovore +ECMDocsByInvoices=Dokumenti vezani za fakture klijenata +ECMDocsByProducts=Dokumenti vezani za proizvode +ECMDocsByProjects=Dokumenti vezani za projekte +ECMNoDirectoryYet=Nema kreiranih direktorija +ShowECMSection=Prikaži direktorij +DeleteSection=Ukloni direktorij +ConfirmDeleteSection=Možete li potvrditi da želite obrisati direktorij %s ? +ECMDirectoryForFiles=Relativni direktorij za fajlove +CannotRemoveDirectoryContainsFiles=Nemoguće ukloniti jer sadrži fajlove +ECMFileManager=Updavljanje fajlovima +ECMSelectASection=Odaberi direktorij u lijevoj strukturi +DirNotSynchronizedSyncFirst=Ovaj direktorij je napravljen ili izmijenjen izvan ECM modula. Morate prvo kliknuti na dugme "Osvježi" da bi sinhronizovali disk i bazu podataka da bi dobili sadržaj ovog direktorija. diff --git a/htdocs/langs/bs_BA/errors.lang b/htdocs/langs/bs_BA/errors.lang index f5e6781eb4c..473ab485c97 100644 --- a/htdocs/langs/bs_BA/errors.lang +++ b/htdocs/langs/bs_BA/errors.lang @@ -26,8 +26,11 @@ # ErrorBadThirdPartyName=Bad value for third party name # ErrorProdIdIsMandatory=The %s is mandatory # ErrorBadCustomerCodeSyntax=Bad syntax for customer code +# ErrorBadBarCodeSyntax=Bad syntax for bar code # ErrorCustomerCodeRequired=Customer code required +# ErrorBarCodeRequired=Bar code required # ErrorCustomerCodeAlreadyUsed=Customer code already used +# ErrorBarCodeAlreadyUsed=Bar code already used # ErrorPrefixRequired=Prefix required # ErrorUrlNotValid=The website address is incorrect # ErrorBadSupplierCodeSyntax=Bad syntax for supplier code @@ -63,6 +66,7 @@ # ErrorNoValueForRadioType=Please fill value for radio list # ErrorBadFormatValueList=The list value cannot have more than one come : %s, but need at least one: llave,valores # ErrorFieldCanNotContainSpecialCharacters=Field %s must not contains special characters. +# ErrorFieldCanNotContainSpecialNorUpperCharacters=Field %s must not contains special characters, nor upper case characters. # ErrorNoAccountancyModuleLoaded=No accountancy module activated # ErrorExportDuplicateProfil=This profile name already exists for this export set. # ErrorLDAPSetupNotComplete=Dolibarr-LDAP matching is not complete. diff --git a/htdocs/langs/bs_BA/exports.lang b/htdocs/langs/bs_BA/exports.lang index ecb0d4a94ac..082be11736e 100644 --- a/htdocs/langs/bs_BA/exports.lang +++ b/htdocs/langs/bs_BA/exports.lang @@ -123,6 +123,10 @@ # DeskCode=Desk code # BankAccountNumber=Account number # BankAccountNumberKey=Key +# SpecialCode=Special code +# ExportStringFilter=%% allows replacing one or more characters in the text +# ExportDateFilter='AAAA' 'AAAAMM' 'AAAAMMJJ': filters by one year/month/day
'AAAA+AAAA' 'AAAAMM+AAAAMM' 'AAAAMMJJ+AAAAMMJJ': filters over a range of years/months/days
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filters on the following years/months/days
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filters on the previous years/months/days +# ExportNumericFilter='NNNNN' filters by one value
'NNNNN+NNNNN' filters over a range of values
'>NNNNN' filters by lower values
'>NNNNN' filters by higher values ## filters # SelectFilterFields=If you want to filter on some values, just input values here. # FilterableFields=Champs Filtrables diff --git a/htdocs/langs/bs_BA/externalsite.lang b/htdocs/langs/bs_BA/externalsite.lang index b915c37a5ab..82cc682a42d 100644 --- a/htdocs/langs/bs_BA/externalsite.lang +++ b/htdocs/langs/bs_BA/externalsite.lang @@ -1,4 +1,4 @@ # Dolibarr language file - Source file is en_US - externalsite -# ExternalSiteSetup=Setup link to external website -# ExternalSiteURL=External Site URL -# ExternalSiteModuleNotComplete=Module ExternalSite was not configured properly. +ExternalSiteSetup=Podesi link za eksterni web sajt +ExternalSiteURL=Link do eksternog web sajta +ExternalSiteModuleNotComplete=Modul ExternalSite nije konfigurisan kako treba. diff --git a/htdocs/langs/bs_BA/ftp.lang b/htdocs/langs/bs_BA/ftp.lang index 6f135997201..03ffdb38caa 100644 --- a/htdocs/langs/bs_BA/ftp.lang +++ b/htdocs/langs/bs_BA/ftp.lang @@ -1,12 +1,12 @@ # Dolibarr language file - Source file is en_US - ftp -# FTPClientSetup=FTP Client module setup -# NewFTPClient=New FTP connection setup -# FTPArea=FTP Area -# FTPAreaDesc=This screen show you content of a FTP server view -# SetupOfFTPClientModuleNotComplete=Setup of FTP client module seems to be not complete -# FTPFeatureNotSupportedByYourPHP=Your PHP does not support FTP functions -# FailedToConnectToFTPServer=Failed to connect to FTP server (server %s, port %s) -# FailedToConnectToFTPServerWithCredentials=Failed to login to FTP server with defined login/password -# FTPFailedToRemoveFile=Failed to remove file %s. -# FTPFailedToRemoveDir=Failed to remove directory %s (Check permissions and that directory is empty). -# FTPPassiveMode=Passive mode +FTPClientSetup=Postavke modula FTP klijent +NewFTPClient=Postavke nove FTP konekcije +FTPArea=Područje za FTP +FTPAreaDesc=Ovaj prozor prikazuje sadržaj FTP servera +SetupOfFTPClientModuleNotComplete=Postavke modula FTP klijent nisu završene +FTPFeatureNotSupportedByYourPHP=Vaš PHP ne podržava FTP funkcije +FailedToConnectToFTPServer=Neuspjelo povezivanje na FTP server (server %s port %s) +FailedToConnectToFTPServerWithCredentials=Neuspio login na FTP server sa definisanim login/šifra +FTPFailedToRemoveFile=Neuspjelo uklanjanje fajla %s. +FTPFailedToRemoveDir=Neuspjelo uklanjanje direktorija %s (Provjerite dozvole i da li je direktorij prazan) +FTPPassiveMode=Pasivni način diff --git a/htdocs/langs/bs_BA/help.lang b/htdocs/langs/bs_BA/help.lang index fe836c72ab6..1788cab1d3f 100644 --- a/htdocs/langs/bs_BA/help.lang +++ b/htdocs/langs/bs_BA/help.lang @@ -1,28 +1,28 @@ # Dolibarr language file - Source file is en_US - help -# CommunitySupport=Forum/Wiki support -# EMailSupport=Emails support -# RemoteControlSupport=Online real time / remote support -# OtherSupport=Other support -# ToSeeListOfAvailableRessources=To contact/see available resources: -# ClickHere=Click here -# HelpCenter=Help center -# DolibarrHelpCenter=Dolibarr help and support center -# ToGoBackToDolibarr=Otherwise, click here to use Dolibarr -# TypeOfSupport=Source of support -# TypeSupportCommunauty=Community (free) -# TypeSupportCommercial=Commercial -# TypeOfHelp=Type -# NeedHelpCenter=Need help or support ? -# Efficiency=Efficiency -# TypeHelpOnly=Help only -# TypeHelpDev=Help+Development -# TypeHelpDevForm=Help+Development+Formation -# ToGetHelpGoOnSparkAngels1=Some companies can provide a fast (sometime immediate) and more efficient online support by taking control of your computer. Such helpers can be found on %s web site: -# ToGetHelpGoOnSparkAngels3=You can also go to the list of all available coaches for Dolibarr, for this click on button -# ToGetHelpGoOnSparkAngels2=Sometimes, there is no company available at the moment you make your search, so think to change the filter to look for "all availability". You will be able to send more requests. -# BackToHelpCenter=Otherwise, click here to go back to help center home page. -# LinkToGoldMember=You can call one of the coach preselected by Dolibarr for your language (%s) by clicking his Widget (status and maximum price are automatically updated): -# PossibleLanguages=Supported languages -# MakeADonation=Help Dolibarr project, make a donation -# SubscribeToFoundation=Help Dolibarr project, subscribe to the foundation -# SeeOfficalSupport=For official Dolibarr support in your language:
%s +CommunitySupport=Forum/Wiki podrška +EMailSupport=Email podrška +RemoteControlSupport=Online uživo / daljinska podrška +OtherSupport=Druge podrške +ToSeeListOfAvailableRessources=Za kontaktirati/vidjeti dosupne resurse: +ClickHere=Klikni ovdje +HelpCenter=Centar za pomoć +DolibarrHelpCenter=Dolibarr pomoć u centri za podršku +ToGoBackToDolibarr=U suprotnom, klikni ovdje za korištenje Dolibarr +TypeOfSupport=Izvorna podrška +TypeSupportCommunauty=Zajednica (besplatno) +TypeSupportCommercial=Poslovno +TypeOfHelp=Tip +NeedHelpCenter=Trebate pomoć ili podršku? +Efficiency=Efikasnost +TypeHelpOnly=Samo pomoć +TypeHelpDev=Pomoć + razvoj +TypeHelpDevForm=Pomoć + razvoj + formiranje +ToGetHelpGoOnSparkAngels1=Neke kompanije mogu omogućiti brzu (nekada i trenutnu) i efikasniju online podršku tako što preuzmu kontrolu nad vašim računarom. Takvu pomoć možete naći na %s web sajtu: +ToGetHelpGoOnSparkAngels3=Također možete otići na listu svih dostupnik trenera za Dolibarr, za ovo kliknite na dugme +ToGetHelpGoOnSparkAngels2=Ponekad, nema dostupnih kompanija kada tražite, zato razmislite da promijenite filter da tražite "Sva dostupnost". Moći ćete poslati više zahtjeva. +BackToHelpCenter=U suprotnom, kliknite ovdje da idete nazad na centralnu početnu stranicu. +LinkToGoldMember=Možete pozvati jednog od unaprijed izabranih Dolibarr trenera za vas jezik (%s) klikom na Widget (statusi i maksimalne cijene su automatski ažurirani) +PossibleLanguages=Podržani jezici +MakeADonation=Pomozite Dolibarr projektu, donirajte +SubscribeToFoundation=Pomozite dolibar projekti, pretplatite se fondaciji +SeeOfficalSupport=Za oficijelnu Dolibarr podršku za vaš jezik:
%s diff --git a/htdocs/langs/bs_BA/holiday.lang b/htdocs/langs/bs_BA/holiday.lang index 3bca20c07db..6257e5da400 100644 --- a/htdocs/langs/bs_BA/holiday.lang +++ b/htdocs/langs/bs_BA/holiday.lang @@ -1,152 +1,152 @@ # Dolibarr language file - Source file is en_US - holiday -# HRM=HRM -# Holidays=Holidays -# CPTitreMenu=Holidays -# MenuReportMonth=Monthly statement -# MenuAddCP=Apply for holidays -# NotActiveModCP=You must enable the module holidays to view this page. -# NotConfigModCP=You must configure the module holidays to view this page. To do this, click here . -# NoCPforUser=You don't have a demand for holidays. -# AddCP=Apply for holidays -# CPErrorSQL=An SQL error occurred: -# Employe=Employee -# DateDebCP=Start date -# DateFinCP=End date -# DateCreateCP=Creation date -# DraftCP=Draft -# ToReviewCP=Awaiting approval -# ApprovedCP=Approved -# CancelCP=Canceled -# RefuseCP=Refused -# ValidatorCP=Approbator -# ListeCP=List of holidays -# ReviewedByCP=Will be reviewed by -# DescCP=Description -# SendRequestCP=Creating demand for holidays -# DelayToRequestCP=Applications for holidays must be made at least %s day(s) before them. -# MenuConfCP=Edit balance of holidays -# UpdateAllCP=Update the holidays -# SoldeCPUser=Holidays balance is %s days. -# ErrorEndDateCP=You must select an end date greater than the start date. -# ErrorSQLCreateCP=An SQL error occurred during the creation: -# ErrorIDFicheCP=An error has occurred, the request for holidays does not exist. -# ReturnCP=Return to previous page -# ErrorUserViewCP=You are not authorized to read this request for holidays. -# InfosCP=Information of the demand of holidays -# InfosWorkflowCP=Information Workflow -# DateCreateCP=Creation date -# RequestByCP=Requested by -# TitreRequestCP=Sheet of holidays -# NbUseDaysCP=Number of days of holidays consumed -# EditCP=Edit -# DeleteCP=Delete -# ActionValidCP=Validate -# ActionRefuseCP=Refuse -# ActionCancelCP=Cancel -# StatutCP=Status -# SendToValidationCP=Send to validation -# TitleDeleteCP=Delete the request of holidays -# ConfirmDeleteCP=Confirm the deletion of this request for holidays? -# ErrorCantDeleteCP=Error you don't have the right to delete this holiday request. -# CantCreateCP=You don't have the right to apply for holidays. -# InvalidValidatorCP=You must choose an approbator to your holiday request. -# UpdateButtonCP=Update -# CantUpdate=You cannot update this request of holidays. -# NoDateDebut=You must select a start date. -# NoDateFin=You must select an end date. -# ErrorDureeCP=Your request for holidays does not contain working day. -# TitleValidCP=Approve the request holidays -# ConfirmValidCP=Are you sure you want to approve the holiday request? -# DateValidCP=Date approved -# TitleToValidCP=Send request holidays -# ConfirmToValidCP=Are you sure you want to send the request of holidays? -# TitleRefuseCP=Refuse the request holidays -# ConfirmRefuseCP=Are you sure you want to refuse the request of holidays? -# NoMotifRefuseCP=You must choose a reason for refusing the request. -# TitleCancelCP=Cancel the request holidays -# ConfirmCancelCP=Are you sure you want to cancel the request of holidays? -# DetailRefusCP=Reason for refusal -# DateRefusCP=Date of refusal -# DateCancelCP=Date of cancellation -# DefineEventUserCP=Assign an exceptional leave for a user -# addEventToUserCP=Assign leave -# MotifCP=Reason -# UserCP=User -# ErrorAddEventToUserCP=An error occurred while adding the exceptional leave. -# AddEventToUserOkCP=The addition of the exceptional leave has been completed. -# MenuLogCP=View logs of holidays -# LogCP=Log of updates of holidays -# ActionByCP=Performed by -# UserUpdateCP=For the user -# PrevSoldeCP=Previous Balance -# NewSoldeCP=New Balance -# alreadyCPexist=A request for holidays has already been done on this period. -# UserName=Name -# Employee=Employee -# FirstDayOfHoliday=First day of holiday -# LastDayOfHoliday=Last day of holiday -# HolidaysMonthlyUpdate=Monthly update -# ManualUpdate=Manual update -# HolidaysCancelation=Holidays cancelation +HRM=Kadrovska služba +Holidays=Godišnji odmori +CPTitreMenu=Godišnji odmori +MenuReportMonth=Mjesečni izvještaj +MenuAddCP=Prijavi se za godišnji odmor +NotActiveModCP=Morate omogućiti modul godišnji odmori da bi vidjeli ovu stranicu. +NotConfigModCP=Morate konfigurisati modul godišnji odmori da bi vidjeli ovu stranicu. Da bi ste uradili ovo, kliknite ovdje. +NoCPforUser=Nema te zahtjeva za godišnje odmore. +AddCP=Prijavi se za godišnji odmor +CPErrorSQL=Desila se SQL greška: +Employe=Zaposlenik +DateDebCP=Datum početka +DateFinCP=Datum završetka +DateCreateCP=Datum kreiranja +DraftCP=Nacrt +ToReviewCP=Čeka na odobrenje +ApprovedCP=Odobren +CancelCP=Otkazan +RefuseCP=Odbijen +ValidatorCP=Osoba koja odobrava +ListeCP=Lista godišnjih odmora +ReviewedByCP=Bit će pregledano od strane +DescCP=Opis +SendRequestCP=Kreiranje zahtjeva za godišnji odmor +DelayToRequestCP=Aplikacija za godišnji odmor mora biti napravljena bar %s dan(a) prije samog odmora. +MenuConfCP=Izmjena stanja za godišnje odmore. +UpdateAllCP=Ažuriranje godišnjih odmora +SoldeCPUser=Stanje godišnjih odmora je %s dana. +ErrorEndDateCP=Datum završetka mora biti poslije datuma početka. +ErrorSQLCreateCP=Desila se SQL greška prilikom kreiranja: +ErrorIDFicheCP=Desila se greška, zahtjev za odmor ne postoji. +ReturnCP=Vrati se na prethodnu stranicu +ErrorUserViewCP=Niste autorizovani da čitate ovaj zahtjev za godišnji odmor. +InfosCP=Informacije o zahtjevu za odmor +InfosWorkflowCP=Workflow informacija +DateCreateCP=Datum kreiranja +RequestByCP=Zahtjev poslao +TitreRequestCP=Lista godišnjih odmora +NbUseDaysCP=Broj iskorištenih dana godišnjeg odmora +EditCP=Izmjena +DeleteCP=Obrisati +ActionValidCP=Potvrdi +ActionRefuseCP=Odbij +ActionCancelCP=Poništi +StatutCP=Status +SendToValidationCP=Posalji na potvrđivanje +TitleDeleteCP=Obrisati zahtjev za godišnji odmor +ConfirmDeleteCP=Potvrda brisanja ovog zahtjeva za godišnji odmor? +ErrorCantDeleteCP=Greška nemate pravo da obriše ovaj zahtjev za godišnji odmor. +CantCreateCP=Nemaš prava da se prijave za godišnji odmor. +InvalidValidatorCP=Morate odabrati osobu za odobravanja vašeg godišnjeg odmora. +UpdateButtonCP=Ažuriranje +CantUpdate=Ne možete ažurirati ovaj zahtjev za godišnji odmor. +NoDateDebut=Morate odabrati datum početka. +NoDateFin=Morate odabrati datum završetka. +ErrorDureeCP=Vaš zahtjev za godišnji odmor ne sadrži radni dan. +TitleValidCP=Odobri zahtjev za godišnji odmor +ConfirmValidCP=Jeste li sigurni da želite da odobrite zahtjev za godišnji odmor? +DateValidCP=Datum odobrenja +TitleToValidCP=Pošalji zahtjev za godišnji odmor +ConfirmToValidCP=Jeste li sigurni da želite poslati zahtjev za godišnji odmor? +TitleRefuseCP=Odbiti zahtjev za godišnji odmor +ConfirmRefuseCP=Jeste li sigurni da želite odbiti zahtjev za godišnji odmor? +NoMotifRefuseCP=Morate odabrati razlog za odbijanje zahtjeva. +TitleCancelCP=Poništi zahtjev za godišnji odmor +ConfirmCancelCP=Jeste li sigurni da želite otkazati zahtjev za godišnji odmor? +DetailRefusCP=Razlog za odbijanje +DateRefusCP=Datum odbijanja +DateCancelCP=Datum poništavanja +DefineEventUserCP=Dodijeli izuzetno odsustvo za korisnika +addEventToUserCP=Dodijeli odsustvo +MotifCP=Razlog +UserCP=Korisnik +ErrorAddEventToUserCP=Došlo je do greške prilikom dodavanja izuzetnog odsustva. +AddEventToUserOkCP=Dodavanje izuzetno odsustva je kopmletirano. +MenuLogCP=Pogledaj izvjestaje za godišnje odmore +LogCP=Izvještaji ažuriranja godišnjih odmora +ActionByCP=Izvršeno od strane +UserUpdateCP=Za korisnika +PrevSoldeCP=Prethodno stanje +NewSoldeCP=Novo stanje +alreadyCPexist=Zahtjev za godišnji odmor je vec završen za ovaj period. +UserName=Naziv +Employee=Zaposlenik +FirstDayOfHoliday=Prvi dan godišnjeg odmora +LastDayOfHoliday=Zadnji dan godišnjeg odmora +HolidaysMonthlyUpdate=Mjesečno ažuriranje +ManualUpdate=Ručno ažuriranje +HolidaysCancelation=Poništavanje godišnjih odmora ## Configuration du Module ## -# ConfCP=Configuration of holidays module -# DescOptionCP=Description of the option -# ValueOptionCP=Value -# GroupToValidateCP=Group with the ability to approve holidays -# ConfirmConfigCP=Validate the configuration -# LastUpdateCP=Last updated automatically of holidays -# UpdateConfCPOK=Updated successfully. -# ErrorUpdateConfCP=An error occurred during the update, please try again. -# AddCPforUsers=Please add the balance of holidays of users by clicking here. -# DelayForSubmitCP=Deadline to apply for holidays -# AlertapprobatortorDelayCP=Prevent the approbator if the holiday request does not match the deadline -# AlertValidatorDelayCP=Préevent the approbator if the holiday request exceed delay -# AlertValidorSoldeCP=Prevent the approbator if the holiday request exceed the balance -# nbUserCP=Number of users supported in the module holidays -# nbHolidayDeductedCP=Number of holidays to be deducted per day of holiday taken -# nbHolidayEveryMonthCP=Number of holidays added every month -# Module27130Name= Management of holidays -# Module27130Desc= Management of holidays -# TitleOptionMainCP=Main settings of holidays -# TitleOptionEventCP=Settings of holidays related to events -# ValidEventCP=Validate -# UpdateEventCP=Update events -# CreateEventCP=Create -# NameEventCP=Event name -# OkCreateEventCP=The addition of the event went well. -# ErrorCreateEventCP=Error creating the event. -# UpdateEventOkCP=The update of the event went well. -# ErrorUpdateEventCP=Error while updating the event. -# DeleteEventCP=Delete Event -# DeleteEventOkCP=The event has been deleted. -# ErrorDeleteEventCP=Error while deleting the event. -# TitleDeleteEventCP=Delete a exceptional leave -# TitleCreateEventCP=Create a exceptional leave -# TitleUpdateEventCP=Edit or delete a exceptional leave -# DeleteEventOptionCP=Delete -# UpdateEventOptionCP=Update -# ErrorMailNotSend=An error occurred while sending email: -# NoCPforMonth=No leave this month. -# nbJours=Number days -# TitleAdminCP=Configuration of Holidays +ConfCP=Konfiguracija modula za godišnje odmore +DescOptionCP=Opis opcije +ValueOptionCP=Vrijednost +GroupToValidateCP=Grupa sa mogućnosti da odobrava godišnje odmore +ConfirmConfigCP=Potvrdite konfiguraciju +LastUpdateCP=Zadnje ažuriranje automatskih godišnjih odmora +UpdateConfCPOK=Uspješno ažuriranje. +ErrorUpdateConfCP=Došlo je do greške prilikom ažuriranja, molimo pokušajte ponovo. +AddCPforUsers=Molimo dodajte stanje godišnjih odmora za korisnika klikom ovdje. +DelayForSubmitCP=Rok za prijavu za godišnji odmor +AlertapprobatortorDelayCP=Spriječi osobu koja odobrava godišnji odmor u slučaju da se ne poklapa sa rokovima +AlertValidatorDelayCP=Spriječi osobu koja odobrava godišnji odmor u slučaju da odmor prelazi odgađanje +AlertValidorSoldeCP=Spriječi osobu koja odobrava godišnji odmor u slučaju da odmor prelazi trenutno stanje +nbUserCP=Broj podržanih korisnika u modulu za godišnje odmore +nbHolidayDeductedCP=Broj godišnjih odmora za odbijanje po danu uzetog odmora +nbHolidayEveryMonthCP=Broj dana godišnjeg odmora za dodati svaki mjesec +Module27130Name= Upravljanje godišnjim odmorima +Module27130Desc= Upravljanje godišnjim odmorima +TitleOptionMainCP=Glavne postavke godišnjih odmora +TitleOptionEventCP=Postavke za godišnje odmore povezane sa događajima +ValidEventCP=Potvrdi +UpdateEventCP=Ažuriraj događaje +CreateEventCP=Kreiraj +NameEventCP=Naziv događaja +OkCreateEventCP=Dodavanje događaja uspješno. +ErrorCreateEventCP=Greška pri kreiranju događaja. +UpdateEventOkCP=Ažuriranje događaja uspješno. +ErrorUpdateEventCP=Greška pri ažuriranju događaja. +DeleteEventCP=Obriši događaj +DeleteEventOkCP=Događaj je obrisan. +ErrorDeleteEventCP=Greška pri brisanju događaja. +TitleDeleteEventCP=Obrisati izuzetno odsustvo +TitleCreateEventCP=Kreiraj izuzetno odsustvo +TitleUpdateEventCP=Izmijeni ili obriši izuzetno odsustvo +DeleteEventOptionCP=Obriši +UpdateEventOptionCP=Ažuriraj +ErrorMailNotSend=Desila se greška prilikom slanja emaila: +NoCPforMonth=Nema odsustva za ovaj mjesec. +nbJours=Broj dana +TitleAdminCP=Konfiguracija godišnjih odmora #Messages -# Hello=Hello -# HolidaysToValidate=Validate holidays -# HolidaysToValidateBody=Below is a request for holidays to validate -# HolidaysToValidateDelay=This request for holidays will take place within a period of less than %s days. -# HolidaysToValidateAlertSolde=The user who made this request for holidays do not have enough available days. -# HolidaysValidated=Validated holidays -# HolidaysValidatedBody=Your request for holidays for %s to %s has been validated. -# HolidaysRefused=Denied holidays -# HolidaysRefusedBody=Your request for holidays for %s to %s has been denied for the following reason : -# HolidaysCanceled=Canceled holidays -# HolidaysCanceledBody=Your request for holidays for %s to %s has been canceled. +Hello=Zdravo +HolidaysToValidate=Potvrdi godišnje odmore +HolidaysToValidateBody=Ispod su zahtjevi godišnjih odmora za potvrđivanje. +HolidaysToValidateDelay=Ovaj zahtjev za godišji odmor će se desiti u periodu od manje od %s dana. +HolidaysToValidateAlertSolde=Korisnici koji su postavili ovaj zahtjev nemaju dovoljan broj dostupnih dana. +HolidaysValidated=Potvrđeni godišnji odmori +HolidaysValidatedBody=Vaš zahtjev za godišnji odmor od %s do %s je potvrđen. +HolidaysRefused=Odbijeni godišnji odmori +HolidaysRefusedBody=Vaš zahtjev za godišnji odmor od %s do %s je odbijen zbog: +HolidaysCanceled=Poništeni godišnji odmori +HolidaysCanceledBody=Vaš zahtjev za godišnji odmor od %s fo %s je poništen. -# Permission20001=Read/create/modify their holidays -# Permission20002=Read/modify all requests of holidays -# Permission20003=Delete their holidays requests -# Permission20004=Define users holidays -# Permission20005=Review log of modified holidays -# Permission20006=Access holidays monthly report +Permission20001=Pročitaj/kreiraj/izmijeni njigove godišnje odmore +Permission20002=Pročitaj/kreiraj/izmijeni sve zahtjeve za godišnje odmore +Permission20003=Obriši njihove zahtjeve za godišnje odmore +Permission20004=Definiši korisnikove godišnje odmore +Permission20005=Pregledaj izvještaj o izmijenjenim godišnjim odmorima +Permission20006=Pristupi mjesečnom izvještaj za godišnje odmore diff --git a/htdocs/langs/bs_BA/interventions.lang b/htdocs/langs/bs_BA/interventions.lang index 0a5b3e15467..dc08dc466d0 100644 --- a/htdocs/langs/bs_BA/interventions.lang +++ b/htdocs/langs/bs_BA/interventions.lang @@ -1,42 +1,42 @@ # Dolibarr language file - Source file is en_US - interventions -# Intervention=Intervention -# Interventions=Interventions -# InterventionCard=Intervention card -# NewIntervention=New intervention -# AddIntervention=Add intervention -# ListOfInterventions=List of interventions -# EditIntervention=Edit intervention -# ActionsOnFicheInter=Actions on intervention -# LastInterventions=Last %s interventions -# AllInterventions=All interventions -# CreateDraftIntervention=Create draft -# CustomerDoesNotHavePrefix=Customer does not have a prefix -# InterventionContact=Intervention contact -# DeleteIntervention=Delete intervention -# ValidateIntervention=Validate intervention -# ModifyIntervention=Modify intervention -# DeleteInterventionLine=Delete intervention line -# ConfirmDeleteIntervention=Are you sure you want to delete this intervention ? -# ConfirmValidateIntervention=Are you sure you want to validate this intervention under name %s ? -# ConfirmModifyIntervention=Are you sure you want to modify this intervention ? -# ConfirmDeleteInterventionLine=Are you sure you want to delete this intervention line ? -# NameAndSignatureOfInternalContact=Name and signature of intervening : -# NameAndSignatureOfExternalContact=Name and signature of customer : -# DocumentModelStandard=Standard document model for interventions -# InterventionCardsAndInterventionLines=Interventions and lines of interventions -# ClassifyBilled=Classify "Billed" -# StatusInterInvoiced=Billed -# RelatedInterventions=Related interventions -# ShowIntervention=Show intervention +Intervention=Intervencija +Interventions=Intervencije +InterventionCard=Kartica intervencija +NewIntervention=Nova intervencija +AddIntervention=Dodaj intervenciju +ListOfInterventions=Lista intervencija +EditIntervention=Izimijeni intervenciju +ActionsOnFicheInter=Akcije na intervencijama +LastInterventions=Zadnjih %s intervencija +AllInterventions=Sve intervencije +CreateDraftIntervention=Kreiraj nacrt +CustomerDoesNotHavePrefix=Kupac nema prefiks +InterventionContact=Kontakt za intervenciju +DeleteIntervention=Obriši intervenciju +ValidateIntervention=Potvrdi intervenciju +ModifyIntervention=Izmijeni intervenciju +DeleteInterventionLine=Obriši tekst intervencije +ConfirmDeleteIntervention=Jeste li sigurni da želite obrisati ovu intervenciju? +ConfirmValidateIntervention=Jeste li sigurni da želite potvrditi ovu intervenciju pod nazivom %s ? +ConfirmModifyIntervention=Jeste li sigurni da želite izmijeniti ovu intervenciju? +ConfirmDeleteInterventionLine=Jeste li sigurni da želite obrisati ovaj tekst intervencije? +NameAndSignatureOfInternalContact=Ime i potpis servisera: +NameAndSignatureOfExternalContact=Ime i potpis kupca: +DocumentModelStandard=Standardni dokument za intervencije +InterventionCardsAndInterventionLines=Intervencije i tekstovi intervencija +ClassifyBilled=Klasifikuj "Fakturisane" +StatusInterInvoiced=Fakturisano +RelatedInterventions=Povezane intervencije +ShowIntervention=Prikaži intervenciju ##### Types de contacts ##### -# TypeContact_fichinter_internal_INTERREPFOLL=Representative following-up intervention -# TypeContact_fichinter_internal_INTERVENING=Intervening -# TypeContact_fichinter_external_BILLING=Billing customer contact -# TypeContact_fichinter_external_CUSTOMER=Following-up customer contact +TypeContact_fichinter_internal_INTERREPFOLL=Predstavnik koji kontroliše intervenciju +TypeContact_fichinter_internal_INTERVENING=Serviser +TypeContact_fichinter_external_BILLING=Kontakt kupca za fakturianje +TypeContact_fichinter_external_CUSTOMER=Kontakt kupca za kontrolu # Modele numérotation -# ArcticNumRefModelDesc1=Generic number model -# ArcticNumRefModelError=Failed to activate -# PacificNumRefModelDesc1=Return numero with format %syymm-nnnn where yy is year, mm is month and nnnn is a sequence with no break and no return to 0 -# PacificNumRefModelError=An intervention card starting with $syymm already exists and is not compatible with this model of sequence. Remove it or rename it to activate this module. -# PrintProductsOnFichinter=Print products on intervention card -# PrintProductsOnFichinterDetails=forinterventions generated from orders +ArcticNumRefModelDesc1=Opšti model broja +ArcticNumRefModelError=Neuspjelo aktiviranje +PacificNumRefModelDesc1=Vratiti broj sa formatom %syymm-nnnn, gdje je yy godina, mm mjesec i nnnn niz bez prekida i bez vraćanja za 0. +PacificNumRefModelError=Kartica intervencije koja počinje sa $syymm već postoji i nije kompatibilna sa ovim modelom nizda. Odstrani ili promijeni da bi se modul mogao aktivirati. +PrintProductsOnFichinter=Isprintaj proizvode sa kartice intervencije +PrintProductsOnFichinterDetails=za intervencije generisano sa narudžbi diff --git a/htdocs/langs/bs_BA/ldap.lang b/htdocs/langs/bs_BA/ldap.lang index ed16db42181..32472a3448f 100644 --- a/htdocs/langs/bs_BA/ldap.lang +++ b/htdocs/langs/bs_BA/ldap.lang @@ -1,10 +1,10 @@ # Dolibarr language file - Source file is en_US - ldap -# DomainPassword=Password for domain -# YouMustChangePassNextLogon=Password for user %s on the domain %s must be changed. -# UserMustChangePassNextLogon=User must change password on the domain %s -# LdapUacf_NORMAL_ACCOUNT=User account -# LdapUacf_DONT_EXPIRE_PASSWORD=Password never expires -# LdapUacf_ACCOUNTDISABLE=Account is disabled in the domain %s +DomainPassword=Šifra za domenu +YouMustChangePassNextLogon=Šifra za korisnika %s na domeni %s mora biti promijenjena. +UserMustChangePassNextLogon=Korisnik mora promijeniti šifru na domeni %s +LdapUacf_NORMAL_ACCOUNT=Korisnički račun +LdapUacf_DONT_EXPIRE_PASSWORD=Šifra nikada ne ističe +LdapUacf_ACCOUNTDISABLE=Račun je onemogućen na domeni %s # LDAPInformationsForThisContact=Information in LDAP database for this contact # LDAPInformationsForThisUser=Information in LDAP database for this user # LDAPInformationsForThisGroup=Information in LDAP database for this group diff --git a/htdocs/langs/bs_BA/mails.lang b/htdocs/langs/bs_BA/mails.lang index 328fc3ec5d6..9f43dcd1511 100644 --- a/htdocs/langs/bs_BA/mails.lang +++ b/htdocs/langs/bs_BA/mails.lang @@ -1,132 +1,139 @@ # Dolibarr language file - Source file is en_US - mails -# Mailing=EMailing -# EMailing=EMailing -# Mailings=EMailings -# EMailings=EMailings -# AllEMailings=All eMailings -# MailCard=EMailing card -# MailTargets=Targets -# MailRecipients=Recipients -# MailRecipient=Recipient -# MailTitle=Description -# MailFrom=Sender -# MailErrorsTo=Errors to -# MailReply=Reply to -# MailTo=Receiver(s) -# MailCC=Copy to -# MailCCC=Cached copy to -# MailTopic=EMail topic -# MailText=Message -# MailFile=Attached files -# MailMessage=EMail body -# ShowEMailing=Show emailing -# ListOfEMailings=List of emailings -# NewMailing=New emailing -# EditMailing=Edit emailing -# ResetMailing=Resend emailing -# DeleteMailing=Delete emailing -# DeleteAMailing=Delete an emailing -# PreviewMailing=Preview emailing -# PrepareMailing=Prepare emailing -# CreateMailing=Create emailing -# MailingDesc=This page allows you to send emailings to a group of people. -# MailingResult=Sending emails result -# TestMailing=Test email -# ValidMailing=Valid emailing -# ApproveMailing=Approve emailing -# MailingStatusDraft=Draft -# MailingStatusValidated=Validated -# MailingStatusApproved=Approved -# MailingStatusSent=Sent -# MailingStatusSentPartialy=Sent partialy -# MailingStatusSentCompletely=Sent completely -# MailingStatusError=Error -# MailingStatusNotSent=Not sent -# MailSuccessfulySent=Email successfully sent (from %s to %s) -# MailingSuccessfullyValidated=EMailing successfully validated -# MailUnsubcribe=Unsubscribe -# Unsuscribe=Unsubscribe -# MailingStatusNotContact=Don't contact anymore -# ErrorMailRecipientIsEmpty=Email recipient is empty -# WarningNoEMailsAdded=No new Email to add to recipient's list. -# ConfirmValidMailing=Are you sure you want to validate this emailing ? -# ConfirmResetMailing=Warning, by reinitializing emailing %s, you allow to make a mass sending of this email another time. Are you sure you this is what you want to do ? -# ConfirmDeleteMailing=Are you sure you want to delete this emailling ? -# NbOfRecipients=Number of recipients -# NbOfUniqueEMails=Nb of unique emails -# NbOfEMails=Nb of EMails -# TotalNbOfDistinctRecipients=Number of distinct recipients -# NoTargetYet=No recipients defined yet (Go on tab 'Recipients') -# AddRecipients=Add recipients -# RemoveRecipient=Remove recipient -# CommonSubstitutions=Common substitutions -# YouCanAddYourOwnPredefindedListHere=To create your email selector module, see htdocs/core/modules/mailings/README. -# EMailTestSubstitutionReplacedByGenericValues=When using test mode, substitutions variables are replaced by generic values -# MailingAddFile=Attach this file -# NoAttachedFiles=No attached files -# BadEMail=Bad value for EMail -# CloneEMailing=Clone Emailing -# ConfirmCloneEMailing=Are you sure you want to clone this emailing ? -# CloneContent=Clone message -# CloneReceivers=Cloner recipients -# DateLastSend=Date of last sending -# DateSending=Date sending -# SentTo=Sent to %s -# MailingStatusRead=Read -# CheckRead=Read Receipt -# YourMailUnsubcribeOK=The email %s is correctly unsubcribe from mailing list -# MailtoEMail=Hyper link to email -# ActivateCheckRead=Allow to use the "Unsubcribe" link -# ActivateCheckReadKey=Key use to encrypt URL use for "Read Receipt" and "Unsubcribe" feature -# EMailSentToNRecipients=EMail sent to %s recipients. +Mailing=E-pošta +EMailing=E-pošta +Mailings=E-pošte +EMailings=E-pošte +AllEMailings=Sva e-pošta +MailCard=Kartica e-pošte +MailTargets=Mete +MailRecipients=Primaoci +MailRecipient=Primalac +MailTitle=Opis +MailFrom=Pošiljalac +MailErrorsTo=Greške prema +MailReply=Odgovori na +MailTo=Primalac(oci) +MailCC=Kopiraj na +MailCCC=Cached kopija na +MailTopic=Tema emaila +MailText=Poruka +MailFile=Priloženi fajlovi +MailMessage=Tijelo emaila +ShowEMailing=Prikažu e-poštu +ListOfEMailings=Lista e-pošta +NewMailing=Nova e-pošta +EditMailing=Uredi e-poštu +ResetMailing=Ponovo pošalji e-poštu +DeleteMailing=Obriši e-poštu +DeleteAMailing=Brisanje e-pošte +PreviewMailing=Pregledati e-poštu +PrepareMailing=Pripremiti e-poštu +CreateMailing=Kreirati e-poštu +MailingDesc=Ova stranica omogućava slanje e-pošte grupi ljudi +MailingResult=Rezultati slanja e-pošte +TestMailing=Testirati slanje +ValidMailing=Potvrdi e-poštu +ApproveMailing=Odobri e-poštu +MailingStatusDraft=Nacrt +MailingStatusValidated=Potvrđeno +MailingStatusApproved=Odobreno +MailingStatusSent=Poslano +MailingStatusSentPartialy=Poslano djelimično +MailingStatusSentCompletely=Poslano poptuno +MailingStatusError=Greška +MailingStatusNotSent=Nije poslano +MailSuccessfulySent=E-pošta uspješno poslana (od %s do %s) +MailingSuccessfullyValidated=E-pošta uspješno potvrđena +MailUnsubcribe=Ispisati se +Unsuscribe=Ispisati se +MailingStatusNotContact=Nemoj kontaktirati više +ErrorMailRecipientIsEmpty=Primalac e-pošte je prazan +WarningNoEMailsAdded=Nema nove e-pošte za dodati na listu primaoca. +ConfirmValidMailing=Jeste li sigurni da želite potvrditi ovu e-poštu? +ConfirmResetMailing=Upozorenje, ponovnom inicijalizacijom e-pošte %s, omogućavate ponovno masovno slanje e-pošte. Jeste li sigurni da je ovo ono što želite? +ConfirmDeleteMailing=Jeste li sigurni da želite obrisati ovu e-poštu? +NbOfRecipients=Broj primaoca +NbOfUniqueEMails=Broj jedinstvenih e-pošta +NbOfEMails=Broj e-pošta +TotalNbOfDistinctRecipients=Broj posebnih primaoca +NoTargetYet=Nema definisanih primaoca (Idi na tab 'Primaoci') +AddRecipients=Dodao primaoce +RemoveRecipient=Ukloni primaoca +CommonSubstitutions=Zajedničke zamjene +YouCanAddYourOwnPredefindedListHere=Da bi ste kreirali modul selektor e-pošte , pogledajte htdocs/core/modules/mailings/README. +EMailTestSubstitutionReplacedByGenericValues=Kada se koristi testni način, promjenjive varijable se mijenjaju sa generičkim vrijednostima +MailingAddFile=Priloži ovaj fajl +NoAttachedFiles=Nema priloženih fajlova +BadEMail=Pogrešna vrijednost za e-poštu +CloneEMailing=Kloniraj e-poštu +ConfirmCloneEMailing=Jeste li sigurni da želite da klonirati ovu e-poštu? +CloneContent=Kloniraj poruku +CloneReceivers=Kloniraj primaoce +DateLastSend=Datum zadnjeg slanja +DateSending=Datum slanja +SentTo=Poslano na %s +MailingStatusRead=Pročitaj +CheckRead=Pročitaj potvrdu +YourMailUnsubcribeOK=E-pošta %s je uspješno ispisana sa liste e-pošte +MailtoEMail=Hyper link na e-poštu +ActivateCheckRead=Dozvoli korištenje "Ispiši se" linka +ActivateCheckReadKey=Kljul korišten za enkriptovanje linka koristi se za "Pročitaj potvrdu" i "Ispiši se" mogućnosti +EMailSentToNRecipients=E-pošta poslana %s primaocima +# EachInvoiceWillBeAttachedToEmail=A document using default invoice document template will be created and attached to each email. +# MailTopicSendRemindUnpaidInvoices=Remind of invoice %s (%s) +# SendRemind=Send remind by EMails +# RemindSent=%S remind(s) sent +# AllRecipientSelectedForRemind=All thirdparties selected and if an email is set (note that one mail per invoice will be sent) +# NoRemindSent=No remind by EMail sent +# ResultOfMassSending=Result of mass remind sending by EMail # Libelle des modules de liste de destinataires mailing -# MailingModuleDescContactCompanies=Contacts/addresses of all third parties (customer, prospect, supplier, ...) -# MailingModuleDescDolibarrUsers=Dolibarr users -# MailingModuleDescFundationMembers=Foundation members with emails -# MailingModuleDescEmailsFromFile=EMails from a text file (email;lastname;firstname;other) -# MailingModuleDescEmailsFromUser=EMails from user input (email;lastname;firstname;other) -# MailingModuleDescContactsCategories=Third parties (by category) -# MailingModuleDescDolibarrContractsLinesExpired=Third parties with expired contract's lines -# MailingModuleDescContactsByCompanyCategory=Contacts/addresses of third parties (by third parties category) -# MailingModuleDescContactsByCategory=Contacts/addresses of third parties by category -# MailingModuleDescMembersCategories=Foundation members (by categories) -# MailingModuleDescContactsByFunction=Contacts/addresses of third parties (by position/function) +MailingModuleDescContactCompanies=Kontakti/Adrese za subjekte (kupac, mogući klijent, dobavljač, ...) +MailingModuleDescDolibarrUsers=Dolibarr korisnici +MailingModuleDescFundationMembers=Članovi fondacije sa e-poštom +MailingModuleDescEmailsFromFile=E-pošta iz tekst fajlova (email:lastname;firstname;other) +MailingModuleDescEmailsFromUser=E-pošta iz korisničkog unosa (email:lastname;firstname;other) +MailingModuleDescContactsCategories=Subjekt (po kategoriji) +MailingModuleDescDolibarrContractsLinesExpired=Subjekti sa isteklim stavkama ugovora +MailingModuleDescContactsByCompanyCategory=Kontakti/adrese subjekata (po kategoriji subjekata) +MailingModuleDescContactsByCategory=Kontakti/adrese subjekata po kategoriji +MailingModuleDescMembersCategories=Članovi fondacije (po kategorijama) +MailingModuleDescContactsByFunction=Kontakti/adrese subjekata (po poziciji/funkciji) -# LineInFile=Line %s in file -# RecipientSelectionModules=Defined requests for recipient's selection -# MailSelectedRecipients=Selected recipients -# MailingArea=EMailings area -# LastMailings=Last %s emailings -# TargetsStatistics=Targets statistics -# NbOfCompaniesContacts=Unique contacts/addresses -# MailNoChangePossible=Recipients for validated emailing can't be changed -# SearchAMailing=Search mailing -# SendMailing=Send emailing -# SendMail=Send email -# SentBy=Sent by -# MailingNeedCommand=For security reason, sending an emailing is better when performed from command line. If you have one, ask your server administrator to launch the following command to send the emailing to all recipients: -# MailingNeedCommand2=You can however send them online by adding parameter MAILING_LIMIT_SENDBYWEB with value of max number of emails you want to send by session. For this, go on Home - Setup - Other. -# ConfirmSendingEmailing=If you can't or prefer sending them with your www browser, please confirm you are sure you want to send emailing now from your browser ? -# LimitSendingEmailing=Note: On line sending of emailings are limited for security and timeout reasons to %s recipients by sending session. -# TargetsReset=Clear list -# ToClearAllRecipientsClickHere=Click here to clear the recipient list for this emailing -# ToAddRecipientsChooseHere=Add recipients by choosing from the lists -# NbOfEMailingsReceived=Mass emailings received -# IdRecord=ID record -# DeliveryReceipt=Delivery Receipt -# YouCanUseCommaSeparatorForSeveralRecipients=You can use the comma separator to specify several recipients. -# TagCheckMail=Track mail opening -# TagUnsubscribe=Unsubscribe link -# TagSignature=Signature sending user -# TagMailtoEmail=Recipient EMail +LineInFile=Linija %s u fajlu +RecipientSelectionModules=Definisani zahtjevi za odabir primaoca +MailSelectedRecipients=Odabrani primaoci +MailingArea=Područje za e-poštu +LastMailings=Zadnjih %s e-pošta +TargetsStatistics=Mete statistike +NbOfCompaniesContacts=Jedinstveni kontakti/adrese +MailNoChangePossible=Primaoci za potvrđenu e-poštu ne mogu biti promijenjeni +SearchAMailing=Traži e-poštu +SendMailing=Pošalji e-poštu +SendMail=Pošalji e-mail +SentBy=Poslano od +MailingNeedCommand=Iz sigurnosnih razloga, slanje e-pošte je bolje kada se vrši sa komandne lnije. Ako imate pristup, pitajte vašeg server administratora da pokrene slijedeću liniju za slanje e-pošte svim primaocima: +MailingNeedCommand2=Možete ih poslati online dodavanjem parametra MAILING_LIMIT_SENDBYWEB sa vrijednosti za maksimalni broj e-mailova koje želite poslati po sesiji. Za ovo idite na Početna - Postavke - Ostalo +ConfirmSendingEmailing=Ako ne možete ili preferirate slanje preko www pretraživača, molim potvrdite da ste sigurni da želite poslati e-poštu sa vašeg pretraživača? +LimitSendingEmailing=Napomena: Slanje e-pošte preko interneta je ograničeno iz sigurnosnih razloga i timeout razloga primaocima %s od strane sesije za slanje. +TargetsReset=Očisti listu +ToClearAllRecipientsClickHere=Klikni ovdje da očistite listu primaoca za ovu e-poštu +ToAddRecipientsChooseHere=Odaberi primaoce biranjem sa liste +NbOfEMailingsReceived=Masovno slanje e-pošte primljeno +IdRecord=ID zapisa +DeliveryReceipt=Potvrda prijema +YouCanUseCommaSeparatorForSeveralRecipients=Možete koristiti zarez kao separator da biste naveli više primaoca. +TagCheckMail=Prati otvaranje mailova +TagUnsubscribe=Link za ispisivanje +TagSignature=Korisnik sa slanjem potpisa +TagMailtoEmail=E-pošta primalac # Module Notifications -# Notifications=Notifications -# NoNotificationsWillBeSent=No email notifications are planned for this event and company -# ANotificationsWillBeSent=1 notification will be sent by email -# SomeNotificationsWillBeSent=%s notifications will be sent by email -# AddNewNotification=Activate a new email notification request -# ListOfActiveNotifications=List all active email notification requests -# ListOfNotificationsDone=List all email notifications sent +Notifications=Notifikacije +NoNotificationsWillBeSent=Nema planiranih email notifikacija za ovaj događaj i kompaniju +ANotificationsWillBeSent=1 notifikacija će biti poslana emailom +SomeNotificationsWillBeSent=%s notifikacija će biti poslane emailom +AddNewNotification=Aktivirati novi zahtjev za notifikacije o slanje emaila +ListOfActiveNotifications=Lista svih aktivnih zahtjeva za notifikacije slanja emaila +ListOfNotificationsDone=Lista svih notifikacija o slanju emaila diff --git a/htdocs/langs/bs_BA/main.lang b/htdocs/langs/bs_BA/main.lang index 7aa2686fab7..6640492131b 100644 --- a/htdocs/langs/bs_BA/main.lang +++ b/htdocs/langs/bs_BA/main.lang @@ -340,7 +340,7 @@ SeparatorThousand=None # Ref=Ref. # RefSupplier=Ref. supplier # RefPayment=Ref. payment -# CommercialProposalsShort=Commercial proposals +CommercialProposalsShort=Poslovni prijedlozi # Comment=Comment # Comments=Comments # ActionsToDo=Events to do @@ -572,7 +572,7 @@ SeparatorThousand=None # TotalMan=Total # NeverReceived=Never received # Canceled=Canceled -# YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu setup - dictionnary +# YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu setup - dictionary # Color=Color # Documents=Linked files # DocumentsNb=Linked files (%s) diff --git a/htdocs/langs/bs_BA/opensurvey.lang b/htdocs/langs/bs_BA/opensurvey.lang index fec34d9dbe6..1fbafbdb317 100644 --- a/htdocs/langs/bs_BA/opensurvey.lang +++ b/htdocs/langs/bs_BA/opensurvey.lang @@ -35,6 +35,7 @@ # TitleChoice=Choice label # ExportSpreadsheet=Export result spreadsheet # ExpireDate=Limit date +# NbOfSurveys=Number of surveys # NbOfVoters=Nb of voters # SurveyResults=Results # PollAdminDesc=You are allowed to change all vote lines of this poll with button "Edit". You can, as well, remove a column or a line with %s. You can also add a new column with %s. diff --git a/htdocs/langs/bs_BA/orders.lang b/htdocs/langs/bs_BA/orders.lang index 6bbef48cfc9..42444f0ec1c 100644 --- a/htdocs/langs/bs_BA/orders.lang +++ b/htdocs/langs/bs_BA/orders.lang @@ -55,6 +55,7 @@ # MenuOrdersToBill=Orders delivered # MenuOrdersToBill2=Orders to bill # SearchOrder=Search order +# SearchACustomerOrder=Search a customer order # ShipProduct=Ship product # Discount=Discount # CreateOrder=Create Order @@ -164,3 +165,4 @@ # OrderCreated=Your orders have been created # OrderFail=An error happened during your orders creation # CreateOrders=Create orders +# ToBillSeveralOrderSelectCustomer=To create an invoice for several orders, click first onto customer, then choose "%s". diff --git a/htdocs/langs/bs_BA/oscommerce.lang b/htdocs/langs/bs_BA/oscommerce.lang index 42a4a4551b6..e7532487d48 100644 --- a/htdocs/langs/bs_BA/oscommerce.lang +++ b/htdocs/langs/bs_BA/oscommerce.lang @@ -1,8 +1,8 @@ # Dolibarr language file - Source file is en_US - oscommerce -# OSCommerce=OS Commerce -# OSCommerceSetup=OS Commerce module setup -# OSCommerceSetupSaved=OS Commerce setup saved -# OSCommerceServer=OS Commerce server host/ip -# OSCommerceDatabaseName=OS Commerce database name -# OSCommercePrefix=OS Commerce tables prefix -# OSCommerceUser=OS Commerce database login +OSCommerce=OS Commerce +OSCommerceSetup=OS Commerce podešavanje modula +OSCommerceSetupSaved=OS Commerce postavke snimljene +OSCommerceServer=OS Commerce server host / IP +OSCommerceDatabaseName=OS Commerce ime baze podataka +OSCommercePrefix=OS Commerce prefiks tabela +OSCommerceUser=OS Commerce login baze podataka diff --git a/htdocs/langs/bs_BA/other.lang b/htdocs/langs/bs_BA/other.lang index 3ff4e868d22..1597fb25d24 100644 --- a/htdocs/langs/bs_BA/other.lang +++ b/htdocs/langs/bs_BA/other.lang @@ -49,14 +49,15 @@ # NbOfActiveNotifications=Number of notifications # PredefinedMailTest=This is a test mail.\nThe two lines are separated by a carriage return.\n\n__SIGNATURE__ # PredefinedMailTestHtml=This is a test mail (the word test must be in bold).
The two lines are separated by a carriage return.

__SIGNATURE__ -# PredefinedMailContentSendInvoice=__CONTACTCIVNAME__ \n\n You will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__ \n\n We would like to warn you that the invoice __FACREF__ seems to not being payed. So this is the invoice in attachment again, as a reminder.\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendProposal=__CONTACTCIVNAME__ \n\n You will find here the commercial proposal __PROPREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendOrder=__CONTACTCIVNAME__ \n\n You will find here the order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__ \n\n You will find here our order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__ \n\n You will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendShipping=__CONTACTCIVNAME__ \n\n You will find here the shipping __SHIPPINGREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendFichInter=__CONTACTCIVNAME__ \n\n You will find here the intervention __FICHINTERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__\n\nWe would like to warn you that the invoice __FACREF__ seems to not being payed. So this is the invoice in attachment again, as a reminder.\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendProposal=__CONTACTCIVNAME__\n\nYou will find here the commercial proposal __PROPREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendOrder=__CONTACTCIVNAME__\n\nYou will find here the order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__\n\nYou will find here our order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendShipping=__CONTACTCIVNAME__\n\nYou will find here the shipping __SHIPPINGREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendFichInter=__CONTACTCIVNAME__\n\nYou will find here the intervention __FICHINTERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentThirdparty=__CONTACTCIVNAME__\n\n__PERSONALIZED__\n\n__SIGNATURE__ # DemoDesc=Dolibarr is a compact ERP/CRM composed by several functional modules. A demo that includes all modules does not mean anything as this never occurs. So, several demo profiles are available. # ChooseYourDemoProfil=Choose the demo profile that match your activity... # DemoFundation=Manage members of a foundation diff --git a/htdocs/langs/bs_BA/products.lang b/htdocs/langs/bs_BA/products.lang index 9f75dab9917..d91deb78816 100644 --- a/htdocs/langs/bs_BA/products.lang +++ b/htdocs/langs/bs_BA/products.lang @@ -13,6 +13,10 @@ # NewService=New service # ProductCode=Product code # ServiceCode=Service code +# ProductVatMassChange=Mass VAT change +# ProductVatMassChangeDesc=This page can be used to modify a VAT rate defined on products or services from a value to another. Warning, this change is done on all database. +# MassBarcodeInit=Mass barcode init +# MassBarcodeInitDesc=This page can be used to initialize a barcode on objects that does not have barcode defined. Check before that setup of module barcode is complete. # ProductAccountancyBuyCode=Accountancy code (buy) # ProductAccountancySellCode=Accountancy code (sell) # ProductOrService=Product or Service @@ -173,8 +177,8 @@ # CountryOrigin=Origin country # HiddenIntoCombo=Hidden into select lists # Nature=Nature -# ProductCodeModel=Product code template -# ServiceCodeModel=Service code template +# ProductCodeModel=Product ref template +# ServiceCodeModel=Service ref template # AddThisProductCard=Create product card # HelpAddThisProductCard=This option allows you to create or clone a product if it does not exist. # AddThisServiceCard=Create service card @@ -216,5 +220,10 @@ # DefinitionOfBarCodeForThirdpartyNotComplete=Definition of type or value of bar code non complete for thirdparty %s. # BarCodeDataForProduct=Barcode information of product %s : # BarCodeDataForThirdparty=Barcode information of thirdparty %s : -# BarcodeStickersMask=xxx - +# ResetBarcodeForAllRecords=Define barcode value for all records (this will also reset barcode value already defined with new values) +# PriceByCustomer=Price by customer +# PriceCatalogue=Catalogue Price +# PricingRule=Pricing Rules +# AddCustomerPrice=Add price by customers +# ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +# PriceByCustomerLog=Price by customer log diff --git a/htdocs/langs/bs_BA/projects.lang b/htdocs/langs/bs_BA/projects.lang index f2c0c2b86c6..ee44a74c07a 100644 --- a/htdocs/langs/bs_BA/projects.lang +++ b/htdocs/langs/bs_BA/projects.lang @@ -1,95 +1,104 @@ # Dolibarr language file - Source file is en_US - projects -# Project=Project -# Projects=Projects -# SharedProject=Everybody -# PrivateProject=Contacts of project -# MyProjectsDesc=This view is limited to projects you are a contact for (whatever is the type). -# ProjectsPublicDesc=This view presents all projects you are allowed to read. -# ProjectsDesc=This view presents all projects (your user permissions grant you permission to view everything). -# MyTasksDesc=This view is limited to projects or tasks you are a contact for (whatever is the type). -# TasksPublicDesc=This view presents all projects and tasks you are allowed to read. -# TasksDesc=This view presents all projects and tasks (your user permissions grant you permission to view everything). -# Myprojects=My projects -# ProjectsArea=Projects area -# NewProject=New project -# AddProject=Add project -# DeleteAProject=Delete a project -# DeleteATask=Delete a task -# ConfirmDeleteAProject=Are you sure you want to delete this project ? -# ConfirmDeleteATask=Are you sure you want to delete this task ? -# OfficerProject=Officer project -# LastProjects=Last %s projects -# AllProjects=All projects -# ProjectsList=List of projects -# ShowProject=Show project -# SetProject=Set project -# NoProject=No project defined or owned -# NbOpenTasks=Nb of opened tasks -# NbOfProjects=Nb of projects -# TimeSpent=Time spent -# TimesSpent=Time spent -# RefTask=Ref. task -# LabelTask=Label task -# NewTimeSpent=New time spent -# MyTimeSpent=My time spent -# MyTasks=My tasks -# Tasks=Tasks -# Task=Task -# NewTask=New task -# AddTask=Add task -# AddDuration=Add duration -# Activity=Activity -# Activities=Tasks/activities -# MyActivity=My activity -# MyActivities=My tasks/activities -# MyProjects=My projects -# DurationEffective=Effective duration -# Progress=Progress +# RefProject=Ref. project +# ProjectId=Project Id +Project=Projekt +Projects=Projekti +SharedProject=Zajednički projekti +PrivateProject=Kontakti za projekte +MyProjectsDesc=Ovaj pregled je limitiran na projekte u kojima ste stavljeni kao kontakt (bilo koji tip). +ProjectsPublicDesc=Ovaj pregled predstavlja sve projekte koje možete čitati. +ProjectsDesc=Ovaj pregled predstavlja sve projekte (postavke vaših korisničkih dozvola vam omogućavaju da vidite sve). +MyTasksDesc=Ovaj pregled predstavlja sve projekte ili zadatke za koje ste kontakt (bilo koji tip). +TasksPublicDesc=Ovaj pregled predstavlja sve projekte ili zadatke koje možete čitati. +TasksDesc=Ovaj pregled predstavlja sve projekte i zadatke (postavke vaših korisničkih dozvola vam omogućavaju da vidite sve). +Myprojects=Moji projekti +ProjectsArea=Područje za projekte +NewProject=Novi projekat +AddProject=Dodaj projekat +DeleteAProject=Obisati projekat +DeleteATask=Obrisati zadatak +ConfirmDeleteAProject=Jeste li sigurni da želite obrisati ovaj projekt? +ConfirmDeleteATask=Jeste li sigurni da želite obrisati ovaj zadatak? +OfficerProject=Službenik projekta +LastProjects=Zadnjih %s projekata +AllProjects=Svi projekti +ProjectsList=Lista projekata +ShowProject=Prikaži projekt +SetProject=Postavi projekat +NoProject=Nema definisanog ili vlastitog projekta +NbOpenTasks=Broj otvorenih zadataka +NbOfProjects=Broj projekata +TimeSpent=Vrijeme provedeno +TimesSpent=Vrijeme provedeno +RefTask=Ref. zadatka +LabelTask=Oznaka zadatka +# TaskTimeSpent=Time spent on tasks +# TaskTimeUser=Task time user +# TaskTimeNote=Task time note +# TaskTimeDate=Task time date +NewTimeSpent=Nova provedeno vrijeme +MyTimeSpent=Moje provedeno vrijeme +MyTasks=Moji zadaci +Tasks=Zadaci +Task=Zadatak +# TaskDateStart=Task start date +# TaskDateEnd=Task end date +# TaskDescription=Task description +NewTask=Novi zadatak +AddTask=Dodaj zadatak +AddDuration=Dodaj trajanje +Activity=Aktivnost +Activities=Zadaci/aktivnosti +MyActivity=Moja aktivnost +MyActivities=Moji zadaci/aktivnosti +MyProjects=Moji projekti +DurationEffective=Efektivno trajanje +Progress=Napredak # ProgressDeclared=Declared progress # ProgressCalculated=Calculated progress -# Time=Time -# ListProposalsAssociatedProject=List of the commercial proposals associated with the project -# ListOrdersAssociatedProject=List of customer's orders associated with the project -# ListInvoicesAssociatedProject=List of customer's invoices associated with the project -# ListPredefinedInvoicesAssociatedProject=List of customer's predefined invoices associated with project -# ListSupplierOrdersAssociatedProject=List of supplier's orders associated with the project -# ListSupplierInvoicesAssociatedProject=List of supplier's invoices associated with the project -# ListContractAssociatedProject=List of contracts associated with the project -# ListFichinterAssociatedProject=List of interventions associated with the project -# ListTripAssociatedProject=List of trips and expenses associated with the project -# ListActionsAssociatedProject=List of events associated with the project -# ActivityOnProjectThisWeek=Activity on project this week -# ActivityOnProjectThisMonth=Activity on project this month -# ActivityOnProjectThisYear=Activity on project this year -# ChildOfTask=Child of project/task -# NotOwnerOfProject=Not owner of this private project -# AffectedTo=Allocated to -# CantRemoveProject=This project can't be removed as it is referenced by some other objects (invoice, orders or other). See referers tab. -# ValidateProject=Validate projet -# ConfirmValidateProject=Are you sure you want to validate this project ? -# CloseAProject=Close project -# ConfirmCloseAProject=Are you sure you want to close this project ? -# ReOpenAProject=Open project -# ConfirmReOpenAProject=Are you sure you want to re-open this project ? -# ProjectContact=Project contacts -# ActionsOnProject=Events on project -# YouAreNotContactOfProject=You are not a contact of this private project -# DeleteATimeSpent=Delete time spent -# ConfirmDeleteATimeSpent=Are you sure you want to delete this time spent ? -# DoNotShowMyTasksOnly=See also tasks not allocated to me -# ShowMyTasksOnly=View only tasks allocated to me -# TaskRessourceLinks=Ressources -# ProjectsDedicatedToThisThirdParty=Projects dedicated to this third party -# NoTasks=No tasks for this project -# LinkedToAnotherCompany=Linked to other third party -# TaskIsNotAffectedToYou=Task not allocated to you -# ErrorTimeSpentIsEmpty=Time spent is empty -# ThisWillAlsoRemoveTasks=This action will also delete all tasks of project (%s tasks at the moment) and all inputs of time spent. -# IfNeedToUseOhterObjectKeepEmpty=If some objects (invoice, order, ...), belonging to another third party, must be linked to the project to create, keep this empty to have the project being multi third parties. -# CloneProject=Clone project -# CloneTasks=Clone tasks -# CloneContacts=Clone contacts -# CloneNotes=Clone notes +Time=Vrijeme +ListProposalsAssociatedProject=Lista poslovnih prijedloga u vezi s projektom +ListOrdersAssociatedProject=Lista narudžbi kupca u vezi s projektom +ListInvoicesAssociatedProject=Lista faktura kupca u vezi s projektom +ListPredefinedInvoicesAssociatedProject=Lista predefinisanih faktura kupca u vezi s projektom +ListSupplierOrdersAssociatedProject=Lista narudžbi dobavljača u vezi s projektom +ListSupplierInvoicesAssociatedProject=Lista faktura dobavljača u vezi s projektom +ListContractAssociatedProject=Lista ugovora u vezi s projektom +ListFichinterAssociatedProject=Lista intervencija u vezi s projektom +ListTripAssociatedProject=Lista putovanja i troškove u vezi s projektom +ListActionsAssociatedProject=Lista događaja u vezi s projektom +ActivityOnProjectThisWeek=Aktivnost na projektu ove sedmice +ActivityOnProjectThisMonth=Aktivnost na projektu ovog mjeseca +ActivityOnProjectThisYear=Aktivnost na projektu ove godine +ChildOfTask=Dijete projekta/zadatka +NotOwnerOfProject=Niste vlasnik ovog privatnog projekta +AffectedTo=Dodijeljeno +CantRemoveProject=Ovaj projekat se ne može ukloniti jer je u vezi sa nekim drugim objektom (faktura, narudžba i ostalo). Pogledajte tab sa odnosima. +ValidateProject=Potvrdi projekat +ConfirmValidateProject=Jeste li sigurni da želite potvrditi ovaj projekat? +CloseAProject=Zatvori projekta +ConfirmCloseAProject=Jeste li sigurni da želite zatvoriti ovaj projekt? +ReOpenAProject=Otvori projekat +ConfirmReOpenAProject=Jeste li sigurni da želite ponovo otvariti ovaj projekat? +ProjectContact=Kontakti projekta +ActionsOnProject=Događaji na projektu +YouAreNotContactOfProject=Vi niste kontakt ovog privatnog projekta +DeleteATimeSpent=Brisanje provedenog vremena +ConfirmDeleteATimeSpent=Jeste li sigurni da želite obrisati ovo provedeno vrijeme? +DoNotShowMyTasksOnly=Vidi i zadatke koji nisu dodijeljeni meni +ShowMyTasksOnly=Pogledaj samo zadake dodijeljene meni +TaskRessourceLinks=Izvori +ProjectsDedicatedToThisThirdParty=Projekti posvećeni ovom subjektu +NoTasks=Nema zadataka za ovaj projekat +LinkedToAnotherCompany=U vezi sa drugim subjektom +TaskIsNotAffectedToYou=Zadaci koji nisu dodjeljeni meni +ErrorTimeSpentIsEmpty=Vrijeme provedeno je prazno +ThisWillAlsoRemoveTasks=Ova akcija će također izbrisati sve zadatke projekta (%s zadataka u ovom trenutku) i sve unose provedenog vremena. +IfNeedToUseOhterObjectKeepEmpty=Ako neki objekti (faktura, narudžbe, ...), pripadaju drugom subjektu, mora biti u vezi sa projektom za kreiranje, ostavite ovo prazno da bi imali projekat što više subjekata. +CloneProject=Kloniraj projekat +CloneTasks=Kloniraj zadatke +CloneContacts=Kloniraj kontakte +CloneNotes=Kloniraj zabilješke # CloneProjectFiles=Clone project joined files # CloneTaskFiles=Clone task(s) joined files (if task(s) cloned) # ConfirmCloneProject=Are you sure to clone this project ? @@ -100,12 +109,12 @@ ##### Types de contacts ##### # TypeContact_project_internal_PROJECTLEADER=Project leader # TypeContact_project_external_PROJECTLEADER=Project leader -# TypeContact_project_internal_CONTRIBUTOR=Contributor -# TypeContact_project_external_CONTRIBUTOR=Contributor +# TypeContact_project_internal_PROJECTCONTRIBUTOR=Contributor +# TypeContact_project_external_PROJECTCONTRIBUTOR=Contributor # TypeContact_project_task_internal_TASKEXECUTIVE=Task executive # TypeContact_project_task_external_TASKEXECUTIVE=Task executive -# TypeContact_project_task_internal_CONTRIBUTOR=Contributor -# TypeContact_project_task_external_CONTRIBUTOR=Contributor +# TypeContact_project_task_internal_TASKCONTRIBUTOR=Contributor +# TypeContact_project_task_external_TASKCONTRIBUTOR=Contributor # SelectElement=Select element # AddElement=Link to element # Documents models diff --git a/htdocs/langs/bs_BA/propal.lang b/htdocs/langs/bs_BA/propal.lang index d17bc952b7d..36068d27014 100644 --- a/htdocs/langs/bs_BA/propal.lang +++ b/htdocs/langs/bs_BA/propal.lang @@ -1,34 +1,34 @@ # Dolibarr language file - Source file is en_US - propal -# Proposals=Commercial proposals -# Proposal=Commercial proposal -# ProposalShort=Proposal -# ProposalsDraft=Draft commercial proposals -# ProposalDraft=Draft commercial proposal -# ProposalsOpened=Opened commercial proposals -# Prop=Commercial proposals -# CommercialProposal=Commercial proposal -# CommercialProposals=Commercial proposals -# ProposalCard=Proposal card -# NewProp=New commercial proposal -# NewProposal=New commercial proposal -# NewPropal=New proposal -# Prospect=Prospect -# ProspectList=Prospect list -# DeleteProp=Delete commercial proposal -# ValidateProp=Validate commercial proposal -# AddProp=Add proposal -# ConfirmDeleteProp=Are you sure you want to delete this commercial proposal ? -# ConfirmValidateProp=Are you sure you want to validate this commercial proposal under name %s ? -# LastPropals=Last %s proposals -# LastClosedProposals=Last %s closed proposals -# LastModifiedProposals=Last %s modified proposals -# AllPropals=All proposals -# LastProposals=Last proposals -# SearchAProposal=Search a proposal -# ProposalsStatistics=Commercial proposal's statistics -# NumberOfProposalsByMonth=Number by month +Proposals=Poslovni prijedlozi +Proposal=Poslovni prijedlog +ProposalShort=Prijedlog +ProposalsDraft=Nacrti poslovnih prijedloga +ProposalDraft=Nacrt poslovnog prijedloga +ProposalsOpened=Otvoreni poslovni prijedlozi +Prop=Poslovni prijedlozi +CommercialProposal=Poslovni prijedlog +CommercialProposals=Poslovni prijedlozi +ProposalCard=Kartica prijedloga +NewProp=Novi poslovni prijedlozi +NewProposal=Novi poslovni prijedlog +NewPropal=Novi prijedlog +Prospect=Mogući klijent +ProspectList=Lista mogućih klijenata +DeleteProp=Obrši poslovni prijedlog +ValidateProp=Potbrdi poslovni prijedlog +AddProp=Dodaj prijedlog +ConfirmDeleteProp=Jeste li sigurni da želite obrisati ovaj poslovni prijedlog? +ConfirmValidateProp=Jeste li sigurni da želite potvrditi ovaj poslovni prijedlog pod nazivom %s ? +LastPropals=Zadnjih %s prijedloga +LastClosedProposals=Zadnjih %s zatvorenih prijedloga +LastModifiedProposals=Lista %s izmijenjenih prijedloga +AllPropals=Svi prijedlozi +LastProposals=Zadnji prijedlozi +SearchAProposal=Traži prijedlog +ProposalsStatistics=Statistika poslovnog prijedloga +NumberOfProposalsByMonth=Broj po mjesecu # AmountOfProposalsByMonthHT=Amount by month (net of tax) -# NbOfProposals=Number of commercial proposals +NbOfProposals=Broj poslovnih prijedloga # ShowPropal=Show proposal # PropalsDraft=Drafts # PropalsOpened=Opened @@ -47,14 +47,14 @@ # PropalStatusSignedShort=Signed # PropalStatusNotSignedShort=Not signed # PropalStatusBilledShort=Billed -# PropalsToClose=Commercial proposals to close -# PropalsToBill=Signed commercial proposals to bill -# ListOfProposals=List of commercial proposals +PropalsToClose=Poslovni prijedlozi za zatvaranje +PropalsToBill=Potpisani poslovni prijedlozi za fakturisanje +ListOfProposals=Lista poslovnih prijedloga # ActionsOnPropal=Events on proposal -# NoOpenedPropals=No opened commercial proposals -# NoOtherOpenedPropals=No other opened commercial proposals -# RefProposal=Commercial proposal ref -# SendPropalByMail=Send commercial proposal by mail +NoOpenedPropals=Nema otvorenih poslovnih prijedloga +NoOtherOpenedPropals=Nema drugih otvorenih poslovnih prijedloga +RefProposal=Ref poslovnog prijedloga +SendPropalByMail=Pošalji poslovni prijedlog e-mailom # FileNotUploaded=The file was not uploaded # FileUploaded=The file was successfully uploaded # AssociatedDocuments=Documents associated with the proposal: @@ -72,7 +72,7 @@ # OtherPropals=Other proposals # AddToDraftProposals=Add to draft proposal # NoDraftProposals=No draft proposals -# CopyPropalFrom=Create commercial proposal by copying existing proposal +CopyPropalFrom=Kreiraj poslovni prijedlog kopiranje postojećeg prijedloga # CreateEmptyPropal=Create empty commercial proposals vierge or from list of products/services # DefaultProposalDurationValidity=Default commercial proposal validity duration (in days) # UseCustomerContactAsPropalRecipientIfExist=Use customer contact address if defined instead of third party address as proposal recipient address diff --git a/htdocs/langs/bs_BA/sms.lang b/htdocs/langs/bs_BA/sms.lang index 0ec0e61a588..8ce2fa8db8a 100644 --- a/htdocs/langs/bs_BA/sms.lang +++ b/htdocs/langs/bs_BA/sms.lang @@ -1,53 +1,53 @@ # Dolibarr language file - Source file is en_US - sms -# Sms=Sms -# SmsSetup=Sms setup -# SmsDesc=This page allows you to define globals options on SMS features -# SmsCard=SMS Card -# AllSms=All SMS campains -# SmsTargets=Targets -# SmsRecipients=Targets -# SmsRecipient=Target -# SmsTitle=Description -# SmsFrom=Sender -# SmsTo=Target -# SmsTopic=Topic of SMS -# SmsText=Message -# SmsMessage=SMS Message -# ShowSms=Show Sms -# ListOfSms=List SMS campains -# NewSms=New SMS campain -# EditSms=Edit Sms -# ResetSms=New sending -# DeleteSms=Delete Sms campain -# DeleteASms=Remove a Sms campain -# PreviewSms=Previuw Sms -# PrepareSms=Prepare Sms -# CreateSms=Create Sms -# SmsResult=Result of Sms sending -# TestSms=Test Sms -# ValidSms=Validate Sms -# ApproveSms=Approve Sms -# SmsStatusDraft=Draft -# SmsStatusValidated=Validated -# SmsStatusApproved=Approved -# SmsStatusSent=Sent -# SmsStatusSentPartialy=Sent partially -# SmsStatusSentCompletely=Sent completely -# SmsStatusError=Error -# SmsStatusNotSent=Not sent -# SmsSuccessfulySent=Sms correctly sent (from %s to %s) -# ErrorSmsRecipientIsEmpty=Number of target is empty -# WarningNoSmsAdded=No new phone number to add to target list -# ConfirmValidSms=Do you confirm validation of this campain ? -# ConfirmResetMailing=Warning, if you make a reinit of Sms campain %s, you will allow to make a mass sending of it a second time. Is it really what you wan to do ? -# ConfirmDeleteMailing=Do you confirm removing of campain ? -# NbOfRecipients=Number of targets -# NbOfUniqueSms=Nb dof unique phone numbers -# NbOfSms=Nbre of phon numbers -# ThisIsATestMessage=This is a test message -# SendSms=Send SMS -# SmsInfoCharRemain=Nb of remaining characters -# SmsInfoNumero= (format international ie : +33899701761) -# DelayBeforeSending=Delay before sending (minutes) -# SmsNoPossibleRecipientFound=No target available. Check setup of your SMS provider. +Sms=SMS +SmsSetup=Postavke SMS +SmsDesc=Ova stranica omogućava deinisanje globalnih opcija za SMS +SmsCard=Kartica SMS-a +AllSms=Sve SMS kampanje +SmsTargets=Ciljevi +SmsRecipients=Primaoci +SmsRecipient=Primalac +SmsTitle=Opis +SmsFrom=Od +SmsTo=Za +SmsTopic=Tema SMS-a +SmsText=Poruka +SmsMessage=SMS poruka +ShowSms=Prikaži SMS +ListOfSms=Lista SMS kampanja +NewSms=Nova SMS kampanja +EditSms=Uredi SMS +ResetSms=Novo slanje +DeleteSms=Obriši SMS kampanju +DeleteASms=Ukloni SMS kampanju +PreviewSms=Pregledaj SMS +PrepareSms=Pripremi SMS +CreateSms=Kreiraj SMS +SmsResult=Rezultat slanja SMS-ova +TestSms=Testiraj SMS +ValidSms=Potvrdi SMS +ApproveSms=Odobri SMS +SmsStatusDraft=Nacrt +SmsStatusValidated=Potvrđeno +SmsStatusApproved=Odobreno +SmsStatusSent=Poslano +SmsStatusSentPartialy=Poslano polovično +SmsStatusSentCompletely=Poslano potpuno +SmsStatusError=Greška +SmsStatusNotSent=Nije poslano +SmsSuccessfulySent=SMS uspješno poslan (od %s za %s) +ErrorSmsRecipientIsEmpty=Broj primaoca je prazan +WarningNoSmsAdded=Nema novih telefonskih brojeva za dodavanje na listu primaoca +ConfirmValidSms=Da li želite potvrditi ovu kampanju? +ConfirmResetMailing=Upozorenje, ako ponovo pokrenete SMS kampanju %s, dozvolit ćete masovno slanje po drugi put. Da li je ovo ono sto zaista želite? +ConfirmDeleteMailing=Da li želite ukloniti ovu kampanju? +NbOfRecipients=Broj primaoca +NbOfUniqueSms=Broj jedinstvenih brojeva telefona +NbOfSms=Broj telefonskih brojeva +ThisIsATestMessage=Ovo je testna poruka +SendSms=Pošalji SMS +SmsInfoCharRemain=Broj preostalih karaktera +SmsInfoNumero= (međunarodni format: +33899701761) +DelayBeforeSending=Sačekaj prije slanja (minute) +SmsNoPossibleRecipientFound=Nema dostupnih primaoca. Provjerite postavke vašeg SMS provajdera. diff --git a/htdocs/langs/bs_BA/stocks.lang b/htdocs/langs/bs_BA/stocks.lang index effe3045fed..ae44b5217ca 100644 --- a/htdocs/langs/bs_BA/stocks.lang +++ b/htdocs/langs/bs_BA/stocks.lang @@ -26,17 +26,17 @@ ListOfStockMovements=Lista kretanja zaliha StocksArea=Dio za zalihe Location=Lokacija LocationSummary=Skraćeni naziv lokacije -# NumberOfDifferentProducts=Number of different products +NumberOfDifferentProducts=Broj različitih proizvoda NumberOfProducts=Ukupan broj proizvoda LastMovement=Zadnje kretanje LastMovements=Zadnja kretanja Units=Jedinice Unit=Jedinica StockCorrection=Ispravi zalihu -# StockTransfer=Stock transfer +StockTransfer=Transfer zalihe StockMovement=Transfer StockMovements=Transfer zaliha -# LabelMovement=Movement label +LabelMovement=Oznaka za kretanje NumberOfUnit=Broj jedinica UnitPurchaseValue=Kupovna cijena jedinice TotalStock=Ukupno u zalihi @@ -49,65 +49,71 @@ EnhancedValueOfWarehouses=Skladišna vrijednost UserWarehouseAutoCreate=Kreiraj skladište automatski prilikom kreiranja korisnika QtyDispatched=Otpremljena količina OrderDispatch=Otpremanje zaliha -# RuleForStockManagementDecrease=Rule for stock management decrease -# RuleForStockManagementIncrease=Rule for stock management increase +RuleForStockManagementDecrease=Pravilo za upravljanje smanjenja zaliha +RuleForStockManagementIncrease=Pravilo za upravljanje povećanja zaliha # DeStockOnBill=Decrease real stocks on customers invoices/credit notes validation -# DeStockOnValidateOrder=Decrease real stocks on customers orders validation -# DeStockOnShipment=Decrease real stocks on shipment validation +DeStockOnValidateOrder=Smanji stvarne zalihe nakon potvrđivanja narudžbe kupca +DeStockOnShipment=Smanji stvarne zalije na potvrđivanju pošiljke # ReStockOnBill=Increase real stocks on suppliers invoices/credit notes validation -# ReStockOnValidateOrder=Increase real stocks on suppliers orders approbation -# ReStockOnDispatchOrder=Increase real stocks on manual dispatching into warehouses, after supplier order receiving -# ReStockOnDeleteInvoice=Increase real stocks on invoice deletion -# OrderStatusNotReadyToDispatch=Order has not yet or no more a status that allows dispatching of products in stock warehouses. -# StockDiffPhysicTeoric=Reason for difference stock physical and theoretical -# NoPredefinedProductToDispatch=No predefined products for this object. So no dispatching in stock is required. -# DispatchVerb=Dispatch -# StockLimitShort=Limit -# StockLimit=Stock limit for alerts -# PhysicalStock=Physical stock -# RealStock=Real Stock -# VirtualStock=Virtual stock -# MininumStock=Minimum stock -# StockUp=Stock up -# MininumStockShort=Stock min -# StockUpShort=Stock up -# IdWarehouse=Id warehouse -# DescWareHouse=Description warehouse -# LieuWareHouse=Localisation warehouse -# WarehousesAndProducts=Warehouses and products -# AverageUnitPricePMPShort=Weighted average input price -# AverageUnitPricePMP=Weighted average input price -# SellPriceMin=Selling Unit Price -# EstimatedStockValueSellShort=Value to sell -# EstimatedStockValueSell=Value to Sell -# EstimatedStockValueShort=Input stock value -# EstimatedStockValue=Input stock value -# DeleteAWarehouse=Delete a warehouse -# ConfirmDeleteWarehouse=Are you sure you want to delete the warehouse %s ? -# PersonalStock=Personal stock %s -# ThisWarehouseIsPersonalStock=This warehouse represents personal stock of %s %s -# SelectWarehouseForStockDecrease=Choose warehouse to use for stock decrease -# SelectWarehouseForStockIncrease=Choose warehouse to use for stock increase -# NoStockAction=No stock action -# LastWaitingSupplierOrders=Orders waiting for receptions -# DesiredStock=Desired stock -# StockToBuy=To order -# Replenishment=Replenishment -# ReplenishmentOrders=Replenishment orders -# UseVirtualStock=Use virtual stock instead of physical stock -# RuleForStockReplenishment=Rule for stocks replenishment -# SelectProductWithNotNullQty=Select at least one product with a qty not null and a supplier -# AlertOnly= Alerts only -# WarehouseForStockDecrease=The warehouse %s will be used for stock decrease -# WarehouseForStockIncrease=The warehouse %s will be used for stock increase -# ForThisWarehouse=For this warehouse -# ReplenishmentStatusDesc=This is list of all product with a physical stock lower than desired stock (or alert value if checkbox "alert only" is checked) and suggest you to create supplier orders to fill the difference. -# ReplenishmentOrdersDesc=This is list of all opened supplier orders -# Replenishments=Replenishments -# NbOfProductBeforePeriod=Quantity of product %s in stock before selected period (< %s) -# NbOfProductAfterPeriod=Quantity of product %s in stock after selected period (> %s) -# MassStockMovement=Mass stock movement -# SelectProductInAndOutWareHouse=Select a product, a quantity, a source warehouse and a target warehouse, then click "%s". Once this is done for all required movements, click onto "%s". -# RecordMovement=Record transfert -# ReceivingForSameOrder=Receivings for this order -# StockMovementRecorded=Stock movements recorded +ReStockOnValidateOrder=Povećaj stvarne zalihe na odobrenju narudžbe dobavljaču +ReStockOnDispatchOrder=Povećaj stvarne zalihe na ručnom otpremanju u skladište, nakon primanja narudžbe dobavljača +ReStockOnDeleteInvoice=Povećaj stvarne zalihe nakon brisanja fakture +OrderStatusNotReadyToDispatch=Narudžna jos uvijek nema ili nema više status koji dozvoljava otpremanje proizvoda u zalihu skladišta +StockDiffPhysicTeoric=Razlog za razliku fizičke i teoretske zalihe +NoPredefinedProductToDispatch=Nema predefinisanih proizvoda za ovaj objekat. Dakle, nema potrebe za otpremanje na zalihu. +DispatchVerb=Otpremiti +StockLimitShort=Ograničenje +StockLimit=Granica zalihe za upozorenje +PhysicalStock=Fizička zaliha +RealStock=Stvarna zaliha +VirtualStock=Viruelna zaliha +MininumStock=Minimalna zaliha +StockUp=Rast zalihe +MininumStockShort=Min zalihe +StockUpShort=Rast zalihe +IdWarehouse=ID skladišta +DescWareHouse=Opis skladišta +LieuWareHouse=Lokalizacija skladišta +WarehousesAndProducts=Skladišta i proizvodi +AverageUnitPricePMPShort=Ponderirani prosjek ulazne cijene +AverageUnitPricePMP=Ponderirani prosjek ulazne cijene +SellPriceMin=Prodajna cijena jedinice +EstimatedStockValueSellShort=Prodajna vrijednost +EstimatedStockValueSell=Prodajna vrijednost +EstimatedStockValueShort=Procijenjena vrijednost zaliha +EstimatedStockValue=Procijenjena vrijednost zaliha +DeleteAWarehouse=Obrisati skladište +ConfirmDeleteWarehouse=Jeste li sigurni da želite obrisati skladište %s ? +PersonalStock=Lična zaliha %s +ThisWarehouseIsPersonalStock=Ovo skladište predstavlja ličnu zalihu od %s %s +SelectWarehouseForStockDecrease=Odaberi skladište za smanjenje zalihe +SelectWarehouseForStockIncrease=Odaberi skladište za povećanje zalihe +NoStockAction=Nema akcija zaliha +LastWaitingSupplierOrders=Narudžbe na čekanju za prijem +DesiredStock=Željena zaliha +StockToBuy=Za narudžbu +Replenishment=Nadopuna +ReplenishmentOrders=Narudžne za nadopunu +# VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differs +# UseVirtualStockByDefault=Use virtual stock by default, instead of physical stock, for replenishment feature +# UseVirtualStock=Use virtual stock +# UsePhysicalStock=Use physical stock +# CurentSelectionMode=Curent selection mode +# CurentlyUsingVirtualStock=Virtual stock +# CurentlyUsingPhysicalStock=Physical stock +RuleForStockReplenishment=Pravila za nadopunjenje zaliha +SelectProductWithNotNullQty=Odaberi bar jedan proizvod sa količinom većom od nule i dobavljača +AlertOnly= Samo uzbune +WarehouseForStockDecrease=Skladište %s će biti korišteno za smanjenje zalihe +WarehouseForStockIncrease=Skladište %s će biti korišteno za povećanje zalihe +ForThisWarehouse=Za ovo skladište +# ReplenishmentStatusDesc=This is list of all product with a stock lower than desired stock (or lower than alert value if checkbox "alert only" is checked), and suggest you to create supplier orders to fill the difference. +ReplenishmentOrdersDesc=Ovo je lista svih otvorenih narudžbi dobavljača +Replenishments=Nadopune +NbOfProductBeforePeriod=Količina proizvoda %s u zalihi prije odabranog perioda (%s) +NbOfProductAfterPeriod=Količina proizvoda %s u zalihi poslije odabranog perioda (> %s) +MassStockMovement=Masovno kretanje zalihe +SelectProductInAndOutWareHouse=Odaberite proizvod, kolilinu, izvordno skladište i ciljano skladište. zatim kliknite "%s". Kada je ovo završeno za sva potrebna kretanja, kliknite "%s". +RecordMovement=Zapiši transfer +ReceivingForSameOrder=Primanja za ovu narudžbu +StockMovementRecorded=Kretanja zalihe zapisana diff --git a/htdocs/langs/bs_BA/trips.lang b/htdocs/langs/bs_BA/trips.lang index 6f26b2c6340..03603515c43 100644 --- a/htdocs/langs/bs_BA/trips.lang +++ b/htdocs/langs/bs_BA/trips.lang @@ -11,7 +11,7 @@ NewTrip=Novo putovanje CompanyVisited=Posjeta kompaniji/fondaciji Kilometers=Kilometri FeesKilometersOrAmout=Iznos ili kilometri -DeleteTrip=Brisanje putovanja +DeleteTrip=Obriši putovanje ConfirmDeleteTrip=Jeste li sigurni da želite obrisati ovo putovanje? TF_OTHER=Ostalo TF_LUNCH=Ručak diff --git a/htdocs/langs/bs_BA/users.lang b/htdocs/langs/bs_BA/users.lang index e0491feec45..76bf45303c0 100644 --- a/htdocs/langs/bs_BA/users.lang +++ b/htdocs/langs/bs_BA/users.lang @@ -17,17 +17,17 @@ UserRights=Korisničke dozvole UserGUISetup=Postavke korisničkog prikaza DisableUser=Iskljući DisableAUser=Isključi korisnika -DeleteUser=Izbrisati -DeleteAUser=Brisanje korisnika +DeleteUser=Obrisati +DeleteAUser=Obrisati korisnika DisableGroup=Onemogućiti DisableAGroup=Isključi grupu EnableAUser=Uljuči korisnika EnableAGroup=Uključi grupe -DeleteGroup=Izbrisati -DeleteAGroup=Brisanje grupe +DeleteGroup=Obrisati +DeleteAGroup=Obrisati grupu ConfirmDisableUser=Jeste li sigurni da želite isključiti korisnika %s ? ConfirmDisableGroup=Jeste li sigurni da želite isključiti grupu %s ? -ConfirmDeleteUser=Jeste li sigurni da želite izbrisati korisnika %s ? +ConfirmDeleteUser=Jeste li sigurni da želite obrisati korisnika %s ? ConfirmDeleteGroup=Jeste li sigurni da želite obrisati grupu %s ? ConfirmEnableUser=Jeste li sigurni da želite uključiti korisnika %s ? ConfirmEnableGroup=Jeste li sigurni da želite uključiti grupu %s ? diff --git a/htdocs/langs/bs_BA/workflow.lang b/htdocs/langs/bs_BA/workflow.lang index 7c4ace0bfc6..a837eb3b7bf 100644 --- a/htdocs/langs/bs_BA/workflow.lang +++ b/htdocs/langs/bs_BA/workflow.lang @@ -2,8 +2,8 @@ WorkflowSetup=Postavke workflow modula WorkflowDesc=Ovaj modul je dizajniran za mijenjanje ponašanja automatskih akcija u aplikaciji. Po defaultu, workflow je otvoren (sami pravite redoslijed). Možete omogućiti automatske akcije za koje ste zainteresovani. ThereIsNoWorkflowToModify=Nema workflow-a koji možete mijenjati za modul koji ste aktivirali. -descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Kreiraj narudžbu za kupca automatski nakon potpisivanja trgovačkog prijedloga -descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Kreiraj fakturu kupca automatski nakon potpisivanja trgovačkog prijedloga +descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Kreiraj narudžbu za kupca automatski nakon potpisivanja poslovnog prijedloga +descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Kreiraj fakturu kupca automatski nakon potpisivanja poslovnog prijedloga descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=Kreiraj fakturu kupca automatski nakon potvrđivanja ugovora descWORKFLOW_ORDER_AUTOCREATE_INVOICE=Kreiraj fakturu za kupca automatski nakon zatvaranja narudžbe kupca descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Označiti povezani izvorni prijedlog kao naplaćen odmah nakon plaćanja narudžbe za kupca diff --git a/htdocs/langs/ca_ES/admin.lang b/htdocs/langs/ca_ES/admin.lang index 5d4c78d430b..e76e17fc070 100644 --- a/htdocs/langs/ca_ES/admin.lang +++ b/htdocs/langs/ca_ES/admin.lang @@ -287,7 +287,7 @@ CurrentVersion=Versió actual de Dolibarr CallUpdatePage=Trucar a la pàgina d'actualització de l'estructura i dades de la base de dades %s. LastStableVersion=Última versió estable disponible GenericMaskCodes=Podeu introduir qualsevol màscara numèrica. En aquesta màscara, pot utilitzar les següents etiquetes:
{000000} correspon a un número que s'incrementa en cadascun %s. Introduïu tants zeros com longuitud desitgi mostrar. El comptador es completarà a partir de zeros per l'esquerra per tal de tenir tants zeros com la màscara.
{000000+000}Igual que l'anterior, amb una compensació corresponent al número a la dreta del signe + s'aplica a partir del primer %s.
{000000@x}igual que l'anterior, però el comptador es restableix a zero quan s'arriba a x mesos (x entre 1 i 12). Si aquesta opció s'utilitza i x és de 2 o superior, llavors la seqüència {yy}{mm} ó {yyyy}{mm} també és necessària.
{dd} dies (01 a 31).
{mm} mes (01 a 12).
{yy} , {yyyy ó {y} any en 2, 4 ó 1 xifra.
-# GenericMaskCodes2={cccc} the client code
{cccc000} the client code on n characters is followed by a client's ref counter without offset and zeroized with the global counter.
{tttt} The code of company type on n characters (see dictionary-company types).
+# GenericMaskCodes2={cccc} the client code on n characters
{cccc000} the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.
{tttt} The code of company type on n characters (see dictionary-company types).
GenericMaskCodes3=Qualsevol altre caràcter a la màscara es quedarà sense canvis.
No es permeten espais
GenericMaskCodes4a=Exemple a la 99ª %s del tercer L'Empresa realitzada el 31/03/2007:
GenericMaskCodes4b=Exemple sobre un tercer creat el 31/03/2007:
@@ -345,8 +345,6 @@ SecurityTokenIsUnique=Fer servir un paràmetre securekey únic per a cada URL? EnterRefToBuildUrl=Introduïu la referència de l'objecte %s GetSecuredUrl=Obtenir la URL calculada ButtonHideUnauthorized=Amaga els botons d'accions no autoritzades en compte de mostrar-los atenuats -ProductVatMassChange=Modificar IVA en massa -ProductVatMassChangeDesc=Aquesta pàgina us permet canviar el tipus d'IVA definit en els productes o serveis d'un valor a un altre. Tingueu en compte que el canvi es fa en massa sobre tota la base de dades. OldVATRates=Taxa d'IVA antiga NewVATRates=Taxa d'IVA nova PriceBaseTypeToChange=Canviar el preu on la referència de base és @@ -381,6 +379,16 @@ KeepEmptyToUseDefault=Deixeu aquest camp buit per usar el valor per defecte DefaultLink=Enllaç per defecte ValueOverwrittenByUserSetup=Atenció: Aquest valor pot ser sobreescrit per un valor específic de la configuració de l'usuari (cada usuari pot tenir la seva pròpia url clicktodial) # ExternalModule=External module - Installed into directory %s +# BarcodeInitForThirdparties=Mass barcode init for thirdparties +# BarcodeInitForProductsOrServices=Mass barcode init or reset for products or services +# CurrentlyNWithoutBarCode=Currently, you have %s records on %s %s without barcode defined. +# InitEmptyBarCode=Init value for next %s empty records +# EraseAllCurrentBarCode=Erase all current barcode values +# ConfirmEraseAllCurrentBarCode=Are you sure you want to erase all current barcode values ? +# AllBarcodeReset=All barcode values have been removed +# NoBarcodeNumberingTemplateDefined=No numbering barcode template enabled into barcode module setup. +# NoRecordWithoutBarcodeDefined=No record with no barcode value defined. + # Modules Module0Name=Usuaris y grups @@ -510,6 +518,8 @@ Module59000Name=Márgenes Module59000Desc=Mòdul per gestionar els marges de benefici Module60000Name=Comissions Module60000Desc=Mòdul per gestionar les comissions +# Module150010Name=Batch number, eat-by date and sell-by date +# Module150010Desc=batch number, eat-by date and sell-by date management for product Permission11=Consultar factures Permission12=Crear/Modificar factures Permission13=Devalidar factures @@ -726,8 +736,8 @@ Permission50202=Importar les transaccions # Permission55002=Create/modify surveys # Permission59001=Read commercial margins # Permission59002=Define commercial margins -# DictionaryCompanyType=Company types -# DictionaryCompanyJuridicalType=Juridical kinds of company +# DictionaryCompanyType=Thirdparties type +# DictionaryCompanyJuridicalType=Juridical kinds of thirdparties # DictionaryProspectLevel=Prospect potential level # DictionaryCanton=State/Cantons # DictionaryRegion=Regions @@ -959,7 +969,7 @@ SimpleNumRefModelDesc=Retorna el nombre sota el format %syymm-nnnn on yy és l'a ShowProfIdInAddress=Mostrar l'identificador professional en les direccions dels documents ShowVATIntaInAddress=Amaga el identificador IVA en les direccions dels documents TranslationUncomplete=Traducció parcial -SomeTranslationAreUncomplete=Alguns idiomes estan traduïts en part o poden contenir errors. Si ho troba, pot corregir els arxius de text .lang del directori htdocs/langs i enviar-los al fòrum http://www.dolibarr.fr. +# SomeTranslationAreUncomplete=Some languages may be partially translated or may contains errors. If you detect some, you can fix language files registering to http://transifex.com/projects/p/dolibarr/. MenuUseLayout=Fer el menú esquerre ocultable (l'opció javascript no hauria de deshabilitar-se) MAIN_DISABLE_METEO=Deshabilitar la vista meteo TestLoginToAPI=Comprovar connexió a l'API @@ -985,6 +995,7 @@ ExtraFieldsProject=Atributs complementaris (projets) ExtraFieldsProjectTask=Atributs complementaris (tâches) ExtraFieldHasWrongValue=L'atribut %s te un valor incorrecte. AlphaNumOnlyCharsAndNoSpace=només carateres alfanumèrics sense espais +# AlphaNumOnlyLowerCharsAndNoSpace=only alphanumericals and lower case characters without space SendingMailSetup=Configuració de l'enviament per mail SendmailOptionNotComplete=Atenció, en alguns sistemes Linux, amb aquest mètode d'enviament, per poder enviar mails en nom seu, la configuració de sendmail ha de contenir l'opció -ba (paràmetre mail.force_extra_parameters a l'arxiu php.ini). Si alguns dels seus destinataris no reben els seus missatges, proveu de modificar aquest paràmetre PHP amb mail.force_extra_parameters =-ba . PathToDocuments=Rutes d'accés a documents @@ -1269,7 +1280,7 @@ PerfDolibarr=Configuració rendiment/informe d'optimització YouMayFindPerfAdviceHere=En aquesta pàgina trobareu diverses proves i consells relacionats amb el rendiment. NotInstalled=No instal·lat, de manera que el servidor no baixa de rendiment amb això. ApplicativeCache=Aplicació memòria cau -MemcachedNotAvailable=Cap aplicació cau disponible. Pot accelerar el rendiment de Dolibarr instal · lant un servidor de memòria cau Memcached i un mòdul de memòria cau d'aplicacions en aquest servidor. Més informació a la pàgina http://wiki.dolibarr.org/index.php/M%C3%B3dulo_MemCached. Tingueu en compte que molts servidors web de baix cost no ofereixen aquests servidors de memòria cau en la seva infraestructura. +# MemcachedNotAvailable=No applicative cache found. You can enhance performance by installing a cache server Memcached and a module able to use this cache server.
More information here http://wiki.dolibarr.org/index.php/Module_MemCached_EN.
Note that a lot of web hosting provider does not provide such cache server. OPCodeCache=OPCode memòria cau NoOPCodeCacheFound=No s'ha trobat cap opcode memòria cau. Pot ser que estigui utilitzant un altre opcode com XCache o eAccelerator (millor), o potser no tingui opcode memòria cau (pitjor). HTTPCacheStaticResources=Memòria cau HTTP per a estadístiques de recursos (css, img, javascript) diff --git a/htdocs/langs/ca_ES/agenda.lang b/htdocs/langs/ca_ES/agenda.lang index f0612d4abe2..4a11e44dcd5 100644 --- a/htdocs/langs/ca_ES/agenda.lang +++ b/htdocs/langs/ca_ES/agenda.lang @@ -52,7 +52,7 @@ InvoiceSentByEMail=Factura a client %s enviada per e-mail SupplierOrderSentByEMail=Comanda a proveïdor %s enviada per e-mail SupplierInvoiceSentByEMail=Factura de proveïdor %s enviada per e-mail ShippingSentByEMail=Expedició %s enviada per e-mail -ShippingValidated=Expedició %s validada +# ShippingValidated= Shipping %s validated InterventionSentByEMail=Intervenció %s enviada per e-mail NewCompanyToDolibarr= Tercer creat DateActionPlannedStart= Data d'inici prevista diff --git a/htdocs/langs/ca_ES/cashdesk.lang b/htdocs/langs/ca_ES/cashdesk.lang index 2da792f4fcb..999c610feaa 100644 --- a/htdocs/langs/ca_ES/cashdesk.lang +++ b/htdocs/langs/ca_ES/cashdesk.lang @@ -37,3 +37,4 @@ ShowCompany=Veure empresa ShowStock=Veure magatzem DeleteArticle=Feu clic per treure aquest article FilterRefOrLabelOrBC=Cerca (Ref/Etiq.) +# UserNeedPermissionToEditStockToUsePos=You ask to decrease stock on invoice creation, so user that use POS need to have permission to edit stock. diff --git a/htdocs/langs/ca_ES/errors.lang b/htdocs/langs/ca_ES/errors.lang index 9927303fb7d..842f71fa2a4 100644 --- a/htdocs/langs/ca_ES/errors.lang +++ b/htdocs/langs/ca_ES/errors.lang @@ -26,8 +26,11 @@ ErrorFromToAccountsMustDiffers=El compte origen i destinació han de ser diferen ErrorBadThirdPartyName=Nom de tercer incorrecte ErrorProdIdIsMandatory=El %s es obligatori ErrorBadCustomerCodeSyntax=La sintaxi del codi client és incorrecta +# ErrorBadBarCodeSyntax=Bad syntax for bar code ErrorCustomerCodeRequired=Codi client obligatori +# ErrorBarCodeRequired=Bar code required ErrorCustomerCodeAlreadyUsed=Codi de client ja utilitzat +# ErrorBarCodeAlreadyUsed=Bar code already used ErrorPrefixRequired=Prefix obligatori ErrorUrlNotValid=L'adreça del lloc web és incorrecta ErrorBadSupplierCodeSyntax=La sintaxi del codi proveïdor és incorrecta @@ -63,6 +66,7 @@ ErrorNoValueForCheckBoxType=Els valors de la llista han de ser indicats ErrorNoValueForRadioType=Els valors de la llista han de ser indicats ErrorBadFormatValueList=Els valors de la llista no peudo contenir més d'una coma: %s , però necessita una: clau, valors ErrorFieldCanNotContainSpecialCharacters=El camp %s no ha de contenir caràcters especials +# ErrorFieldCanNotContainSpecialNorUpperCharacters=Field %s must not contains special characters, nor upper case characters. ErrorNoAccountancyModuleLoaded=Mòdul de comptabilitat no activat # ErrorExportDuplicateProfil=This profile name already exists for this export set. ErrorLDAPSetupNotComplete=La configuració Dolibarr-LDAP és incompleta. diff --git a/htdocs/langs/ca_ES/exports.lang b/htdocs/langs/ca_ES/exports.lang index c96a3c916d2..7e0b8e242a6 100644 --- a/htdocs/langs/ca_ES/exports.lang +++ b/htdocs/langs/ca_ES/exports.lang @@ -123,6 +123,10 @@ BankCode=Codi banc DeskCode=Codi oficina BankAccountNumber=Número compte BankAccountNumberKey=Dígit Control +# SpecialCode=Special code +# ExportStringFilter=%% allows replacing one or more characters in the text +# ExportDateFilter='AAAA' 'AAAAMM' 'AAAAMMJJ': filters by one year/month/day
'AAAA+AAAA' 'AAAAMM+AAAAMM' 'AAAAMMJJ+AAAAMMJJ': filters over a range of years/months/days
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filters on the following years/months/days
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filters on the previous years/months/days +# ExportNumericFilter='NNNNN' filters by one value
'NNNNN+NNNNN' filters over a range of values
'>NNNNN' filters by lower values
'>NNNNN' filters by higher values ## filters SelectFilterFields=Si vol aplicar un filtre sobre alguns valors, introduïu-los aquí. FilterableFields=Camps filtrables diff --git a/htdocs/langs/ca_ES/mails.lang b/htdocs/langs/ca_ES/mails.lang index ee55c258981..fbf8cd8320f 100644 --- a/htdocs/langs/ca_ES/mails.lang +++ b/htdocs/langs/ca_ES/mails.lang @@ -79,6 +79,13 @@ MailtoEMail=mailto email (hyperlink) ActivateCheckRead=Activar confirmació de lectura i opció de Desubscripció ActivateCheckReadKey=Clau usada per xifrar la URL de la confirmació de lectura i la funció de desubscripció EMailSentToNRecipients=E-Mail enviat a %s destinataris. +# EachInvoiceWillBeAttachedToEmail=A document using default invoice document template will be created and attached to each email. +# MailTopicSendRemindUnpaidInvoices=Remind of invoice %s (%s) +# SendRemind=Send remind by EMails +# RemindSent=%S remind(s) sent +# AllRecipientSelectedForRemind=All thirdparties selected and if an email is set (note that one mail per invoice will be sent) +# NoRemindSent=No remind by EMail sent +# ResultOfMassSending=Result of mass remind sending by EMail # Libelle des modules de liste de destinataires mailing MailingModuleDescContactCompanies=Contactes de tercers (clients potencials, clients, proveïdors ...) diff --git a/htdocs/langs/ca_ES/main.lang b/htdocs/langs/ca_ES/main.lang index c61681b14e9..94ea3d4d059 100644 --- a/htdocs/langs/ca_ES/main.lang +++ b/htdocs/langs/ca_ES/main.lang @@ -572,7 +572,7 @@ TotalWoman=Total TotalMan=Total NeverReceived=Mai rebut Canceled=Cancel·lat -# YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu setup - dictionnary +# YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu setup - dictionary Color=Color Documents=Documents DocumentsNb=Fitxers adjunts (%s) diff --git a/htdocs/langs/ca_ES/opensurvey.lang b/htdocs/langs/ca_ES/opensurvey.lang index 4040d00ca7d..a94f5e2f8f5 100644 --- a/htdocs/langs/ca_ES/opensurvey.lang +++ b/htdocs/langs/ca_ES/opensurvey.lang @@ -35,6 +35,7 @@ AddNewColumn=Afegir nova columna TitleChoice=Títol de l'opció ExportSpreadsheet=Exportar resultats a un full de càlcul ExpireDate=Data límit +# NbOfSurveys=Number of surveys NbOfVoters=Núm. de votants SurveyResults=Resultats PollAdminDesc=Està autoritzat per canviar totes les línies de l'enquesta amb el botó "Editar". Pot, també, eliminar una columna o una línia amb %s. També podeu afegir una nova columna amb %s. diff --git a/htdocs/langs/ca_ES/orders.lang b/htdocs/langs/ca_ES/orders.lang index fce1c430b2f..4f0f5757ca6 100644 --- a/htdocs/langs/ca_ES/orders.lang +++ b/htdocs/langs/ca_ES/orders.lang @@ -55,6 +55,7 @@ DraftOrWaitingShipped=Esborrany o validada encara no expedida MenuOrdersToBill=Comandes a facturar MenuOrdersToBill2=Comandes facturables SearchOrder=Cercar una comanda +# SearchACustomerOrder=Search a customer order ShipProduct=Enviar producte Discount=Descompte CreateOrder=Crear comanda @@ -164,3 +165,4 @@ Ordered=Comandat OrderCreated=Les seves comandes han estat creats OrderFail=S'ha produït un error durant la creació de les seves comandes CreateOrders=Crear comandes +# ToBillSeveralOrderSelectCustomer=To create an invoice for several orders, click first onto customer, then choose "%s". diff --git a/htdocs/langs/ca_ES/other.lang b/htdocs/langs/ca_ES/other.lang index 88a8ab950c2..de3392a042b 100644 --- a/htdocs/langs/ca_ES/other.lang +++ b/htdocs/langs/ca_ES/other.lang @@ -49,14 +49,15 @@ Miscellaneous=Diversos NbOfActiveNotifications=Número notificacions PredefinedMailTest=Això és un correu de prova.\nLes 2 línies estan separades per un retorn de carro a la línia. PredefinedMailTestHtml=Això és un e-mail de prova (la paraula prova ha d'estar en negreta).
Les 2 línies estan separades per un retorn de carro en la línia -PredefinedMailContentSendInvoice=__CONTACTCIVNAME__ \n\n Us adjuntem la factura __FACREF__\n\n__PERSONALIZED__Cordialment\n\n__SIGNATURE__ -PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__ \n\n Posem en el seu coneixement que la factura __FACREF__ sembla no estar pagada. Se l'adjuntem doncs, perquè pugui revisar-la.\n\n__PERSONALIZED__Cordialment\n\n__SIGNATURE__ -PredefinedMailContentSendProposal=__CONTACTCIVNAME__ \n\n Us adjuntem el pressupost __PROPREF__ \n\n__PERSONALIZED__Cordialment\n\n__SIGNATURE__ -PredefinedMailContentSendOrder=__CONTACTCIVNAME__ \n\n Us adjuntem la comanda __ORDERREF__ \n\n__PERSONALIZED__Cordialment\n\n__SIGNATURE__ -PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__ \n\n Us adjuntem la nostra comanda __ORDERREF__ \n\n__PERSONALIZED__Cordialment\n\n__SIGNATURE__ -PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__ \n\n Us adjuntem la factura __FACREF__\n\n__PERSONALIZED__Cordialment\n\n__SIGNATURE__ -PredefinedMailContentSendShipping=__CONTACTCIVNAME__ \n\n Us adjuntem l'expedició __SHIPPINGREF__\n\n__PERSONALIZED__Cordialment\n\n__SIGNATURE__ -PredefinedMailContentSendFichInter=__CONTACTCIVNAME__ \n\n Us adjuntem l'intervenció __FICHINTERREF__\n\n__PERSONALIZED__Cordialment\n\n__SIGNATURE__ +# PredefinedMailContentSendInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__\n\nWe would like to warn you that the invoice __FACREF__ seems to not being payed. So this is the invoice in attachment again, as a reminder.\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendProposal=__CONTACTCIVNAME__\n\nYou will find here the commercial proposal __PROPREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendOrder=__CONTACTCIVNAME__\n\nYou will find here the order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__\n\nYou will find here our order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendShipping=__CONTACTCIVNAME__\n\nYou will find here the shipping __SHIPPINGREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendFichInter=__CONTACTCIVNAME__\n\nYou will find here the intervention __FICHINTERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentThirdparty=__CONTACTCIVNAME__\n\n__PERSONALIZED__\n\n__SIGNATURE__ DemoDesc=Dolibarr és un programari per a la gestió de negocis (professionals o associacions), compost de mòduls funcionals independents i opcionals. Una demostració que inclogui tots aquests mòduls no té sentit perquè no utilitzarà tots els mòduls. A més, té disponibles diversos tipus de perfils de demostració. ChooseYourDemoProfil=Seleccioneu el perfil de demostració que millor correspongui a la seva activitat ... DemoFundation=Gestió de membres d'una associació diff --git a/htdocs/langs/ca_ES/products.lang b/htdocs/langs/ca_ES/products.lang index 58e43311560..7dd45bd49c3 100644 --- a/htdocs/langs/ca_ES/products.lang +++ b/htdocs/langs/ca_ES/products.lang @@ -13,6 +13,10 @@ NewProduct=Nou producte NewService=Nou servei ProductCode=Codi producte ServiceCode=Codi servei +# ProductVatMassChange=Mass VAT change +# ProductVatMassChangeDesc=This page can be used to modify a VAT rate defined on products or services from a value to another. Warning, this change is done on all database. +# MassBarcodeInit=Mass barcode init +# MassBarcodeInitDesc=This page can be used to initialize a barcode on objects that does not have barcode defined. Check before that setup of module barcode is complete. ProductAccountancyBuyCode=Codi comptable compres ProductAccountancySellCode=Código contable vendes ProductOrService=Producte o servei @@ -173,8 +177,8 @@ CustomCode=Codi duaner CountryOrigin=País d'origen HiddenIntoCombo=Ocult en les llistes Nature=Naturalesa -ProductCodeModel=Model de codi de producte -ServiceCodeModel=Model de codi de servei +# ProductCodeModel=Product ref template +# ServiceCodeModel=Service ref template AddThisProductCard=Crear fitxa producte HelpAddThisProductCard=Aquesta opció permet crear o clonar una fitxa de producte en cas que no hi hagi AddThisServiceCard=Crear fitxa servei @@ -216,5 +220,10 @@ ProductsMultiPrice=Producte multi-preu # DefinitionOfBarCodeForThirdpartyNotComplete=Definition of type or value of bar code non complete for thirdparty %s. # BarCodeDataForProduct=Barcode information of product %s : # BarCodeDataForThirdparty=Barcode information of thirdparty %s : -# BarcodeStickersMask=xxx - +# ResetBarcodeForAllRecords=Define barcode value for all records (this will also reset barcode value already defined with new values) +# PriceByCustomer=Price by customer +# PriceCatalogue=Catalogue Price +# PricingRule=Pricing Rules +# AddCustomerPrice=Add price by customers +# ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +# PriceByCustomerLog=Price by customer log diff --git a/htdocs/langs/ca_ES/projects.lang b/htdocs/langs/ca_ES/projects.lang index 3be39e7be4e..fb1fef49b95 100644 --- a/htdocs/langs/ca_ES/projects.lang +++ b/htdocs/langs/ca_ES/projects.lang @@ -1,4 +1,6 @@ # Dolibarr language file - Source file is en_US - projects +# RefProject=Ref. project +# ProjectId=Project Id Project=Projecte Projects=Projectes SharedProject=Projecte compartit @@ -30,11 +32,18 @@ TimeSpent=Temps dedicat TimesSpent=Temps dedicats RefTask=Ref. tasca LabelTask=Etiqueta tasca +# TaskTimeSpent=Time spent on tasks +# TaskTimeUser=Task time user +# TaskTimeNote=Task time note +# TaskTimeDate=Task time date NewTimeSpent=Nou temps dedicat MyTimeSpent=El meu temps dedicat MyTasks=Les meves tasques Tasks=Tasques Task=Tasca +# TaskDateStart=Task start date +# TaskDateEnd=Task end date +# TaskDescription=Task description NewTask=Nova tasca AddTask=Afegir tasca AddDuration=Indicar durada @@ -100,12 +109,12 @@ ProjectCreatedInDolibarr=Projecte %s creat ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Cap de projecte TypeContact_project_external_PROJECTLEADER=Cap de projecte -TypeContact_project_internal_PROJECTCONTRIBUTOR=Participant -TypeContact_project_external_PROJECTCONTRIBUTOR=Participant +# TypeContact_project_internal_PROJECTCONTRIBUTOR=Contributor +# TypeContact_project_external_PROJECTCONTRIBUTOR=Contributor TypeContact_project_task_internal_TASKEXECUTIVE=Responsable TypeContact_project_task_external_TASKEXECUTIVE=Responsable -TypeContact_project_task_internal_TASKCONTRIBUTOR=Participant -TypeContact_project_task_external_TASKCONTRIBUTOR=Participant +# TypeContact_project_task_internal_TASKCONTRIBUTOR=Contributor +# TypeContact_project_task_external_TASKCONTRIBUTOR=Contributor # SelectElement=Select element # AddElement=Link to element # Documents models diff --git a/htdocs/langs/ca_ES/stocks.lang b/htdocs/langs/ca_ES/stocks.lang index ed18ce15438..496a7dee7b3 100644 --- a/htdocs/langs/ca_ES/stocks.lang +++ b/htdocs/langs/ca_ES/stocks.lang @@ -94,14 +94,20 @@ DesiredStock=Stock desitjat StockToBuy=A demanar Replenishment=Reaprovisionament ReplenishmentOrders=Ordres de reaprovisionament -UseVirtualStock=Utilitza estoc virtual en lloc d'estoc físic +# VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differs +# UseVirtualStockByDefault=Use virtual stock by default, instead of physical stock, for replenishment feature +# UseVirtualStock=Use virtual stock +# UsePhysicalStock=Use physical stock +# CurentSelectionMode=Curent selection mode +# CurentlyUsingVirtualStock=Virtual stock +# CurentlyUsingPhysicalStock=Physical stock RuleForStockReplenishment=Regla per al reaprovisionament de stcok # SelectProductWithNotNullQty=Select at least one product with a qty not null and a supplier # AlertOnly= Alerts only # WarehouseForStockDecrease=The warehouse %s will be used for stock decrease # WarehouseForStockIncrease=The warehouse %s will be used for stock increase # ForThisWarehouse=For this warehouse -# ReplenishmentStatusDesc=This is list of all product with a physical stock lower than desired stock (or alert value if checkbox "alert only" is checked) and suggest you to create supplier orders to fill the difference. +# ReplenishmentStatusDesc=This is list of all product with a stock lower than desired stock (or lower than alert value if checkbox "alert only" is checked), and suggest you to create supplier orders to fill the difference. # ReplenishmentOrdersDesc=This is list of all opened supplier orders # Replenishments=Replenishments # NbOfProductBeforePeriod=Quantity of product %s in stock before selected period (< %s) diff --git a/htdocs/langs/cs_CZ/admin.lang b/htdocs/langs/cs_CZ/admin.lang index 3605b843ac7..654cb74fadd 100644 --- a/htdocs/langs/cs_CZ/admin.lang +++ b/htdocs/langs/cs_CZ/admin.lang @@ -287,7 +287,7 @@ CurrentVersion=Dolibarr aktuální verze CallUpdatePage=Přejděte na stránku, která aktualizuje databázovou strukturu a údaje: %s. LastStableVersion=Poslední stabilní verze GenericMaskCodes=Můžete zadat jakékoli masku číslování. V této masce, by mohly být použity následující značky:
{000000} odpovídá množství, které se zvýší na každé %s. Vložit počet nul na požadovanou délku pultu. Počítadlo se vyplní nulami zleva, aby se co nejvíce nuly jako maska.
{000000} 000 stejně jako předchozí, ale posun odpovídá číslu na pravé straně znaménko + je aplikován začíná na první %s.
{000000 @ x} stejná jako předchozí, ale počítadlo se resetuje na nulu, když je měsíc x hodnoty (x mezi 1 a 12 nebo 0, používat prvních měsících fiskálního roku definované v konfiguraci, nebo 99 pro resetování na nulu každý měsíc ). Pokud je tato volba se používá, a x je 2 nebo vyšší, pak posloupnost {yy} {mm} nebo {yyyy} {} mm je také zapotřebí.
{Dd} den (01 až 31).
{Mm} měsíc (01 až 12).
{Yy}, {RRRR} nebo {y} ročně po dobu 2, 4 nebo 1 číslice.
-# GenericMaskCodes2={cccc} the client code
{cccc000} the client code on n characters is followed by a client's ref counter without offset and zeroized with the global counter.
{tttt} The code of company type on n characters (see dictionary-company types).
+# GenericMaskCodes2={cccc} the client code on n characters
{cccc000} the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.
{tttt} The code of company type on n characters (see dictionary-company types).
GenericMaskCodes3=Všechny ostatní znaky v masce zůstanou nedotčeny.
Mezery nejsou povoleny.
GenericMaskCodes4a=Příklad na 99. %s třetí strany Thecompany provádí 2007-01-31:
GenericMaskCodes4b=Příklad na třetí osoby vytvořené na 03.1.2007:
@@ -345,8 +345,6 @@ SecurityTokenIsUnique=Používáme unikátní securekey parametr pro každou adr EnterRefToBuildUrl=Zadejte odkaz na objekt %s GetSecuredUrl=Získejte vypočtenou URL ButtonHideUnauthorized=Skrýt tlačítka pro neautorizovaným zásahům místo ukazuje zdravotním tlačítka -ProductVatMassChange=Hmotnostní změny DPH -ProductVatMassChangeDesc=Tuto stránku lze použít k úpravě sazby DPH definované na výrobky nebo služby od hodnoty na druhou. Pozor, tato změna se provádí na všech databází. OldVATRates=Staré Sazba DPH NewVATRates=Nová sazba DPH PriceBaseTypeToChange=Změnit na cenách s hodnotou základního odkazu uvedeného na @@ -381,6 +379,16 @@ KeepEmptyToUseDefault=Mějte prázdný použít výchozí hodnoty DefaultLink=Výchozí odkaz ValueOverwrittenByUserSetup=Pozor, tato hodnota může být přepsána uživatelem specifické nastavení (každý uživatel může nastavit vlastní clicktodial url) # ExternalModule=External module - Installed into directory %s +# BarcodeInitForThirdparties=Mass barcode init for thirdparties +# BarcodeInitForProductsOrServices=Mass barcode init or reset for products or services +# CurrentlyNWithoutBarCode=Currently, you have %s records on %s %s without barcode defined. +# InitEmptyBarCode=Init value for next %s empty records +# EraseAllCurrentBarCode=Erase all current barcode values +# ConfirmEraseAllCurrentBarCode=Are you sure you want to erase all current barcode values ? +# AllBarcodeReset=All barcode values have been removed +# NoBarcodeNumberingTemplateDefined=No numbering barcode template enabled into barcode module setup. +# NoRecordWithoutBarcodeDefined=No record with no barcode value defined. + # Modules Module0Name=Uživatelé a skupiny @@ -510,6 +518,8 @@ Module59000Name=Okraje Module59000Desc=Modul pro správu marže Module60000Name=Provize Module60000Desc=Modul pro správu provize +# Module150010Name=Batch number, eat-by date and sell-by date +# Module150010Desc=batch number, eat-by date and sell-by date management for product Permission11=Přečtěte si zákazníků faktury Permission12=Vytvořit / upravit zákazníků faktur Permission13=Unvalidate zákazníků faktury @@ -726,8 +736,8 @@ Permission55001=Přečtěte si průzkumy Permission55002=Vytvořit / upravit průzkumy # Permission59001=Read commercial margins # Permission59002=Define commercial margins -# DictionaryCompanyType=Company types -# DictionaryCompanyJuridicalType=Juridical kinds of company +# DictionaryCompanyType=Thirdparties type +# DictionaryCompanyJuridicalType=Juridical kinds of thirdparties # DictionaryProspectLevel=Prospect potential level # DictionaryCanton=State/Cantons # DictionaryRegion=Regions @@ -959,7 +969,7 @@ SimpleNumRefModelDesc=Vrací referenční číslo ve formátu nnnn-%syymm kde yy ShowProfIdInAddress=Zobrazit professionnal id s adresami na dokumenty ShowVATIntaInAddress=Skrýt DPH Intra num s adresami na dokumentech TranslationUncomplete=Částečný překlad -SomeTranslationAreUncomplete=Některé jazyky mohou být částečně přeloženy nebo mohou obsahuje chyby. Zjistíte-li nějaké, můžete opravit. Lang textové soubory do adresáře htdocs / Langs a předložit je na fóru v http://www.dolibarr.org . +# SomeTranslationAreUncomplete=Some languages may be partially translated or may contains errors. If you detect some, you can fix language files registering to http://transifex.com/projects/p/dolibarr/. MenuUseLayout=Proveďte vertikální menu hidable (možnost javascript nesmí být zakázán) MAIN_DISABLE_METEO=Zakázat meteo názor TestLoginToAPI=Otestujte přihlásit do API @@ -985,6 +995,7 @@ ExtraFieldsProject=Doplňkové atributy (projekty) ExtraFieldsProjectTask=Doplňkové atributy (úkoly) ExtraFieldHasWrongValue=Plynoucích %s má nesprávnou hodnotu. AlphaNumOnlyCharsAndNoSpace=pouze alphanumericals znaky bez mezer +# AlphaNumOnlyLowerCharsAndNoSpace=only alphanumericals and lower case characters without space SendingMailSetup=Nastavení sendings e-mailem SendmailOptionNotComplete=Upozornění na některých operačních systémech Linux, posílat e-maily z vašeho e-mailu, musíte sendmail provedení instalace obsahuje volbu-BA (parametr mail.force_extra_parameters do souboru php.ini). Pokud někteří příjemci nikdy přijímat e-maily, zkuste upravit tento parametr společně s PHP mail.force_extra_parameters =-BA). PathToDocuments=Cesta k dokumentům @@ -1269,7 +1280,7 @@ PerfDolibarr=Výkon Nastavení / optimalizace zpráva YouMayFindPerfAdviceHere=Najdete na této stránce nějaké kontroly nebo rad týkajících se výkonnosti. NotInstalled=Ne, takľe není váš server zpomalit tím. ApplicativeCache=Aplikačních mezipaměti -MemcachedNotAvailable=Žádné aplikačních nalezená keš. Můžete zvýšit výkon instalací cache memcached server a modul schopni používat tuto cache serveru. Více informací zde http://wiki.dolibarr.org/index.php/Module_MemCached_EN. Všimněte si, že mnoho web hosting provider neposkytuje takovou cache serveru. +# MemcachedNotAvailable=No applicative cache found. You can enhance performance by installing a cache server Memcached and a module able to use this cache server.
More information here http://wiki.dolibarr.org/index.php/Module_MemCached_EN.
Note that a lot of web hosting provider does not provide such cache server. OPCodeCache=Opcode mezipaměti NoOPCodeCacheFound=Žádné opcode nalezená keš. Může být použít další opcode paměť než XCache nebo eAccelerator (dobré), může být, že nemáte opcode cache (velmi špatně). HTTPCacheStaticResources=HTTP cache pro statické zdroje (css, img, javascript) diff --git a/htdocs/langs/cs_CZ/agenda.lang b/htdocs/langs/cs_CZ/agenda.lang index 7758d5666bc..34f1381314e 100644 --- a/htdocs/langs/cs_CZ/agenda.lang +++ b/htdocs/langs/cs_CZ/agenda.lang @@ -52,6 +52,7 @@ InvoiceSentByEMail=%s faktuře Zákazníka zaslána e-mailem SupplierOrderSentByEMail=%s Dodavatel objednávka zaslána e-mailem SupplierInvoiceSentByEMail=%s dodavatelské faktury zasílané e-mailem ShippingSentByEMail=Přepravní %s zaslána e-mailem +# ShippingValidated= Shipping %s validated InterventionSentByEMail=Intervenční %s zaslána e-mailem NewCompanyToDolibarr= Třetí strana vytvořena DateActionPlannedStart= Plánované datum zahájení diff --git a/htdocs/langs/cs_CZ/cashdesk.lang b/htdocs/langs/cs_CZ/cashdesk.lang index 0ff58568ac5..8582cf2df3a 100644 --- a/htdocs/langs/cs_CZ/cashdesk.lang +++ b/htdocs/langs/cs_CZ/cashdesk.lang @@ -37,3 +37,4 @@ ShowCompany=Zobrazit společnost ShowStock=Zobrazit skladu DeleteArticle=Klepnutím odeberete tento článek FilterRefOrLabelOrBC=Vyhledávání (Ref / Label) +# UserNeedPermissionToEditStockToUsePos=You ask to decrease stock on invoice creation, so user that use POS need to have permission to edit stock. diff --git a/htdocs/langs/cs_CZ/errors.lang b/htdocs/langs/cs_CZ/errors.lang index 50c74f04df9..7a9a21bd2af 100644 --- a/htdocs/langs/cs_CZ/errors.lang +++ b/htdocs/langs/cs_CZ/errors.lang @@ -26,8 +26,11 @@ ErrorFromToAccountsMustDiffers=Zdrojové a cílové bankovní účty musí být ErrorBadThirdPartyName=Nesprávná hodnota pro třetí strany jménem ErrorProdIdIsMandatory=%s je povinné ErrorBadCustomerCodeSyntax=Bad syntaxe pro zákazníka kódu +# ErrorBadBarCodeSyntax=Bad syntax for bar code ErrorCustomerCodeRequired=Zákazník požadoval kód +# ErrorBarCodeRequired=Bar code required ErrorCustomerCodeAlreadyUsed=Zákaznický kód již používán +# ErrorBarCodeAlreadyUsed=Bar code already used ErrorPrefixRequired=Prefix nutné ErrorUrlNotValid=Adresa webové stránky je nesprávná ErrorBadSupplierCodeSyntax=Bad syntaxe pro kód dodavatele @@ -63,6 +66,7 @@ ErrorNoValueForCheckBoxType=Vyplňte, prosím, hodnotu checkbox seznamu ErrorNoValueForRadioType=Prosím vyplňte hodnotu pro rozhlasové seznamu ErrorBadFormatValueList=Seznam Hodnota nemůže mít více než jeden přijde: %s, ale potřebujete alespoň jeden: Llave, Valores ErrorFieldCanNotContainSpecialCharacters=Terénní %s nesmí obsahuje speciální znaky. +# ErrorFieldCanNotContainSpecialNorUpperCharacters=Field %s must not contains special characters, nor upper case characters. ErrorNoAccountancyModuleLoaded=Ne účetnictví modul aktivován # ErrorExportDuplicateProfil=This profile name already exists for this export set. ErrorLDAPSetupNotComplete=Dolibarr-LDAP shoda není úplná. diff --git a/htdocs/langs/cs_CZ/exports.lang b/htdocs/langs/cs_CZ/exports.lang index 5ce5e9f8638..83a4791ac33 100644 --- a/htdocs/langs/cs_CZ/exports.lang +++ b/htdocs/langs/cs_CZ/exports.lang @@ -123,6 +123,10 @@ BankCode=Kód banky DeskCode=Stůl kód BankAccountNumber=Číslo účtu BankAccountNumberKey=Klíč +# SpecialCode=Special code +# ExportStringFilter=%% allows replacing one or more characters in the text +# ExportDateFilter='AAAA' 'AAAAMM' 'AAAAMMJJ': filters by one year/month/day
'AAAA+AAAA' 'AAAAMM+AAAAMM' 'AAAAMMJJ+AAAAMMJJ': filters over a range of years/months/days
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filters on the following years/months/days
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filters on the previous years/months/days +# ExportNumericFilter='NNNNN' filters by one value
'NNNNN+NNNNN' filters over a range of values
'>NNNNN' filters by lower values
'>NNNNN' filters by higher values ## filters SelectFilterFields=Chcete-li filtrovat některé hodnoty, stačí zadat hodnoty zde. FilterableFields=Champs Filtrables diff --git a/htdocs/langs/cs_CZ/mails.lang b/htdocs/langs/cs_CZ/mails.lang index 85f1a2fb48f..b811bb606a6 100644 --- a/htdocs/langs/cs_CZ/mails.lang +++ b/htdocs/langs/cs_CZ/mails.lang @@ -79,6 +79,13 @@ MailtoEMail=Hyper odkaz na e-mail ActivateCheckRead=Nechá se použít "" Unsubcribe odkaz ActivateCheckReadKey=Tlačítko slouží pro šifrování URL využití pro "přečtení" a "Unsubcribe" funkce EMailSentToNRecipients=Email byl odeslán na %s příjemcům. +# EachInvoiceWillBeAttachedToEmail=A document using default invoice document template will be created and attached to each email. +# MailTopicSendRemindUnpaidInvoices=Remind of invoice %s (%s) +# SendRemind=Send remind by EMails +# RemindSent=%S remind(s) sent +# AllRecipientSelectedForRemind=All thirdparties selected and if an email is set (note that one mail per invoice will be sent) +# NoRemindSent=No remind by EMail sent +# ResultOfMassSending=Result of mass remind sending by EMail # Libelle des modules de liste de destinataires mailing MailingModuleDescContactCompanies=Kontakty / adresy všech třetích stran (zákazník, vyhlídka, dodavatel, ...) diff --git a/htdocs/langs/cs_CZ/main.lang b/htdocs/langs/cs_CZ/main.lang index d0fdac79d14..e9ca5741bdd 100644 --- a/htdocs/langs/cs_CZ/main.lang +++ b/htdocs/langs/cs_CZ/main.lang @@ -572,7 +572,7 @@ TotalWoman=Celkový TotalMan=Celkový NeverReceived=Nikdy nedostal Canceled=Zrušený -# YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu setup - dictionnary +# YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu setup - dictionary Color=Barva Documents=Připojené soubory DocumentsNb=Připojené soubory (%s) diff --git a/htdocs/langs/cs_CZ/opensurvey.lang b/htdocs/langs/cs_CZ/opensurvey.lang index 3df824c6270..ff606bd6fbe 100644 --- a/htdocs/langs/cs_CZ/opensurvey.lang +++ b/htdocs/langs/cs_CZ/opensurvey.lang @@ -35,6 +35,7 @@ AddNewColumn=Přidat nový sloupec TitleChoice=Volba štítek ExportSpreadsheet=Export výsledků tabulku ExpireDate=Omezit datum +# NbOfSurveys=Number of surveys NbOfVoters=Nb voličů SurveyResults=Výsledky PollAdminDesc=Jste dovoleno měnit všichni volit řádky této ankety pomocí tlačítka "Edit". Můžete také odebrat sloupec nebo řádek s %s. Můžete také přidat nový sloupec s %s. diff --git a/htdocs/langs/cs_CZ/orders.lang b/htdocs/langs/cs_CZ/orders.lang index 73962f055af..2f5a268c70d 100644 --- a/htdocs/langs/cs_CZ/orders.lang +++ b/htdocs/langs/cs_CZ/orders.lang @@ -55,6 +55,7 @@ DraftOrWaitingShipped=Návrh nebo ověřeno dosud odesláno MenuOrdersToBill=Objednávky dodáno MenuOrdersToBill2=Objednávky do účtu SearchOrder=Hledat účelem +# SearchACustomerOrder=Search a customer order ShipProduct=Loď produkt Discount=Sleva CreateOrder=Vytvořit objednávku @@ -164,3 +165,4 @@ Ordered=Objednal OrderCreated=Vaše objednávky byly vytvořeny OrderFail=Došlo k chybě během vytváření objednávky CreateOrders=Vytvoření objednávky +# ToBillSeveralOrderSelectCustomer=To create an invoice for several orders, click first onto customer, then choose "%s". diff --git a/htdocs/langs/cs_CZ/other.lang b/htdocs/langs/cs_CZ/other.lang index 13e7c3a9629..c5534168855 100644 --- a/htdocs/langs/cs_CZ/other.lang +++ b/htdocs/langs/cs_CZ/other.lang @@ -49,14 +49,15 @@ Miscellaneous=Smíšený NbOfActiveNotifications=Počet oznámení PredefinedMailTest=Toto je test e-mailem. \\ NPokud dva řádky jsou odděleny znakem konce řádku. \n\n __ SIGNATURE__ PredefinedMailTestHtml=Toto je test-mail (slovo test musí být tučně).
Dva řádky jsou odděleny znakem konce řádku.

__SIGNATURE__ -PredefinedMailContentSendInvoice=__CONTACTCIVNAME__ \n\n Najdete zde fakturu __ FACREF__ \n\n __ PERSONALIZED__Sincerely \n\n __ SIGNATURE__ -PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__ \n\n Dovolujeme si vás upozornit, že faktura __ FACREF__ Zdá se, že není platí. Tak tohle je faktura v příloze opět jako připomenutí. \n\n __ PERSONALIZED__Sincerely \n\n __ SIGNATURE__ -PredefinedMailContentSendProposal=__CONTACTCIVNAME__ \n\n Najdete zde obchodní návrh __ PROPREF__ \n\n __ PERSONALIZED__Sincerely \n\n __ SIGNATURE__ -PredefinedMailContentSendOrder=__CONTACTCIVNAME__ \n\n Najdete zde pořadí __ ORDERREF__ \n\n __ PERSONALIZED__Sincerely \n\n __ SIGNATURE__ -PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__ \n\n Najdete zde naše objednávka __ ORDERREF__ \n\n __ PERSONALIZED__Sincerely \n\n __ SIGNATURE__ -PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__ \n\n Najdete zde fakturu __ FACREF__ \n\n __ PERSONALIZED__Sincerely \n\n __ SIGNATURE__ -PredefinedMailContentSendShipping=__CONTACTCIVNAME__ \n\n Najdete zde lodní __ SHIPPINGREF__ \n\n __ PERSONALIZED__Sincerely \n\n __ SIGNATURE__ -PredefinedMailContentSendFichInter=__CONTACTCIVNAME__ \n\n Najdete zde zásah __ FICHINTERREF__ \n\n __ PERSONALIZED__Sincerely \n\n __ SIGNATURE__ +# PredefinedMailContentSendInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__\n\nWe would like to warn you that the invoice __FACREF__ seems to not being payed. So this is the invoice in attachment again, as a reminder.\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendProposal=__CONTACTCIVNAME__\n\nYou will find here the commercial proposal __PROPREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendOrder=__CONTACTCIVNAME__\n\nYou will find here the order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__\n\nYou will find here our order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendShipping=__CONTACTCIVNAME__\n\nYou will find here the shipping __SHIPPINGREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendFichInter=__CONTACTCIVNAME__\n\nYou will find here the intervention __FICHINTERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentThirdparty=__CONTACTCIVNAME__\n\n__PERSONALIZED__\n\n__SIGNATURE__ DemoDesc=Dolibarr je kompaktní ERP / CRM skládá z několika funkčních modulů. Demo, které obsahuje všechny moduly nic neznamená, protože to nikdy nedošlo. Takže několik demo profily jsou k dispozici. ChooseYourDemoProfil=Vyberte demo profil, který odpovídal vašemu činnost ... DemoFundation=Spravovat členy nadace diff --git a/htdocs/langs/cs_CZ/products.lang b/htdocs/langs/cs_CZ/products.lang index 94cf7b17b7d..d51a0fa74f9 100644 --- a/htdocs/langs/cs_CZ/products.lang +++ b/htdocs/langs/cs_CZ/products.lang @@ -13,6 +13,10 @@ NewProduct=Nový produkt NewService=Nová služba ProductCode=Kód produktu ServiceCode=Servisní kód +# ProductVatMassChange=Mass VAT change +# ProductVatMassChangeDesc=This page can be used to modify a VAT rate defined on products or services from a value to another. Warning, this change is done on all database. +# MassBarcodeInit=Mass barcode init +# MassBarcodeInitDesc=This page can be used to initialize a barcode on objects that does not have barcode defined. Check before that setup of module barcode is complete. ProductAccountancyBuyCode=Účetnictví kód (koupit) ProductAccountancySellCode=Účetnictví kód (prodej) ProductOrService=Produkt nebo služba @@ -173,8 +177,8 @@ CustomCode=Celní kód CountryOrigin=Země původu HiddenIntoCombo=Skryté do vybraných seznamů Nature=Příroda -ProductCodeModel=Kód šablony -ServiceCodeModel=Servisní kód šablony +# ProductCodeModel=Product ref template +# ServiceCodeModel=Service ref template AddThisProductCard=Vytvořte kartu výrobku HelpAddThisProductCard=Tato volba umožňuje vytvořit nebo naklonovat výrobek, pokud neexistuje. AddThisServiceCard=Vytvoření služební průkaz @@ -216,5 +220,10 @@ Quarter4=4.. Čtvrtletí # DefinitionOfBarCodeForThirdpartyNotComplete=Definition of type or value of bar code non complete for thirdparty %s. # BarCodeDataForProduct=Barcode information of product %s : # BarCodeDataForThirdparty=Barcode information of thirdparty %s : -# BarcodeStickersMask=xxx - +# ResetBarcodeForAllRecords=Define barcode value for all records (this will also reset barcode value already defined with new values) +# PriceByCustomer=Price by customer +# PriceCatalogue=Catalogue Price +# PricingRule=Pricing Rules +# AddCustomerPrice=Add price by customers +# ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +# PriceByCustomerLog=Price by customer log diff --git a/htdocs/langs/cs_CZ/projects.lang b/htdocs/langs/cs_CZ/projects.lang index 01b965f08c1..54df7bc65d5 100644 --- a/htdocs/langs/cs_CZ/projects.lang +++ b/htdocs/langs/cs_CZ/projects.lang @@ -1,4 +1,6 @@ # Dolibarr language file - Source file is en_US - projects +# RefProject=Ref. project +# ProjectId=Project Id Project=Projekt Projects=Projekty SharedProject=Všichni @@ -30,11 +32,18 @@ TimeSpent=Čas strávený TimesSpent=Čas strávený RefTask=Ref. úkol LabelTask=Label úkol +# TaskTimeSpent=Time spent on tasks +# TaskTimeUser=Task time user +# TaskTimeNote=Task time note +# TaskTimeDate=Task time date NewTimeSpent=Nový čas strávený MyTimeSpent=Můj čas strávený MyTasks=Moje úkoly Tasks=Úkoly Task=Úkol +# TaskDateStart=Task start date +# TaskDateEnd=Task end date +# TaskDescription=Task description NewTask=Nový úkol AddTask=Přidat úkol AddDuration=Přidat trvání @@ -100,12 +109,12 @@ ProjectCreatedInDolibarr=Projekt vytvořil %s ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Vedoucí projektu TypeContact_project_external_PROJECTLEADER=Vedoucí projektu -TypeContact_project_internal_PROJECTCONTRIBUTOR=Přispěvatel -TypeContact_project_external_PROJECTCONTRIBUTOR=Přispěvatel +# TypeContact_project_internal_PROJECTCONTRIBUTOR=Contributor +# TypeContact_project_external_PROJECTCONTRIBUTOR=Contributor TypeContact_project_task_internal_TASKEXECUTIVE=Úkol výkonný TypeContact_project_task_external_TASKEXECUTIVE=Úkol výkonný -TypeContact_project_task_internal_TASKCONTRIBUTOR=Přispěvatel -TypeContact_project_task_external_TASKCONTRIBUTOR=Přispěvatel +# TypeContact_project_task_internal_TASKCONTRIBUTOR=Contributor +# TypeContact_project_task_external_TASKCONTRIBUTOR=Contributor SelectElement=Vyberte prvek AddElement=Odkaz na elementu # Documents models diff --git a/htdocs/langs/cs_CZ/stocks.lang b/htdocs/langs/cs_CZ/stocks.lang index 94eb8b24e40..b43f0dbe0ca 100644 --- a/htdocs/langs/cs_CZ/stocks.lang +++ b/htdocs/langs/cs_CZ/stocks.lang @@ -94,14 +94,20 @@ DesiredStock=Požadovaná skladem StockToBuy=Chcete-li objednat Replenishment=Naplnění ReplenishmentOrders=Doplňování objednávky -UseVirtualStock=Použít virtuální zásoby namísto fyzického skladem +# VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differs +# UseVirtualStockByDefault=Use virtual stock by default, instead of physical stock, for replenishment feature +# UseVirtualStock=Use virtual stock +# UsePhysicalStock=Use physical stock +# CurentSelectionMode=Curent selection mode +# CurentlyUsingVirtualStock=Virtual stock +# CurentlyUsingPhysicalStock=Physical stock RuleForStockReplenishment=Pravidlo pro doplňování zásob SelectProductWithNotNullQty=Vyberte alespoň jeden produkt s Množství NOT NULL a dodavatelem AlertOnly= Upozornění pouze WarehouseForStockDecrease=Skladová %s budou použity pro snížení skladem WarehouseForStockIncrease=Skladová %s budou použity pro zvýšení stavu zásob ForThisWarehouse=Z tohoto skladu -ReplenishmentStatusDesc=Toto je seznam všech produktů s fyzickou skladem je nižší než požadovaný skladem (nebo upozornění, pokud hodnota checkbox "upozornil pouze" je zaškrtnuto), a doporučuji vám vytvořit dodavatelské objednávky vyplnit rozdíl. +# ReplenishmentStatusDesc=This is list of all product with a stock lower than desired stock (or lower than alert value if checkbox "alert only" is checked), and suggest you to create supplier orders to fill the difference. ReplenishmentOrdersDesc=Toto je seznam všech otevřených dodavatelských objednávek Replenishments=Splátky NbOfProductBeforePeriod=Množství produktů %s na skladě, než zvolené období (<%s) diff --git a/htdocs/langs/da_DK/admin.lang b/htdocs/langs/da_DK/admin.lang index a2e1fe39bbb..54eaa95f618 100644 --- a/htdocs/langs/da_DK/admin.lang +++ b/htdocs/langs/da_DK/admin.lang @@ -287,7 +287,7 @@ CurrentVersion=Dolibarr aktuelle version CallUpdatePage=Gå til den side, der opdaterer database struktur og oplysningerne %s. LastStableVersion=Seneste stabile version # GenericMaskCodes=You may enter any numbering mask. In this mask, the following tags could be used:
{000000} corresponds to a number which will be incremented on each %s. Enter as many zeros as the desired length of the counter. The counter will be completed by zeros from the left in order to have as many zeros as the mask.
{000000+000} same as previous but an offset corresponding to the number to the right of the + sign is applied starting on first %s.
{000000@x} same as previous but the counter is reset to zero when month x is reached (x between 1 and 12, or 0 to use the early months of fiscal year defined in your configuration, or 99 to reset to zero every month). If this option is used and x is 2 or higher, then sequence {yy}{mm} or {yyyy}{mm} is also required.
{dd} day (01 to 31).
{mm} month (01 to 12).
{yy}, {yyyy} or {y} year over 2, 4 or 1 numbers.
-# GenericMaskCodes2={cccc} the client code
{cccc000} the client code on n characters is followed by a client's ref counter without offset and zeroized with the global counter.
{tttt} The code of company type on n characters (see dictionary-company types).
+# GenericMaskCodes2={cccc} the client code on n characters
{cccc000} the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.
{tttt} The code of company type on n characters (see dictionary-company types).
GenericMaskCodes3=Alle andre tegn i maske vil forblive intakt.
Mellemrum er ikke tilladt.
GenericMaskCodes4a=Eksempel på 99. %s af den tredje part TheCompany gøres 2007-01-31:
GenericMaskCodes4b=Eksempel på tredjemand oprettet den 2007-03-01:
@@ -345,8 +345,6 @@ SecurityTokenIsUnique=Brug en unik securekey parameter for hver enkelt webadress EnterRefToBuildUrl=Indtast reference for objekter %s GetSecuredUrl=Få beregnet URL # ButtonHideUnauthorized=Hide buttons for unauthorized actions instead of showing disabled buttons -# ProductVatMassChange=Mass VAT change -# ProductVatMassChangeDesc=This page can be used to modify a VAT rate defined on products or services from a value to another. Warning, this change is done on all database. # OldVATRates=Old VAT rate # NewVATRates=New VAT rate # PriceBaseTypeToChange=Modify on prices with base reference value defined on @@ -381,6 +379,16 @@ ExtrafieldMail = EMail # DefaultLink=Default link # ValueOverwrittenByUserSetup=Warning, this value may be overwritten by user specific setup (each user can set his own clicktodial url) # ExternalModule=External module - Installed into directory %s +# BarcodeInitForThirdparties=Mass barcode init for thirdparties +# BarcodeInitForProductsOrServices=Mass barcode init or reset for products or services +# CurrentlyNWithoutBarCode=Currently, you have %s records on %s %s without barcode defined. +# InitEmptyBarCode=Init value for next %s empty records +# EraseAllCurrentBarCode=Erase all current barcode values +# ConfirmEraseAllCurrentBarCode=Are you sure you want to erase all current barcode values ? +# AllBarcodeReset=All barcode values have been removed +# NoBarcodeNumberingTemplateDefined=No numbering barcode template enabled into barcode module setup. +# NoRecordWithoutBarcodeDefined=No record with no barcode value defined. + # Modules Module0Name=Brugere og grupper @@ -510,6 +518,8 @@ Module50200Desc= Modul til at tilbyde en online betaling side med kreditkort med # Module59000Desc=Module to manage margins # Module60000Name=Commissions # Module60000Desc=Module to manage commissions +# Module150010Name=Batch number, eat-by date and sell-by date +# Module150010Desc=batch number, eat-by date and sell-by date management for product Permission11=Læs fakturaer Permission12=Opret/Modify fakturaer Permission13=Unvalidate fakturaer @@ -726,8 +736,8 @@ Permission50202=Import transaktioner # Permission55002=Create/modify surveys # Permission59001=Read commercial margins # Permission59002=Define commercial margins -# DictionaryCompanyType=Company types -# DictionaryCompanyJuridicalType=Juridical kinds of company +# DictionaryCompanyType=Thirdparties type +# DictionaryCompanyJuridicalType=Juridical kinds of thirdparties # DictionaryProspectLevel=Prospect potential level # DictionaryCanton=State/Cantons # DictionaryRegion=Regions @@ -959,7 +969,7 @@ SimpleNumRefModelDesc=Retur referencenummer med format %syymm-nnnn hvor yy er å ShowProfIdInAddress=Vis Professionel id med adresser på dokumenter # ShowVATIntaInAddress=Hide VAT Intra num with addresses on documents TranslationUncomplete=Delvis oversættelse -SomeTranslationAreUncomplete=Nogle sprog kan være delvist oversættes eller kan indeholder fejl. Hvis du opdager noget, kan du rette. Lang tekst filer i mappen htdocs/langs og sende dem på forum i http://www.dolibarr.org . +# SomeTranslationAreUncomplete=Some languages may be partially translated or may contains errors. If you detect some, you can fix language files registering to http://transifex.com/projects/p/dolibarr/. MenuUseLayout=Gør lodret menu hidable (option javascript må ikke være deaktiveret) MAIN_DISABLE_METEO=Deaktiver Meteo udsigt TestLoginToAPI=Test logge på API @@ -985,6 +995,7 @@ ExtraFields=Supplerende egenskaber # ExtraFieldsProjectTask=Complementary attributes (tasks) ExtraFieldHasWrongValue=Henføres %s har en forkert værdi. # AlphaNumOnlyCharsAndNoSpace=only alphanumericals characters without space +# AlphaNumOnlyLowerCharsAndNoSpace=only alphanumericals and lower case characters without space SendingMailSetup=Opsætning af sendings via e-mail SendmailOptionNotComplete=Advarsel, på nogle Linux-systemer, for at sende e-mails fra din e-mail, sendmail udførelse opsætning skal conatins option-ba (parameter mail.force_extra_parameters i din php.ini fil). Hvis nogle modtagere aldrig modtage e-mails, så prøv at redigere denne PHP parameter med mail.force_extra_parameters =-ba). PathToDocuments=Sti til dokumenter @@ -1269,7 +1280,7 @@ ForANonAnonymousAccess=For en autentificeret adgang (for en skriveadgangen for e # YouMayFindPerfAdviceHere=You will find on this page some checks or advices related to performance. # NotInstalled=Not installed, so your server is not slow down by this. # ApplicativeCache=Applicative cache -# MemcachedNotAvailable=No applicative cache found. You can enhance performance by installing a cache server Memcached and a module able to use this cache server. More information here http://wiki.dolibarr.org/index.php/Module_MemCached_EN. Note that a lot of web hosting provider does not provide such cache server. +# MemcachedNotAvailable=No applicative cache found. You can enhance performance by installing a cache server Memcached and a module able to use this cache server.
More information here http://wiki.dolibarr.org/index.php/Module_MemCached_EN.
Note that a lot of web hosting provider does not provide such cache server. # OPCodeCache=OPCode cache # NoOPCodeCacheFound=No OPCode cache found. May be you use another OPCode cache than XCache or eAccelerator (good), may be you don't have OPCode cache (very bad). # HTTPCacheStaticResources=HTTP cache for static resources (css, img, javascript) diff --git a/htdocs/langs/da_DK/agenda.lang b/htdocs/langs/da_DK/agenda.lang index 2759b7d7187..3fab8e24df1 100644 --- a/htdocs/langs/da_DK/agenda.lang +++ b/htdocs/langs/da_DK/agenda.lang @@ -52,6 +52,7 @@ InvoiceSentByEMail=Kundefaktura %s sendt via e-mail SupplierOrderSentByEMail=Leverandør ordre %s sendt via e-mail SupplierInvoiceSentByEMail=Leverandørfaktura %s sendt via e-mail ShippingSentByEMail=Forsendelse %s sendt via e-mail +# ShippingValidated= Shipping %s validated InterventionSentByEMail=Intervention %s sendt via e-mail NewCompanyToDolibarr= Tredjepart skabt DateActionPlannedStart= Planlagt startdato diff --git a/htdocs/langs/da_DK/cashdesk.lang b/htdocs/langs/da_DK/cashdesk.lang index e074bad97df..8c114a98ab1 100644 --- a/htdocs/langs/da_DK/cashdesk.lang +++ b/htdocs/langs/da_DK/cashdesk.lang @@ -37,3 +37,4 @@ ShowCompany=Vis virksomhed ShowStock=Vis lager DeleteArticle=Klik for at fjerne denne artikel # FilterRefOrLabelOrBC=Search (Ref/Label) +# UserNeedPermissionToEditStockToUsePos=You ask to decrease stock on invoice creation, so user that use POS need to have permission to edit stock. diff --git a/htdocs/langs/da_DK/errors.lang b/htdocs/langs/da_DK/errors.lang index bc477961512..e455c23a137 100644 --- a/htdocs/langs/da_DK/errors.lang +++ b/htdocs/langs/da_DK/errors.lang @@ -26,8 +26,11 @@ ErrorFromToAccountsMustDiffers=Kilde og mål bankkonti skal være anderledes. ErrorBadThirdPartyName=Bad værdi for tredjeparts navn # ErrorProdIdIsMandatory=The %s is mandatory ErrorBadCustomerCodeSyntax=Bad syntaks for kunde-kode +# ErrorBadBarCodeSyntax=Bad syntax for bar code ErrorCustomerCodeRequired=Kunden kode kræves +# ErrorBarCodeRequired=Bar code required ErrorCustomerCodeAlreadyUsed=Kunden koden allerede anvendes +# ErrorBarCodeAlreadyUsed=Bar code already used ErrorPrefixRequired=Prefix kræves ErrorUrlNotValid=Adressen på webstedet er forkert ErrorBadSupplierCodeSyntax=Bad syntaks for leverandør-kode @@ -63,6 +66,7 @@ ErrorSizeTooLongForVarcharType=Størrelse for lang tid for streng type (%s tegn # ErrorNoValueForRadioType=Please fill value for radio list # ErrorBadFormatValueList=The list value cannot have more than one come : %s, but need at least one: llave,valores ErrorFieldCanNotContainSpecialCharacters=Felt %s må ikke indeholder specialtegn. +# ErrorFieldCanNotContainSpecialNorUpperCharacters=Field %s must not contains special characters, nor upper case characters. ErrorNoAccountancyModuleLoaded=Nr. regnskabspool modul aktiveret # ErrorExportDuplicateProfil=This profile name already exists for this export set. ErrorLDAPSetupNotComplete=Dolibarr-LDAP matchende er ikke komplet. diff --git a/htdocs/langs/da_DK/exports.lang b/htdocs/langs/da_DK/exports.lang index ca8d17ab074..3f1977892b1 100644 --- a/htdocs/langs/da_DK/exports.lang +++ b/htdocs/langs/da_DK/exports.lang @@ -123,6 +123,10 @@ BankCode=Bank-kode DeskCode=Skrivebord kode BankAccountNumber=Kontonummer BankAccountNumberKey=Nøgle +# SpecialCode=Special code +# ExportStringFilter=%% allows replacing one or more characters in the text +# ExportDateFilter='AAAA' 'AAAAMM' 'AAAAMMJJ': filters by one year/month/day
'AAAA+AAAA' 'AAAAMM+AAAAMM' 'AAAAMMJJ+AAAAMMJJ': filters over a range of years/months/days
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filters on the following years/months/days
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filters on the previous years/months/days +# ExportNumericFilter='NNNNN' filters by one value
'NNNNN+NNNNN' filters over a range of values
'>NNNNN' filters by lower values
'>NNNNN' filters by higher values ## filters # SelectFilterFields=If you want to filter on some values, just input values here. # FilterableFields=Champs Filtrables diff --git a/htdocs/langs/da_DK/mails.lang b/htdocs/langs/da_DK/mails.lang index 12a589f5e13..265a12e831c 100644 --- a/htdocs/langs/da_DK/mails.lang +++ b/htdocs/langs/da_DK/mails.lang @@ -79,6 +79,13 @@ MailingStatusRead=Læs # ActivateCheckRead=Allow to use the "Unsubcribe" link # ActivateCheckReadKey=Key use to encrypt URL use for "Read Receipt" and "Unsubcribe" feature # EMailSentToNRecipients=EMail sent to %s recipients. +# EachInvoiceWillBeAttachedToEmail=A document using default invoice document template will be created and attached to each email. +# MailTopicSendRemindUnpaidInvoices=Remind of invoice %s (%s) +# SendRemind=Send remind by EMails +# RemindSent=%S remind(s) sent +# AllRecipientSelectedForRemind=All thirdparties selected and if an email is set (note that one mail per invoice will be sent) +# NoRemindSent=No remind by EMail sent +# ResultOfMassSending=Result of mass remind sending by EMail # Libelle des modules de liste de destinataires mailing MailingModuleDescContactCompanies=Kontakter af alle tredjemand (kunde, udsigt, leverandør, ...) diff --git a/htdocs/langs/da_DK/main.lang b/htdocs/langs/da_DK/main.lang index 675ec1c0667..83a40985164 100644 --- a/htdocs/langs/da_DK/main.lang +++ b/htdocs/langs/da_DK/main.lang @@ -572,7 +572,7 @@ TotalWoman=Total TotalMan=Total NeverReceived=Aldrig modtaget Canceled=Annulleret -# YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu setup - dictionnary +# YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu setup - dictionary Color=Color Documents=Forbundet filer DocumentsNb=Linkede filer (%s) diff --git a/htdocs/langs/da_DK/opensurvey.lang b/htdocs/langs/da_DK/opensurvey.lang index 6916fb7441a..3054615f18b 100644 --- a/htdocs/langs/da_DK/opensurvey.lang +++ b/htdocs/langs/da_DK/opensurvey.lang @@ -35,6 +35,7 @@ # TitleChoice=Choice label # ExportSpreadsheet=Export result spreadsheet ExpireDate=Limit dato +# NbOfSurveys=Number of surveys # NbOfVoters=Nb of voters # SurveyResults=Results # PollAdminDesc=You are allowed to change all vote lines of this poll with button "Edit". You can, as well, remove a column or a line with %s. You can also add a new column with %s. diff --git a/htdocs/langs/da_DK/orders.lang b/htdocs/langs/da_DK/orders.lang index 027e47f94de..462baf963c3 100644 --- a/htdocs/langs/da_DK/orders.lang +++ b/htdocs/langs/da_DK/orders.lang @@ -55,6 +55,7 @@ DraftOrWaitingShipped=Udkast til eller valideres endnu ikke afsendt MenuOrdersToBill=Ordrer til lovforslag # MenuOrdersToBill2=Orders to bill SearchOrder=Search for +# SearchACustomerOrder=Search a customer order ShipProduct=Skib produkt Discount=Discount CreateOrder=Opret Order @@ -164,3 +165,4 @@ OrderByPhone=Telefon # OrderCreated=Your orders have been created # OrderFail=An error happened during your orders creation # CreateOrders=Create orders +# ToBillSeveralOrderSelectCustomer=To create an invoice for several orders, click first onto customer, then choose "%s". diff --git a/htdocs/langs/da_DK/other.lang b/htdocs/langs/da_DK/other.lang index c31b0dffd0c..6f61ed539dd 100644 --- a/htdocs/langs/da_DK/other.lang +++ b/htdocs/langs/da_DK/other.lang @@ -49,14 +49,15 @@ Miscellaneous=Miscellaneous NbOfActiveNotifications=Antal anmeldelser PredefinedMailTest=Dette er en test mail. \\ NDen to linjer er adskilt af et linjeskift. PredefinedMailTestHtml=Dette er en test mail (ordet test skal være i fed).
De to linjer er adskilt af et linjeskift. -PredefinedMailContentSendInvoice=__CONTACTCIVNAME__ \n\n Du vil her finde fakturaen __FACREF__ \n\n__PERSONALIZED__ venlig hilsen \n\n__SIGNATURE__ -PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__ \n\n Vi vil gerne advare dig om, at fakturaen __FACREF__ synes ikke betales. Så dette er den faktura i vedhæftningen igen, som en påmindelse. \n\n__PERSONALIZED__ venlig hilsen \n\n__SIGNATURE__ -PredefinedMailContentSendProposal=__CONTACTCIVNAME__ \n\n Du vil her finde den kommercielle propoal __PROPREF__ \n\n__PERSONALIZED__ venlig hilsen \n\n__SIGNATURE__ -PredefinedMailContentSendOrder=__CONTACTCIVNAME__ \n\n Du vil her finde den rækkefølge __ORDERREF__ \n\n__PERSONALIZED__ venlig hilsen \n\n__SIGNATURE__ -PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__ \n\n Du vil her finde vores ordre __ORDERREF__ \n\n__PERSONALIZED__Sincerely \n\n -PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__ \n\n Du vil her finde fakturaen __FACREF__ \n\n__PERSONALIZED__Sincerely \n\n -PredefinedMailContentSendShipping=__CONTACTCIVNAME__ \n\n Du vil her finde shipping __SHIPPINGREF__ \n\n__PERSONALIZED__Sincerely \n\n -PredefinedMailContentSendFichInter=__CONTACTCIVNAME__ \n\n Du vil her finde interventionen __FICHINTERREF__ \n\n__PERSONALIZED__Sincerely \n\n +# PredefinedMailContentSendInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__\n\nWe would like to warn you that the invoice __FACREF__ seems to not being payed. So this is the invoice in attachment again, as a reminder.\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendProposal=__CONTACTCIVNAME__\n\nYou will find here the commercial proposal __PROPREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendOrder=__CONTACTCIVNAME__\n\nYou will find here the order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__\n\nYou will find here our order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendShipping=__CONTACTCIVNAME__\n\nYou will find here the shipping __SHIPPINGREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendFichInter=__CONTACTCIVNAME__\n\nYou will find here the intervention __FICHINTERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentThirdparty=__CONTACTCIVNAME__\n\n__PERSONALIZED__\n\n__SIGNATURE__ DemoDesc=Dolibarr er et kompakt ERP / CRM sammensat af flere funktionelle moduler. En demo, som omfatter alle moduler ikke betyder noget, da dette aldrig sker. Så flere demo profiler der er tilgængelige. ChooseYourDemoProfil=Vælg den demo profil, der passer til din virksomhed ... DemoFundation=Administrer medlemmer af en fond diff --git a/htdocs/langs/da_DK/products.lang b/htdocs/langs/da_DK/products.lang index 00a3aae0105..4e12368969e 100644 --- a/htdocs/langs/da_DK/products.lang +++ b/htdocs/langs/da_DK/products.lang @@ -13,6 +13,10 @@ NewProduct=Nyt produkt NewService=Ny tjeneste ProductCode=Produktkode ServiceCode=Service-kode +# ProductVatMassChange=Mass VAT change +# ProductVatMassChangeDesc=This page can be used to modify a VAT rate defined on products or services from a value to another. Warning, this change is done on all database. +# MassBarcodeInit=Mass barcode init +# MassBarcodeInitDesc=This page can be used to initialize a barcode on objects that does not have barcode defined. Check before that setup of module barcode is complete. ProductAccountancyBuyCode=Regnskab kode (købe) ProductAccountancySellCode=Regnskab kode (sælge) ProductOrService=Produkt eller tjeneste @@ -173,8 +177,8 @@ CustomCode=Toldkodeksen CountryOrigin=Oprindelsesland HiddenIntoCombo=Skjult i udvalgte lister Nature=Natur -# ProductCodeModel=Product code template -# ServiceCodeModel=Service code template +# ProductCodeModel=Product ref template +# ServiceCodeModel=Service ref template # AddThisProductCard=Create product card # HelpAddThisProductCard=This option allows you to create or clone a product if it does not exist. # AddThisServiceCard=Create service card @@ -216,5 +220,10 @@ QtyNeed=Qty # DefinitionOfBarCodeForThirdpartyNotComplete=Definition of type or value of bar code non complete for thirdparty %s. # BarCodeDataForProduct=Barcode information of product %s : # BarCodeDataForThirdparty=Barcode information of thirdparty %s : -# BarcodeStickersMask=xxx - +# ResetBarcodeForAllRecords=Define barcode value for all records (this will also reset barcode value already defined with new values) +# PriceByCustomer=Price by customer +# PriceCatalogue=Catalogue Price +# PricingRule=Pricing Rules +# AddCustomerPrice=Add price by customers +# ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +# PriceByCustomerLog=Price by customer log diff --git a/htdocs/langs/da_DK/projects.lang b/htdocs/langs/da_DK/projects.lang index d5a7bfe9d85..944a9d83936 100644 --- a/htdocs/langs/da_DK/projects.lang +++ b/htdocs/langs/da_DK/projects.lang @@ -1,4 +1,6 @@ # Dolibarr language file - Source file is en_US - projects +# RefProject=Ref. project +# ProjectId=Project Id Project=Projekt Projects=Projekter SharedProject=Fælles projekt @@ -30,11 +32,18 @@ TimeSpent=Tid brugt TimesSpent=Tid brugt RefTask=Ref. opgave LabelTask=Label opgave +# TaskTimeSpent=Time spent on tasks +# TaskTimeUser=Task time user +# TaskTimeNote=Task time note +# TaskTimeDate=Task time date NewTimeSpent=Ny tid MyTimeSpent=Min tid MyTasks=Mine opgaver Tasks=Opgaver Task=Opgave +# TaskDateStart=Task start date +# TaskDateEnd=Task end date +# TaskDescription=Task description NewTask=Ny opgave AddTask=Tilføj opgave AddDuration=Tilføj varighed @@ -100,12 +109,12 @@ IfNeedToUseOhterObjectKeepEmpty=Hvis nogle objekter (faktura, ordre, ...), der t ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Projektleder TypeContact_project_external_PROJECTLEADER=Projektleder -TypeContact_project_internal_PROJECTCONTRIBUTOR=Bidragyder -TypeContact_project_external_PROJECTCONTRIBUTOR=Bidragyder +# TypeContact_project_internal_PROJECTCONTRIBUTOR=Contributor +# TypeContact_project_external_PROJECTCONTRIBUTOR=Contributor TypeContact_project_task_internal_TASKEXECUTIVE=Task udøvende TypeContact_project_task_external_TASKEXECUTIVE=Task udøvende -TypeContact_project_task_internal_TASKCONTRIBUTOR=Bidragyder -TypeContact_project_task_external_TASKCONTRIBUTOR=Bidragyder +# TypeContact_project_task_internal_TASKCONTRIBUTOR=Contributor +# TypeContact_project_task_external_TASKCONTRIBUTOR=Contributor # SelectElement=Select element # AddElement=Link to element # Documents models diff --git a/htdocs/langs/da_DK/stocks.lang b/htdocs/langs/da_DK/stocks.lang index a2f58c0d4d0..d12160e5d17 100644 --- a/htdocs/langs/da_DK/stocks.lang +++ b/htdocs/langs/da_DK/stocks.lang @@ -94,14 +94,20 @@ SelectWarehouseForStockIncrease=Vælg lageret skal bruges til lager stigning # StockToBuy=To order # Replenishment=Replenishment # ReplenishmentOrders=Replenishment orders -# UseVirtualStock=Use virtual stock instead of physical stock +# VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differs +# UseVirtualStockByDefault=Use virtual stock by default, instead of physical stock, for replenishment feature +# UseVirtualStock=Use virtual stock +# UsePhysicalStock=Use physical stock +# CurentSelectionMode=Curent selection mode +# CurentlyUsingVirtualStock=Virtual stock +# CurentlyUsingPhysicalStock=Physical stock # RuleForStockReplenishment=Rule for stocks replenishment # SelectProductWithNotNullQty=Select at least one product with a qty not null and a supplier # AlertOnly= Alerts only # WarehouseForStockDecrease=The warehouse %s will be used for stock decrease # WarehouseForStockIncrease=The warehouse %s will be used for stock increase # ForThisWarehouse=For this warehouse -# ReplenishmentStatusDesc=This is list of all product with a physical stock lower than desired stock (or alert value if checkbox "alert only" is checked) and suggest you to create supplier orders to fill the difference. +# ReplenishmentStatusDesc=This is list of all product with a stock lower than desired stock (or lower than alert value if checkbox "alert only" is checked), and suggest you to create supplier orders to fill the difference. # ReplenishmentOrdersDesc=This is list of all opened supplier orders # Replenishments=Replenishments # NbOfProductBeforePeriod=Quantity of product %s in stock before selected period (< %s) diff --git a/htdocs/langs/de_DE/admin.lang b/htdocs/langs/de_DE/admin.lang index ae40f08d911..1ab97ed719d 100644 --- a/htdocs/langs/de_DE/admin.lang +++ b/htdocs/langs/de_DE/admin.lang @@ -287,7 +287,7 @@ CurrentVersion=Aktuelle dolibarr-Version CallUpdatePage=Zur Aktualisierung der Daten und Datenbankstrukturen gehen Sie zur Seite %s. LastStableVersion=Letzte stabile Version GenericMaskCodes=Sie können ein beliebiges Numerierungsschema wählen. Dieses Schema könnte z.B. so aussehen:
{000000} steht für eine 6-stellige Nummer, die sich bei jedem neuen %s automatisch erhöht. Wählen Sie die Anzahl der Nullen je nach gewünschter Nummernlänge. Der Zähler füllt sich automatisch bis zum linken Ende mit Nullen um das gewünschte Format abzubilden.
{000000+000} führt zu einem ähnlichen Ergebnis, allerdings mit einem Wertsprung in Höhe des Werts rechts des Pluszeichens, der beim ersten %s angewandt wird.
{000000@x} wie zuvor, jedoch stellt sich der Zähler bei Erreichen des Monats x (zwischen 1 und 12) automatisch auf 0 zurück. Ist diese Option gewählt und x hat den Wert 2 oder höher, ist die Folge {mm}{yy} or {mm}{yyyy} ebenfalls erfoderlich.
{dd} Tag (01 bis 31).
{mm} Monat (01 bis 12).
{yy}, {yyyy} or {y} Jahreszahl 1-, 2- oder 4-stellig.
-# GenericMaskCodes2={cccc} the client code
{cccc000} the client code on n characters is followed by a client's ref counter without offset and zeroized with the global counter.
{tttt} The code of company type on n characters (see dictionary-company types).
+# GenericMaskCodes2={cccc} the client code on n characters
{cccc000} the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.
{tttt} The code of company type on n characters (see dictionary-company types).
GenericMaskCodes3=Alle anderen Zeichen in der Maske bleiben.
Leerzeichen sind nicht zulässig.
GenericMaskCodes4a=Beispiel auf der 99. %s des Dritten thecompany Geschehen 2007-01-31:
GenericMaskCodes4b=Beispiel für Dritte erstellt am 2007-03-01:
@@ -345,8 +345,6 @@ SecurityTokenIsUnique=Verwenden Sie einen eindeutigen Sicherheitsschlüssel für EnterRefToBuildUrl=Geben Sie eine Referenz für das Objekt %s ein GetSecuredUrl=Holen der berechneten URL ButtonHideUnauthorized=Unterdrücke Schaltflächen bei unerlaubtem Zugriff statt sie zu deaktivieren -# ProductVatMassChange=Mass VAT change -# ProductVatMassChangeDesc=This page can be used to modify a VAT rate defined on products or services from a value to another. Warning, this change is done on all database. OldVATRates=Alter MwSt. Satz NewVATRates=Neuer MwSt. Satz # PriceBaseTypeToChange=Modify on prices with base reference value defined on @@ -381,6 +379,16 @@ KeepEmptyToUseDefault=Leer lassen für Standardwert DefaultLink=Standardlink # ValueOverwrittenByUserSetup=Warning, this value may be overwritten by user specific setup (each user can set his own clicktodial url) # ExternalModule=External module - Installed into directory %s +# BarcodeInitForThirdparties=Mass barcode init for thirdparties +# BarcodeInitForProductsOrServices=Mass barcode init or reset for products or services +# CurrentlyNWithoutBarCode=Currently, you have %s records on %s %s without barcode defined. +# InitEmptyBarCode=Init value for next %s empty records +# EraseAllCurrentBarCode=Erase all current barcode values +# ConfirmEraseAllCurrentBarCode=Are you sure you want to erase all current barcode values ? +# AllBarcodeReset=All barcode values have been removed +# NoBarcodeNumberingTemplateDefined=No numbering barcode template enabled into barcode module setup. +# NoRecordWithoutBarcodeDefined=No record with no barcode value defined. + # Modules Module0Name=Benutzer und Gruppen @@ -510,6 +518,8 @@ Module50200Desc= Mit diesem Modul können Sie via PayPal Online Kreditkartenzahl # Module59000Desc=Module to manage margins Module60000Name=Kommissionen Module60000Desc=Modul zur Verwaltung von Kommissionen +# Module150010Name=Batch number, eat-by date and sell-by date +# Module150010Desc=batch number, eat-by date and sell-by date management for product Permission11=Rechnungen einsehen Permission12=Rechnungen erstellen/bearbeiten Permission13=Rechnungsfreigabe aufheben @@ -726,8 +736,8 @@ Permission54001=Drucken # Permission55002=Create/modify surveys # Permission59001=Read commercial margins # Permission59002=Define commercial margins -# DictionaryCompanyType=Company types -# DictionaryCompanyJuridicalType=Juridical kinds of company +# DictionaryCompanyType=Thirdparties type +# DictionaryCompanyJuridicalType=Juridical kinds of thirdparties # DictionaryProspectLevel=Prospect potential level # DictionaryCanton=State/Cantons # DictionaryRegion=Regions @@ -959,7 +969,7 @@ SimpleNumRefModelDesc=Liefere eine Nummer im Format %syymm-nnnn zurück, wobei Y ShowProfIdInAddress=Zeige professionnal ID mit Adressen auf Dokumente # ShowVATIntaInAddress=Hide VAT Intra num with addresses on documents TranslationUncomplete=Teilweise Übersetzung -SomeTranslationAreUncomplete=Für einige Sprachen, teilweise übersetzt werden oder Fehler enthält. Wenn Sie etwas entdecken, können Sie beheben. Lang Textdateien in das Verzeichnis htdocs / langs und legt sie auf dem Forum bei http://www.dolibarr.org . +# SomeTranslationAreUncomplete=Some languages may be partially translated or may contains errors. If you detect some, you can fix language files registering to http://transifex.com/projects/p/dolibarr/. MenuUseLayout=Machen Sie vertikales Menü hidable (Option Javascript muss nicht deaktiviert werden) MAIN_DISABLE_METEO=Deaktivieren meteo Blick TestLoginToAPI=Testen Sie sich anmelden, um API @@ -985,6 +995,7 @@ ExtraFieldsProject=Ergänzende Attribute (Projekte) ExtraFieldsProjectTask=Ergänzende Attribute (Aufgaben) ExtraFieldHasWrongValue=Attribut %s einen falschen Wert hat. AlphaNumOnlyCharsAndNoSpace=nur alphanumericals Zeichen ohne Leerzeichen +# AlphaNumOnlyLowerCharsAndNoSpace=only alphanumericals and lower case characters without space SendingMailSetup=Einrichten von Sendungen per E-Mail SendmailOptionNotComplete=Achtung, auf einigen Linux-Systemen, E-Mails von Ihrem E-Mail zu senden, sendmail Ausführung Setup muss conatins Option-ba (Parameter mail.force_extra_parameters in Ihre php.ini-Datei). Wenn einige Empfänger niemals E-Mails erhalten, versuchen, diese Parameter mit PHP mail.force_extra_parameters =-ba) zu bearbeiten. PathToDocuments=Dokumentenpfad @@ -1269,7 +1280,7 @@ ForANonAnonymousAccess=Für einen authentifizierten Zugang (z.B. für Schreibzug # YouMayFindPerfAdviceHere=You will find on this page some checks or advices related to performance. NotInstalled=Nicht installiert, Ihr Server wird dadurch nicht verlangsamt. # ApplicativeCache=Applicative cache -# MemcachedNotAvailable=No applicative cache found. You can enhance performance by installing a cache server Memcached and a module able to use this cache server. More information here http://wiki.dolibarr.org/index.php/Module_MemCached_EN. Note that a lot of web hosting provider does not provide such cache server. +# MemcachedNotAvailable=No applicative cache found. You can enhance performance by installing a cache server Memcached and a module able to use this cache server.
More information here http://wiki.dolibarr.org/index.php/Module_MemCached_EN.
Note that a lot of web hosting provider does not provide such cache server. # OPCodeCache=OPCode cache # NoOPCodeCacheFound=No OPCode cache found. May be you use another OPCode cache than XCache or eAccelerator (good), may be you don't have OPCode cache (very bad). # HTTPCacheStaticResources=HTTP cache for static resources (css, img, javascript) diff --git a/htdocs/langs/de_DE/agenda.lang b/htdocs/langs/de_DE/agenda.lang index 564075d7e1a..2e3bc17c86b 100644 --- a/htdocs/langs/de_DE/agenda.lang +++ b/htdocs/langs/de_DE/agenda.lang @@ -52,6 +52,7 @@ InvoiceSentByEMail=Kundenrechnung %s per E-Mail versendet SupplierOrderSentByEMail=Lieferantenbestellung %s per E-Mail versendet SupplierInvoiceSentByEMail=Lieferantenrechnung %s per E-Mail versendet ShippingSentByEMail=Lieferschein %s per E-Mail versendet +# ShippingValidated= Shipping %s validated InterventionSentByEMail=Service %s per E-Mail versendet NewCompanyToDolibarr= Partner erstellt DateActionPlannedStart= Geplantes Startdatum diff --git a/htdocs/langs/de_DE/cashdesk.lang b/htdocs/langs/de_DE/cashdesk.lang index 0269ea7276b..7c8f36a2b90 100644 --- a/htdocs/langs/de_DE/cashdesk.lang +++ b/htdocs/langs/de_DE/cashdesk.lang @@ -37,3 +37,4 @@ ShowCompany=Zeige Unternehmen ShowStock=Zeige Lager DeleteArticle=Klicken, um diesen Artikel zu entfernen FilterRefOrLabelOrBC=Suche (Ref/Label) +# UserNeedPermissionToEditStockToUsePos=You ask to decrease stock on invoice creation, so user that use POS need to have permission to edit stock. diff --git a/htdocs/langs/de_DE/errors.lang b/htdocs/langs/de_DE/errors.lang index 3d6e09f79aa..0b575d6406e 100644 --- a/htdocs/langs/de_DE/errors.lang +++ b/htdocs/langs/de_DE/errors.lang @@ -26,8 +26,11 @@ ErrorFromToAccountsMustDiffers=Quell- und Zielbankkonto müssen unterschiedlich ErrorBadThirdPartyName=Der für den Partner eingegebene Name ist ungültig. ErrorProdIdIsMandatory=Die %s ist zwingend notwendig ErrorBadCustomerCodeSyntax=Die eingegebene Kundennummer ist unzulässig. +# ErrorBadBarCodeSyntax=Bad syntax for bar code ErrorCustomerCodeRequired=Kunden Nr. erforderlich +# ErrorBarCodeRequired=Bar code required ErrorCustomerCodeAlreadyUsed=Diese Kunden-Nr. ist bereits vergeben. +# ErrorBarCodeAlreadyUsed=Bar code already used ErrorPrefixRequired=Präfix erforderlich ErrorUrlNotValid=Die angegebene Website-Adresse ist ungültig ErrorBadSupplierCodeSyntax=Die eingegebene Lieferanten Nr. ist unzulässig. @@ -63,6 +66,7 @@ ErrorSizeTooLongForVarcharType=Die Größe überschreitet das Maximum für den T # ErrorNoValueForRadioType=Please fill value for radio list # ErrorBadFormatValueList=The list value cannot have more than one come : %s, but need at least one: llave,valores ErrorFieldCanNotContainSpecialCharacters=Das Feld %s darf keine Sonderzeichen enthalten. +# ErrorFieldCanNotContainSpecialNorUpperCharacters=Field %s must not contains special characters, nor upper case characters. ErrorNoAccountancyModuleLoaded=Kein Buchhaltungsmodul aktiviert # ErrorExportDuplicateProfil=This profile name already exists for this export set. ErrorLDAPSetupNotComplete=Der LDAP-Abgleich für dieses System ist nicht vollständig eingerichtet. diff --git a/htdocs/langs/de_DE/exports.lang b/htdocs/langs/de_DE/exports.lang index 77cf862a98c..ea67c13b74c 100644 --- a/htdocs/langs/de_DE/exports.lang +++ b/htdocs/langs/de_DE/exports.lang @@ -123,6 +123,10 @@ BankCode=Bankleitzahl DeskCode=Desk-Code BankAccountNumber=Kontonummer BankAccountNumberKey=Schlüssel +# SpecialCode=Special code +# ExportStringFilter=%% allows replacing one or more characters in the text +# ExportDateFilter='AAAA' 'AAAAMM' 'AAAAMMJJ': filters by one year/month/day
'AAAA+AAAA' 'AAAAMM+AAAAMM' 'AAAAMMJJ+AAAAMMJJ': filters over a range of years/months/days
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filters on the following years/months/days
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filters on the previous years/months/days +# ExportNumericFilter='NNNNN' filters by one value
'NNNNN+NNNNN' filters over a range of values
'>NNNNN' filters by lower values
'>NNNNN' filters by higher values ## filters SelectFilterFields=Wenn Sie nach bestimmten Werten filtern wollen, geben Sie diese Werte hier ein. FilterableFields=Filterbare Felder diff --git a/htdocs/langs/de_DE/mails.lang b/htdocs/langs/de_DE/mails.lang index ff1ecfbfaf3..945ad0d5302 100644 --- a/htdocs/langs/de_DE/mails.lang +++ b/htdocs/langs/de_DE/mails.lang @@ -79,6 +79,13 @@ MailtoEMail=Verknüpfung zu E-Mail ActivateCheckRead=Erlaube den Zugriff auf den "Abmelde"-Link # ActivateCheckReadKey=Key use to encrypt URL use for "Read Receipt" and "Unsubcribe" feature EMailSentToNRecipients=E-Mail versandt an %s Empfänger. +# EachInvoiceWillBeAttachedToEmail=A document using default invoice document template will be created and attached to each email. +# MailTopicSendRemindUnpaidInvoices=Remind of invoice %s (%s) +# SendRemind=Send remind by EMails +# RemindSent=%S remind(s) sent +# AllRecipientSelectedForRemind=All thirdparties selected and if an email is set (note that one mail per invoice will be sent) +# NoRemindSent=No remind by EMail sent +# ResultOfMassSending=Result of mass remind sending by EMail # Libelle des modules de liste de destinataires mailing MailingModuleDescContactCompanies=Kontakte aller Partner (Kunden, Leads, Lieferanten, ...) diff --git a/htdocs/langs/de_DE/main.lang b/htdocs/langs/de_DE/main.lang index 277e66d5fa2..8c89d9b7bb6 100644 --- a/htdocs/langs/de_DE/main.lang +++ b/htdocs/langs/de_DE/main.lang @@ -572,7 +572,7 @@ TotalWoman=Vollständig TotalMan=Vollständig NeverReceived=Nie erhalten Canceled=Storniert -# YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu setup - dictionnary +# YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu setup - dictionary Color=Farbe Documents=Verknüpfte Dokumente DocumentsNb=Verknüpfte Dateien (%s) diff --git a/htdocs/langs/de_DE/opensurvey.lang b/htdocs/langs/de_DE/opensurvey.lang index aa50dabcb03..d187322a392 100644 --- a/htdocs/langs/de_DE/opensurvey.lang +++ b/htdocs/langs/de_DE/opensurvey.lang @@ -35,6 +35,7 @@ AddNewColumn=Neue Spalte hinzufügen TitleChoice=Beschreibung wählen ExportSpreadsheet=Exportiere Resultattabelle ExpireDate=Frist +# NbOfSurveys=Number of surveys NbOfVoters=Anzahl Wähler SurveyResults=Resultate PollAdminDesc=Du bist berechtigt, sämtliche Abstimmungszeilen mit dem Button "Edit" zu verändern. Du kannst zusätzlich auch eine Spalte oder Zeile mit %s entfernen. Du kannst auch eine neue Spalte hinzufügen mit %s. diff --git a/htdocs/langs/de_DE/orders.lang b/htdocs/langs/de_DE/orders.lang index 6271be8b70c..fda7c03a005 100644 --- a/htdocs/langs/de_DE/orders.lang +++ b/htdocs/langs/de_DE/orders.lang @@ -55,6 +55,7 @@ DraftOrWaitingShipped=Entwurf oder bestätigt, noch nicht versandt MenuOrdersToBill=Bestellverrechnung MenuOrdersToBill2=Zu verrechnende Bestellungen SearchOrder=Suche Bestellung +# SearchACustomerOrder=Search a customer order ShipProduct=Produkt versenden Discount=Rabatt CreateOrder=Erzeuge Bestellung @@ -164,3 +165,4 @@ Ordered=Bestellt OrderCreated=Ihre Bestellungen wurden erstellt OrderFail=Ein Fehler trat beim Erstellen der Bestellungen auf CreateOrders=Erzeuge Bestellungen +# ToBillSeveralOrderSelectCustomer=To create an invoice for several orders, click first onto customer, then choose "%s". diff --git a/htdocs/langs/de_DE/other.lang b/htdocs/langs/de_DE/other.lang index 0c728e8cfce..239a6999a5a 100644 --- a/htdocs/langs/de_DE/other.lang +++ b/htdocs/langs/de_DE/other.lang @@ -49,14 +49,15 @@ Miscellaneous=Verschiedenes NbOfActiveNotifications=Anzahl aktiver Benachrichtigungen PredefinedMailTest=Dies ist ein Test-Mail.\n Die beiden Zeilen sind durch eine Zeilenschaltung getrennt. PredefinedMailTestHtml=Dies ist ein (HTML)-Test Mail (das Wort Test muss in Fettschrift erscheinen).
Die beiden Zeilen sollteb durch eine Zeilenschaltung getrennt sein. -PredefinedMailContentSendInvoice=__CONTACTCIVNAME__ \n\n Bitte entnehmen Sie dem Anhang die Rechnung __FACREF__\n\n__PERSONALIZED__Mit freundlichen Grüßen\n\n__SIGNATURE__ -PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__ \n\n Bedauerlicherweise scheint die Rechnung __FACREF__ bislang unbeglichen. Als Erinnerung übersenden wir Ihnen diese nochmals im Anhang\n\n__PERSONALIZED__Mit freundlichen Grüßen\n\n__SIGNATURE__ -PredefinedMailContentSendProposal=__CONTACTCIVNAME__ \n\n Bitte entnehmen Sie dem Anhang unser Angebot __PROPREF__ \n\n__PERSONALIZED__Mit freundlichen Grüßen\n\n__SIGNATURE__ -PredefinedMailContentSendOrder=__CONTACTCIVNAME__ \n\n Bitte entnehmen Sie dem Anhang die Bestellung __ORDERREF__ \n\n__PERSONALIZED__Mit freundlichen Grüßen\n\n__SIGNATURE__ -PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__ \n\n Hier finden Sie unser Bestellformular __ORDERREF__ \n\n__PERSONALIZED__Mit freundlichen Grüßen\n\n__SIGNATURE__ -PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__ \n\n Anbei erhalten Sie die Rechnung __ FACREF__ \n\n__PERSONALIZED__Mit freundlichen Grüßen\n\n__SIGNATURE__ -PredefinedMailContentSendShipping=__CONTACTCIVNAME__ \n\n Als Anlage erhalten Sie unsere Versandkosten __ SHIPPINGREF__ \n\n__PERSONALIZED__Mit freundlichen Grüßen\n\n__SIGNATURE__ -PredefinedMailContentSendFichInter=__CONTACTCIVNAME__ \n\n Anbei finden Sie die Intervention __ FICHINTERREF__ \n\n__PERSONALIZED__Mit freundlichen Grüßen\n_n__SIGNATURE__ +# PredefinedMailContentSendInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__\n\nWe would like to warn you that the invoice __FACREF__ seems to not being payed. So this is the invoice in attachment again, as a reminder.\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendProposal=__CONTACTCIVNAME__\n\nYou will find here the commercial proposal __PROPREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendOrder=__CONTACTCIVNAME__\n\nYou will find here the order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__\n\nYou will find here our order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendShipping=__CONTACTCIVNAME__\n\nYou will find here the shipping __SHIPPINGREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendFichInter=__CONTACTCIVNAME__\n\nYou will find here the intervention __FICHINTERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentThirdparty=__CONTACTCIVNAME__\n\n__PERSONALIZED__\n\n__SIGNATURE__ DemoDesc=Bei Dolibarr handelt es sich um ein kompaktes ERP/CRM-System, bestehend aus einzelnen Modulen. Da eine Demo aller Module kaum eine praxisnahe Anwendung darstellt, stehen Ihnen unterschiedliche Demo-Profile zur Verfügung. ChooseYourDemoProfil=Bitte wählen Sie das Demo-Profil das Ihrem Berufsfeld am ehesten entspricht DemoFundation=Verwalten Sie die Mitglieder einer Stiftung diff --git a/htdocs/langs/de_DE/products.lang b/htdocs/langs/de_DE/products.lang index 1772048f46e..c99468c4998 100644 --- a/htdocs/langs/de_DE/products.lang +++ b/htdocs/langs/de_DE/products.lang @@ -13,6 +13,10 @@ NewProduct=Neues Produkt NewService=Neuer Service ProductCode=Produkt-Code ServiceCode=Service-Code +# ProductVatMassChange=Mass VAT change +# ProductVatMassChangeDesc=This page can be used to modify a VAT rate defined on products or services from a value to another. Warning, this change is done on all database. +# MassBarcodeInit=Mass barcode init +# MassBarcodeInitDesc=This page can be used to initialize a barcode on objects that does not have barcode defined. Check before that setup of module barcode is complete. ProductAccountancyBuyCode=Buchhaltung - Aufwandskonto ProductAccountancySellCode=Buchhaltung - Erlöskonto ProductOrService=Produkt oder Service @@ -173,8 +177,8 @@ CustomCode=Interner Code CountryOrigin=Urspungsland HiddenIntoCombo=In ausgewählten Listen nicht anzeigen Nature=Art -ProductCodeModel=Vorlage für Produktcode -ServiceCodeModel=Vorlage für Servicecode +# ProductCodeModel=Product ref template +# ServiceCodeModel=Service ref template AddThisProductCard=Produktkarte erstellen HelpAddThisProductCard=Dies gibt ihnen die Möglichkeit, ein Produkt zu erstellen oder zu duplizieren wenn es noch nicht existiert. AddThisServiceCard=Service-Karte erstellen @@ -216,5 +220,10 @@ Quarter4=4. Quartal # DefinitionOfBarCodeForThirdpartyNotComplete=Definition of type or value of bar code non complete for thirdparty %s. # BarCodeDataForProduct=Barcode information of product %s : # BarCodeDataForThirdparty=Barcode information of thirdparty %s : -# BarcodeStickersMask=xxx - +# ResetBarcodeForAllRecords=Define barcode value for all records (this will also reset barcode value already defined with new values) +# PriceByCustomer=Price by customer +# PriceCatalogue=Catalogue Price +# PricingRule=Pricing Rules +# AddCustomerPrice=Add price by customers +# ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +# PriceByCustomerLog=Price by customer log diff --git a/htdocs/langs/de_DE/projects.lang b/htdocs/langs/de_DE/projects.lang index 2ea879d1339..40b86ef22f7 100644 --- a/htdocs/langs/de_DE/projects.lang +++ b/htdocs/langs/de_DE/projects.lang @@ -1,4 +1,6 @@ # Dolibarr language file - Source file is en_US - projects +# RefProject=Ref. project +# ProjectId=Project Id Project=Projekt Projects=Projekte SharedProject=Jeder @@ -30,11 +32,18 @@ TimeSpent=Zeitaufwand TimesSpent=Zeitaufwände RefTask=Aufgaben-Nr. LabelTask=Aufgabenbezeichnung +# TaskTimeSpent=Time spent on tasks +# TaskTimeUser=Task time user +# TaskTimeNote=Task time note +# TaskTimeDate=Task time date NewTimeSpent=Neuer Zeitaufwand MyTimeSpent=Mein Zeitaufwand MyTasks=Meine Aufgaben Tasks=Aufgaben Task=Aufgabe +# TaskDateStart=Task start date +# TaskDateEnd=Task end date +# TaskDescription=Task description NewTask=Neue Aufgabe AddTask=Aufgabe hinzufügen AddDuration=Dauer hinzufügen @@ -100,12 +109,12 @@ ProjectCreatedInDolibarr=Projekt %s erstellt ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Projektleiter TypeContact_project_external_PROJECTLEADER=Projektleiter -TypeContact_project_internal_PROJECTCONTRIBUTOR=Mitwirkender -TypeContact_project_external_PROJECTCONTRIBUTOR=Mitwirkender +# TypeContact_project_internal_PROJECTCONTRIBUTOR=Contributor +# TypeContact_project_external_PROJECTCONTRIBUTOR=Contributor TypeContact_project_task_internal_TASKEXECUTIVE=Verantwortlich TypeContact_project_task_external_TASKEXECUTIVE=Verantwortlich -TypeContact_project_task_internal_TASKCONTRIBUTOR=Mitwirkender -TypeContact_project_task_external_TASKCONTRIBUTOR=Mitwirkender +# TypeContact_project_task_internal_TASKCONTRIBUTOR=Contributor +# TypeContact_project_task_external_TASKCONTRIBUTOR=Contributor SelectElement=Element wählen AddElement=Mit Element verknüpfen # Documents models diff --git a/htdocs/langs/de_DE/stocks.lang b/htdocs/langs/de_DE/stocks.lang index 40ec240da8a..688eb3a5f01 100644 --- a/htdocs/langs/de_DE/stocks.lang +++ b/htdocs/langs/de_DE/stocks.lang @@ -94,14 +94,20 @@ SelectWarehouseForStockIncrease=Wählen Sie das Lager für den Wareneingang # StockToBuy=To order # Replenishment=Replenishment # ReplenishmentOrders=Replenishment orders -# UseVirtualStock=Use virtual stock instead of physical stock +# VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differs +# UseVirtualStockByDefault=Use virtual stock by default, instead of physical stock, for replenishment feature +# UseVirtualStock=Use virtual stock +# UsePhysicalStock=Use physical stock +# CurentSelectionMode=Curent selection mode +# CurentlyUsingVirtualStock=Virtual stock +# CurentlyUsingPhysicalStock=Physical stock # RuleForStockReplenishment=Rule for stocks replenishment # SelectProductWithNotNullQty=Select at least one product with a qty not null and a supplier # AlertOnly= Alerts only # WarehouseForStockDecrease=The warehouse %s will be used for stock decrease # WarehouseForStockIncrease=The warehouse %s will be used for stock increase # ForThisWarehouse=For this warehouse -# ReplenishmentStatusDesc=This is list of all product with a physical stock lower than desired stock (or alert value if checkbox "alert only" is checked) and suggest you to create supplier orders to fill the difference. +# ReplenishmentStatusDesc=This is list of all product with a stock lower than desired stock (or lower than alert value if checkbox "alert only" is checked), and suggest you to create supplier orders to fill the difference. # ReplenishmentOrdersDesc=This is list of all opened supplier orders # Replenishments=Replenishments # NbOfProductBeforePeriod=Quantity of product %s in stock before selected period (< %s) diff --git a/htdocs/langs/el_GR/admin.lang b/htdocs/langs/el_GR/admin.lang index 9ce4e19a604..36279fd7e10 100644 --- a/htdocs/langs/el_GR/admin.lang +++ b/htdocs/langs/el_GR/admin.lang @@ -287,7 +287,7 @@ CurrentVersion=Dolibarr current version CallUpdatePage=Go to the page that updates the database structure and datas: %s. LastStableVersion=Τελευταία σταθερή έκδοση GenericMaskCodes=You may enter any numbering mask. In this mask, the following tags could be used:
{000000} corresponds to a number which will be incremented on each %s. Enter as many zeros as the desired length of the counter. The counter will be completed by zeros from the left in order to have as many zeros as the mask.
{000000+000} same as previous but an offset corresponding to the number to the right of the + sign is applied starting on first %s.
{000000@x} same as previous but the counter is reset to zero when month x is reached (x between 1 and 12). If this option is used and x is 2 or higher, then sequence {yy}{mm} or {yyyy}{mm} is also required.
{dd} day (01 to 31).
{mm} month (01 to 12).
{yy}, {yyyy} or {y} year over 2, 4 or 1 numbers.
-# GenericMaskCodes2={cccc} the client code
{cccc000} the client code on n characters is followed by a client's ref counter without offset and zeroized with the global counter.
{tttt} The code of company type on n characters (see dictionary-company types).
+# GenericMaskCodes2={cccc} the client code on n characters
{cccc000} the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.
{tttt} The code of company type on n characters (see dictionary-company types).
GenericMaskCodes3=All other characters in the mask will remain intact.
Spaces are not allowed.
GenericMaskCodes4a=Example on the 99th %s of the third party TheCompany done 2007-01-31:
GenericMaskCodes4b=Example on third party created on 2007-03-01:
@@ -345,8 +345,6 @@ SecurityTokenIsUnique=Χρησιμοποιήστε μια μοναδική πα EnterRefToBuildUrl=Εισάγετε αναφοράς για %s αντικείμενο GetSecuredUrl=Πάρτε υπολογίζεται URL ButtonHideUnauthorized=Hide buttons for unauthorized actions instead of showing disabled buttons -ProductVatMassChange=Mass VAT change -ProductVatMassChangeDesc=This page can be used to modify a VAT rate defined on products or services from a value to another. Warning, this change is done on all database. OldVATRates=Old VAT rate NewVATRates=New VAT rate PriceBaseTypeToChange=Modify on prices with base reference value defined on @@ -381,6 +379,16 @@ KeepEmptyToUseDefault=Keep empty to use default value DefaultLink=Default link ValueOverwrittenByUserSetup=Warning, this value may be overwritten by user specific setup (each user can set his own clicktodial url) ExternalModule=Εξωτερικό module - Εγκατεστημένο στον φάκελο %s +# BarcodeInitForThirdparties=Mass barcode init for thirdparties +# BarcodeInitForProductsOrServices=Mass barcode init or reset for products or services +# CurrentlyNWithoutBarCode=Currently, you have %s records on %s %s without barcode defined. +# InitEmptyBarCode=Init value for next %s empty records +# EraseAllCurrentBarCode=Erase all current barcode values +# ConfirmEraseAllCurrentBarCode=Are you sure you want to erase all current barcode values ? +# AllBarcodeReset=All barcode values have been removed +# NoBarcodeNumberingTemplateDefined=No numbering barcode template enabled into barcode module setup. +# NoRecordWithoutBarcodeDefined=No record with no barcode value defined. + # Modules Module0Name=Χρήστες & Ομάδες @@ -510,6 +518,8 @@ Module59000Name=Margins Module59000Desc=Module to manage margins Module60000Name=Commissions Module60000Desc=Module to manage commissions +# Module150010Name=Batch number, eat-by date and sell-by date +# Module150010Desc=batch number, eat-by date and sell-by date management for product Permission11=Read customer invoices Permission12=Create/modify customer invoices Permission13=Unvalidate customer invoices @@ -726,8 +736,8 @@ Permission55001=Διαβάστε τις έρευνες Permission55002=Δημιουργία/τροποποίηση ερευνών Permission59001=Δείτε τα εμπορικά περιθώρια Permission59002=Ορίστε τα εμπορικά περιθώρια -DictionaryCompanyType=Είδη επιχειρήσεων -DictionaryCompanyJuridicalType=Νομικά είδη της εταιρείας +# DictionaryCompanyType=Thirdparties type +# DictionaryCompanyJuridicalType=Juridical kinds of thirdparties DictionaryProspectLevel=Προοπτική δυνητικό επίπεδο DictionaryCanton=Κράτος/Δήμοι DictionaryRegion=Περιοχές @@ -959,7 +969,7 @@ SimpleNumRefModelDesc=Returns the reference number with format %syymm-nnnn where ShowProfIdInAddress=Show professionnal id with addresses on documents ShowVATIntaInAddress=Hide VAT Intra num with addresses on documents TranslationUncomplete=Ημιτελής μεταγλώττιση -SomeTranslationAreUncomplete=Some languages may be partially translated or may contains errors. If you detect some, you can fix .lang text files into directory htdocs/langs and submit them on the forum at http://www.dolibarr.org. +# SomeTranslationAreUncomplete=Some languages may be partially translated or may contains errors. If you detect some, you can fix language files registering to http://transifex.com/projects/p/dolibarr/. MenuUseLayout=Make vertical menu hidable (option javascript must not be disabled) MAIN_DISABLE_METEO=Απενεργοποίηση Meteo θέα TestLoginToAPI=Δοκιμή για να συνδεθείτε API @@ -985,6 +995,7 @@ ExtraFieldsProject=Complementary attributes (projects) ExtraFieldsProjectTask=Complementary attributes (tasks) ExtraFieldHasWrongValue=Αποδοθούν %s έχει λάθος τιμή. AlphaNumOnlyCharsAndNoSpace=only alphanumericals characters without space +# AlphaNumOnlyLowerCharsAndNoSpace=only alphanumericals and lower case characters without space SendingMailSetup=Ρύθμιση του e-mail σας αποστολές από SendmailOptionNotComplete=Προσοχή, σε μερικά συστήματα Linux, για να στείλετε e-mail από το e-mail σας, το sendmail εγκατάστασης εκτέλεση πρέπει conatins επιλογή-βα (mail.force_extra_parameters παράμετρος σε php.ini αρχείο σας). Αν δεν ορισμένοι παραλήπτες λαμβάνουν μηνύματα ηλεκτρονικού ταχυδρομείου, προσπαθήστε να επεξεργαστείτε αυτή την PHP με την παράμετρο-mail.force_extra_parameters = βα). PathToDocuments=Path to documents @@ -1269,7 +1280,7 @@ PerfDolibarr=Επιδόσεις ρύθμισης/βελτιστοποίηση τ YouMayFindPerfAdviceHere=Θα βρείτε σε αυτή τη σελίδα ορισμένους ελέγχους ή συμβουλές που σχετίζονται με την απόδοση. NotInstalled=Δεν έχει εγκατασταθεί, οπότε ο server σας δεν έχει επιβραδυνθεί από αυτό. ApplicativeCache=Εφαρμογή Cache -MemcachedNotAvailable=No applicative cache found. You can enhance performance by installing a cache server Memcached and a module able to use this cache server. More information here http://wiki.dolibarr.org/index.php/Module_MemCached_EN. Note that a lot of web hosting provider does not provide such cache server. +# MemcachedNotAvailable=No applicative cache found. You can enhance performance by installing a cache server Memcached and a module able to use this cache server.
More information here http://wiki.dolibarr.org/index.php/Module_MemCached_EN.
Note that a lot of web hosting provider does not provide such cache server. OPCodeCache=OPCode cache NoOPCodeCacheFound=No OPCode cache found. May be you use another OPCode cache than XCache or eAccelerator (good), may be you don't have OPCode cache (very bad). HTTPCacheStaticResources=HTTP cache for static resources (css, img, javascript) diff --git a/htdocs/langs/el_GR/agenda.lang b/htdocs/langs/el_GR/agenda.lang index 85b39d6ea51..0d5d5f44a45 100644 --- a/htdocs/langs/el_GR/agenda.lang +++ b/htdocs/langs/el_GR/agenda.lang @@ -52,6 +52,7 @@ InvoiceSentByEMail=Το τιμολόγιο του πελάτη %s εστάλη SupplierOrderSentByEMail=Η παραγγελία προμηθευτή %s στάλθηκε με e-mail SupplierInvoiceSentByEMail=Το τιμολόγιο προμηθευτή %s στάλθηκε με e-mail ShippingSentByEMail=Αποστολές %s αποστέλλονται με ηλεκτρονικό ταχυδρομείο +# ShippingValidated= Shipping %s validated InterventionSentByEMail=Παρέμβαση %s αποστέλλονται με ηλεκτρονικό ταχυδρομείο NewCompanyToDolibarr= Το στοιχείο δημιουργήθηκε DateActionPlannedStart= Προγρ/σμένη ημερομηνία έναρξης diff --git a/htdocs/langs/el_GR/cashdesk.lang b/htdocs/langs/el_GR/cashdesk.lang index aa68c934a9b..26695f8e1b8 100644 --- a/htdocs/langs/el_GR/cashdesk.lang +++ b/htdocs/langs/el_GR/cashdesk.lang @@ -37,3 +37,4 @@ ShowCompany=Εμφάνιση εταιρείας ShowStock=Εμφάνιση αποθήκης DeleteArticle=Κάντε κλικ για να καταργήσετε αυτό το προϊόν FilterRefOrLabelOrBC=Αναζήτηση (Κωδ. / Ετικέτα) +# UserNeedPermissionToEditStockToUsePos=You ask to decrease stock on invoice creation, so user that use POS need to have permission to edit stock. diff --git a/htdocs/langs/el_GR/errors.lang b/htdocs/langs/el_GR/errors.lang index 08d370bf665..50be4c89f8f 100644 --- a/htdocs/langs/el_GR/errors.lang +++ b/htdocs/langs/el_GR/errors.lang @@ -26,8 +26,11 @@ ErrorFromToAccountsMustDiffers=Πηγή και τους στόχους των τ ErrorBadThirdPartyName=Bad αξία για τους υπηκόους τρίτων όνομα κόμματος ErrorProdIdIsMandatory=Το %s είναι υποχρεωτικό ErrorBadCustomerCodeSyntax=Λάθος σύνταξη για τον κωδικό πελάτη +# ErrorBadBarCodeSyntax=Bad syntax for bar code ErrorCustomerCodeRequired=Κωδικός πελάτη απαιτείτε +# ErrorBarCodeRequired=Bar code required ErrorCustomerCodeAlreadyUsed=Ο κωδικός πελάτη που έχει ήδη χρησιμοποιηθεί +# ErrorBarCodeAlreadyUsed=Bar code already used ErrorPrefixRequired=Απαιτείται Πρόθεμα ErrorUrlNotValid=Η διεύθυνση της ιστοσελίδας είναι λανθασμένη ErrorBadSupplierCodeSyntax=Bad σύνταξη για τον κωδικό προμηθευτή @@ -63,6 +66,7 @@ ErrorNoValueForCheckBoxType=Please fill value for checkbox list ErrorNoValueForRadioType=Please fill value for radio list ErrorBadFormatValueList=The list value cannot have more than one come : %s, but need at least one: llave,valores ErrorFieldCanNotContainSpecialCharacters=%s πεδίου δεν πρέπει να περιέχει ειδικούς χαρακτήρες. +# ErrorFieldCanNotContainSpecialNorUpperCharacters=Field %s must not contains special characters, nor upper case characters. ErrorNoAccountancyModuleLoaded=Δεν λογιστική μονάδα ενεργοποιηθεί # ErrorExportDuplicateProfil=This profile name already exists for this export set. ErrorLDAPSetupNotComplete=Dolibarr-LDAP αντιστοίχιση δεν είναι πλήρης. diff --git a/htdocs/langs/el_GR/exports.lang b/htdocs/langs/el_GR/exports.lang index ba15a627ac2..fd7d0cef71f 100644 --- a/htdocs/langs/el_GR/exports.lang +++ b/htdocs/langs/el_GR/exports.lang @@ -109,7 +109,7 @@ DataCodeIDSourceIsInsertedInto=Η ταυτότητα του γονέα που β SourceRequired=Data value is mandatory SourceExample=Example of possible data value ExampleAnyRefFoundIntoElement=Κάθε σχ βρέθηκαν για %s στοιχείο -# ExampleAnyCodeOrIdFoundIntoDictionary=Any code (or id) found into dictionary %s +ExampleAnyCodeOrIdFoundIntoDictionary=Κάθε κωδικός (ή id) που βρέθηκαν στο λεξικό %s CSVFormatDesc=Comma Separated Value file format (.csv).
This is a text file format where fields are separated by separator [ %s ]. If separator is found inside a field content, field is rounded by round character [ %s ]. Escape character to escape round character is [ %s ]. Excel95FormatDesc=Excel file format (.xls)
This is native Excel 95 format (BIFF5). Excel2007FormatDesc=Excel file format (.xlsx)
This is native Excel 2007 format (SpreadsheetML). @@ -123,6 +123,10 @@ BankCode=Κωδικός τράπεζας DeskCode=Κωδικός γραφείου BankAccountNumber=Αριθμός Λογαριασμού BankAccountNumberKey=Κωδ. +# SpecialCode=Special code +# ExportStringFilter=%% allows replacing one or more characters in the text +# ExportDateFilter='AAAA' 'AAAAMM' 'AAAAMMJJ': filters by one year/month/day
'AAAA+AAAA' 'AAAAMM+AAAAMM' 'AAAAMMJJ+AAAAMMJJ': filters over a range of years/months/days
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filters on the following years/months/days
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filters on the previous years/months/days +# ExportNumericFilter='NNNNN' filters by one value
'NNNNN+NNNNN' filters over a range of values
'>NNNNN' filters by lower values
'>NNNNN' filters by higher values ## filters SelectFilterFields=Αν θέλετε να φιλτράρετε ορισμένες τιμές, απλά εισάγετε τις τιμές εδώ. FilterableFields=Πεδία φιλτραρίσματος diff --git a/htdocs/langs/el_GR/mails.lang b/htdocs/langs/el_GR/mails.lang index 0878c5af84c..72cd637d0fd 100644 --- a/htdocs/langs/el_GR/mails.lang +++ b/htdocs/langs/el_GR/mails.lang @@ -79,6 +79,13 @@ MailtoEMail=Hyper σύνδεσμο σε email ActivateCheckRead=Επιτρέπετε τη χρήση του "Unsubcribe" σύνδεσμου ActivateCheckReadKey=Κλειδί χρήσης για την κρυπτογράφηση του URL για "Διαβάστε Παραλαβή" και "Διαγραφή" χαρακτηριστικό EMailSentToNRecipients=EMail αποστέλλονται στους παραλήπτες %s. +# EachInvoiceWillBeAttachedToEmail=A document using default invoice document template will be created and attached to each email. +# MailTopicSendRemindUnpaidInvoices=Remind of invoice %s (%s) +# SendRemind=Send remind by EMails +# RemindSent=%S remind(s) sent +# AllRecipientSelectedForRemind=All thirdparties selected and if an email is set (note that one mail per invoice will be sent) +# NoRemindSent=No remind by EMail sent +# ResultOfMassSending=Result of mass remind sending by EMail # Libelle des modules de liste de destinataires mailing MailingModuleDescContactCompanies=Επαφές για όλα τα στοιχεία (πελάτης, προοπτική, προμηθευτής, ...) diff --git a/htdocs/langs/el_GR/main.lang b/htdocs/langs/el_GR/main.lang index e97302fa9a4..b6cb3019f47 100644 --- a/htdocs/langs/el_GR/main.lang +++ b/htdocs/langs/el_GR/main.lang @@ -572,7 +572,7 @@ TotalWoman=Συνολικές TotalMan=Συνολικοί NeverReceived=Δεν παραλήφθηκε Canceled=Ακυρώθηκε -YouCanChangeValuesForThisListFromDictionarySetup=Μπορείτε να αλλάξετε τις τιμές για αυτή τη λίστα από την εγκατάσταση του μενού - λεξικό +YouCanChangeValuesForThisListFromDictionarySetup=Μπορείτε να αλλάξετε τις τιμές για αυτή τη λίστα από το μενού Ρυθμίσεις - Διαχείριση Λεξικού Color=Χρώμα Documents=Συνδεδεμένα Αρχεία DocumentsNb=Συνδεδεμένα Αρχεία (%s) diff --git a/htdocs/langs/el_GR/opensurvey.lang b/htdocs/langs/el_GR/opensurvey.lang index b9dd90c2fc5..87c7ce9a22f 100644 --- a/htdocs/langs/el_GR/opensurvey.lang +++ b/htdocs/langs/el_GR/opensurvey.lang @@ -35,6 +35,7 @@ AddNewColumn=Προσθέσετε νέα στήλη TitleChoice=Επιλέξτε ετικέτα ExportSpreadsheet=Εξαγωγή αποτελεσμάτων σε υπολογιστικό φύλλο ExpireDate=Όριο ημερομηνίας +# NbOfSurveys=Number of surveys NbOfVoters=Αριθμός ψηφοφόρων SurveyResults=Αποτελέσματα PollAdminDesc=Έχετε την άδεια για να αλλάξει όλες τις γραμμές ψηφοφορίας της δημοσκόπησης αυτής με το κουμπί "Επεξεργασία". Μπορείτε, επίσης, να αφαιρέσετε μια στήλη ή μια γραμμή με %s. Μπορείτε επίσης να προσθέσετε μια νέα στήλη με %s. diff --git a/htdocs/langs/el_GR/orders.lang b/htdocs/langs/el_GR/orders.lang index 79e94cb87be..1d044e9f821 100644 --- a/htdocs/langs/el_GR/orders.lang +++ b/htdocs/langs/el_GR/orders.lang @@ -55,6 +55,7 @@ DraftOrWaitingShipped=Draft or validated not yet shipped MenuOrdersToBill=Παραγγελίες προς χρέωση MenuOrdersToBill2=Παραγγελίες για τιμολόγηση SearchOrder=Εύρεση παραγγελίας +# SearchACustomerOrder=Search a customer order ShipProduct=Ship product Discount=Έκπτωση CreateOrder=Δημιουργία παραγγελίας @@ -164,3 +165,4 @@ Ordered=Παραγγελια OrderCreated=Οι παραγγελίες σας έχουν δημιουργηθεί OrderFail=Ένα σφάλμα συνέβη κατά τη διάρκεια την δημιουργία τις παραγγελίες CreateOrders=Δημιουργία παραγγελιών +# ToBillSeveralOrderSelectCustomer=To create an invoice for several orders, click first onto customer, then choose "%s". diff --git a/htdocs/langs/el_GR/other.lang b/htdocs/langs/el_GR/other.lang index 0264693a06c..71149cff21e 100644 --- a/htdocs/langs/el_GR/other.lang +++ b/htdocs/langs/el_GR/other.lang @@ -49,14 +49,15 @@ Miscellaneous=Διάφορα NbOfActiveNotifications=Πλήθος ειδοποιήσεων PredefinedMailTest=Δοκιμαστικο mail.\nΟι δύο γραμμές είναι χωρισμένες με carriage return. PredefinedMailTestHtml=Αυτό είναι ένα μήνυμα δοκιμής (η δοκιμή λέξη πρέπει να είναι με έντονα γράμματα).
Οι δύο γραμμές που χωρίζονται με ένα χαρακτήρα επαναφοράς. -PredefinedMailContentSendInvoice=__CONTACTCIVNAME__ \n\n Εδώ θα βρείτε το τιμολόγιο __ FACREF__ \n\n __PERSONALIZED__Ειλικρινά \n\n__SIGNATURE__ -PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__ \n\n Θα θέλαμε να σας προειδοποιήσω ότι το τιμολόγιο FACREF__ __ φαίνεται να μη πληρώνονται. Έτσι, αυτό είναι το τιμολόγιο στο συνημμένο και πάλι, ως υπενθύμιση. Ειλικρινά \n\n__PERSONALIZED__ \n\n__SIGNATURE__ -PredefinedMailContentSendProposal=__CONTACTCIVNAME__ \n\n Εδώ θα βρείτε την εμπορική propoal __ PROPREF__ \n\n__PERSONALIZED__ Ειλικρινά \n\n__SIGNATURE__ -PredefinedMailContentSendOrder=__CONTACTCIVNAME__ \n\n Εδώ θα βρείτε τη σειρά __ ORDERREF__ \n\n__PERSONALIZED__ Ειλικρινά \n\n__SIGNATURE__ -PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__ \n\n Εδώ θα βρείτε για μας __ ORDERREF__ \n\n__PERSONALIZED__ Ειλικρινά \n\n__SIGNATURE__ -PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__ \n\n Εδώ θα βρείτε το τιμολόγιο __ FACREF__ \n\n__PERSONALIZED__ Ειλικρινά \n\n__SIGNATURE__ -PredefinedMailContentSendShipping=__CONTACTCIVNAME__ \n\n Θα βρείτε εδώ τη ναυτιλία __SHIPPINGREF__ \n\n__PERSONALIZED__Sincerely \n\n__SIGNATURE__ -PredefinedMailContentSendFichInter=__CONTACTCIVNAME__ \n\n Θα βρείτε εδώ την παρέμβαση __ FICHINTERREF__ \n\n__PERSONALIZED__ Ειλικρινά \n\n__SIGNATURE__ +# PredefinedMailContentSendInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__\n\nWe would like to warn you that the invoice __FACREF__ seems to not being payed. So this is the invoice in attachment again, as a reminder.\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendProposal=__CONTACTCIVNAME__\n\nYou will find here the commercial proposal __PROPREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendOrder=__CONTACTCIVNAME__\n\nYou will find here the order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__\n\nYou will find here our order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendShipping=__CONTACTCIVNAME__\n\nYou will find here the shipping __SHIPPINGREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendFichInter=__CONTACTCIVNAME__\n\nYou will find here the intervention __FICHINTERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentThirdparty=__CONTACTCIVNAME__\n\n__PERSONALIZED__\n\n__SIGNATURE__ DemoDesc=Dolibarr είναι ένα συμπαγές ERP / CRM αποτελείται από διάφορες λειτουργικές ενότητες. Ένα demo που περιλαμβάνει όλες τις ενότητες δεν σημαίνει τίποτα, όπως ποτέ δεν συμβαίνει αυτό. Έτσι, πολλά προφίλ επίδειξη είναι διαθέσιμα. ChooseYourDemoProfil=Επιλέξτε το προφίλ που ταιριάζει με επίδειξη δραστηριότητά σας ... DemoFundation=Διαχειριστείτε τα μέλη του ιδρύματος diff --git a/htdocs/langs/el_GR/products.lang b/htdocs/langs/el_GR/products.lang index 4e59c6dfaeb..d25da4acc81 100644 --- a/htdocs/langs/el_GR/products.lang +++ b/htdocs/langs/el_GR/products.lang @@ -13,6 +13,10 @@ NewProduct=Νέο Προϊόν NewService=Νέα Υπηρεσία ProductCode=Κωδικός Προϊόντος ServiceCode=Κωδικός Υπηρεσίας +# ProductVatMassChange=Mass VAT change +# ProductVatMassChangeDesc=This page can be used to modify a VAT rate defined on products or services from a value to another. Warning, this change is done on all database. +# MassBarcodeInit=Mass barcode init +# MassBarcodeInitDesc=This page can be used to initialize a barcode on objects that does not have barcode defined. Check before that setup of module barcode is complete. ProductAccountancyBuyCode=Λογιστικός κωδικός (αγορά) ProductAccountancySellCode=Λογιστικός κωδικός (πώληση) ProductOrService=Προϊόν ή Υπηρεσία @@ -173,8 +177,8 @@ CustomCode=Τελωνειακός Κώδικας CountryOrigin=Χώρα προέλευσης HiddenIntoCombo=Κρυμμένο σε λίστες επιλογής Nature=Nature -ProductCodeModel=Product code model -ServiceCodeModel=Service code model +ProductCodeModel=Προϊόν κωδ. Πρότυπο +ServiceCodeModel=Υπηρεσία κωδ. Πρότυπο AddThisProductCard=Create product card HelpAddThisProductCard=This option allows you to create or clone a product if it does not exist. AddThisServiceCard=Create service card @@ -216,5 +220,10 @@ DefinitionOfBarCodeForProductNotComplete=Ορισμός του τύπου ή τ DefinitionOfBarCodeForThirdpartyNotComplete=Ορισμός του τύπου ή της αξίας του barcode είναι μη πλήρης για άλλους κατασκευαστές %s. BarCodeDataForProduct=Πληροφορίες barcode του προϊόντος %s : BarCodeDataForThirdparty=Πληροφορίες Barcode από άλλους κατασκευαστές %s : -BarcodeStickersMask=xxx - +# ResetBarcodeForAllRecords=Define barcode value for all records (this will also reset barcode value already defined with new values) +# PriceByCustomer=Price by customer +# PriceCatalogue=Catalogue Price +# PricingRule=Pricing Rules +# AddCustomerPrice=Add price by customers +# ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +# PriceByCustomerLog=Price by customer log diff --git a/htdocs/langs/el_GR/projects.lang b/htdocs/langs/el_GR/projects.lang index fea4a433082..3291c9edc96 100644 --- a/htdocs/langs/el_GR/projects.lang +++ b/htdocs/langs/el_GR/projects.lang @@ -1,4 +1,6 @@ # Dolibarr language file - Source file is en_US - projects +# RefProject=Ref. project +# ProjectId=Project Id Project=Έργο Projects=Έργα SharedProject=Όλοι @@ -30,11 +32,18 @@ TimeSpent=Χρόνος που δαπανήθηκε TimesSpent=Ο χρόνος που δαπανάται RefTask=Αναφ. εργασίας LabelTask=Ετικέτα εργασίας +# TaskTimeSpent=Time spent on tasks +# TaskTimeUser=Task time user +# TaskTimeNote=Task time note +# TaskTimeDate=Task time date NewTimeSpent=Νέος χρόνος που δαπανάται MyTimeSpent=Ο χρόνος μου πέρασε MyTasks=Οι Εργασίες μου Tasks=Εργασίες Task=Εργασία +# TaskDateStart=Task start date +# TaskDateEnd=Task end date +# TaskDescription=Task description NewTask=Νέα Εργασία AddTask=Προσθήκη Εργασίας AddDuration=Προσθήκη Διάρκειας @@ -100,12 +109,12 @@ ProjectCreatedInDolibarr=Έργο %s δημιουργήθηκε ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Επικεφαλής του σχεδίου TypeContact_project_external_PROJECTLEADER=Επικεφαλής του σχεδίου -TypeContact_project_internal_PROJECTCONTRIBUTOR=Συνεισφέρων -TypeContact_project_external_PROJECTCONTRIBUTOR=Συνεισφέρων +# TypeContact_project_internal_PROJECTCONTRIBUTOR=Contributor +# TypeContact_project_external_PROJECTCONTRIBUTOR=Contributor TypeContact_project_task_internal_TASKEXECUTIVE=Εκτελεστική ομάδα TypeContact_project_task_external_TASKEXECUTIVE=Εκτελεστική ομάδα -TypeContact_project_task_internal_TASKCONTRIBUTOR=Συνεισφέρων -TypeContact_project_task_external_TASKCONTRIBUTOR=Συνεισφέρων +# TypeContact_project_task_internal_TASKCONTRIBUTOR=Contributor +# TypeContact_project_task_external_TASKCONTRIBUTOR=Contributor SelectElement=Επιλέξτε το στοιχείο AddElement=Σύνδεση με το στοιχείο # Documents models diff --git a/htdocs/langs/el_GR/stocks.lang b/htdocs/langs/el_GR/stocks.lang index 61f0ac9f2c1..4f657b964ee 100644 --- a/htdocs/langs/el_GR/stocks.lang +++ b/htdocs/langs/el_GR/stocks.lang @@ -94,14 +94,20 @@ DesiredStock=Επιθυμητο απόθεμα StockToBuy=Για να παραγγείλετε Replenishment=Αναπλήρωση ReplenishmentOrders=Αναπλήρωση παραγγελίων -UseVirtualStock=Χρησιμοποιήστε το εικονικό απόθεμα αντί των φυσικών αποθεμάτων +# VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differs +UseVirtualStockByDefault=Χρησιμοποιήστε το εικονικό απόθεμα από προεπιλογή, αντί των φυσικών αποθεμάτων, για τη \nλειτουργία αναπλήρωσης +UseVirtualStock=Χρησιμοποιήστε το εικονικό απόθεμα +UsePhysicalStock=Χρησιμοποιήστε το φυσικό απόθεμα +CurentSelectionMode=Επιλογή τρέχουσας κατάστασης +CurentlyUsingVirtualStock=Εικονικό απόθεμα +CurentlyUsingPhysicalStock=Φυσικό απόθεμα RuleForStockReplenishment=Κανόνας για τα αποθέματα αναπλήρωσης SelectProductWithNotNullQty=Επιλέξτε τουλάχιστον ένα προϊόν με ποσότητα δεν είναι έγκυρη σε προμηθευτή AlertOnly= Ειδοποιήσεις μόνο WarehouseForStockDecrease=Η αποθήκη %s να να χρησιμοποιηθεί για μείωση αποθεμάτων WarehouseForStockIncrease=Η αποθήκη %s θα χρησιμοποιηθεί για την αύξηση των αποθεμάτων ForThisWarehouse=Για αυτή την αποθήκη -ReplenishmentStatusDesc=Αυτή είναι η λίστα όλων των προϊόντων με το φυσικό απόθεμα κάτω από το επιθυμητό απόθεμα (ή τιμή ειδοποίησης σε περίπτωση κουτάκι "συναγερμού" είναι επιλεγμένο) συνιστούμε να δημιουργήσετε παραγγελίες σε προμηθευτές για να συμπληρώσουν τη διαφορά. +ReplenishmentStatusDesc=Αυτή είναι η λίστα όλων των προϊόντων με απόθεμα κάτω από το επιθυμητό απόθεμα (ή χαμηλότερες από την αξία συναγερμού, εφόσον κουτάκι "ειδοποίηση μόνο" είναι επιλεγμένο), και προτείνουμε να δημιουργήσετε παραγγελίες σε προμηθευτές για να αναπληρώσει τη διαφορά. ReplenishmentOrdersDesc=Αυτή είναι η λίστα όλων των ανοικτών παραγγελιών σε προμηθευτές Replenishments=Αναπληρώσεις NbOfProductBeforePeriod=Ποσότητα του προϊόντος %s σε απόθεμα πριν από την επιλεγμένη περίοδο (< %s) diff --git a/htdocs/langs/es_ES/admin.lang b/htdocs/langs/es_ES/admin.lang index d4a501e76a8..afb59e741c9 100644 --- a/htdocs/langs/es_ES/admin.lang +++ b/htdocs/langs/es_ES/admin.lang @@ -287,7 +287,7 @@ CurrentVersion=Versión actual de Dolibarr CallUpdatePage=Llamar a la página de actualización de la estructura y datos de la base de datos %s. LastStableVersion=Última versión estable disponible GenericMaskCodes=Puede introducir cualquier máscara numérica. En esta máscara, puede utilizar las siguientes etiquetas:
{000000} corresponde a un número que se incrementa en cada uno de %s. Introduzca tantos ceros como longitud desee mostrar. El contador se completará a partir de ceros por la izquierda con el fin de tener tantos ceros como la máscara.
{000000+000} Igual que el anterior, con una compensación correspondiente al número a la derecha del signo + se aplica a partir del primer %s.
{000000@x} igual que el anterior, pero el contador se restablece a cero cuando se llega a x meses (x entre 1 y 12). Si esta opción se utiliza y x es de 2 o superior, entonces la secuencia {yy}{mm} o {yyyy}{mm} también es necesaria.
{dd} días (01 a 31).
{mm} mes (01 a 12).
{yy}, {yyyy} ou {y} año en 2, 4 ó 1 cifra.
-GenericMaskCodes2={cccc} el código de cliente en n caracteres
{cccc000} el código de cliente en n caracteres es seguido por un contador propio al cliente sin offset, completado con ceros hasta completar la máscara, y volviendo a cero al mismo tiempo que el contador global.
{tttt}El código del tipo de la empresa en n caracteres (ver diccionarios-tipos de empresas).
+# GenericMaskCodes2={cccc} the client code on n characters
{cccc000} the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.
{tttt} The code of company type on n characters (see dictionary-company types).
GenericMaskCodes3=Cualquier otro carácter en la máscara se quedará sin cambios.
No se permiten espacios
GenericMaskCodes4a=Ejemplo en la 99 ª %s del tercero La Empresa realizada el 31/03/2007:
GenericMaskCodes4b=Ejemplo sobre un tercero creado el 31/03/2007:
@@ -345,8 +345,6 @@ SecurityTokenIsUnique=¿Usar un parámetro securekey único para cada URL? EnterRefToBuildUrl=Introduzca la referencia del objeto %s GetSecuredUrl=Obtener la URL calculada ButtonHideUnauthorized=Ocultar los botones de acciones no autorizadas en vez de mostrarlos atenuados -ProductVatMassChange=Modificar IVA en masa -ProductVatMassChangeDesc=Esta página le permite cambiar el tipo de IVA definido en los productos o servicios de un valor a otro. Tenga en cuenta que el cambio se lleva a cabo en masa sobre toda la base de datos. OldVATRates=Tasa de IVA antigua NewVATRates=Tasa de IVA nueva PriceBaseTypeToChange=Cambiar el precio cuya referencia de base es @@ -381,6 +379,16 @@ KeepEmptyToUseDefault=Deje este campo vacío para usar el valor por defecto DefaultLink=Enlace por defecto ValueOverwrittenByUserSetup=Atención: Este valor puede ser sobreescrito por un valor específico de la configuración del usuario (cada usuario puede tener su propia url clicktodial) ExternalModule=Módulo externo - Instalado en el directorio %s +# BarcodeInitForThirdparties=Mass barcode init for thirdparties +# BarcodeInitForProductsOrServices=Mass barcode init or reset for products or services +# CurrentlyNWithoutBarCode=Currently, you have %s records on %s %s without barcode defined. +# InitEmptyBarCode=Init value for next %s empty records +# EraseAllCurrentBarCode=Erase all current barcode values +# ConfirmEraseAllCurrentBarCode=Are you sure you want to erase all current barcode values ? +# AllBarcodeReset=All barcode values have been removed +# NoBarcodeNumberingTemplateDefined=No numbering barcode template enabled into barcode module setup. +# NoRecordWithoutBarcodeDefined=No record with no barcode value defined. + # Modules Module0Name=Usuarios y grupos @@ -510,6 +518,8 @@ Module59000Name=Márgenes Module59000Desc=Módulo para gestionar los márgenes de beneficio Module60000Name=Comisiones Module60000Desc=Módulo para gestionar las comisiones de venta +# Module150010Name=Batch number, eat-by date and sell-by date +# Module150010Desc=batch number, eat-by date and sell-by date management for product Permission11=Consultar facturas Permission12=Crear/Modificar facturas Permission13=De-validar facturas @@ -726,8 +736,8 @@ Permission55001=Leer encuestas Permission55002=Crear/modificar encuestas Permission59001=Leer márgenes comerciales Permission59002=Definir márgenes comerciales -DictionaryCompanyType=Tipos de empresa -DictionaryCompanyJuridicalType=Formas jurídicas +# DictionaryCompanyType=Thirdparties type +# DictionaryCompanyJuridicalType=Juridical kinds of thirdparties DictionaryProspectLevel=Perspectiva nivel cliente potencial DictionaryCanton=Departamentos/Provincias/Zonas DictionaryRegion=Regiones @@ -959,7 +969,7 @@ SimpleNumRefModelDesc=Devuelve el número bajo el formato %syymm-nnnn donde yy e ShowProfIdInAddress=Mostrar el identificador profesional en las direcciones de los documentos ShowVATIntaInAddress=Ocultar el identificador IVA en las direcciones de los documentos TranslationUncomplete=Traducción parcial -SomeTranslationAreUncomplete=Algunos idiomas están traducidos en parte o pueden contener errores. Si lo encuentra, puede corregir los archivos de texto .lang del directorio htdocs/langs y enviarlos al foro http://www.dolibarr.fr. +# SomeTranslationAreUncomplete=Some languages may be partially translated or may contains errors. If you detect some, you can fix language files registering to http://transifex.com/projects/p/dolibarr/. MenuUseLayout=Hacer el menú izquierdo ocultable (la opción javascript no debería deshabilitarse) MAIN_DISABLE_METEO=Deshabilitar la vista meteorológica TestLoginToAPI=Comprobar conexión a la API @@ -985,6 +995,7 @@ ExtraFieldsProject=Atributos adicionales (proyectos) ExtraFieldsProjectTask=Atributos adicionales (tareas) ExtraFieldHasWrongValue=El atributo %s tiene un valor incorrecto. AlphaNumOnlyCharsAndNoSpace=solamente caracteres alfanuméricos sin espacios +# AlphaNumOnlyLowerCharsAndNoSpace=only alphanumericals and lower case characters without space SendingMailSetup=Configuración del envío por mail SendmailOptionNotComplete=Atención, en algunos sistemas Linux, con este método de envio, para poder enviar mails en su nombre, la configuración de sendmail debe contener la opción -ba (parámetro mail.force_extra_parameters en el archivo php.ini). Si algunos de sus destinatarios no reciben sus mensajes, pruebe a modificar este parámetro PHP con mail.force_extra_parameters=-ba. PathToDocuments=Rutas de acceso a documentos @@ -1269,7 +1280,7 @@ PerfDolibarr=Configuración rendimiento/informe de optimización YouMayFindPerfAdviceHere=En esta página encontrará varias pruebas y consejos relacionados con el rendimiento. NotInstalled=No instalado, por lo que su servidor no baja de rendimiento con esto. ApplicativeCache=Aplicación caché -MemcachedNotAvailable=Ninguna aplicación caché disponible. Puede acelerar el rendimiento de Dolibarr instalando un servidor de cache Memcached y un módulo de caché de aplicaciones en este servidor. Más información en la página http://wiki.dolibarr.org/index.php/M%C3%B3dulo_MemCached. Tenga en cuenta que muchos servidores web de bajo coste no ofrecen estos servidores de caché en su infraestructura. +# MemcachedNotAvailable=No applicative cache found. You can enhance performance by installing a cache server Memcached and a module able to use this cache server.
More information here http://wiki.dolibarr.org/index.php/Module_MemCached_EN.
Note that a lot of web hosting provider does not provide such cache server. OPCodeCache=OPCode caché NoOPCodeCacheFound=No se ha encontrado ningún OPCode caché. Puede ser que esté usando otro OPCode como XCache o eAccelerator (mejor), o puede que no tenga OPCode caché (peor). HTTPCacheStaticResources=Caché HTTP para estadísticas de recursos (css, img, javascript) diff --git a/htdocs/langs/es_ES/agenda.lang b/htdocs/langs/es_ES/agenda.lang index d832ae6afb5..d58a9edbf64 100644 --- a/htdocs/langs/es_ES/agenda.lang +++ b/htdocs/langs/es_ES/agenda.lang @@ -52,7 +52,7 @@ InvoiceSentByEMail=Factura a cliente %s enviada por e-mail SupplierOrderSentByEMail=Pedido a proveedor %s enviada por e-mail SupplierInvoiceSentByEMail=Factura de proveedor %s enviada por e-mail ShippingSentByEMail=Expedición %s enviada por e-mail -ShippingValidated= Expedición %s validada +# ShippingValidated= Shipping %s validated InterventionSentByEMail=Intervención %s enviada por e-mail NewCompanyToDolibarr= Tercero creado DateActionPlannedStart= Fecha de inicio prevista diff --git a/htdocs/langs/es_ES/bills.lang b/htdocs/langs/es_ES/bills.lang index bfcd2875271..d192ee9944f 100644 --- a/htdocs/langs/es_ES/bills.lang +++ b/htdocs/langs/es_ES/bills.lang @@ -96,14 +96,14 @@ DoPaymentBack=Emitir reembolso ConvertToReduc=Convertir en reducción futura EnterPaymentReceivedFromCustomer=Añadir pago recibido de cliente EnterPaymentDueToCustomer=Realizar pago de abonos al cliente -DisabledBecauseRemainderToPayIsZero=Desactivar ya que el resto a pagar es 0 +DisabledBecauseRemainderToPayIsZero=Desactivado ya que el resto a pagar es 0 Amount=Importe PriceBase=Precio base BillStatus=Estado de la factura BillStatusDraft=Borrador (a validar) BillStatusPaid=Pagada BillStatusPaidBackOrConverted=Reembolsada o convertida en reducción -BillStatusConverted=Convertida en reducción +BillStatusConverted=Pagada (lista para factura final) BillStatusCanceled=Abandonada BillStatusValidated=Validada (a pagar) BillStatusStarted=Pagada parcialmente diff --git a/htdocs/langs/es_ES/cashdesk.lang b/htdocs/langs/es_ES/cashdesk.lang index 290d18b430e..0fe038a0f55 100644 --- a/htdocs/langs/es_ES/cashdesk.lang +++ b/htdocs/langs/es_ES/cashdesk.lang @@ -37,3 +37,4 @@ ShowCompany=Ver empresa ShowStock=Ver almacén DeleteArticle=Haga clic para quitar este artículo FilterRefOrLabelOrBC=Búsqueda (Ref/Etiq.) +# UserNeedPermissionToEditStockToUsePos=You ask to decrease stock on invoice creation, so user that use POS need to have permission to edit stock. diff --git a/htdocs/langs/es_ES/errors.lang b/htdocs/langs/es_ES/errors.lang index baef2563cdf..7df10ebfd60 100644 --- a/htdocs/langs/es_ES/errors.lang +++ b/htdocs/langs/es_ES/errors.lang @@ -26,8 +26,11 @@ ErrorFromToAccountsMustDiffers=La cuenta origen y destino deben ser diferentes. ErrorBadThirdPartyName=Nombre de tercero incorrecto ErrorProdIdIsMandatory=El %s es obligatorio ErrorBadCustomerCodeSyntax=La sintaxis del código cliente es incorrecta +# ErrorBadBarCodeSyntax=Bad syntax for bar code ErrorCustomerCodeRequired=Código cliente obligatorio +# ErrorBarCodeRequired=Bar code required ErrorCustomerCodeAlreadyUsed=Código de cliente ya utilizado +# ErrorBarCodeAlreadyUsed=Bar code already used ErrorPrefixRequired=Prefijo obligatorio ErrorUrlNotValid=La dirección del sitio web es incorrecta ErrorBadSupplierCodeSyntax=LA sintaxis del código proveedor es incorrecta @@ -63,6 +66,7 @@ ErrorNoValueForCheckBoxType=Los valores de la lista deben ser indicados ErrorNoValueForRadioType=Los valores de la lista deben ser indicados ErrorBadFormatValueList=Los valores de la lista no peudo contener mas de una coma : %s, pero necessita una: llave,valores ErrorFieldCanNotContainSpecialCharacters=El campo %s no debe contener carácteres especiales +# ErrorFieldCanNotContainSpecialNorUpperCharacters=Field %s must not contains special characters, nor upper case characters. ErrorNoAccountancyModuleLoaded=Módulo de contabilidad no activado ErrorExportDuplicateProfil=El nombre de este perfil ya existe para este conjunto de exportación ErrorLDAPSetupNotComplete=La configuración Dolibarr-LDAP es incompleta. diff --git a/htdocs/langs/es_ES/exports.lang b/htdocs/langs/es_ES/exports.lang index 009eb4f5293..9766705cda3 100644 --- a/htdocs/langs/es_ES/exports.lang +++ b/htdocs/langs/es_ES/exports.lang @@ -123,10 +123,10 @@ BankCode=Código banco DeskCode=Código oficina BankAccountNumber=Número cuenta BankAccountNumberKey=Dígito Control -SpecialCode=Código especial -ExportStringFilter=%% permite reemplazar uno o más caracteres en el texto -ExportDateFilter='AAAA' 'AAAAMM' 'AAAAMMJJ': filtra por un año/mes/día
'AAAA+AAAA' 'AAAAMM+AAAAMM' 'AAAAMMJJ+AAAAMMJJ': filtra entre un rango de años/meses/días
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filtra por los siguientes años/meses/días
'‹AAAA' '‹AAAAMM' '‹AAAAMMJJ': filtra por los anteriores años/meses/días -ExportNumericFilter='NNNNN' filtra por un valor
'NNNNN+NNNNN' filtra entre un rango de valores
'‹NNNNN' filtra por valores inferiores
'>NNNNN' filtra por valores superiores +# SpecialCode=Special code +# ExportStringFilter=%% allows replacing one or more characters in the text +# ExportDateFilter='AAAA' 'AAAAMM' 'AAAAMMJJ': filters by one year/month/day
'AAAA+AAAA' 'AAAAMM+AAAAMM' 'AAAAMMJJ+AAAAMMJJ': filters over a range of years/months/days
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filters on the following years/months/days
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filters on the previous years/months/days +# ExportNumericFilter='NNNNN' filters by one value
'NNNNN+NNNNN' filters over a range of values
'>NNNNN' filters by lower values
'>NNNNN' filters by higher values ## filters SelectFilterFields=Si quiere aplicar un filtro sobre algunos valores, introdúzcalos aquí. FilterableFields=Campos filtrables diff --git a/htdocs/langs/es_ES/mails.lang b/htdocs/langs/es_ES/mails.lang index 79ed3f051c3..ba9d40f4491 100644 --- a/htdocs/langs/es_ES/mails.lang +++ b/htdocs/langs/es_ES/mails.lang @@ -79,6 +79,13 @@ MailtoEMail=mailto email (hyperlink) ActivateCheckRead=Activar confirmación de lectura y opción de desuscripción ActivateCheckReadKey=Clave usada para encriptar la URL de la confirmación de lectura y la función de desuscripción EMailSentToNRecipients=E-Mail enviado a %s destinatarios. +# EachInvoiceWillBeAttachedToEmail=A document using default invoice document template will be created and attached to each email. +# MailTopicSendRemindUnpaidInvoices=Remind of invoice %s (%s) +# SendRemind=Send remind by EMails +# RemindSent=%S remind(s) sent +# AllRecipientSelectedForRemind=All thirdparties selected and if an email is set (note that one mail per invoice will be sent) +# NoRemindSent=No remind by EMail sent +# ResultOfMassSending=Result of mass remind sending by EMail # Libelle des modules de liste de destinataires mailing MailingModuleDescContactCompanies=Contactos de terceros (clientes potenciales, clientes, proveedores...) diff --git a/htdocs/langs/es_ES/opensurvey.lang b/htdocs/langs/es_ES/opensurvey.lang index e7177c491de..480250b4f42 100644 --- a/htdocs/langs/es_ES/opensurvey.lang +++ b/htdocs/langs/es_ES/opensurvey.lang @@ -35,6 +35,7 @@ AddNewColumn=Añadir nueva columna TitleChoice=Título de la opción ExportSpreadsheet=Exportar resultados a una hoja de cálculo ExpireDate=Fecha límite +# NbOfSurveys=Number of surveys NbOfVoters=Núm. de votantes SurveyResults=Resultados PollAdminDesc=Está autorizado para cambiar todas las líneas de la encuesta con el botón "Editar". Puede, también, eliminar una columna o una línea con %s. También puede añadir una nueva columna con %s. diff --git a/htdocs/langs/es_ES/orders.lang b/htdocs/langs/es_ES/orders.lang index 33132623690..99501808829 100644 --- a/htdocs/langs/es_ES/orders.lang +++ b/htdocs/langs/es_ES/orders.lang @@ -55,6 +55,7 @@ DraftOrWaitingShipped=Borrador o validado aún no expedido MenuOrdersToBill=Pedidos a facturar MenuOrdersToBill2=Pedidos facturables SearchOrder=Buscar un pedido +# SearchACustomerOrder=Search a customer order ShipProduct=Enviar producto Discount=Descuento CreateOrder=Crear pedido @@ -164,3 +165,4 @@ Ordered=Pedido OrderCreated=Sus pedidos han sido creados OrderFail=Se ha producido un error durante la creación de sus pedidos CreateOrders=Crear pedidos +# ToBillSeveralOrderSelectCustomer=To create an invoice for several orders, click first onto customer, then choose "%s". diff --git a/htdocs/langs/es_ES/other.lang b/htdocs/langs/es_ES/other.lang index 3e079ec02f4..5f22d81b951 100644 --- a/htdocs/langs/es_ES/other.lang +++ b/htdocs/langs/es_ES/other.lang @@ -49,14 +49,15 @@ Miscellaneous=Miscelánea NbOfActiveNotifications=Número notificaciones PredefinedMailTest=Esto es un correo de prueba.\nLas 2 líneas están separadas por un retorno de carro a la línea. PredefinedMailTestHtml=Esto es un e-mail de prueba(la palabra prueba debe de estar en negrita).
Las 2 líneas están separadas por un retorno de carro en la línea -PredefinedMailContentSendInvoice=Buenos días, __CONTACTCIVNAME__ \n\n Nos ponemos en contacto con usted para facilitarle la factura __FACREF__\n\n Ante cualquier duda, consúltenos y será atendido a la mayor brevedad posible.\n\n __PERSONALIZED__Cordialmente\n\n__SIGNATURE__ -PredefinedMailContentSendInvoiceReminder=Buenos días, __CONTACTCIVNAME__ \n\n Ponemos en su conocimiento que la factura __FACREF__ parece no estar pagada. Así pues, se la adjuntamos para que pueda revisarla.\n\n__PERSONALIZED__Cordialmente\n\n__SIGNATURE__ -PredefinedMailContentSendProposal=Buenos días, __CONTACTCIVNAME__ \n\n Nos ponemos en contacto con usted para facilitarle el presupuesto __PROPREF__\n\n Ante cualquier duda, consúltenos y será atendido a la mayor brevedad posible.\n\n __PERSONALIZED__Cordialmente\n\n__SIGNATURE__ -PredefinedMailContentSendOrder=Buenos días, __CONTACTCIVNAME__ \n\n Nos ponemos en contacto con usted para facilitarle el pedido __ORDERREF__\n\n Ante cualquier duda, consúltenos y será atendido a la mayor brevedad posible.\n\n __PERSONALIZED__Cordialmente\n\n__SIGNATURE__ -PredefinedMailContentSendSupplierOrder=Buenos días, __CONTACTCIVNAME__ \n\n Nos ponemos en contacto con usted para hacerle llegar nuestro pedido __ORDERREF__\n\n Ante cualquier duda, consúltenos y será atendido a la mayor brevedad posible.\n\n __PERSONALIZED__Cordialmente\n\n__SIGNATURE__ -PredefinedMailContentSendSupplierInvoice=Buenos días, __CONTACTCIVNAME__ \n\n Nos ponemos en contacto con usted para facilitarle la factura __FACREF__\n\n Ante cualquier duda, consúltenos y será atendido a la mayor brevedad posible.\n\n __PERSONALIZED__Cordialmente\n\n__SIGNATURE__ -PredefinedMailContentSendShipping=Buenos días, __CONTACTCIVNAME__ \n\n Nos ponemos en contacto con usted para facilitarle la expedición __SHIPPINGREF__\n\n Ante cualquier duda, consúltenos y será atendido a la mayor brevedad posible.\n\n __PERSONALIZED__Cordialmente\n\n__SIGNATURE__ -PredefinedMailContentSendFichInter=Buenos días, __CONTACTCIVNAME__ \n\n Nos ponemos en contacto con usted para facilitarle la intervención __FICHINTERREF__\n\n Ante cualquier duda, consúltenos y será atendido a la mayor brevedad posible.\n\n __PERSONALIZED__Cordialmente\n\n__SIGNATURE__ +# PredefinedMailContentSendInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__\n\nWe would like to warn you that the invoice __FACREF__ seems to not being payed. So this is the invoice in attachment again, as a reminder.\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendProposal=__CONTACTCIVNAME__\n\nYou will find here the commercial proposal __PROPREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendOrder=__CONTACTCIVNAME__\n\nYou will find here the order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__\n\nYou will find here our order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendShipping=__CONTACTCIVNAME__\n\nYou will find here the shipping __SHIPPINGREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendFichInter=__CONTACTCIVNAME__\n\nYou will find here the intervention __FICHINTERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentThirdparty=__CONTACTCIVNAME__\n\n__PERSONALIZED__\n\n__SIGNATURE__ DemoDesc=Dolibarr es un software para la gestión de negocios (profesionales o asociaciones), compuesto de módulos funcionales independientes y opcionales. Una demostración que incluya todos estos módulos no tiene sentido porque no utilizará todos los módulos. Además, tiene disponibles varios tipos de perfiles de demostración. ChooseYourDemoProfil=Seleccione el perfil de demostración que mejor corresponda a su actividad... DemoFundation=Gestión de miembros de una asociación diff --git a/htdocs/langs/es_ES/products.lang b/htdocs/langs/es_ES/products.lang index 9ea7de651c9..f6707f5cf5e 100644 --- a/htdocs/langs/es_ES/products.lang +++ b/htdocs/langs/es_ES/products.lang @@ -13,6 +13,10 @@ NewProduct=Nuevo producto NewService=Nuevo servicio ProductCode=Código producto ServiceCode=Código servicio +# ProductVatMassChange=Mass VAT change +# ProductVatMassChangeDesc=This page can be used to modify a VAT rate defined on products or services from a value to another. Warning, this change is done on all database. +# MassBarcodeInit=Mass barcode init +# MassBarcodeInitDesc=This page can be used to initialize a barcode on objects that does not have barcode defined. Check before that setup of module barcode is complete. ProductAccountancyBuyCode=Código contable compras ProductAccountancySellCode=Código contable ventas ProductOrService=Producto o servicio @@ -216,5 +220,10 @@ DefinitionOfBarCodeForProductNotComplete=Definición de tipo o valor de código DefinitionOfBarCodeForThirdpartyNotComplete=Definición de tipo o valor de código de barras incompleta en el tercero %s. BarCodeDataForProduct=Información del código de barras del producto %s: BarCodeDataForThirdparty=Información del código de barras del tercero %s: -BarcodeStickersMask=xxx - +# ResetBarcodeForAllRecords=Define barcode value for all records (this will also reset barcode value already defined with new values) +# PriceByCustomer=Price by customer +# PriceCatalogue=Catalogue Price +# PricingRule=Pricing Rules +# AddCustomerPrice=Add price by customers +# ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +# PriceByCustomerLog=Price by customer log diff --git a/htdocs/langs/es_ES/projects.lang b/htdocs/langs/es_ES/projects.lang index 06e966fbe4a..7c823527f4e 100644 --- a/htdocs/langs/es_ES/projects.lang +++ b/htdocs/langs/es_ES/projects.lang @@ -1,6 +1,6 @@ # Dolibarr language file - Source file is en_US - projects -RefProject=Ref. proyecto -ProjectId=Id proyecto +# RefProject=Ref. project +# ProjectId=Project Id Project=Proyecto Projects=Proyectos SharedProject=Proyecto compartido @@ -32,18 +32,18 @@ TimeSpent=Tiempo dedicado TimesSpent=Tiempos dedicados RefTask=Ref. tarea LabelTask=Etiqueta tarea -TaskTimeSpent=Tiempo dedicado a tareas -TaskTimeUser=Usuario de tiempo dedicado -TaskTimeNote=Nota de tiempo dedicado -TaskTimeDate=Fecha de tiempo dedicado +# TaskTimeSpent=Time spent on tasks +# TaskTimeUser=Task time user +# TaskTimeNote=Task time note +# TaskTimeDate=Task time date NewTimeSpent=Nuevo tiempo dedicado MyTimeSpent=Mi tiempo dedicado MyTasks=Mis tareas Tasks=Tareas Task=Tarea -TaskDateStart=Fecha inicio tarea -TaskDateEnd=Fecha fin tarea -TaskDescription=Descripción de tarea +# TaskDateStart=Task start date +# TaskDateEnd=Task end date +# TaskDescription=Task description NewTask=Nueva tarea AddTask=Añadir tarea AddDuration=Indicar duración @@ -109,12 +109,12 @@ ProjectCreatedInDolibarr=Proyecto %s creado ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Jefe de proyecto TypeContact_project_external_PROJECTLEADER=Jefe de proyecto -TypeContact_project_internal_PROJECTCONTRIBUTOR=Participante -TypeContact_project_external_PROJECTCONTRIBUTOR=Participante +# TypeContact_project_internal_PROJECTCONTRIBUTOR=Contributor +# TypeContact_project_external_PROJECTCONTRIBUTOR=Contributor TypeContact_project_task_internal_TASKEXECUTIVE=Responsable TypeContact_project_task_external_TASKEXECUTIVE=Responsable -TypeContact_project_task_internal_TASKCONTRIBUTOR=Participante -TypeContact_project_task_external_TASKCONTRIBUTOR=Participante +# TypeContact_project_task_internal_TASKCONTRIBUTOR=Contributor +# TypeContact_project_task_external_TASKCONTRIBUTOR=Contributor SelectElement=Seleccione elemento AddElement=Vincular a elmento # Documents models diff --git a/htdocs/langs/es_ES/users.lang b/htdocs/langs/es_ES/users.lang index ee82c9a3f7a..c731d58453a 100644 --- a/htdocs/langs/es_ES/users.lang +++ b/htdocs/langs/es_ES/users.lang @@ -4,7 +4,7 @@ ContactCard=Ficha contacto GroupCard=Ficha grupo NoContactCard=No hay ficha entre los contactos Permission=Derecho -Permissions=Derechos +Permissions=Permisos EditPassword=Modificar contraseña SendNewPassword=Enviar nueva contraseña ReinitPassword=Generar nueva contraseña diff --git a/htdocs/langs/et_EE/admin.lang b/htdocs/langs/et_EE/admin.lang index d37907214fe..eff1feb29de 100644 --- a/htdocs/langs/et_EE/admin.lang +++ b/htdocs/langs/et_EE/admin.lang @@ -287,7 +287,7 @@ CurrentVersion=Dolibarri praegune versioo CallUpdatePage=Mine lehele, mis uuendab andmebaasi struktuuri ja andmed: %s. LastStableVersion=Viimane stabiilne versioon GenericMaskCodes=Sa võid sisestada suvalise numeratsiooni maski. Järgnevas maskis saab kasutada järgmisi silte:
{000000} vastab arvule, mida suurendatakse iga sündmuse %s korral. Sisesta niipalju nulle, kui soovid loenduri pikkuseks. Loendurile lisatakse vasakult alates niipalju nulle, et ta oleks maskiga sama pikk.
{000000+000} on eelmisega sama, kuid esimesele %s lisatakse nihe, mis vastab + märgist paremal asuvale arvule.
{000000@x} on eelmisega sama, ent kuuni x jõudmisel nullitakse loendur (x on 1 ja 12 vahel, või 0 seadistuses määratletud majandusaasta alguse kasutamiseks, või 99 loenduri nullimiseks iga kuu alguses). Kui kasutad seda funktsiooni ja x on 2 või kõrgem, siis on jada {yy}{mm} or {yyyy}{mm} nõutud.
{dd} päev (01 kuni 31).
{mm} kuu (01 kuni 12).
{yy}, {yyyy} või {y} aasta 2, 4 või 1 numbri kasutamisks.
-# GenericMaskCodes2={cccc} the client code
{cccc000} the client code on n characters is followed by a client's ref counter without offset and zeroized with the global counter.
{tttt} The code of company type on n characters (see dictionary-company types).
+# GenericMaskCodes2={cccc} the client code on n characters
{cccc000} the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.
{tttt} The code of company type on n characters (see dictionary-company types).
GenericMaskCodes3=Kõik teised maskis olevad tähemärgid jäävad puutuamata.
Tühikud ei ole lubatud.
GenericMaskCodes4a=Näiteks 99ndal %s tegi kolmas isik KolmasIsik 2007-01-31:
GenericMaskCodes4b=Näiteks 2007-03-01 loodud kolmas isik:
@@ -345,8 +345,6 @@ SecurityTokenIsUnique=Kasuta iga URLi jaoks unikaalset turvalise võtme parameet EnterRefToBuildUrl=Sisesta viide objektile %s GetSecuredUrl=Saada arvutatud URL ButtonHideUnauthorized=Ära näita mittetöötavaid nuppe, vaid peida need -ProductVatMassChange=Massiline käibemaksu muutmine -ProductVatMassChangeDesc=Siit lehelt saab muuta toodete või teenuste käibemaksumäära ühelt väärtuselt teisele. Hoiatus: see muudatus mõjutab tervet andmebaasi. OldVATRates=Vana käibemaksumäär NewVATRates=Uus käibemaksumäär PriceBaseTypeToChange=Muuda hindadel, mille baasväärtus on defineeritud kui @@ -381,6 +379,16 @@ KeepEmptyToUseDefault=Jäta tühjaks vaikeväärtuse kasutamiseks DefaultLink=Vaikimisi link ValueOverwrittenByUserSetup=Hoiatus: kasutaja võib selle väärtuse üle kirjutada oma seadetega (iga kasutaja saab määratleda isikliku clicktodial URLi) ExternalModule=Väline moodul - paigaldatud kausta %s +# BarcodeInitForThirdparties=Mass barcode init for thirdparties +# BarcodeInitForProductsOrServices=Mass barcode init or reset for products or services +# CurrentlyNWithoutBarCode=Currently, you have %s records on %s %s without barcode defined. +# InitEmptyBarCode=Init value for next %s empty records +# EraseAllCurrentBarCode=Erase all current barcode values +# ConfirmEraseAllCurrentBarCode=Are you sure you want to erase all current barcode values ? +# AllBarcodeReset=All barcode values have been removed +# NoBarcodeNumberingTemplateDefined=No numbering barcode template enabled into barcode module setup. +# NoRecordWithoutBarcodeDefined=No record with no barcode value defined. + # Modules Module0Name=Kasutajad ja grupid @@ -510,6 +518,8 @@ Module59000Name=Marginaalid Module59000Desc=Marginaalide haldamise moodu Module60000Name=Komisjonitasu Module60000Desc=Komisjonitasude haldamise moodu +# Module150010Name=Batch number, eat-by date and sell-by date +# Module150010Desc=batch number, eat-by date and sell-by date management for product Permission11=Müügiarvete vaatamine Permission12=Müügiarvete loomine/toimetamine Permission13=Müügiarvete muutmine @@ -726,8 +736,8 @@ Permission55001=Küsitluste vaatamine Permission55002=Küsitluste loomine/muutmine # Permission59001=Read commercial margins # Permission59002=Define commercial margins -# DictionaryCompanyType=Company types -# DictionaryCompanyJuridicalType=Juridical kinds of company +# DictionaryCompanyType=Thirdparties type +# DictionaryCompanyJuridicalType=Juridical kinds of thirdparties # DictionaryProspectLevel=Prospect potential level # DictionaryCanton=State/Cantons # DictionaryRegion=Regions @@ -959,7 +969,7 @@ SimpleNumRefModelDesc=Tagast viitenumbri kujul %syymm-nnnn kus yy on aasta, mm o ShowProfIdInAddress=Näita dokumentidel registreerimisnumbrit koos aadressidega ShowVATIntaInAddress=Peida dokumentidel KMKR number koos aadressidega TranslationUncomplete=Osaline tõlge -SomeTranslationAreUncomplete=Mõned keeled võivad olla osaliselt tõlgitud või tõlgetes võib esineda vigu. Vigade märkamisel saab neid parandada htdocs/langs kaustas asuvates tekstifailides .lang ning parandused üles laadida foorumisse aadressil http://www.dolibarr.org. +# SomeTranslationAreUncomplete=Some languages may be partially translated or may contains errors. If you detect some, you can fix language files registering to http://transifex.com/projects/p/dolibarr/. MenuUseLayout=Luba vertikaalse menüü peitmine (JavaScript peab olema sisse lülitatud). MAIN_DISABLE_METEO=Keela meteo vaade TestLoginToAPI=Testi API sisse logimist @@ -985,6 +995,7 @@ ExtraFieldsProject=Täiendavad atribuudid (projects e projektid) ExtraFieldsProjectTask=Täiendavad atribuudid (tasks e ülesanded) ExtraFieldHasWrongValue=Atribuut %s on vale väärtusega. AlphaNumOnlyCharsAndNoSpace=sümbolid ainult A..Za..z0..9 tühikuteta +# AlphaNumOnlyLowerCharsAndNoSpace=only alphanumericals and lower case characters without space SendingMailSetup=E-kirja saatmise seadistamine SendmailOptionNotComplete=Hoiatus: mõnedel Linuxi süsteemidel peab e-kirja saatmiseks sendmaili käivitamise seadistus sisaldama võtit -ba (php.ini failis parameeter mail.force_extra_parameters). Kui mõned adressaadid ei saa kunagi kirju kätte, siis proovi parameetri väärtust mail.force_extra_parameters = -ba PathToDocuments=Dokumentide rada @@ -1269,7 +1280,7 @@ PerfDolibarr=Jõudluse seadistamise/optimeerimise aruanne YouMayFindPerfAdviceHere=Sellelt lehelt leiad mõningaid jõudlusega seotud kontrolle või nõuandeid. NotInstalled=Pole paigaldatud, seega ei aegusta serverit. ApplicativeCache=Rakenduse vahemälu -MemcachedNotAvailable=Rakenduse vahemälu ei leitud. Serveri jõudlust saab suurendada Memcached vahemälu ning selle kasutamist võimaldava mooduli paigaldamisega. Rohkem infot leiad siit: http://wiki.dolibarr.org/index.php/Module_MemCached_EN Pane tähele, et paljud veebiteenuse pakkujad ei võimalda sellise vahemälu kasutamist. +# MemcachedNotAvailable=No applicative cache found. You can enhance performance by installing a cache server Memcached and a module able to use this cache server.
More information here http://wiki.dolibarr.org/index.php/Module_MemCached_EN.
Note that a lot of web hosting provider does not provide such cache server. OPCodeCache=OPCode vahemälu NoOPCodeCacheFound=OPCode vahemälu ei leitud. Võib-olla kasutada mõnda muud OPCode vahemälu peale XCache või eAcceleratori (hea), aga võib-olla ei ole OPCode vahemälu kasutusel (väga halb). HTTPCacheStaticResources=HTTP vahemälu staatiliste ressursside jaoks (CSS, pildid, JavaScript) diff --git a/htdocs/langs/et_EE/agenda.lang b/htdocs/langs/et_EE/agenda.lang index bf5dadb5b3f..5c757009739 100644 --- a/htdocs/langs/et_EE/agenda.lang +++ b/htdocs/langs/et_EE/agenda.lang @@ -52,6 +52,7 @@ InvoiceSentByEMail=Arve %s on saadetud e-postiga SupplierOrderSentByEMail=Ostutellimus %s on saadetud e-postiga SupplierInvoiceSentByEMail=Ostuarve %s on saadetud e-postiga ShippingSentByEMail=Saadetis %s on saadetud e-postiga +# ShippingValidated= Shipping %s validated InterventionSentByEMail=Sekkumine %s on saadetud e-postiga NewCompanyToDolibarr= Kolmas isik loodud DateActionPlannedStart= Plaanitav alguskuupäev diff --git a/htdocs/langs/et_EE/cashdesk.lang b/htdocs/langs/et_EE/cashdesk.lang index 23462f4b8d4..a5611bc272a 100644 --- a/htdocs/langs/et_EE/cashdesk.lang +++ b/htdocs/langs/et_EE/cashdesk.lang @@ -37,3 +37,4 @@ ShowCompany=Näita ettevõtet ShowStock=Näita ladu DeleteArticle=Klõpsa selle artikli eemaldamiseks FilterRefOrLabelOrBC=Otsi (viide/nimi) +# UserNeedPermissionToEditStockToUsePos=You ask to decrease stock on invoice creation, so user that use POS need to have permission to edit stock. diff --git a/htdocs/langs/et_EE/errors.lang b/htdocs/langs/et_EE/errors.lang index 95f311929c9..c3c7928fa4c 100644 --- a/htdocs/langs/et_EE/errors.lang +++ b/htdocs/langs/et_EE/errors.lang @@ -26,8 +26,11 @@ ErrorFromToAccountsMustDiffers=Lähtekonto ja sihtkonto pevad olema erinevad. ErrorBadThirdPartyName=Halb väärtus kolmanda isiku nimeks ErrorProdIdIsMandatory=%s on kohustuslik ErrorBadCustomerCodeSyntax=Halb kliendi koodi süntaks +# ErrorBadBarCodeSyntax=Bad syntax for bar code ErrorCustomerCodeRequired=Kliendi kood on nõutud +# ErrorBarCodeRequired=Bar code required ErrorCustomerCodeAlreadyUsed=Kliendi kood on juba kasutuses +# ErrorBarCodeAlreadyUsed=Bar code already used ErrorPrefixRequired=Prefiks on nõutud ErrorUrlNotValid=Veebilehe aadress ei ole korrektne ErrorBadSupplierCodeSyntax=Halb hankija koodi süntaks @@ -63,6 +66,7 @@ ErrorNoValueForCheckBoxType=Palun sisesta märkenuppude väärtused ErrorNoValueForRadioType=Palun sisesta raadionuppude väärtused ErrorBadFormatValueList=Nimekirja väärtus ei saa olla rohkem, kui ühe komaga: %s, ent on vaja vähemalt üht: võti,väärtused ErrorFieldCanNotContainSpecialCharacters=Väli %s ei tohi sisaldada erisümboleid. +# ErrorFieldCanNotContainSpecialNorUpperCharacters=Field %s must not contains special characters, nor upper case characters. ErrorNoAccountancyModuleLoaded=Ühtki raamatupidamise moodulit pole aktiveeritud # ErrorExportDuplicateProfil=This profile name already exists for this export set. ErrorLDAPSetupNotComplete=Dolibarr-LDAP sobitamine ei ole täielik. diff --git a/htdocs/langs/et_EE/exports.lang b/htdocs/langs/et_EE/exports.lang index a74c7e8becc..840184be569 100644 --- a/htdocs/langs/et_EE/exports.lang +++ b/htdocs/langs/et_EE/exports.lang @@ -123,6 +123,10 @@ BankCode=Panga kood DeskCode=Laua kood BankAccountNumber=Konto number BankAccountNumberKey=Võti +# SpecialCode=Special code +# ExportStringFilter=%% allows replacing one or more characters in the text +# ExportDateFilter='AAAA' 'AAAAMM' 'AAAAMMJJ': filters by one year/month/day
'AAAA+AAAA' 'AAAAMM+AAAAMM' 'AAAAMMJJ+AAAAMMJJ': filters over a range of years/months/days
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filters on the following years/months/days
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filters on the previous years/months/days +# ExportNumericFilter='NNNNN' filters by one value
'NNNNN+NNNNN' filters over a range of values
'>NNNNN' filters by lower values
'>NNNNN' filters by higher values ## filters SelectFilterFields=Kui soovid mõnede väärtuste põhjal filtreerida, siis sisesta nad siia. FilterableFields=Filtreeritav ala diff --git a/htdocs/langs/et_EE/mails.lang b/htdocs/langs/et_EE/mails.lang index d05d7b8647e..8450d59220b 100644 --- a/htdocs/langs/et_EE/mails.lang +++ b/htdocs/langs/et_EE/mails.lang @@ -79,6 +79,13 @@ MailtoEMail=E-kirja hüperlink ActivateCheckRead=Luba "Tühista tellimus" lingi kasutamine ActivateCheckReadKey="Vaata kviitungit" ja "Tühista tellimus" linkide URLi krüpteerimiseks kasutatav võti EMailSentToNRecipients=E-kiri saadetud %s aadressile. +# EachInvoiceWillBeAttachedToEmail=A document using default invoice document template will be created and attached to each email. +# MailTopicSendRemindUnpaidInvoices=Remind of invoice %s (%s) +# SendRemind=Send remind by EMails +# RemindSent=%S remind(s) sent +# AllRecipientSelectedForRemind=All thirdparties selected and if an email is set (note that one mail per invoice will be sent) +# NoRemindSent=No remind by EMail sent +# ResultOfMassSending=Result of mass remind sending by EMail # Libelle des modules de liste de destinataires mailing MailingModuleDescContactCompanies=Kõigi kolmandate isikute (klient, huviline, hankija jne) kontaktid/aadressid diff --git a/htdocs/langs/et_EE/main.lang b/htdocs/langs/et_EE/main.lang index 93663b92c2d..81675ef4c52 100644 --- a/htdocs/langs/et_EE/main.lang +++ b/htdocs/langs/et_EE/main.lang @@ -572,7 +572,7 @@ TotalWoman=Täielik TotalMan=Täielik NeverReceived=Pole vastu võetud Canceled=Tühistatud -# YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu setup - dictionnary +# YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu setup - dictionary Color=Värv Documents=Seotud failid DocumentsNb=Seotud failid (%s) diff --git a/htdocs/langs/et_EE/opensurvey.lang b/htdocs/langs/et_EE/opensurvey.lang index 2245a004aaa..365e6b739f2 100644 --- a/htdocs/langs/et_EE/opensurvey.lang +++ b/htdocs/langs/et_EE/opensurvey.lang @@ -35,6 +35,7 @@ AddNewColumn=Lisa uus veerg TitleChoice=Valiku silt ExportSpreadsheet=Ekspordi tulemuste tabel ExpireDate=Piira kuupäevaga +# NbOfSurveys=Number of surveys NbOfVoters=Hääletajaid SurveyResults=Tulemused PollAdminDesc=Kõiki küsitluse rida saad muuta nupuga "Muuda". Samuti võid eemaldada veeru või rea üksusega %s. Samuti saad lisada uue veeru üksusega %s. diff --git a/htdocs/langs/et_EE/orders.lang b/htdocs/langs/et_EE/orders.lang index 52cec984c57..9583397c79a 100644 --- a/htdocs/langs/et_EE/orders.lang +++ b/htdocs/langs/et_EE/orders.lang @@ -55,6 +55,7 @@ DraftOrWaitingShipped=Mustand või kinnitatud pole veel saadetud MenuOrdersToBill=Saadetud tellimused MenuOrdersToBill2=Arve koostamist vajavad tellimused SearchOrder=Otsi tellimust +# SearchACustomerOrder=Search a customer order ShipProduct=Saada toode Discount=Allahindlus CreateOrder=Loo tellimus @@ -164,3 +165,4 @@ Ordered=Tellitud OrderCreated=Sinu tellimused on loodud OrderFail=Sinu tellimuste loomise ajal tekkis viga CreateOrders=Loo tellimused +# ToBillSeveralOrderSelectCustomer=To create an invoice for several orders, click first onto customer, then choose "%s". diff --git a/htdocs/langs/et_EE/other.lang b/htdocs/langs/et_EE/other.lang index bf3d0951731..6b645ae71d9 100644 --- a/htdocs/langs/et_EE/other.lang +++ b/htdocs/langs/et_EE/other.lang @@ -49,14 +49,15 @@ Miscellaneous=Muu NbOfActiveNotifications=Teadete arv PredefinedMailTest=See on testkiri.\nNeed kaks rida on eraldatud reavahetusega.\n\n__SIGNATURE__ PredefinedMailTestHtml=See on test kiri (sõna test peab olema rasvases kirjas).
Need kaks rida peavad olema eraldatud reavahetusega.

__SIGNATURE__ -PredefinedMailContentSendInvoice=__CONTACTCIVNAME__ \n\n Kirjale on manustatud arve __FACREF__\n\n__PERSONALIZED__Lugupidamisega\n\n__SIGNATURE__ -PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__ \n\nHoiatame Teid, et arve __FACREF__ ei paista olevat tasutud. Meeldetuletusena on kirjale sama arve uuesti manustatud.\n\nLugupidamisega \n\n__SIGNATURE__ -PredefinedMailContentSendProposal=__CONTACTCIVNAME__ \n\nKirjale on manustatud pakkumine __PROPREF__ \n\nLugupidamisega \n\n__SIGNATURE__ -PredefinedMailContentSendOrder=__CONTACTCIVNAME__ \n\nKirjale on manustatud tellimus __ORDERREF__ \n\nLugupidamisega \n\n__SIGNATURE__ -PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__ \n\nKirjale on manustatud meie tellimus __ORDERREF__ \n\nLugupidamisega \n\n__SIGNATURE__ -PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__ \n\nKirjale on manustatud arve__FACREF__ \n\nLugupidamisega \n\n__SIGNATURE__ -PredefinedMailContentSendShipping=__CONTACTCIVNAME__ \n\nKirjale on manustatud saadetis __SHIPPINGREF__ \n\nLugupidamisega \n\n__SIGNATURE__ -PredefinedMailContentSendFichInter=__CONTACTCIVNAME__ \n\nKirjale on manustatud sekkumine __FICHINTERREF__ \n\nLugupidamisega \n\n__SIGNATURE__ +# PredefinedMailContentSendInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__\n\nWe would like to warn you that the invoice __FACREF__ seems to not being payed. So this is the invoice in attachment again, as a reminder.\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendProposal=__CONTACTCIVNAME__\n\nYou will find here the commercial proposal __PROPREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendOrder=__CONTACTCIVNAME__\n\nYou will find here the order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__\n\nYou will find here our order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendShipping=__CONTACTCIVNAME__\n\nYou will find here the shipping __SHIPPINGREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendFichInter=__CONTACTCIVNAME__\n\nYou will find here the intervention __FICHINTERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentThirdparty=__CONTACTCIVNAME__\n\n__PERSONALIZED__\n\n__SIGNATURE__ DemoDesc=Dolibarr on mitmetest eri funktsioone pakkuvatest moodulitest koosnev kompaktne ERP&CRM. Kõiki mooduleid sisaldav demo ei oma mõtet, kuna selline olukord pole kunagi võimalik, seepärast on saadaval mitmed erinevad demo profiilid. ChooseYourDemoProfil=Vali oma tegevusele vastav demo profiil... DemoFundation=Halda ühenduse liikmeid diff --git a/htdocs/langs/et_EE/products.lang b/htdocs/langs/et_EE/products.lang index b205c03fb5f..80854d0d69f 100644 --- a/htdocs/langs/et_EE/products.lang +++ b/htdocs/langs/et_EE/products.lang @@ -13,6 +13,10 @@ NewProduct=Uus toode NewService=Uus teenus ProductCode=Toote kood ServiceCode=Teenuse kood +# ProductVatMassChange=Mass VAT change +# ProductVatMassChangeDesc=This page can be used to modify a VAT rate defined on products or services from a value to another. Warning, this change is done on all database. +# MassBarcodeInit=Mass barcode init +# MassBarcodeInitDesc=This page can be used to initialize a barcode on objects that does not have barcode defined. Check before that setup of module barcode is complete. ProductAccountancyBuyCode=Raamatupidamise kood (ost) ProductAccountancySellCode=Raamatupidamise kood (müük) ProductOrService=Toode või teenus @@ -173,8 +177,8 @@ CustomCode=Tolli kood CountryOrigin=Päritolumaa HiddenIntoCombo=Peida valitud nimekirjades Nature=Olemus -ProductCodeModel=Tootekoodi mal -ServiceCodeModel=Teenusekoodi mall +# ProductCodeModel=Product ref template +# ServiceCodeModel=Service ref template AddThisProductCard=Loo toote kaart HelpAddThisProductCard=See võimaldab toote loomise või kloonimise, kui seda ei ole veel olemas. AddThisServiceCard=Loo teenuse kaart @@ -216,5 +220,10 @@ Quarter4=4. kvartal # DefinitionOfBarCodeForThirdpartyNotComplete=Definition of type or value of bar code non complete for thirdparty %s. # BarCodeDataForProduct=Barcode information of product %s : # BarCodeDataForThirdparty=Barcode information of thirdparty %s : -# BarcodeStickersMask=xxx - +# ResetBarcodeForAllRecords=Define barcode value for all records (this will also reset barcode value already defined with new values) +# PriceByCustomer=Price by customer +# PriceCatalogue=Catalogue Price +# PricingRule=Pricing Rules +# AddCustomerPrice=Add price by customers +# ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +# PriceByCustomerLog=Price by customer log diff --git a/htdocs/langs/et_EE/projects.lang b/htdocs/langs/et_EE/projects.lang index b4388a06fda..aa1f2d5bab5 100644 --- a/htdocs/langs/et_EE/projects.lang +++ b/htdocs/langs/et_EE/projects.lang @@ -1,4 +1,6 @@ # Dolibarr language file - Source file is en_US - projects +# RefProject=Ref. project +# ProjectId=Project Id Project=Projekt Projects=Projektid SharedProject=Kõik @@ -30,11 +32,18 @@ TimeSpent=Aega kulutatud TimesSpent=Aega kulutatud RefTask=Ülesande viide LabelTask=Ülesande nimi +# TaskTimeSpent=Time spent on tasks +# TaskTimeUser=Task time user +# TaskTimeNote=Task time note +# TaskTimeDate=Task time date NewTimeSpent=Aeg kulutatud uuesti MyTimeSpent=Minu poolt kulutatud aeg MyTasks=Minu ülesanded Tasks=Ülesanded Task=Ülesanne +# TaskDateStart=Task start date +# TaskDateEnd=Task end date +# TaskDescription=Task description NewTask=Uus ülesanne AddTask=Lisa ülesanne AddDuration=Lisa kestus @@ -100,12 +109,12 @@ ProjectCreatedInDolibarr=Projekt %s on loodud ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Projektijuht TypeContact_project_external_PROJECTLEADER=Projektijuht -TypeContact_project_internal_PROJECTCONTRIBUTOR=Osavõtja -TypeContact_project_external_PROJECTCONTRIBUTOR=Osavõtja +# TypeContact_project_internal_PROJECTCONTRIBUTOR=Contributor +# TypeContact_project_external_PROJECTCONTRIBUTOR=Contributor TypeContact_project_task_internal_TASKEXECUTIVE=Ülesande täitja TypeContact_project_task_external_TASKEXECUTIVE=Ülesande täitja -TypeContact_project_task_internal_TASKCONTRIBUTOR=Osavõtja -TypeContact_project_task_external_TASKCONTRIBUTOR=Osavõtja +# TypeContact_project_task_internal_TASKCONTRIBUTOR=Contributor +# TypeContact_project_task_external_TASKCONTRIBUTOR=Contributor SelectElement=Vali element AddElement=Seosta elemendiga # Documents models diff --git a/htdocs/langs/et_EE/stocks.lang b/htdocs/langs/et_EE/stocks.lang index f2e1ac1fcd7..9ae403b6633 100644 --- a/htdocs/langs/et_EE/stocks.lang +++ b/htdocs/langs/et_EE/stocks.lang @@ -94,14 +94,20 @@ DesiredStock=Soovitud laojääk StockToBuy=Tellida Replenishment=Värskendamine ReplenishmentOrders=Tellimuste värskendamine -UseVirtualStock=Kasuta füüsilise laojäägi asemel virtuaalset laojääki +# VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differs +# UseVirtualStockByDefault=Use virtual stock by default, instead of physical stock, for replenishment feature +# UseVirtualStock=Use virtual stock +# UsePhysicalStock=Use physical stock +# CurentSelectionMode=Curent selection mode +# CurentlyUsingVirtualStock=Virtual stock +# CurentlyUsingPhysicalStock=Physical stock RuleForStockReplenishment=Laojäägi värskendamise reegel SelectProductWithNotNullQty=Vali vähemalt üks toode, mille kogus ei ole null ja millel on hankija AlertOnly= Ainult hoiatused WarehouseForStockDecrease=Laojäägi vähendamiseks kasutatakse ladu %s WarehouseForStockIncrease=Laojäägi suurendamiseks kasutatakse ladu %s ForThisWarehouse=Antud lao tarbeks -ReplenishmentStatusDesc=See on nimekiri kõikidest toodetest, mille füüsiline laojääk on väiksem kui soovitud laojääk (või seadistatud hoiatama, kui märkeruut "ainult hoiatus" on märgistatud) ning mis soovitab luua ostutellimused vahede täitmiseks. +# ReplenishmentStatusDesc=This is list of all product with a stock lower than desired stock (or lower than alert value if checkbox "alert only" is checked), and suggest you to create supplier orders to fill the difference. ReplenishmentOrdersDesc=See on kõigi avatud ostutellimuste nimekiri Replenishments=Värskendamised NbOfProductBeforePeriod=Toote %s laojääk enne valitud perioodi (< %s) diff --git a/htdocs/langs/eu_ES/admin.lang b/htdocs/langs/eu_ES/admin.lang index eecc028d698..d72ed9f4df9 100644 --- a/htdocs/langs/eu_ES/admin.lang +++ b/htdocs/langs/eu_ES/admin.lang @@ -287,7 +287,7 @@ # CallUpdatePage=Go to the page that updates the database structure and datas: %s. # LastStableVersion=Last stable version # GenericMaskCodes=You may enter any numbering mask. In this mask, the following tags could be used:
{000000} corresponds to a number which will be incremented on each %s. Enter as many zeros as the desired length of the counter. The counter will be completed by zeros from the left in order to have as many zeros as the mask.
{000000+000} same as previous but an offset corresponding to the number to the right of the + sign is applied starting on first %s.
{000000@x} same as previous but the counter is reset to zero when month x is reached (x between 1 and 12, or 0 to use the early months of fiscal year defined in your configuration, or 99 to reset to zero every month). If this option is used and x is 2 or higher, then sequence {yy}{mm} or {yyyy}{mm} is also required.
{dd} day (01 to 31).
{mm} month (01 to 12).
{yy}, {yyyy} or {y} year over 2, 4 or 1 numbers.
-# GenericMaskCodes2={cccc} the client code
{cccc000} the client code on n characters is followed by a client's ref counter without offset and zeroized with the global counter.
{tttt} The code of company type on n characters (see dictionary-company types).
+# GenericMaskCodes2={cccc} the client code on n characters
{cccc000} the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.
{tttt} The code of company type on n characters (see dictionary-company types).
# GenericMaskCodes3=All other characters in the mask will remain intact.
Spaces are not allowed.
# GenericMaskCodes4a=Example on the 99th %s of the third party TheCompany done 2007-01-31:
# GenericMaskCodes4b=Example on third party created on 2007-03-01:
@@ -345,8 +345,6 @@ # EnterRefToBuildUrl=Enter reference for object %s # GetSecuredUrl=Get calculated URL # ButtonHideUnauthorized=Hide buttons for unauthorized actions instead of showing disabled buttons -# ProductVatMassChange=Mass VAT change -# ProductVatMassChangeDesc=This page can be used to modify a VAT rate defined on products or services from a value to another. Warning, this change is done on all database. # OldVATRates=Old VAT rate # NewVATRates=New VAT rate # PriceBaseTypeToChange=Modify on prices with base reference value defined on @@ -381,6 +379,16 @@ # DefaultLink=Default link # ValueOverwrittenByUserSetup=Warning, this value may be overwritten by user specific setup (each user can set his own clicktodial url) # ExternalModule=External module - Installed into directory %s +# BarcodeInitForThirdparties=Mass barcode init for thirdparties +# BarcodeInitForProductsOrServices=Mass barcode init or reset for products or services +# CurrentlyNWithoutBarCode=Currently, you have %s records on %s %s without barcode defined. +# InitEmptyBarCode=Init value for next %s empty records +# EraseAllCurrentBarCode=Erase all current barcode values +# ConfirmEraseAllCurrentBarCode=Are you sure you want to erase all current barcode values ? +# AllBarcodeReset=All barcode values have been removed +# NoBarcodeNumberingTemplateDefined=No numbering barcode template enabled into barcode module setup. +# NoRecordWithoutBarcodeDefined=No record with no barcode value defined. + # Modules # Module0Name=Users & groups @@ -510,6 +518,8 @@ # Module59000Desc=Module to manage margins # Module60000Name=Commissions # Module60000Desc=Module to manage commissions +# Module150010Name=Batch number, eat-by date and sell-by date +# Module150010Desc=batch number, eat-by date and sell-by date management for product # Permission11=Read customer invoices # Permission12=Create/modify customer invoices # Permission13=Unvalidate customer invoices @@ -726,8 +736,8 @@ # Permission55002=Create/modify surveys # Permission59001=Read commercial margins # Permission59002=Define commercial margins -# DictionaryCompanyType=Company types -# DictionaryCompanyJuridicalType=Juridical kinds of company +# DictionaryCompanyType=Thirdparties type +# DictionaryCompanyJuridicalType=Juridical kinds of thirdparties # DictionaryProspectLevel=Prospect potential level # DictionaryCanton=State/Cantons # DictionaryRegion=Regions @@ -959,7 +969,7 @@ LocalTax2IsNotUsedExample= # ShowProfIdInAddress=Show professionnal id with addresses on documents # ShowVATIntaInAddress=Hide VAT Intra num with addresses on documents # TranslationUncomplete=Partial translation -# SomeTranslationAreUncomplete=Some languages may be partially translated or may contains errors. If you detect some, you can fix .lang text files into directory htdocs/langs and submit them on the forum at http://www.dolibarr.org. +# SomeTranslationAreUncomplete=Some languages may be partially translated or may contains errors. If you detect some, you can fix language files registering to http://transifex.com/projects/p/dolibarr/. # MenuUseLayout=Make vertical menu hidable (option javascript must not be disabled) # MAIN_DISABLE_METEO=Disable meteo view # TestLoginToAPI=Test login to API @@ -985,6 +995,7 @@ LocalTax2IsNotUsedExample= # ExtraFieldsProjectTask=Complementary attributes (tasks) # ExtraFieldHasWrongValue=Attribut %s has a wrong value. # AlphaNumOnlyCharsAndNoSpace=only alphanumericals characters without space +# AlphaNumOnlyLowerCharsAndNoSpace=only alphanumericals and lower case characters without space # SendingMailSetup=Setup of sendings by email # SendmailOptionNotComplete=Warning, on some Linux systems, to send email from your email, sendmail execution setup must contains option -ba (parameter mail.force_extra_parameters into your php.ini file). If some recipients never receive emails, try to edit this PHP parameter with mail.force_extra_parameters = -ba). # PathToDocuments=Path to documents @@ -1269,7 +1280,7 @@ LocalTax2IsNotUsedExample= # YouMayFindPerfAdviceHere=You will find on this page some checks or advices related to performance. # NotInstalled=Not installed, so your server is not slow down by this. # ApplicativeCache=Applicative cache -# MemcachedNotAvailable=No applicative cache found. You can enhance performance by installing a cache server Memcached and a module able to use this cache server. More information here http://wiki.dolibarr.org/index.php/Module_MemCached_EN. Note that a lot of web hosting provider does not provide such cache server. +# MemcachedNotAvailable=No applicative cache found. You can enhance performance by installing a cache server Memcached and a module able to use this cache server.
More information here http://wiki.dolibarr.org/index.php/Module_MemCached_EN.
Note that a lot of web hosting provider does not provide such cache server. # OPCodeCache=OPCode cache # NoOPCodeCacheFound=No OPCode cache found. May be you use another OPCode cache than XCache or eAccelerator (good), may be you don't have OPCode cache (very bad). # HTTPCacheStaticResources=HTTP cache for static resources (css, img, javascript) diff --git a/htdocs/langs/eu_ES/agenda.lang b/htdocs/langs/eu_ES/agenda.lang index 8a78e6c51c8..c5b02c0ecb6 100644 --- a/htdocs/langs/eu_ES/agenda.lang +++ b/htdocs/langs/eu_ES/agenda.lang @@ -52,6 +52,7 @@ # SupplierOrderSentByEMail=Supplier order %s sent by EMail # SupplierInvoiceSentByEMail=Supplier invoice %s sent by EMail # ShippingSentByEMail=Shipping %s sent by EMail +# ShippingValidated= Shipping %s validated # InterventionSentByEMail=Intervention %s sent by EMail # NewCompanyToDolibarr= Third party created # DateActionPlannedStart= Planned start date diff --git a/htdocs/langs/eu_ES/cashdesk.lang b/htdocs/langs/eu_ES/cashdesk.lang index 8fd787620f4..5cfb7ea3d6d 100644 --- a/htdocs/langs/eu_ES/cashdesk.lang +++ b/htdocs/langs/eu_ES/cashdesk.lang @@ -37,3 +37,4 @@ # ShowStock=Show warehouse # DeleteArticle=Click to remove this article # FilterRefOrLabelOrBC=Search (Ref/Label) +# UserNeedPermissionToEditStockToUsePos=You ask to decrease stock on invoice creation, so user that use POS need to have permission to edit stock. diff --git a/htdocs/langs/eu_ES/errors.lang b/htdocs/langs/eu_ES/errors.lang index f5e6781eb4c..473ab485c97 100644 --- a/htdocs/langs/eu_ES/errors.lang +++ b/htdocs/langs/eu_ES/errors.lang @@ -26,8 +26,11 @@ # ErrorBadThirdPartyName=Bad value for third party name # ErrorProdIdIsMandatory=The %s is mandatory # ErrorBadCustomerCodeSyntax=Bad syntax for customer code +# ErrorBadBarCodeSyntax=Bad syntax for bar code # ErrorCustomerCodeRequired=Customer code required +# ErrorBarCodeRequired=Bar code required # ErrorCustomerCodeAlreadyUsed=Customer code already used +# ErrorBarCodeAlreadyUsed=Bar code already used # ErrorPrefixRequired=Prefix required # ErrorUrlNotValid=The website address is incorrect # ErrorBadSupplierCodeSyntax=Bad syntax for supplier code @@ -63,6 +66,7 @@ # ErrorNoValueForRadioType=Please fill value for radio list # ErrorBadFormatValueList=The list value cannot have more than one come : %s, but need at least one: llave,valores # ErrorFieldCanNotContainSpecialCharacters=Field %s must not contains special characters. +# ErrorFieldCanNotContainSpecialNorUpperCharacters=Field %s must not contains special characters, nor upper case characters. # ErrorNoAccountancyModuleLoaded=No accountancy module activated # ErrorExportDuplicateProfil=This profile name already exists for this export set. # ErrorLDAPSetupNotComplete=Dolibarr-LDAP matching is not complete. diff --git a/htdocs/langs/eu_ES/exports.lang b/htdocs/langs/eu_ES/exports.lang index ecb0d4a94ac..082be11736e 100644 --- a/htdocs/langs/eu_ES/exports.lang +++ b/htdocs/langs/eu_ES/exports.lang @@ -123,6 +123,10 @@ # DeskCode=Desk code # BankAccountNumber=Account number # BankAccountNumberKey=Key +# SpecialCode=Special code +# ExportStringFilter=%% allows replacing one or more characters in the text +# ExportDateFilter='AAAA' 'AAAAMM' 'AAAAMMJJ': filters by one year/month/day
'AAAA+AAAA' 'AAAAMM+AAAAMM' 'AAAAMMJJ+AAAAMMJJ': filters over a range of years/months/days
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filters on the following years/months/days
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filters on the previous years/months/days +# ExportNumericFilter='NNNNN' filters by one value
'NNNNN+NNNNN' filters over a range of values
'>NNNNN' filters by lower values
'>NNNNN' filters by higher values ## filters # SelectFilterFields=If you want to filter on some values, just input values here. # FilterableFields=Champs Filtrables diff --git a/htdocs/langs/eu_ES/mails.lang b/htdocs/langs/eu_ES/mails.lang index 328fc3ec5d6..313acce4fa1 100644 --- a/htdocs/langs/eu_ES/mails.lang +++ b/htdocs/langs/eu_ES/mails.lang @@ -79,6 +79,13 @@ # ActivateCheckRead=Allow to use the "Unsubcribe" link # ActivateCheckReadKey=Key use to encrypt URL use for "Read Receipt" and "Unsubcribe" feature # EMailSentToNRecipients=EMail sent to %s recipients. +# EachInvoiceWillBeAttachedToEmail=A document using default invoice document template will be created and attached to each email. +# MailTopicSendRemindUnpaidInvoices=Remind of invoice %s (%s) +# SendRemind=Send remind by EMails +# RemindSent=%S remind(s) sent +# AllRecipientSelectedForRemind=All thirdparties selected and if an email is set (note that one mail per invoice will be sent) +# NoRemindSent=No remind by EMail sent +# ResultOfMassSending=Result of mass remind sending by EMail # Libelle des modules de liste de destinataires mailing # MailingModuleDescContactCompanies=Contacts/addresses of all third parties (customer, prospect, supplier, ...) diff --git a/htdocs/langs/eu_ES/main.lang b/htdocs/langs/eu_ES/main.lang index 9832d474a64..e43cde2589c 100644 --- a/htdocs/langs/eu_ES/main.lang +++ b/htdocs/langs/eu_ES/main.lang @@ -572,7 +572,7 @@ # TotalMan=Total # NeverReceived=Never received # Canceled=Canceled -# YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu setup - dictionnary +# YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu setup - dictionary # Color=Color # Documents=Linked files # DocumentsNb=Linked files (%s) diff --git a/htdocs/langs/eu_ES/opensurvey.lang b/htdocs/langs/eu_ES/opensurvey.lang index fec34d9dbe6..1fbafbdb317 100644 --- a/htdocs/langs/eu_ES/opensurvey.lang +++ b/htdocs/langs/eu_ES/opensurvey.lang @@ -35,6 +35,7 @@ # TitleChoice=Choice label # ExportSpreadsheet=Export result spreadsheet # ExpireDate=Limit date +# NbOfSurveys=Number of surveys # NbOfVoters=Nb of voters # SurveyResults=Results # PollAdminDesc=You are allowed to change all vote lines of this poll with button "Edit". You can, as well, remove a column or a line with %s. You can also add a new column with %s. diff --git a/htdocs/langs/eu_ES/orders.lang b/htdocs/langs/eu_ES/orders.lang index 6bbef48cfc9..42444f0ec1c 100644 --- a/htdocs/langs/eu_ES/orders.lang +++ b/htdocs/langs/eu_ES/orders.lang @@ -55,6 +55,7 @@ # MenuOrdersToBill=Orders delivered # MenuOrdersToBill2=Orders to bill # SearchOrder=Search order +# SearchACustomerOrder=Search a customer order # ShipProduct=Ship product # Discount=Discount # CreateOrder=Create Order @@ -164,3 +165,4 @@ # OrderCreated=Your orders have been created # OrderFail=An error happened during your orders creation # CreateOrders=Create orders +# ToBillSeveralOrderSelectCustomer=To create an invoice for several orders, click first onto customer, then choose "%s". diff --git a/htdocs/langs/eu_ES/other.lang b/htdocs/langs/eu_ES/other.lang index 3ff4e868d22..1597fb25d24 100644 --- a/htdocs/langs/eu_ES/other.lang +++ b/htdocs/langs/eu_ES/other.lang @@ -49,14 +49,15 @@ # NbOfActiveNotifications=Number of notifications # PredefinedMailTest=This is a test mail.\nThe two lines are separated by a carriage return.\n\n__SIGNATURE__ # PredefinedMailTestHtml=This is a test mail (the word test must be in bold).
The two lines are separated by a carriage return.

__SIGNATURE__ -# PredefinedMailContentSendInvoice=__CONTACTCIVNAME__ \n\n You will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__ \n\n We would like to warn you that the invoice __FACREF__ seems to not being payed. So this is the invoice in attachment again, as a reminder.\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendProposal=__CONTACTCIVNAME__ \n\n You will find here the commercial proposal __PROPREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendOrder=__CONTACTCIVNAME__ \n\n You will find here the order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__ \n\n You will find here our order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__ \n\n You will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendShipping=__CONTACTCIVNAME__ \n\n You will find here the shipping __SHIPPINGREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendFichInter=__CONTACTCIVNAME__ \n\n You will find here the intervention __FICHINTERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__\n\nWe would like to warn you that the invoice __FACREF__ seems to not being payed. So this is the invoice in attachment again, as a reminder.\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendProposal=__CONTACTCIVNAME__\n\nYou will find here the commercial proposal __PROPREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendOrder=__CONTACTCIVNAME__\n\nYou will find here the order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__\n\nYou will find here our order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendShipping=__CONTACTCIVNAME__\n\nYou will find here the shipping __SHIPPINGREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendFichInter=__CONTACTCIVNAME__\n\nYou will find here the intervention __FICHINTERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentThirdparty=__CONTACTCIVNAME__\n\n__PERSONALIZED__\n\n__SIGNATURE__ # DemoDesc=Dolibarr is a compact ERP/CRM composed by several functional modules. A demo that includes all modules does not mean anything as this never occurs. So, several demo profiles are available. # ChooseYourDemoProfil=Choose the demo profile that match your activity... # DemoFundation=Manage members of a foundation diff --git a/htdocs/langs/eu_ES/products.lang b/htdocs/langs/eu_ES/products.lang index 9f75dab9917..d91deb78816 100644 --- a/htdocs/langs/eu_ES/products.lang +++ b/htdocs/langs/eu_ES/products.lang @@ -13,6 +13,10 @@ # NewService=New service # ProductCode=Product code # ServiceCode=Service code +# ProductVatMassChange=Mass VAT change +# ProductVatMassChangeDesc=This page can be used to modify a VAT rate defined on products or services from a value to another. Warning, this change is done on all database. +# MassBarcodeInit=Mass barcode init +# MassBarcodeInitDesc=This page can be used to initialize a barcode on objects that does not have barcode defined. Check before that setup of module barcode is complete. # ProductAccountancyBuyCode=Accountancy code (buy) # ProductAccountancySellCode=Accountancy code (sell) # ProductOrService=Product or Service @@ -173,8 +177,8 @@ # CountryOrigin=Origin country # HiddenIntoCombo=Hidden into select lists # Nature=Nature -# ProductCodeModel=Product code template -# ServiceCodeModel=Service code template +# ProductCodeModel=Product ref template +# ServiceCodeModel=Service ref template # AddThisProductCard=Create product card # HelpAddThisProductCard=This option allows you to create or clone a product if it does not exist. # AddThisServiceCard=Create service card @@ -216,5 +220,10 @@ # DefinitionOfBarCodeForThirdpartyNotComplete=Definition of type or value of bar code non complete for thirdparty %s. # BarCodeDataForProduct=Barcode information of product %s : # BarCodeDataForThirdparty=Barcode information of thirdparty %s : -# BarcodeStickersMask=xxx - +# ResetBarcodeForAllRecords=Define barcode value for all records (this will also reset barcode value already defined with new values) +# PriceByCustomer=Price by customer +# PriceCatalogue=Catalogue Price +# PricingRule=Pricing Rules +# AddCustomerPrice=Add price by customers +# ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +# PriceByCustomerLog=Price by customer log diff --git a/htdocs/langs/eu_ES/projects.lang b/htdocs/langs/eu_ES/projects.lang index f2c0c2b86c6..2710b95cdf8 100644 --- a/htdocs/langs/eu_ES/projects.lang +++ b/htdocs/langs/eu_ES/projects.lang @@ -1,4 +1,6 @@ # Dolibarr language file - Source file is en_US - projects +# RefProject=Ref. project +# ProjectId=Project Id # Project=Project # Projects=Projects # SharedProject=Everybody @@ -30,11 +32,18 @@ # TimesSpent=Time spent # RefTask=Ref. task # LabelTask=Label task +# TaskTimeSpent=Time spent on tasks +# TaskTimeUser=Task time user +# TaskTimeNote=Task time note +# TaskTimeDate=Task time date # NewTimeSpent=New time spent # MyTimeSpent=My time spent # MyTasks=My tasks # Tasks=Tasks # Task=Task +# TaskDateStart=Task start date +# TaskDateEnd=Task end date +# TaskDescription=Task description # NewTask=New task # AddTask=Add task # AddDuration=Add duration @@ -100,12 +109,12 @@ ##### Types de contacts ##### # TypeContact_project_internal_PROJECTLEADER=Project leader # TypeContact_project_external_PROJECTLEADER=Project leader -# TypeContact_project_internal_CONTRIBUTOR=Contributor -# TypeContact_project_external_CONTRIBUTOR=Contributor +# TypeContact_project_internal_PROJECTCONTRIBUTOR=Contributor +# TypeContact_project_external_PROJECTCONTRIBUTOR=Contributor # TypeContact_project_task_internal_TASKEXECUTIVE=Task executive # TypeContact_project_task_external_TASKEXECUTIVE=Task executive -# TypeContact_project_task_internal_CONTRIBUTOR=Contributor -# TypeContact_project_task_external_CONTRIBUTOR=Contributor +# TypeContact_project_task_internal_TASKCONTRIBUTOR=Contributor +# TypeContact_project_task_external_TASKCONTRIBUTOR=Contributor # SelectElement=Select element # AddElement=Link to element # Documents models diff --git a/htdocs/langs/eu_ES/stocks.lang b/htdocs/langs/eu_ES/stocks.lang index d6c87f1062f..be1e333f87c 100644 --- a/htdocs/langs/eu_ES/stocks.lang +++ b/htdocs/langs/eu_ES/stocks.lang @@ -94,14 +94,20 @@ # StockToBuy=To order # Replenishment=Replenishment # ReplenishmentOrders=Replenishment orders -# UseVirtualStock=Use virtual stock instead of physical stock +# VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differs +# UseVirtualStockByDefault=Use virtual stock by default, instead of physical stock, for replenishment feature +# UseVirtualStock=Use virtual stock +# UsePhysicalStock=Use physical stock +# CurentSelectionMode=Curent selection mode +# CurentlyUsingVirtualStock=Virtual stock +# CurentlyUsingPhysicalStock=Physical stock # RuleForStockReplenishment=Rule for stocks replenishment # SelectProductWithNotNullQty=Select at least one product with a qty not null and a supplier # AlertOnly= Alerts only # WarehouseForStockDecrease=The warehouse %s will be used for stock decrease # WarehouseForStockIncrease=The warehouse %s will be used for stock increase # ForThisWarehouse=For this warehouse -# ReplenishmentStatusDesc=This is list of all product with a physical stock lower than desired stock (or alert value if checkbox "alert only" is checked) and suggest you to create supplier orders to fill the difference. +# ReplenishmentStatusDesc=This is list of all product with a stock lower than desired stock (or lower than alert value if checkbox "alert only" is checked), and suggest you to create supplier orders to fill the difference. # ReplenishmentOrdersDesc=This is list of all opened supplier orders # Replenishments=Replenishments # NbOfProductBeforePeriod=Quantity of product %s in stock before selected period (< %s) diff --git a/htdocs/langs/fa_IR/admin.lang b/htdocs/langs/fa_IR/admin.lang index c9d946240c6..f76cd71a864 100644 --- a/htdocs/langs/fa_IR/admin.lang +++ b/htdocs/langs/fa_IR/admin.lang @@ -287,7 +287,7 @@ CurrentVersion=Dolibarr النسخة الحالية CallUpdatePage=الذهاب إلى صفحة التحديثات وdatas هيكل قاعدة البيانات : ٪ s. LastStableVersion=آخر نسخة مستقرة GenericMaskCodes=يمكنك إدخال أي قناع الترقيم. في هذا القناع ، وبعد ويمكن استخدام العلامات :
(000000) يطابق عدد الذي سيكون على كل يزداد ٪ s. كما تدخل العديد من أصفار على النحو المنشود طول المضادة. المضاد وسيتم الانتهاء من اصفار من اليسار من أجل الحصول على أكبر عدد اصفار كما القناع.
000000 +000) (نفس السابقة ولكن يقابل المقابلة لعدد للحق من علامة + يطبق اعتبارا من أول ٪ s.
000000 @ (س) نفس السابقة ولكن المضاد هو إعادة الصفر عندما يتم التوصل إلى الشهر خ خ ما بين 1 و 12). إذا كان هذا الخيار هو المستخدمة وس 2 أو أعلى ، ثم تسلسل (ذ ذ م م)) ((سنة أو ملم)) (مطلوب أيضا.
(ب) اليوم (01 الى 31).
() ملم في الشهر (01 الى 12).
(كذا) ، (سنة)) أو السنة أكثر من 2 أو 4 أو 1 الأرقام.
-# GenericMaskCodes2={cccc} the client code
{cccc000} the client code on n characters is followed by a client's ref counter without offset and zeroized with the global counter.
{tttt} The code of company type on n characters (see dictionary-company types).
+# GenericMaskCodes2={cccc} the client code on n characters
{cccc000} the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.
{tttt} The code of company type on n characters (see dictionary-company types).
GenericMaskCodes3=جميع الشخصيات الاخرى في قناع سوف تظل سليمة.
المساحات غير مسموح بها.
GenericMaskCodes4a=ومثال على 99th ق ٪ من طرف ثالث TheCompany عمله 2007-01-31 :
GenericMaskCodes4b=ومثال على طرف ثالث على خلق 2007-03-01 :
@@ -345,8 +345,6 @@ Library=المكتبة # EnterRefToBuildUrl=Enter reference for object %s # GetSecuredUrl=Get calculated URL # ButtonHideUnauthorized=Hide buttons for unauthorized actions instead of showing disabled buttons -# ProductVatMassChange=Mass VAT change -# ProductVatMassChangeDesc=This page can be used to modify a VAT rate defined on products or services from a value to another. Warning, this change is done on all database. # OldVATRates=Old VAT rate # NewVATRates=New VAT rate # PriceBaseTypeToChange=Modify on prices with base reference value defined on @@ -381,6 +379,16 @@ ExtrafieldPrice = الأسعار # DefaultLink=Default link # ValueOverwrittenByUserSetup=Warning, this value may be overwritten by user specific setup (each user can set his own clicktodial url) # ExternalModule=External module - Installed into directory %s +# BarcodeInitForThirdparties=Mass barcode init for thirdparties +# BarcodeInitForProductsOrServices=Mass barcode init or reset for products or services +# CurrentlyNWithoutBarCode=Currently, you have %s records on %s %s without barcode defined. +# InitEmptyBarCode=Init value for next %s empty records +# EraseAllCurrentBarCode=Erase all current barcode values +# ConfirmEraseAllCurrentBarCode=Are you sure you want to erase all current barcode values ? +# AllBarcodeReset=All barcode values have been removed +# NoBarcodeNumberingTemplateDefined=No numbering barcode template enabled into barcode module setup. +# NoRecordWithoutBarcodeDefined=No record with no barcode value defined. + # Modules Module0Name=& مجموعات المستخدمين @@ -510,6 +518,8 @@ Module50100Desc=نقطة بيع وحدة # Module59000Desc=Module to manage margins # Module60000Name=Commissions # Module60000Desc=Module to manage commissions +# Module150010Name=Batch number, eat-by date and sell-by date +# Module150010Desc=batch number, eat-by date and sell-by date management for product Permission11=قراءة الفواتير Permission12=خلق الفواتير Permission13=تعديل الفواتير @@ -726,8 +736,8 @@ Permission2515=إعداد وثائق وأدلة # Permission55002=Create/modify surveys # Permission59001=Read commercial margins # Permission59002=Define commercial margins -# DictionaryCompanyType=Company types -# DictionaryCompanyJuridicalType=Juridical kinds of company +# DictionaryCompanyType=Thirdparties type +# DictionaryCompanyJuridicalType=Juridical kinds of thirdparties # DictionaryProspectLevel=Prospect potential level # DictionaryCanton=State/Cantons # DictionaryRegion=Regions @@ -959,7 +969,7 @@ SimpleNumRefModelDesc=عودة الرقم المرجعي للتنسيق مع nnn # ShowProfIdInAddress=Show professionnal id with addresses on documents # ShowVATIntaInAddress=Hide VAT Intra num with addresses on documents # TranslationUncomplete=Partial translation -# SomeTranslationAreUncomplete=Some languages may be partially translated or may contains errors. If you detect some, you can fix .lang text files into directory htdocs/langs and submit them on the forum at http://www.dolibarr.org. +# SomeTranslationAreUncomplete=Some languages may be partially translated or may contains errors. If you detect some, you can fix language files registering to http://transifex.com/projects/p/dolibarr/. # MenuUseLayout=Make vertical menu hidable (option javascript must not be disabled) # MAIN_DISABLE_METEO=Disable meteo view # TestLoginToAPI=Test login to API @@ -985,6 +995,7 @@ SimpleNumRefModelDesc=عودة الرقم المرجعي للتنسيق مع nnn # ExtraFieldsProjectTask=Complementary attributes (tasks) # ExtraFieldHasWrongValue=Attribut %s has a wrong value. # AlphaNumOnlyCharsAndNoSpace=only alphanumericals characters without space +# AlphaNumOnlyLowerCharsAndNoSpace=only alphanumericals and lower case characters without space # SendingMailSetup=Setup of sendings by email # SendmailOptionNotComplete=Warning, on some Linux systems, to send email from your email, sendmail execution setup must contains option -ba (parameter mail.force_extra_parameters into your php.ini file). If some recipients never receive emails, try to edit this PHP parameter with mail.force_extra_parameters = -ba). PathToDocuments=مسیر اسناد @@ -1269,7 +1280,7 @@ ForANonAnonymousAccess=لصحتها accès (لكتابة الحصول على س # YouMayFindPerfAdviceHere=You will find on this page some checks or advices related to performance. # NotInstalled=Not installed, so your server is not slow down by this. # ApplicativeCache=Applicative cache -# MemcachedNotAvailable=No applicative cache found. You can enhance performance by installing a cache server Memcached and a module able to use this cache server. More information here http://wiki.dolibarr.org/index.php/Module_MemCached_EN. Note that a lot of web hosting provider does not provide such cache server. +# MemcachedNotAvailable=No applicative cache found. You can enhance performance by installing a cache server Memcached and a module able to use this cache server.
More information here http://wiki.dolibarr.org/index.php/Module_MemCached_EN.
Note that a lot of web hosting provider does not provide such cache server. # OPCodeCache=OPCode cache # NoOPCodeCacheFound=No OPCode cache found. May be you use another OPCode cache than XCache or eAccelerator (good), may be you don't have OPCode cache (very bad). # HTTPCacheStaticResources=HTTP cache for static resources (css, img, javascript) diff --git a/htdocs/langs/fa_IR/agenda.lang b/htdocs/langs/fa_IR/agenda.lang index 3e76175a6ab..f077abdf600 100644 --- a/htdocs/langs/fa_IR/agenda.lang +++ b/htdocs/langs/fa_IR/agenda.lang @@ -52,6 +52,7 @@ InterventionValidatedInDolibarr=التحقق من صحة التدخل %s # SupplierOrderSentByEMail=Supplier order %s sent by EMail # SupplierInvoiceSentByEMail=Supplier invoice %s sent by EMail # ShippingSentByEMail=Shipping %s sent by EMail +# ShippingValidated= Shipping %s validated # InterventionSentByEMail=Intervention %s sent by EMail NewCompanyToDolibarr= طرف ثالث خلق DateActionPlannedStart= تاريخ البدء المخطط diff --git a/htdocs/langs/fa_IR/cashdesk.lang b/htdocs/langs/fa_IR/cashdesk.lang index c1db8d13f8f..fae73427a12 100644 --- a/htdocs/langs/fa_IR/cashdesk.lang +++ b/htdocs/langs/fa_IR/cashdesk.lang @@ -37,3 +37,4 @@ ShowCompany=وتبين للشركة # ShowStock=Show warehouse # DeleteArticle=Click to remove this article # FilterRefOrLabelOrBC=Search (Ref/Label) +# UserNeedPermissionToEditStockToUsePos=You ask to decrease stock on invoice creation, so user that use POS need to have permission to edit stock. diff --git a/htdocs/langs/fa_IR/errors.lang b/htdocs/langs/fa_IR/errors.lang index bffc196e213..6cd456ba0d8 100644 --- a/htdocs/langs/fa_IR/errors.lang +++ b/htdocs/langs/fa_IR/errors.lang @@ -26,8 +26,11 @@ ErrorFromToAccountsMustDiffers=المصدر والأهداف يجب أن تكو ErrorBadThirdPartyName=سوء قيمة اسم طرف ثالث # ErrorProdIdIsMandatory=The %s is mandatory ErrorBadCustomerCodeSyntax=سوء تركيب الزبون مدونة +# ErrorBadBarCodeSyntax=Bad syntax for bar code ErrorCustomerCodeRequired=رمز العميل المطلوبة +# ErrorBarCodeRequired=Bar code required ErrorCustomerCodeAlreadyUsed=الشفرة المستخدمة بالفعل العملاء +# ErrorBarCodeAlreadyUsed=Bar code already used ErrorPrefixRequired=المطلوب ببادئة ErrorUrlNotValid=موقع معالجة صحيحة ErrorBadSupplierCodeSyntax=مورد سوء تركيب لمدونة @@ -63,6 +66,7 @@ ErrorFileSizeTooLarge=حجم الملف كبير جدا. # ErrorNoValueForRadioType=Please fill value for radio list # ErrorBadFormatValueList=The list value cannot have more than one come : %s, but need at least one: llave,valores ErrorFieldCanNotContainSpecialCharacters=ميدان ٪ ق يجب ألا يحتوي على أحرف خاصة. +# ErrorFieldCanNotContainSpecialNorUpperCharacters=Field %s must not contains special characters, nor upper case characters. ErrorNoAccountancyModuleLoaded=أي وحدة المحاسبة وتفعيل # ErrorExportDuplicateProfil=This profile name already exists for this export set. ErrorLDAPSetupNotComplete=Dolibarr - LDAP المطابقة وليس كاملا. diff --git a/htdocs/langs/fa_IR/exports.lang b/htdocs/langs/fa_IR/exports.lang index ccf962e1cc3..c7fef40891c 100644 --- a/htdocs/langs/fa_IR/exports.lang +++ b/htdocs/langs/fa_IR/exports.lang @@ -123,6 +123,10 @@ BankCode=رمز المصرف DeskCode=مدونة مكتبية BankAccountNumber=رقم الحساب BankAccountNumberKey=مفتاح +# SpecialCode=Special code +# ExportStringFilter=%% allows replacing one or more characters in the text +# ExportDateFilter='AAAA' 'AAAAMM' 'AAAAMMJJ': filters by one year/month/day
'AAAA+AAAA' 'AAAAMM+AAAAMM' 'AAAAMMJJ+AAAAMMJJ': filters over a range of years/months/days
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filters on the following years/months/days
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filters on the previous years/months/days +# ExportNumericFilter='NNNNN' filters by one value
'NNNNN+NNNNN' filters over a range of values
'>NNNNN' filters by lower values
'>NNNNN' filters by higher values ## filters # SelectFilterFields=If you want to filter on some values, just input values here. # FilterableFields=Champs Filtrables diff --git a/htdocs/langs/fa_IR/mails.lang b/htdocs/langs/fa_IR/mails.lang index 868e1cbed4e..d0938d3ea0d 100644 --- a/htdocs/langs/fa_IR/mails.lang +++ b/htdocs/langs/fa_IR/mails.lang @@ -79,6 +79,13 @@ SentTo=إرسالها إلى %s # ActivateCheckRead=Allow to use the "Unsubcribe" link # ActivateCheckReadKey=Key use to encrypt URL use for "Read Receipt" and "Unsubcribe" feature # EMailSentToNRecipients=EMail sent to %s recipients. +# EachInvoiceWillBeAttachedToEmail=A document using default invoice document template will be created and attached to each email. +# MailTopicSendRemindUnpaidInvoices=Remind of invoice %s (%s) +# SendRemind=Send remind by EMails +# RemindSent=%S remind(s) sent +# AllRecipientSelectedForRemind=All thirdparties selected and if an email is set (note that one mail per invoice will be sent) +# NoRemindSent=No remind by EMail sent +# ResultOfMassSending=Result of mass remind sending by EMail # Libelle des modules de liste de destinataires mailing MailingModuleDescContactCompanies=اتصالات لجميع الأطراف الثالثة (العملاء ، والاحتمال ، والمورد ،...) diff --git a/htdocs/langs/fa_IR/main.lang b/htdocs/langs/fa_IR/main.lang index cedbb8dc914..42483114cd9 100644 --- a/htdocs/langs/fa_IR/main.lang +++ b/htdocs/langs/fa_IR/main.lang @@ -572,7 +572,7 @@ TotalWoman=المجموع TotalMan=المجموع NeverReceived=لم يتلق Canceled=ألغى -# YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu setup - dictionnary +# YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu setup - dictionary Color=لون Documents=ربط الملفات DocumentsNb=ملفات مرتبطة (%s) diff --git a/htdocs/langs/fa_IR/opensurvey.lang b/htdocs/langs/fa_IR/opensurvey.lang index 78bb5432e55..751ad74ede9 100644 --- a/htdocs/langs/fa_IR/opensurvey.lang +++ b/htdocs/langs/fa_IR/opensurvey.lang @@ -35,6 +35,7 @@ # TitleChoice=Choice label # ExportSpreadsheet=Export result spreadsheet ExpireDate=الحد من التاريخ +# NbOfSurveys=Number of surveys # NbOfVoters=Nb of voters # SurveyResults=Results # PollAdminDesc=You are allowed to change all vote lines of this poll with button "Edit". You can, as well, remove a column or a line with %s. You can also add a new column with %s. diff --git a/htdocs/langs/fa_IR/orders.lang b/htdocs/langs/fa_IR/orders.lang index e727b0f4551..0957503add1 100644 --- a/htdocs/langs/fa_IR/orders.lang +++ b/htdocs/langs/fa_IR/orders.lang @@ -55,6 +55,7 @@ DraftOrWaitingShipped=مشروع مصادق عليه أو لم تشحن MenuOrdersToBill=أوامر لمشروع قانون # MenuOrdersToBill2=Orders to bill SearchOrder=من أجل البحث +# SearchACustomerOrder=Search a customer order ShipProduct=سفينة المنتج Discount=الخصم CreateOrder=خلق أمر @@ -164,3 +165,4 @@ OrderByPhone=الهاتف # OrderCreated=Your orders have been created # OrderFail=An error happened during your orders creation # CreateOrders=Create orders +# ToBillSeveralOrderSelectCustomer=To create an invoice for several orders, click first onto customer, then choose "%s". diff --git a/htdocs/langs/fa_IR/other.lang b/htdocs/langs/fa_IR/other.lang index 161e388258c..66ed02812b1 100644 --- a/htdocs/langs/fa_IR/other.lang +++ b/htdocs/langs/fa_IR/other.lang @@ -49,14 +49,15 @@ Miscellaneous=متفرقات NbOfActiveNotifications=عدد الإخطارات PredefinedMailTest=هذا هو الاختبار الإلكتروني. تكون مفصولة \\ nThe سطرين من قبل حرف إرجاع. PredefinedMailTestHtml=هذا هو البريد الاختبار (الاختبار يجب أن تكون في كلمة جريئة).
وتفصل بين الخطين من قبل حرف إرجاع. -# PredefinedMailContentSendInvoice=__CONTACTCIVNAME__ \n\n You will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__ \n\n We would like to warn you that the invoice __FACREF__ seems to not being payed. So this is the invoice in attachment again, as a reminder.\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendProposal=__CONTACTCIVNAME__ \n\n You will find here the commercial proposal __PROPREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendOrder=__CONTACTCIVNAME__ \n\n You will find here the order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__ \n\n You will find here our order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__ \n\n You will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendShipping=__CONTACTCIVNAME__ \n\n You will find here the shipping __SHIPPINGREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendFichInter=__CONTACTCIVNAME__ \n\n You will find here the intervention __FICHINTERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__\n\nWe would like to warn you that the invoice __FACREF__ seems to not being payed. So this is the invoice in attachment again, as a reminder.\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendProposal=__CONTACTCIVNAME__\n\nYou will find here the commercial proposal __PROPREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendOrder=__CONTACTCIVNAME__\n\nYou will find here the order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__\n\nYou will find here our order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendShipping=__CONTACTCIVNAME__\n\nYou will find here the shipping __SHIPPINGREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendFichInter=__CONTACTCIVNAME__\n\nYou will find here the intervention __FICHINTERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentThirdparty=__CONTACTCIVNAME__\n\n__PERSONALIZED__\n\n__SIGNATURE__ DemoDesc=Dolibarr الاتفاق هو تخطيط موارد المؤسسات وإدارة علاقات العملاء وتتكون من عدة وحدات وظيفية. وقال ان العرض يشمل جميع وحدات لا يعني اي شيء يحدث هذا أبدا. بذلك ، عرض عدة ملامح المتاحة. ChooseYourDemoProfil=اختيار عرض ملف المباراة التي أنشطتك... DemoFundation=أعضاء في إدارة مؤسسة diff --git a/htdocs/langs/fa_IR/products.lang b/htdocs/langs/fa_IR/products.lang index 1d76c29d2cf..21712cd7e71 100644 --- a/htdocs/langs/fa_IR/products.lang +++ b/htdocs/langs/fa_IR/products.lang @@ -13,6 +13,10 @@ NewProduct=منتجات جديدة NewService=خدمة جديدة ProductCode=رمز المنتج ServiceCode=قانون الخدمة +# ProductVatMassChange=Mass VAT change +# ProductVatMassChangeDesc=This page can be used to modify a VAT rate defined on products or services from a value to another. Warning, this change is done on all database. +# MassBarcodeInit=Mass barcode init +# MassBarcodeInitDesc=This page can be used to initialize a barcode on objects that does not have barcode defined. Check before that setup of module barcode is complete. ProductAccountancyBuyCode=المحاسبة الرمز (شراء) ProductAccountancySellCode=المحاسبة الرمز (بيع) ProductOrService=المنتج أو الخدمة @@ -173,8 +177,8 @@ SuppliersPrices=أسعار الموردين # CountryOrigin=Origin country # HiddenIntoCombo=Hidden into select lists # Nature=Nature -# ProductCodeModel=Product code template -# ServiceCodeModel=Service code template +# ProductCodeModel=Product ref template +# ServiceCodeModel=Service ref template # AddThisProductCard=Create product card # HelpAddThisProductCard=This option allows you to create or clone a product if it does not exist. # AddThisServiceCard=Create service card @@ -216,5 +220,10 @@ QtyNeed=الكمية # DefinitionOfBarCodeForThirdpartyNotComplete=Definition of type or value of bar code non complete for thirdparty %s. # BarCodeDataForProduct=Barcode information of product %s : # BarCodeDataForThirdparty=Barcode information of thirdparty %s : -# BarcodeStickersMask=xxx - +# ResetBarcodeForAllRecords=Define barcode value for all records (this will also reset barcode value already defined with new values) +# PriceByCustomer=Price by customer +# PriceCatalogue=Catalogue Price +# PricingRule=Pricing Rules +# AddCustomerPrice=Add price by customers +# ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +# PriceByCustomerLog=Price by customer log diff --git a/htdocs/langs/fa_IR/projects.lang b/htdocs/langs/fa_IR/projects.lang index 530b07d96ea..9e22aa2470b 100644 --- a/htdocs/langs/fa_IR/projects.lang +++ b/htdocs/langs/fa_IR/projects.lang @@ -1,4 +1,6 @@ # Dolibarr language file - Source file is en_US - projects +# RefProject=Ref. project +# ProjectId=Project Id Project=المشروع Projects=المشاريع SharedProject=مشاريع مشتركة @@ -30,11 +32,18 @@ TimeSpent=الوقت الذي تستغرقه # TimesSpent=Time spent RefTask=المرجع. مهمة LabelTask=علامة مهمة +# TaskTimeSpent=Time spent on tasks +# TaskTimeUser=Task time user +# TaskTimeNote=Task time note +# TaskTimeDate=Task time date NewTimeSpent=جديد الوقت الذي يقضيه MyTimeSpent=وقتي قضى MyTasks=مهمتي Tasks=المهام Task=مهمة +# TaskDateStart=Task start date +# TaskDateEnd=Task end date +# TaskDescription=Task description NewTask=مهمة جديدة AddTask=إضافة مهمة AddDuration=تضاف المدة @@ -100,12 +109,12 @@ LinkedToAnotherCompany=ربط طرف ثالث آخر ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=مشروع زعيم TypeContact_project_external_PROJECTLEADER=مشروع زعيم -TypeContact_project_internal_PROJECTCONTRIBUTOR=مساهم -TypeContact_project_external_PROJECTCONTRIBUTOR=مساهم +# TypeContact_project_internal_PROJECTCONTRIBUTOR=Contributor +# TypeContact_project_external_PROJECTCONTRIBUTOR=Contributor TypeContact_project_task_internal_TASKEXECUTIVE=المهمة التنفيذية TypeContact_project_task_external_TASKEXECUTIVE=المهمة التنفيذية -TypeContact_project_task_internal_TASKCONTRIBUTOR=مساهم -TypeContact_project_task_external_TASKCONTRIBUTOR=مساهم +# TypeContact_project_task_internal_TASKCONTRIBUTOR=Contributor +# TypeContact_project_task_external_TASKCONTRIBUTOR=Contributor # SelectElement=Select element # AddElement=Link to element # Documents models diff --git a/htdocs/langs/fa_IR/stocks.lang b/htdocs/langs/fa_IR/stocks.lang index 80a009db5d8..41d476f7a6d 100644 --- a/htdocs/langs/fa_IR/stocks.lang +++ b/htdocs/langs/fa_IR/stocks.lang @@ -94,14 +94,20 @@ ThisWarehouseIsPersonalStock=هذا يمثل مستودع للطبيعة الش # StockToBuy=To order # Replenishment=Replenishment # ReplenishmentOrders=Replenishment orders -# UseVirtualStock=Use virtual stock instead of physical stock +# VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differs +# UseVirtualStockByDefault=Use virtual stock by default, instead of physical stock, for replenishment feature +# UseVirtualStock=Use virtual stock +# UsePhysicalStock=Use physical stock +# CurentSelectionMode=Curent selection mode +# CurentlyUsingVirtualStock=Virtual stock +# CurentlyUsingPhysicalStock=Physical stock # RuleForStockReplenishment=Rule for stocks replenishment # SelectProductWithNotNullQty=Select at least one product with a qty not null and a supplier # AlertOnly= Alerts only # WarehouseForStockDecrease=The warehouse %s will be used for stock decrease # WarehouseForStockIncrease=The warehouse %s will be used for stock increase # ForThisWarehouse=For this warehouse -# ReplenishmentStatusDesc=This is list of all product with a physical stock lower than desired stock (or alert value if checkbox "alert only" is checked) and suggest you to create supplier orders to fill the difference. +# ReplenishmentStatusDesc=This is list of all product with a stock lower than desired stock (or lower than alert value if checkbox "alert only" is checked), and suggest you to create supplier orders to fill the difference. # ReplenishmentOrdersDesc=This is list of all opened supplier orders # Replenishments=Replenishments # NbOfProductBeforePeriod=Quantity of product %s in stock before selected period (< %s) diff --git a/htdocs/langs/fi_FI/admin.lang b/htdocs/langs/fi_FI/admin.lang index b82bcf44901..cba8aa524f9 100644 --- a/htdocs/langs/fi_FI/admin.lang +++ b/htdocs/langs/fi_FI/admin.lang @@ -287,7 +287,7 @@ CurrentVersion=Dolibarr nykyinen versio CallUpdatePage=Siirry sivun päivitykset tietokannan rakennetta ja datas %s. LastStableVersion=Viimeisin vakaa versio # GenericMaskCodes=You may enter any numbering mask. In this mask, the following tags could be used:
{000000} corresponds to a number which will be incremented on each %s. Enter as many zeros as the desired length of the counter. The counter will be completed by zeros from the left in order to have as many zeros as the mask.
{000000+000} same as previous but an offset corresponding to the number to the right of the + sign is applied starting on first %s.
{000000@x} same as previous but the counter is reset to zero when month x is reached (x between 1 and 12, or 0 to use the early months of fiscal year defined in your configuration, or 99 to reset to zero every month). If this option is used and x is 2 or higher, then sequence {yy}{mm} or {yyyy}{mm} is also required.
{dd} day (01 to 31).
{mm} month (01 to 12).
{yy}, {yyyy} or {y} year over 2, 4 or 1 numbers.
-# GenericMaskCodes2={cccc} the client code
{cccc000} the client code on n characters is followed by a client's ref counter without offset and zeroized with the global counter.
{tttt} The code of company type on n characters (see dictionary-company types).
+# GenericMaskCodes2={cccc} the client code on n characters
{cccc000} the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.
{tttt} The code of company type on n characters (see dictionary-company types).
GenericMaskCodes3=Kaikki muut merkit ja maski pysyy ennallaan.
Välilyönnit eivät ole sallittuja.
GenericMaskCodes4a=Esimerkki on 99 %s on kolmannen osapuolen TheCompany tehnyt 2007-01-31:
GenericMaskCodes4b=Esimerkki kolmannen osapuolen luotu 2007-03-01:
@@ -345,8 +345,6 @@ SecurityTokenIsUnique=Käytä ainutlaatuinen securekey parametri jokaiselle URL EnterRefToBuildUrl=Kirjoita viittaus objektin %s GetSecuredUrl=Hanki lasketaan URL # ButtonHideUnauthorized=Hide buttons for unauthorized actions instead of showing disabled buttons -# ProductVatMassChange=Mass VAT change -# ProductVatMassChangeDesc=This page can be used to modify a VAT rate defined on products or services from a value to another. Warning, this change is done on all database. # OldVATRates=Old VAT rate # NewVATRates=New VAT rate # PriceBaseTypeToChange=Modify on prices with base reference value defined on @@ -381,6 +379,16 @@ ExtrafieldPrice = Hinta # DefaultLink=Default link # ValueOverwrittenByUserSetup=Warning, this value may be overwritten by user specific setup (each user can set his own clicktodial url) # ExternalModule=External module - Installed into directory %s +# BarcodeInitForThirdparties=Mass barcode init for thirdparties +# BarcodeInitForProductsOrServices=Mass barcode init or reset for products or services +# CurrentlyNWithoutBarCode=Currently, you have %s records on %s %s without barcode defined. +# InitEmptyBarCode=Init value for next %s empty records +# EraseAllCurrentBarCode=Erase all current barcode values +# ConfirmEraseAllCurrentBarCode=Are you sure you want to erase all current barcode values ? +# AllBarcodeReset=All barcode values have been removed +# NoBarcodeNumberingTemplateDefined=No numbering barcode template enabled into barcode module setup. +# NoRecordWithoutBarcodeDefined=No record with no barcode value defined. + # Modules Module0Name=Käyttäjät & ryhmät @@ -510,6 +518,8 @@ Module50200Desc= Moduuli tarjoaa online-maksu-sivulla luottokortilla PayPal # Module59000Desc=Module to manage margins # Module60000Name=Commissions # Module60000Desc=Module to manage commissions +# Module150010Name=Batch number, eat-by date and sell-by date +# Module150010Desc=batch number, eat-by date and sell-by date management for product Permission11=Lue laskut Permission12=Luo laskut Permission13=Muokka laskut @@ -726,8 +736,8 @@ Permission50202=Tuo liiketoimet # Permission55002=Create/modify surveys # Permission59001=Read commercial margins # Permission59002=Define commercial margins -# DictionaryCompanyType=Company types -# DictionaryCompanyJuridicalType=Juridical kinds of company +# DictionaryCompanyType=Thirdparties type +# DictionaryCompanyJuridicalType=Juridical kinds of thirdparties # DictionaryProspectLevel=Prospect potential level # DictionaryCanton=State/Cantons # DictionaryRegion=Regions @@ -959,7 +969,7 @@ SimpleNumRefModelDesc=Palaa viitenumero muodossa %syymm-nnnn jossa yy on vuosi, ShowProfIdInAddress=Näytä ammattijärjestöt id osoitteiden kanssa asiakirjojen # ShowVATIntaInAddress=Hide VAT Intra num with addresses on documents TranslationUncomplete=Osittainen käännös -SomeTranslationAreUncomplete=Joissakin kielissä voi osittain kääntää tai saattavat sisältää virheitä. Jos huomaat joitakin, voit korjata. Lang teksti tiedostot hakemistoon htdocs / langs ja toimittaa foorumi osoitteessa http://www.dolibarr.org . +# SomeTranslationAreUncomplete=Some languages may be partially translated or may contains errors. If you detect some, you can fix language files registering to http://transifex.com/projects/p/dolibarr/. MenuUseLayout=Tee pystysuunnassa valikon hidable (optio javascript ei saa pois päältä) MAIN_DISABLE_METEO=Poista Meteo näkymä TestLoginToAPI=Testaa kirjautua API @@ -985,6 +995,7 @@ ExtraFields=Täydentävät ominaisuudet # ExtraFieldsProjectTask=Complementary attributes (tasks) ExtraFieldHasWrongValue=Attribut %s on väärä arvo. # AlphaNumOnlyCharsAndNoSpace=only alphanumericals characters without space +# AlphaNumOnlyLowerCharsAndNoSpace=only alphanumericals and lower case characters without space SendingMailSetup=Setup of lähetysten sähköpostitse SendmailOptionNotComplete=Varoitus, joissakin Linux-järjestelmissä, lähettää sähköpostia sähköpostisi, sendmail toteuttaminen setup on conatins optio-ba (parametri mail.force_extra_parameters tulee php.ini tiedosto). Jos jotkut vastaanottajat eivät koskaan vastaanottaa sähköposteja, yrittää muokata tätä PHP parametrin mail.force_extra_parameters =-ba). PathToDocuments=Polku asiakirjoihin @@ -1269,7 +1280,7 @@ ForANonAnonymousAccess=Jotta autentikoitu acces (for a kirjoitusoikeuksia esimer # YouMayFindPerfAdviceHere=You will find on this page some checks or advices related to performance. # NotInstalled=Not installed, so your server is not slow down by this. # ApplicativeCache=Applicative cache -# MemcachedNotAvailable=No applicative cache found. You can enhance performance by installing a cache server Memcached and a module able to use this cache server. More information here http://wiki.dolibarr.org/index.php/Module_MemCached_EN. Note that a lot of web hosting provider does not provide such cache server. +# MemcachedNotAvailable=No applicative cache found. You can enhance performance by installing a cache server Memcached and a module able to use this cache server.
More information here http://wiki.dolibarr.org/index.php/Module_MemCached_EN.
Note that a lot of web hosting provider does not provide such cache server. # OPCodeCache=OPCode cache # NoOPCodeCacheFound=No OPCode cache found. May be you use another OPCode cache than XCache or eAccelerator (good), may be you don't have OPCode cache (very bad). # HTTPCacheStaticResources=HTTP cache for static resources (css, img, javascript) diff --git a/htdocs/langs/fi_FI/agenda.lang b/htdocs/langs/fi_FI/agenda.lang index dc1d1a08c83..86a33f3e074 100644 --- a/htdocs/langs/fi_FI/agenda.lang +++ b/htdocs/langs/fi_FI/agenda.lang @@ -52,6 +52,7 @@ InvoiceSentByEMail=Asiakas lasku %s lähetetään sähköpostilla SupplierOrderSentByEMail=Toimittaja järjestys %s lähetetään sähköpostilla SupplierInvoiceSentByEMail=Toimittaja lasku %s lähetetään sähköpostilla ShippingSentByEMail=Toimitus %s lähetetään sähköpostilla +# ShippingValidated= Shipping %s validated InterventionSentByEMail=Intervention %s lähetetään sähköpostilla NewCompanyToDolibarr= Kolmannen osapuolen luonut DateActionPlannedStart= SUUNNITELTU ALKAMISPÄIVÄ diff --git a/htdocs/langs/fi_FI/cashdesk.lang b/htdocs/langs/fi_FI/cashdesk.lang index b5d7acbc0a4..efa308b3bd6 100644 --- a/htdocs/langs/fi_FI/cashdesk.lang +++ b/htdocs/langs/fi_FI/cashdesk.lang @@ -37,3 +37,4 @@ ShowCompany=Näytä yrityksen ShowStock=Näytä varasto DeleteArticle=Poista napsauttamalla tämän artikkelin # FilterRefOrLabelOrBC=Search (Ref/Label) +# UserNeedPermissionToEditStockToUsePos=You ask to decrease stock on invoice creation, so user that use POS need to have permission to edit stock. diff --git a/htdocs/langs/fi_FI/errors.lang b/htdocs/langs/fi_FI/errors.lang index 29270106140..56fa3728fdb 100644 --- a/htdocs/langs/fi_FI/errors.lang +++ b/htdocs/langs/fi_FI/errors.lang @@ -26,8 +26,11 @@ ErrorFromToAccountsMustDiffers=Lähde ja tavoitteet pankkitilit on erilainen. ErrorBadThirdPartyName=Bad arvo kolmannen osapuolen nimi # ErrorProdIdIsMandatory=The %s is mandatory ErrorBadCustomerCodeSyntax=Bad syntaksi asiakas-koodi +# ErrorBadBarCodeSyntax=Bad syntax for bar code ErrorCustomerCodeRequired=Asiakas-koodi tarvitaan +# ErrorBarCodeRequired=Bar code required ErrorCustomerCodeAlreadyUsed=Asiakas-koodi on jo käytetty +# ErrorBarCodeAlreadyUsed=Bar code already used ErrorPrefixRequired=Etunumero tarvitaan ErrorUrlNotValid=Www-sivuston osoite on virheellinen ErrorBadSupplierCodeSyntax=Bad syntaksi toimittajan koodi @@ -63,6 +66,7 @@ ErrorSizeTooLongForVarcharType=Koko liian pitkä jono tyyppi (%s merkkiä maksim # ErrorNoValueForRadioType=Please fill value for radio list # ErrorBadFormatValueList=The list value cannot have more than one come : %s, but need at least one: llave,valores ErrorFieldCanNotContainSpecialCharacters=Kenttä %s ei saa sisältää erikoismerkkejä. +# ErrorFieldCanNotContainSpecialNorUpperCharacters=Field %s must not contains special characters, nor upper case characters. ErrorNoAccountancyModuleLoaded=O kirjanpito moduuli aktivoitu # ErrorExportDuplicateProfil=This profile name already exists for this export set. ErrorLDAPSetupNotComplete=Dolibarr-LDAP yhteensovitus ei ole täydellinen. diff --git a/htdocs/langs/fi_FI/exports.lang b/htdocs/langs/fi_FI/exports.lang index 775cf6beac0..2367ec2ed99 100644 --- a/htdocs/langs/fi_FI/exports.lang +++ b/htdocs/langs/fi_FI/exports.lang @@ -123,6 +123,10 @@ BankCode=Pankin koodi DeskCode=Työpöytä-koodi BankAccountNumber=Tilinumero BankAccountNumberKey=Avain +# SpecialCode=Special code +# ExportStringFilter=%% allows replacing one or more characters in the text +# ExportDateFilter='AAAA' 'AAAAMM' 'AAAAMMJJ': filters by one year/month/day
'AAAA+AAAA' 'AAAAMM+AAAAMM' 'AAAAMMJJ+AAAAMMJJ': filters over a range of years/months/days
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filters on the following years/months/days
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filters on the previous years/months/days +# ExportNumericFilter='NNNNN' filters by one value
'NNNNN+NNNNN' filters over a range of values
'>NNNNN' filters by lower values
'>NNNNN' filters by higher values ## filters # SelectFilterFields=If you want to filter on some values, just input values here. # FilterableFields=Champs Filtrables diff --git a/htdocs/langs/fi_FI/mails.lang b/htdocs/langs/fi_FI/mails.lang index 7f58136a666..c1e3714fb99 100644 --- a/htdocs/langs/fi_FI/mails.lang +++ b/htdocs/langs/fi_FI/mails.lang @@ -79,6 +79,13 @@ MailingStatusRead=Luettu # ActivateCheckRead=Allow to use the "Unsubcribe" link # ActivateCheckReadKey=Key use to encrypt URL use for "Read Receipt" and "Unsubcribe" feature # EMailSentToNRecipients=EMail sent to %s recipients. +# EachInvoiceWillBeAttachedToEmail=A document using default invoice document template will be created and attached to each email. +# MailTopicSendRemindUnpaidInvoices=Remind of invoice %s (%s) +# SendRemind=Send remind by EMails +# RemindSent=%S remind(s) sent +# AllRecipientSelectedForRemind=All thirdparties selected and if an email is set (note that one mail per invoice will be sent) +# NoRemindSent=No remind by EMail sent +# ResultOfMassSending=Result of mass remind sending by EMail # Libelle des modules de liste de destinataires mailing MailingModuleDescContactCompanies=Yhteystiedot kaikista kolmansien osapuolten (asiakas, näkymä, toimittaja, ...) diff --git a/htdocs/langs/fi_FI/main.lang b/htdocs/langs/fi_FI/main.lang index f95218ff2c5..7a001788a94 100644 --- a/htdocs/langs/fi_FI/main.lang +++ b/htdocs/langs/fi_FI/main.lang @@ -572,7 +572,7 @@ TotalWoman=Yhteensä TotalMan=Yhteensä NeverReceived=Koskaan saanut Canceled=Peruutettu -# YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu setup - dictionnary +# YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu setup - dictionary Color=Väri Documents=Linkitettyjä tiedostoja DocumentsNb=Linkitettyä kuvaa (%s) diff --git a/htdocs/langs/fi_FI/opensurvey.lang b/htdocs/langs/fi_FI/opensurvey.lang index a55dc9ff190..aed8429aec4 100644 --- a/htdocs/langs/fi_FI/opensurvey.lang +++ b/htdocs/langs/fi_FI/opensurvey.lang @@ -35,6 +35,7 @@ # TitleChoice=Choice label # ExportSpreadsheet=Export result spreadsheet ExpireDate=Raja-päivämäärä +# NbOfSurveys=Number of surveys # NbOfVoters=Nb of voters # SurveyResults=Results # PollAdminDesc=You are allowed to change all vote lines of this poll with button "Edit". You can, as well, remove a column or a line with %s. You can also add a new column with %s. diff --git a/htdocs/langs/fi_FI/orders.lang b/htdocs/langs/fi_FI/orders.lang index 4b31263c287..ac475213a74 100644 --- a/htdocs/langs/fi_FI/orders.lang +++ b/htdocs/langs/fi_FI/orders.lang @@ -55,6 +55,7 @@ DraftOrWaitingShipped=Esitys tai validoitua ole vielä lähetetty MenuOrdersToBill=Tilaukset laskuttaa # MenuOrdersToBill2=Orders to bill SearchOrder=Haku jotta +# SearchACustomerOrder=Search a customer order ShipProduct=Laiva tuote Discount=Discount CreateOrder=Luo Tilaa @@ -164,3 +165,4 @@ OrderByPhone=Puhelin # OrderCreated=Your orders have been created # OrderFail=An error happened during your orders creation # CreateOrders=Create orders +# ToBillSeveralOrderSelectCustomer=To create an invoice for several orders, click first onto customer, then choose "%s". diff --git a/htdocs/langs/fi_FI/other.lang b/htdocs/langs/fi_FI/other.lang index 5d4e48ff937..3f64752abfb 100644 --- a/htdocs/langs/fi_FI/other.lang +++ b/htdocs/langs/fi_FI/other.lang @@ -49,14 +49,15 @@ Miscellaneous=Miscellaneous NbOfActiveNotifications=Ilmoitusten lukumäärä PredefinedMailTest=Tämä on testi postitse. \\ NOsoitteen kaksi riviä välissä rivinvaihto. PredefinedMailTestHtml=Tämä on testi postitse (sana testi on lihavoitu).
Kaksi riviä välissä rivinvaihto. -PredefinedMailContentSendInvoice=__CONTACTCIVNAME__ \n\n Löydät täältä laskun __ FACREF__ \n\n__PERSONALIZED__ Sincerely \n\n__SIGNATURE__ -PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__ \n\n Haluamme varoittaa, että lasku __ FACREF__ näyttää ei maksanut. Joten tämä on laskun liitetiedostona uudelleen, kuten muistutuksen. \n\n__PERSONALIZED__ Vilpittömästi \n\n__SIGNATURE__ -PredefinedMailContentSendProposal=__CONTACTCIVNAME__ \n\n Löydät täältä kaupallinen propoal __ PROPREF__ \n\n__PERSONALIZED__ Sincerely \n\n__SIGNATURE__ -PredefinedMailContentSendOrder=__CONTACTCIVNAME__ \n\n Löydät täältä järjestyksessä __ ORDERREF__ \n\n__PERSONALIZED__ Sincerely \n\n__SIGNATURE__ -PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__ \n\n Löydät tästä meidän järjestys __ORDERREF__ \n\n__PERSONALIZED__Sincerely \n\n__SIGNATURE__ -PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__ \n\n Löydät täältä laskun __ FACREF__ \n\n__PERSONALIZED__ Sincerely \n\n__SIGNATURE__ -PredefinedMailContentSendShipping=__CONTACTCIVNAME__ \n\n Löydät täältä merenkulku __ SHIPPINGREF__ \n\n__PERSONALIZED__ Sincerely \n\n__SIGNATURE__ -PredefinedMailContentSendFichInter=__CONTACTCIVNAME__ \n\n Löydät täältä intervention __ FICHINTERREF__ \n\n__PERSONALIZED__ Sincerely \n\n__SIGNATURE__ +# PredefinedMailContentSendInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__\n\nWe would like to warn you that the invoice __FACREF__ seems to not being payed. So this is the invoice in attachment again, as a reminder.\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendProposal=__CONTACTCIVNAME__\n\nYou will find here the commercial proposal __PROPREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendOrder=__CONTACTCIVNAME__\n\nYou will find here the order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__\n\nYou will find here our order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendShipping=__CONTACTCIVNAME__\n\nYou will find here the shipping __SHIPPINGREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendFichInter=__CONTACTCIVNAME__\n\nYou will find here the intervention __FICHINTERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentThirdparty=__CONTACTCIVNAME__\n\n__PERSONALIZED__\n\n__SIGNATURE__ DemoDesc=Dolibarr on kompakti ERP / CRM säveltänyt useita toiminnallisia moduuleja. A demo, joka sisältää kaikki moduulit eivät merkitse mitään, koska tämä ei koskaan tapahdu. Joten useita demo profiilit ovat saatavilla. ChooseYourDemoProfil=Valitse demo profil jotka vastaavat aktiviisuutesi ... DemoFundation=Hallitse jäseniä säätiön diff --git a/htdocs/langs/fi_FI/products.lang b/htdocs/langs/fi_FI/products.lang index 2a8e1ac2868..eddd267c390 100644 --- a/htdocs/langs/fi_FI/products.lang +++ b/htdocs/langs/fi_FI/products.lang @@ -13,6 +13,10 @@ NewProduct=Uusi tuote NewService=Uusi palvelu ProductCode=Tuotekoodi ServiceCode=Service-koodi +# ProductVatMassChange=Mass VAT change +# ProductVatMassChangeDesc=This page can be used to modify a VAT rate defined on products or services from a value to another. Warning, this change is done on all database. +# MassBarcodeInit=Mass barcode init +# MassBarcodeInitDesc=This page can be used to initialize a barcode on objects that does not have barcode defined. Check before that setup of module barcode is complete. ProductAccountancyBuyCode=Kirjanpidon koodi (osta) ProductAccountancySellCode=Kirjanpidon koodi (myydä) ProductOrService=Tuote tai palvelu @@ -173,8 +177,8 @@ CustomCode=Tullikoodeksi CountryOrigin=Alkuperä maa HiddenIntoCombo=Piilotettu osaksi valitse listat Nature=Luonto -# ProductCodeModel=Product code template -# ServiceCodeModel=Service code template +# ProductCodeModel=Product ref template +# ServiceCodeModel=Service ref template # AddThisProductCard=Create product card # HelpAddThisProductCard=This option allows you to create or clone a product if it does not exist. # AddThisServiceCard=Create service card @@ -216,5 +220,10 @@ QtyNeed=Kpl # DefinitionOfBarCodeForThirdpartyNotComplete=Definition of type or value of bar code non complete for thirdparty %s. # BarCodeDataForProduct=Barcode information of product %s : # BarCodeDataForThirdparty=Barcode information of thirdparty %s : -# BarcodeStickersMask=xxx - +# ResetBarcodeForAllRecords=Define barcode value for all records (this will also reset barcode value already defined with new values) +# PriceByCustomer=Price by customer +# PriceCatalogue=Catalogue Price +# PricingRule=Pricing Rules +# AddCustomerPrice=Add price by customers +# ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +# PriceByCustomerLog=Price by customer log diff --git a/htdocs/langs/fi_FI/projects.lang b/htdocs/langs/fi_FI/projects.lang index 29a3f4a0bac..f15872950d4 100644 --- a/htdocs/langs/fi_FI/projects.lang +++ b/htdocs/langs/fi_FI/projects.lang @@ -1,4 +1,6 @@ # Dolibarr language file - Source file is en_US - projects +# RefProject=Ref. project +# ProjectId=Project Id Project=Hanke Projects=Projektit SharedProject=Yhteiset hanke @@ -30,11 +32,18 @@ TimeSpent=Käytetty aika TimesSpent=Käytetty aika RefTask=Ref. tehtävä LabelTask=Label tehtävä +# TaskTimeSpent=Time spent on tasks +# TaskTimeUser=Task time user +# TaskTimeNote=Task time note +# TaskTimeDate=Task time date NewTimeSpent=Uusi käytetty aika MyTimeSpent=Oma käytetty aika MyTasks=Omat tehtävät Tasks=Tehtävät Task=Tehtävä +# TaskDateStart=Task start date +# TaskDateEnd=Task end date +# TaskDescription=Task description NewTask=Uusi tehtävä AddTask=Lisää tehtävä AddDuration=Lisää kesto @@ -100,12 +109,12 @@ IfNeedToUseOhterObjectKeepEmpty=Jos jotkin esineet (lasku, tilaus, ...), jotka k ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Projektin johtaja TypeContact_project_external_PROJECTLEADER=Projektin johtaja -TypeContact_project_internal_PROJECTCONTRIBUTOR=Avustaja -TypeContact_project_external_PROJECTCONTRIBUTOR=Avustaja +# TypeContact_project_internal_PROJECTCONTRIBUTOR=Contributor +# TypeContact_project_external_PROJECTCONTRIBUTOR=Contributor TypeContact_project_task_internal_TASKEXECUTIVE=Tehtävä johtoon TypeContact_project_task_external_TASKEXECUTIVE=Tehtävä johtoon -TypeContact_project_task_internal_TASKCONTRIBUTOR=Avustaja -TypeContact_project_task_external_TASKCONTRIBUTOR=Avustaja +# TypeContact_project_task_internal_TASKCONTRIBUTOR=Contributor +# TypeContact_project_task_external_TASKCONTRIBUTOR=Contributor # SelectElement=Select element # AddElement=Link to element # Documents models diff --git a/htdocs/langs/fi_FI/stocks.lang b/htdocs/langs/fi_FI/stocks.lang index 11346ab6f21..649cb3b3d2d 100644 --- a/htdocs/langs/fi_FI/stocks.lang +++ b/htdocs/langs/fi_FI/stocks.lang @@ -94,14 +94,20 @@ SelectWarehouseForStockIncrease=Valitse varasto käyttää varastossa lisätä # StockToBuy=To order # Replenishment=Replenishment # ReplenishmentOrders=Replenishment orders -# UseVirtualStock=Use virtual stock instead of physical stock +# VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differs +# UseVirtualStockByDefault=Use virtual stock by default, instead of physical stock, for replenishment feature +# UseVirtualStock=Use virtual stock +# UsePhysicalStock=Use physical stock +# CurentSelectionMode=Curent selection mode +# CurentlyUsingVirtualStock=Virtual stock +# CurentlyUsingPhysicalStock=Physical stock # RuleForStockReplenishment=Rule for stocks replenishment # SelectProductWithNotNullQty=Select at least one product with a qty not null and a supplier # AlertOnly= Alerts only # WarehouseForStockDecrease=The warehouse %s will be used for stock decrease # WarehouseForStockIncrease=The warehouse %s will be used for stock increase # ForThisWarehouse=For this warehouse -# ReplenishmentStatusDesc=This is list of all product with a physical stock lower than desired stock (or alert value if checkbox "alert only" is checked) and suggest you to create supplier orders to fill the difference. +# ReplenishmentStatusDesc=This is list of all product with a stock lower than desired stock (or lower than alert value if checkbox "alert only" is checked), and suggest you to create supplier orders to fill the difference. # ReplenishmentOrdersDesc=This is list of all opened supplier orders # Replenishments=Replenishments # NbOfProductBeforePeriod=Quantity of product %s in stock before selected period (< %s) diff --git a/htdocs/langs/fr_FR/admin.lang b/htdocs/langs/fr_FR/admin.lang index 50198562df7..d51fe9d7d15 100644 --- a/htdocs/langs/fr_FR/admin.lang +++ b/htdocs/langs/fr_FR/admin.lang @@ -287,7 +287,7 @@ CurrentVersion=Version actuelle de Dolibarr CallUpdatePage=Aller à la page de mise à jour de la structure et des données de la base : %s. LastStableVersion=Dernière version stable disponible GenericMaskCodes=Vous pouvez saisir tout masque de numérotation. Dans ce masque, les balises suivantes peuvent être utilisées:
{000000} correspond à un numéro qui sera incrémenté à chaque %s. Mettre autant de zéro que la longueur désirée du compteur. Le compteur sera complété par des 0 à gauche afin d'avoir autant de zéro que dans le masque.
{000000+000} idem que précédemment mais un décalage correspondant au nombre à droite du + est appliqué dès la première %s.
{000000@x} idem que précédemment mais le compteur est remis à zéro le xème mois de l'année (x entre 1 et 12, ou 0 pour utiliser le mois de début d'exercice fiscal défini dans votre configuration, ou 99 pour remise à zéro chaque mois). Si cette option est utilisée et x vaut 2 ou plus, alors la séquence {yy}{mm} ou {yyyy}{mm} est obligatoire.
{dd} jour (01 à 31).
{mm} mois (01 à 12).
{yy}, {yyyy} ou {y} année sur 2, 4 ou 1 chiffres.
-# GenericMaskCodes2={cccc} the client code
{cccc000} the client code on n characters is followed by a client's ref counter without offset and zeroized with the global counter.
{tttt} The code of company type on n characters (see dictionary-company types).
+# GenericMaskCodes2={cccc} the client code on n characters
{cccc000} the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.
{tttt} The code of company type on n characters (see dictionary-company types).
GenericMaskCodes3=Tout autre caractère dans le masque sera laissé inchangé.
Les espaces ne sont pas permis.
GenericMaskCodes4a=Exemple sur la 99eme %s du tiers LaCompanie faite le 31/03/2007 :
GenericMaskCodes4b=Exemple sur un tiers créé le 31/03/2007 :
@@ -345,8 +345,6 @@ SecurityTokenIsUnique=Utiliser un paramètre securekey unique pour chaque URL ? EnterRefToBuildUrl=Entrer la référence pour l'objet %s GetSecuredUrl=Obtenir l'URL calculée ButtonHideUnauthorized=Cacher les boutons non autorisés (au lieu de les voir grisés) -ProductVatMassChange=Modification TVA en masse -ProductVatMassChangeDesc=Cette page permet de modifier les taux de TVA définis sur les produits ou services d'une valeur vers une autre. Attention, la modification est réalisée en masse sur toute la base de données. OldVATRates=Ancien taux de TVA NewVATRates=Nouveau taux de TVA PriceBaseTypeToChange=Modifier sur les prix dont la référence de base est le @@ -381,6 +379,16 @@ KeepEmptyToUseDefault=Laisser ce champ vide pour utiliser la valeur par défaut DefaultLink=Lien par défaut ValueOverwrittenByUserSetup=Attention, cette valeur peut être écrasée par une valeur spécifique à la configuration de l'utilisateur (chaque utilisateur pouvant avoir sa propre URL « clicktodial ») ExternalModule=Module externe - Installé dans le répertoire %s +# BarcodeInitForThirdparties=Mass barcode init for thirdparties +# BarcodeInitForProductsOrServices=Mass barcode init or reset for products or services +# CurrentlyNWithoutBarCode=Currently, you have %s records on %s %s without barcode defined. +# InitEmptyBarCode=Init value for next %s empty records +# EraseAllCurrentBarCode=Erase all current barcode values +# ConfirmEraseAllCurrentBarCode=Are you sure you want to erase all current barcode values ? +# AllBarcodeReset=All barcode values have been removed +# NoBarcodeNumberingTemplateDefined=No numbering barcode template enabled into barcode module setup. +# NoRecordWithoutBarcodeDefined=No record with no barcode value defined. + # Modules Module0Name=Utilisateurs & groupes @@ -510,8 +518,8 @@ Module59000Name=Marges Module59000Desc=Module pour gérer les marges Module60000Name=Commissions Module60000Desc=Module pour gérer les commissions -Module150010Name=Numéro de lot, DLC, DLUO -Module150010Desc=Gestion des numéros de lot, DLC et DLUO pour les produits stockés +# Module150010Name=Batch number, eat-by date and sell-by date +# Module150010Desc=batch number, eat-by date and sell-by date management for product Permission11=Consulter les factures clients Permission12=Créer/modifier les factures clients Permission13=Dé-valider les factures clients @@ -728,8 +736,8 @@ Permission55001=Lire les sondages Permission55002=Créer/modifier les sondages Permission59001=Consulter les propositions commerciales Permission59002=Saisir les marges commerciales -DictionaryCompanyType=Types de sociétés -DictionaryCompanyJuridicalType=Formes juridiques +DictionaryCompanyType=Type de Tiers +DictionaryCompanyJuridicalType=Formes juridiques des Tiers DictionaryProspectLevel=Niveau de potentiel des prospects DictionaryCanton=Départements/Provinces/Cantons DictionaryRegion=Régions @@ -961,7 +969,7 @@ SimpleNumRefModelDesc=Renvoie le numéro sous la forme %syymm-nnnn où yy est l' ShowProfIdInAddress=Afficher l'identifiant professionnel dans les adresses sur les documents ShowVATIntaInAddress=Cacher l'identifiant de TVA Intracommunautaire dans les adresses sur les documents TranslationUncomplete=Traduction partielle -SomeTranslationAreUncomplete=Certaines langues sont traduites partiellement ou peuvent contenir des erreurs. Si vous en détectez, vous pouvez corriger les fichiers textes .lang du répertoire htdocs/langs et les soumettre sur le forum à http://www.dolibarr.fr. +# SomeTranslationAreUncomplete=Some languages may be partially translated or may contains errors. If you detect some, you can fix language files registering to http://transifex.com/projects/p/dolibarr/. MenuUseLayout=Rendre le menu gauche cachable (L'option Javascript doit être activée) MAIN_DISABLE_METEO=Désactiver la vue météo TestLoginToAPI=Tester connexion à l'API @@ -987,7 +995,7 @@ ExtraFieldsProject=Attributs supplémentaires (projets) ExtraFieldsProjectTask=Attributs supplémentaires (tâches) ExtraFieldHasWrongValue=L'attribut %s a une valeur incorrecte. AlphaNumOnlyCharsAndNoSpace=uniquement caractères alphanumériques sans espace -AlphaNumOnlyLowerCharsAndNoSpace=uniquement caractères minuscules alphanumériques sans espace +# AlphaNumOnlyLowerCharsAndNoSpace=only alphanumericals and lower case characters without space SendingMailSetup=Configuration de l'envoi par email SendmailOptionNotComplete=Attention, sur certains systèmes Linux, avec cette méthode d'envoi, pour pouvoir envoyer des emails en votre nom, la configuration d'exécution de sendmail doit contenir l'option -ba (paramètre mail.force_extra_parameters dans le fichier php.ini). Si certains de vos destinataires ne reçoivent pas de message, essayer de modifier ce paramètre PHP avec mail.force_extra_parameters = -ba. PathToDocuments=Chemin d'accès aux documents @@ -1272,7 +1280,7 @@ PerfDolibarr=Rapport de configuration/optimisation sur la performance YouMayFindPerfAdviceHere=Sur cette page vous trouverez quelques indicateurs ou conseils pour optimiser la performance. NotInstalled=Non installé, aussi votre serveur n'est pas ralentit par cela. ApplicativeCache=Cache applicatif -MemcachedNotAvailable=Aucun cache applicatif disponible. Vous pouvez accélérer les performances de Dolibarr en installant un serveur de cache Memcached et un module de cache applicatif exploitant ce serveur. Plus d'info sur la page http://wiki.dolibarr.org/index.php/Module_MemCached. Notez que de nombreux hébergeurs bas couts ne fournissent pas de tels serveurs de cache dans leur infrastructure. +# MemcachedNotAvailable=No applicative cache found. You can enhance performance by installing a cache server Memcached and a module able to use this cache server.
More information here http://wiki.dolibarr.org/index.php/Module_MemCached_EN.
Note that a lot of web hosting provider does not provide such cache server. OPCodeCache=Cache OPCode NoOPCodeCacheFound=Pas de cache OPCode trouvé. Peut-être utilisez-vous un cache OPCode différent de XCache ou eAccelerator (bien), peut-être n'avez vous pas du tout de cache OPCode (très mauvais). HTTPCacheStaticResources=Cache HTTP des ressources statiques (css, img, javascript) diff --git a/htdocs/langs/fr_FR/agenda.lang b/htdocs/langs/fr_FR/agenda.lang index d21617fde47..fffd7847674 100644 --- a/htdocs/langs/fr_FR/agenda.lang +++ b/htdocs/langs/fr_FR/agenda.lang @@ -52,7 +52,7 @@ InvoiceSentByEMail=Facture client %s envoyée par EMail SupplierOrderSentByEMail=Commande fournisseur %s envoyée par EMail SupplierInvoiceSentByEMail=Facture fournisseur %s envoyée par Email ShippingSentByEMail=Bon d'expédition %s envoyé par Email -ShippingValidated=Bon d'expédition %s validée +# ShippingValidated= Shipping %s validated InterventionSentByEMail=Intervention %s envoyée par Email NewCompanyToDolibarr= Tiers créé DateActionPlannedStart= Date de début de réalisation prévue diff --git a/htdocs/langs/fr_FR/cashdesk.lang b/htdocs/langs/fr_FR/cashdesk.lang index 5dd2fe6ec57..791cf19fac1 100644 --- a/htdocs/langs/fr_FR/cashdesk.lang +++ b/htdocs/langs/fr_FR/cashdesk.lang @@ -37,4 +37,4 @@ ShowCompany=Voir société ShowStock=Voir entrepôt DeleteArticle=Cliquez pour enlever cet article FilterRefOrLabelOrBC=Recherche (Ref/Lib.) -UserNeedPermissionToEditStockToUsePos=La configuration du module stock demande une réduction du stock sur facturation, aussi l'utilisateur du Point De Vente doit avoir les droits de modifier les stocks \ No newline at end of file +# UserNeedPermissionToEditStockToUsePos=You ask to decrease stock on invoice creation, so user that use POS need to have permission to edit stock. diff --git a/htdocs/langs/fr_FR/contracts.lang b/htdocs/langs/fr_FR/contracts.lang index ab21ee11046..0af08b41b95 100644 --- a/htdocs/langs/fr_FR/contracts.lang +++ b/htdocs/langs/fr_FR/contracts.lang @@ -89,7 +89,6 @@ ListOfServicesToExpireWithDuration=Liste des services actifs expirant dans %s jo ListOfServicesToExpireWithDurationNeg=Liste des services actifs expiré depuis plus de %s jours ListOfServicesToExpire=Liste des services actifs en expiration NoteListOfYourExpiredServices=Cette list ne contient que les contrats de services des tiers pour lesquels vous êtes liés comme représentant commercial. -DocumentModelStandard=Modèle de contrat standard ##### Types de contacts ##### TypeContact_contrat_internal_SALESREPSIGN=Commercial signataire du contrat diff --git a/htdocs/langs/fr_FR/errors.lang b/htdocs/langs/fr_FR/errors.lang index cde17552709..50ef433a716 100644 --- a/htdocs/langs/fr_FR/errors.lang +++ b/htdocs/langs/fr_FR/errors.lang @@ -26,8 +26,11 @@ ErrorFromToAccountsMustDiffers=Le compte source et destination doivent être dif ErrorBadThirdPartyName=Nom de tiers incorrect ErrorProdIdIsMandatory=Le %s est obligatoire ErrorBadCustomerCodeSyntax=La syntaxe du code client est incorrecte +# ErrorBadBarCodeSyntax=Bad syntax for bar code ErrorCustomerCodeRequired=Code client obligatoire +# ErrorBarCodeRequired=Bar code required ErrorCustomerCodeAlreadyUsed=Code client déjà utilisé +# ErrorBarCodeAlreadyUsed=Bar code already used ErrorPrefixRequired=Préfix obligatoire ErrorUrlNotValid=L'adresse du site web est incorrecte ErrorBadSupplierCodeSyntax=La syntaxe du code fournisseur est incorrecte @@ -63,7 +66,7 @@ ErrorNoValueForCheckBoxType=Les valeurs de la liste de case a cochées doivent ErrorNoValueForRadioType=Les valeurs de la liste d'options doivent être renseignées ErrorBadFormatValueList=Les valeurs de la liste ne peuvent pas contenir plus d'une virgule : %s, mais doivent en avoir au moins une: clef,valeur ErrorFieldCanNotContainSpecialCharacters=Le champ %s ne peut contenir de caractères spéciaux. -ErrorFieldCanNotContainSpecialNorUpperCharacters=Le champ %s ne peut contenir de caractères spéciaux, ni de caractères en majuscules. +# ErrorFieldCanNotContainSpecialNorUpperCharacters=Field %s must not contains special characters, nor upper case characters. ErrorNoAccountancyModuleLoaded=Aucun module de comptabilité activé ErrorExportDuplicateProfil=Ce nom de profil existe déjà pour ce lot d'export. ErrorLDAPSetupNotComplete=Le matching Dolibarr-LDAP est incomplet. diff --git a/htdocs/langs/fr_FR/exports.lang b/htdocs/langs/fr_FR/exports.lang index e79856b19bf..f1aed29fc27 100644 --- a/htdocs/langs/fr_FR/exports.lang +++ b/htdocs/langs/fr_FR/exports.lang @@ -102,14 +102,14 @@ NbOfLinesImported=Nombre de lignes importées avec succès : %s. DataComeFromNoWhere=La valeur à insérer n'est issue d'aucun champ du fichier source. DataComeFromFileFieldNb=La valeur à insérer sera issue du champ numéro %s du fichier source. DataComeFromIdFoundFromRef=La valeur issue du champ numéro %s du fichier source sera utilisée pour trouver l'identifiant de l'objet père à utiliser (L'objet %s ayant la réf. issue du fichier source doit donc exister dans Dolibarr). -# DataComeFromIdFoundFromCodeId=Code that comes from field number %s of source file will be used to find id of parent object to use (So the code from source file must exists into dictionary %s). Note that if you know id, you can also use it into source file instead of code. Import should work in both cases. +DataComeFromIdFoundFromCodeId=Le code issu du champ numéro %s du fichier source sera utilisée pour trouver l'id de l'objet père à utiliser (Le code issue du fichier source doit donc exister dans le dictionnaire %s). Notons que si vous connaissez cet id, vous pouvez l'utiliser dans le fichier source au lieu du code. L'import fonctionnera dans les 2 cas. DataIsInsertedInto=La donnée issue du fichier source sera insérée dans le champ suivant: DataIDSourceIsInsertedInto=L'identifiant de l'objet père retrouvé à partir de la donnée source, sera inséré dans le champ suivant : DataCodeIDSourceIsInsertedInto=L'identifiant de la ligne père retrouvé à partir du code, sera inséré dans le champ suivant : SourceRequired=Donnée source obligatoire SourceExample=Exemple de donnée source possible ExampleAnyRefFoundIntoElement=Toute réf. trouvée pour les éléments %s -# ExampleAnyCodeOrIdFoundIntoDictionary=Any code (or id) found into dictionary %s +ExampleAnyCodeOrIdFoundIntoDictionary=Tout code (ou id) trouvée dans le dictionnaire %s CSVFormatDesc=Fichier au format Comma Separated Value (.csv).
C'est un fichier au format texte dans lequel les champs sont séparés par le caractère [ %s ]. Si le séparateur est trouvé dans le contenu d'un champ, le champ doit être entouré du caractère [ %s ]. Le caractère d'échappement pour inclure un caractère de contour dans une donnée est [ %s ]. Excel95FormatDesc=Format Excel (.xls).
Format Excel 95 (BIFF5). Excel2007FormatDesc=Format Excel (.xls).
Format standard Excel 2007 (SpreadsheetML). @@ -123,9 +123,10 @@ BankCode=Code banque DeskCode=Code guichet BankAccountNumber=Numéro de compte BankAccountNumberKey=Clé RIB -ExportStringFilter=%% permet de remplacer un ou plusieurs caractères dans la chaine -ExportDateFilter='AAAA' 'AAAAMM' 'AAAAMMJJ': filtre sur une année/mois/jour
'AAAA+AAAA' 'AAAAMM+AAAAMM' 'AAAAMMJJ+AAAAMMJJ': filtre sur une plage d'année/mois/jour
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filtre sur les année/mois/jour suivants
'>AAAA' '>AAAAMM' '>AAAAMMJJ' filtre sur les année/mois/jour précédent -ExportNumericFilter='NNNNN' filtre sur une valeur
'NNNNN+NNNNN' filtre sur une plage de valeur
'>NNNNN' filtre sur les valeurs inférieurs
'>NNNNN' filtre sur les valeurs supérieurs +# SpecialCode=Special code +# ExportStringFilter=%% allows replacing one or more characters in the text +# ExportDateFilter='AAAA' 'AAAAMM' 'AAAAMMJJ': filters by one year/month/day
'AAAA+AAAA' 'AAAAMM+AAAAMM' 'AAAAMMJJ+AAAAMMJJ': filters over a range of years/months/days
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filters on the following years/months/days
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filters on the previous years/months/days +# ExportNumericFilter='NNNNN' filters by one value
'NNNNN+NNNNN' filters over a range of values
'>NNNNN' filters by lower values
'>NNNNN' filters by higher values ## filters SelectFilterFields=Si vous voulez filtrer sur certaines valeurs, saisissez ces valeurs. FilterableFields=Champs filtrables diff --git a/htdocs/langs/fr_FR/mails.lang b/htdocs/langs/fr_FR/mails.lang index 1b989eaa7ec..d5b0adf982e 100644 --- a/htdocs/langs/fr_FR/mails.lang +++ b/htdocs/langs/fr_FR/mails.lang @@ -79,6 +79,13 @@ MailtoEMail=Écrire un e-mail (lien) ActivateCheckRead=Permettre l'utilisation du lien de désinscription ActivateCheckReadKey=Clé de sécurité permettant le chiffrement des URL utilisées dans les fonctions d'accusé de lecture et de désinscription EMailSentToNRecipients=Email envoyé à %s destinataires. +# EachInvoiceWillBeAttachedToEmail=A document using default invoice document template will be created and attached to each email. +# MailTopicSendRemindUnpaidInvoices=Remind of invoice %s (%s) +# SendRemind=Send remind by EMails +# RemindSent=%S remind(s) sent +# AllRecipientSelectedForRemind=All thirdparties selected and if an email is set (note that one mail per invoice will be sent) +# NoRemindSent=No remind by EMail sent +# ResultOfMassSending=Result of mass remind sending by EMail # Libelle des modules de liste de destinataires mailing MailingModuleDescContactCompanies=Contacts de tiers (prospects, clients, fournisseurs…) diff --git a/htdocs/langs/fr_FR/opensurvey.lang b/htdocs/langs/fr_FR/opensurvey.lang index e98f26c4f33..137750de452 100644 --- a/htdocs/langs/fr_FR/opensurvey.lang +++ b/htdocs/langs/fr_FR/opensurvey.lang @@ -35,7 +35,7 @@ AddNewColumn=Ajouter nouvelle colonne TitleChoice=Libellé du choix ExportSpreadsheet=Exporter feuille de résultats ExpireDate=Date expiration -NbOfSurveys=Nombre de sondage +# NbOfSurveys=Number of surveys NbOfVoters=Nombre de votants SurveyResults=Résultats PollAdminDesc=Vous êtes habilité à modifier toutes les lignes de votes par le bouton "Éditer". Vous pouvez supprimer une colonne ou ligne avec %s. Vous pouvez aussi ajouter une nouvelle colonne avec %s. diff --git a/htdocs/langs/fr_FR/orders.lang b/htdocs/langs/fr_FR/orders.lang index 046e99b16a0..70b46c6bb9d 100644 --- a/htdocs/langs/fr_FR/orders.lang +++ b/htdocs/langs/fr_FR/orders.lang @@ -55,6 +55,7 @@ DraftOrWaitingShipped=Brouillon ou validée pas encore expédiée MenuOrdersToBill=Commandes délivrées MenuOrdersToBill2=Commandes à facturer SearchOrder=Rechercher une commande +# SearchACustomerOrder=Search a customer order ShipProduct=Expédier produit Discount=Remise CreateOrder=Créer Commande @@ -164,3 +165,4 @@ Ordered=Commandé OrderCreated=Vos commandes ont été générées OrderFail=Une erreur s'est produite pendant la création de vos commandes CreateOrders=Créer commandes +# ToBillSeveralOrderSelectCustomer=To create an invoice for several orders, click first onto customer, then choose "%s". diff --git a/htdocs/langs/fr_FR/other.lang b/htdocs/langs/fr_FR/other.lang index 355dadad2ba..f78e5c6e160 100644 --- a/htdocs/langs/fr_FR/other.lang +++ b/htdocs/langs/fr_FR/other.lang @@ -49,15 +49,15 @@ Miscellaneous=Divers NbOfActiveNotifications=Nombre de notifications PredefinedMailTest=Ceci est un message de test.\nLes 2 lignes sont séparées par un retour à la ligne.\n\n__SIGNATURE__ PredefinedMailTestHtml=Ceci est un message de test (le mot test doit être en gras).
Les 2 lignes sont séparées par un retour à la ligne.

__SIGNATURE__ -PredefinedMailContentSendInvoice=__CONTACTCIVNAME__\n\nVeuillez trouver ci-joint la facture __FACREF__\n\n__PERSONALIZED__Cordialement\n\n__SIGNATURE__ -PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__\n\nNous voudrions porter à votre connaissance que la facture __FACREF__ ne semble pas avoir été réglée. La voici donc, pour rappel, en pièce jointe.\n\n__PERSONALIZED__Cordialement\n\n__SIGNATURE__ -PredefinedMailContentSendProposal=__CONTACTCIVNAME__\n\nVeuillez trouver ci-joint la proposition commerciale __PROPREF__\n\n__PERSONALIZED__Cordialement\n\n__SIGNATURE__ -PredefinedMailContentSendOrder=__CONTACTCIVNAME__\n\nVeuillez trouver ci-joint la commande __ORDERREF__\n\n__PERSONALIZED__Cordialement\n\n__SIGNATURE__ -PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__\n\nVeuillez trouver ci-joint notre commande __ORDERREF__\n\n__PERSONALIZED__Cordialement\n\n__SIGNATURE__ -PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__\n\nVeuillez trouver ci-joint la facture __FACREF__\n\n__PERSONALIZED__Cordialement\n\n__SIGNATURE__ -PredefinedMailContentSendShipping=__CONTACTCIVNAME__\n\nVeuillez trouver ci-joint le bon d'expédition __SHIPPINGREF__\n\n__PERSONALIZED__Cordialement\n\n__SIGNATURE__ -PredefinedMailContentSendFichInter=__CONTACTCIVNAME__\n\nVeuillez trouver ci-joint la fiche d'intervention __FICHINTERREF__\n\n__PERSONALIZED__Cordialement\n\n__SIGNATURE__ -PredefinedMailContentThirdparty=__CONTACTCIVNAME__\n\n__PERSONALIZED__\n\n__SIGNATURE__ +# PredefinedMailContentSendInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__\n\nWe would like to warn you that the invoice __FACREF__ seems to not being payed. So this is the invoice in attachment again, as a reminder.\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendProposal=__CONTACTCIVNAME__\n\nYou will find here the commercial proposal __PROPREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendOrder=__CONTACTCIVNAME__\n\nYou will find here the order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__\n\nYou will find here our order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendShipping=__CONTACTCIVNAME__\n\nYou will find here the shipping __SHIPPINGREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendFichInter=__CONTACTCIVNAME__\n\nYou will find here the intervention __FICHINTERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentThirdparty=__CONTACTCIVNAME__\n\n__PERSONALIZED__\n\n__SIGNATURE__ DemoDesc=Dolibarr est un logiciel de gestion d'activité (professionnelle ou associative) composé de modules fonctionnels indépendants et optionnels. Une démonstration qui inclut tous ces modules n'a pas de sens car les modules ne sont jamais tous utilisés en même temps. Aussi, plusieurs profils de démonstration type sont disponibles. ChooseYourDemoProfil=Veuillez choisir le profil de démonstration qui correspond le mieux à votre activité… DemoFundation=Gestion des adhérents d'une association diff --git a/htdocs/langs/fr_FR/products.lang b/htdocs/langs/fr_FR/products.lang index 474e1e95873..8c145236cb8 100644 --- a/htdocs/langs/fr_FR/products.lang +++ b/htdocs/langs/fr_FR/products.lang @@ -13,6 +13,10 @@ NewProduct=Nouveau produit NewService=Nouveau service ProductCode=Code produit ServiceCode=Code service +# ProductVatMassChange=Mass VAT change +# ProductVatMassChangeDesc=This page can be used to modify a VAT rate defined on products or services from a value to another. Warning, this change is done on all database. +# MassBarcodeInit=Mass barcode init +# MassBarcodeInitDesc=This page can be used to initialize a barcode on objects that does not have barcode defined. Check before that setup of module barcode is complete. ProductAccountancyBuyCode=Code compta achat ProductAccountancySellCode=Code compta vente ProductOrService=Produit ou Service @@ -162,7 +166,7 @@ Finished=Produit manufacturé RowMaterial=Matière première CloneProduct=Cloner produit/service ConfirmCloneProduct=Êtes-vous sûr de vouloir cloner le produit ou service %s ? -CloneContentProduct=Cloner les informations générales du produit/service uniquement +CloneContentProduct=Cloner les informations générales du produit/service ClonePricesProduct=Cloner les informations générales et les prix CloneCompositionProduct=Cloner composition produit/service ProductIsUsed=Ce produit est utilisé @@ -173,8 +177,8 @@ CustomCode=Code douane CountryOrigin=Pays d'origine HiddenIntoCombo=Caché dans les listes Nature=Nature -ProductCodeModel=Modèle de code produit -ServiceCodeModel=Modèle de code service +ProductCodeModel=Masque pour les produits +ServiceCodeModel=Masque pour les services AddThisProductCard=Créer fiche produit HelpAddThisProductCard=Cette option permet de créer ou de cloner une fiche produit si elle n'existe pas. AddThisServiceCard=Créer fiche service @@ -216,10 +220,10 @@ DefinitionOfBarCodeForProductNotComplete=Définition du type ou valeure du code DefinitionOfBarCodeForThirdpartyNotComplete=Définition du type ou valeure du code bar incomplète sur le tiers %s. BarCodeDataForProduct=Information de code barre du produit %s : BarCodeDataForThirdparty=Information de code barre du tiers %s : -BarcodeStickersMask=xxx -PriceByCustomer=Prix par clients -PriceCatalogue=Prix unique -PricingRule=Régles de prix -AddCustomerPrice=Ajouter un prix par client -ForceUpdateChildPriceSoc=Mettre le même prix pour les filliales -PriceByCustomerLog=Historique prix par client \ No newline at end of file +# ResetBarcodeForAllRecords=Define barcode value for all records (this will also reset barcode value already defined with new values) +# PriceByCustomer=Price by customer +# PriceCatalogue=Catalogue Price +# PricingRule=Pricing Rules +# AddCustomerPrice=Add price by customers +# ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +# PriceByCustomerLog=Price by customer log diff --git a/htdocs/langs/fr_FR/projects.lang b/htdocs/langs/fr_FR/projects.lang index f6e5abb1fde..f704d78f555 100644 --- a/htdocs/langs/fr_FR/projects.lang +++ b/htdocs/langs/fr_FR/projects.lang @@ -1,4 +1,6 @@ # Dolibarr language file - Source file is en_US - projects +# RefProject=Ref. project +# ProjectId=Project Id Project=Projet Projects=Projets SharedProject=Tout le monde @@ -30,11 +32,18 @@ TimeSpent=Temps consommé TimesSpent=Temps consommés RefTask=Ref. tâche LabelTask=Libellé tâche +# TaskTimeSpent=Time spent on tasks +# TaskTimeUser=Task time user +# TaskTimeNote=Task time note +# TaskTimeDate=Task time date NewTimeSpent=Nouveau consommé MyTimeSpent=Mon consommé MyTasks=Mes tâches Tasks=Tâches Task=Tâche +# TaskDateStart=Task start date +# TaskDateEnd=Task end date +# TaskDescription=Task description NewTask=Nouvelle tâche AddTask=Créer tâche AddDuration=Ajouter la durée @@ -100,12 +109,12 @@ ProjectCreatedInDolibarr=Projet %s créé ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Chef de projet TypeContact_project_external_PROJECTLEADER=Chef de projet -TypeContact_project_internal_PROJECTCONTRIBUTOR=Intervenant -TypeContact_project_external_PROJECTCONTRIBUTOR=Intervenant +# TypeContact_project_internal_PROJECTCONTRIBUTOR=Contributor +# TypeContact_project_external_PROJECTCONTRIBUTOR=Contributor TypeContact_project_task_internal_TASKEXECUTIVE=Responsable TypeContact_project_task_external_TASKEXECUTIVE=Responsable -TypeContact_project_task_internal_TASKCONTRIBUTOR=Intervenant -TypeContact_project_task_external_TASKCONTRIBUTOR=Intervenant +# TypeContact_project_task_internal_TASKCONTRIBUTOR=Contributor +# TypeContact_project_task_external_TASKCONTRIBUTOR=Contributor SelectElement=Séléctionnez l'élément AddElement=Link to element # Documents models diff --git a/htdocs/langs/fr_FR/stocks.lang b/htdocs/langs/fr_FR/stocks.lang index c17db9999aa..54c1b4f358d 100644 --- a/htdocs/langs/fr_FR/stocks.lang +++ b/htdocs/langs/fr_FR/stocks.lang @@ -94,14 +94,20 @@ DesiredStock=Stock désiré StockToBuy=À commander Replenishment=Réapprovisionnement ReplenishmentOrders=Commandes de réapprovisionnement -UseVirtualStock=Utiliser le stock théorique à la place du stock physique +VirtualDiffersFromPhysical=Selon les options d'incrémentation/décrémentation de stock, le stock physique et le stock théorique (physique + commandes en cours) peut être différent. +UseVirtualStockByDefault=Utilisez le stock théorique par défaut, au lieu du stock réel, pour la fonction de réapprovisionnement +UseVirtualStock=Utilisation du stock théorique +UsePhysicalStock=Utilisation du stock réel +CurentSelectionMode=Mode de sélection en cours +CurentlyUsingVirtualStock=Stock théorique +CurentlyUsingPhysicalStock=Stock réel RuleForStockReplenishment=Règle de gestion du réapprovisionnement des stocks SelectProductWithNotNullQty=Sélectionnez au moins un produit avec une quantité non nulle et un fournisseur AlertOnly= Alertes seulement WarehouseForStockDecrease=L'entrepôt %s sera utilisé pour la décrémentation du stock WarehouseForStockIncrease=L'entrepôt %s sera utilisé pour l'incrémentation du stock ForThisWarehouse=Pour cet entrepôt -ReplenishmentStatusDesc=Cet écran permet de voir les produits avec un stock physique inférieure à la quantité minimale désirée (ou à la quantité du seuil d'alerte si la case "Alertes seulement" est cochée) et propose de créer des commandes fournisseurs pour compléter la différence +ReplenishmentStatusDesc=Cet écran permet de voir les produits avec un stock inférieur à la quantité minimale désirée (ou à la quantité du seuil d'alerte si la case "Alertes seulement" est cochée) et propose de créer des commandes fournisseurs pour compléter la différence ReplenishmentOrdersDesc=Voici la liste des commandes fournisseurs en cours Replenishments=Réapprovisionnement NbOfProductBeforePeriod=Quantité du produit %s en stock avant la période sélectionnée (< %s) diff --git a/htdocs/langs/fr_FR/withdrawals.lang b/htdocs/langs/fr_FR/withdrawals.lang index 5cfef386e88..6a76e2d2241 100644 --- a/htdocs/langs/fr_FR/withdrawals.lang +++ b/htdocs/langs/fr_FR/withdrawals.lang @@ -32,7 +32,7 @@ LastWithdrawalReceipt=Les %s derniers bons de prélèvements MakeWithdrawRequest=Faire une demande de prélèvement ThirdPartyBankCode=Code banque du tiers ThirdPartyDeskCode=Code guichet du tiers -NoInvoiceCouldBeWithdrawed=Aucune facture percevable, prélevée avec succès. Vérifiez que les factures sont sur des sociétés dont le compte bancaire par défaut est correctement renseigné. +NoInvoiceCouldBeWithdrawed=Aucune facture percevable, prélevée avec succès. Vérifiez que les factures sont sur des sociétés dont le compte bancaire par défaut est correctement renseigné. ClassCredited=Classer crédité ClassCreditedConfirm=Êtes-vous sûr de vouloir classer ce bon de prélèvement comme crédité sur votre compte bancaire ? TransData=Date de transmission diff --git a/htdocs/langs/he_IL/admin.lang b/htdocs/langs/he_IL/admin.lang index 6c92e3cd9d1..90a2b87008b 100644 --- a/htdocs/langs/he_IL/admin.lang +++ b/htdocs/langs/he_IL/admin.lang @@ -287,7 +287,7 @@ CurrentVersion=Dolibarr הגרסה הנוכחית CallUpdatePage=עבור לעמוד שהעדכונים מבנה מסד הנתונים datas: %s. LastStableVersion=הגרסה היציבה האחרונה GenericMaskCodes=אתה רשאי להיכנס לכל מסכת מספור. במסכת זו, התגים הבאים יכול לשמש:
{000000} המתאים למספר אשר יהיה מוגדל על %s כל אחד. הזן כמו אפסים רבים ככל האורך הרצוי של הדלפק. נגד יושלם עד אפסים משמאל כדי שיהיה כמו אפסים רבים ככל המסכה.
{000} 000000 זהה לקודם, אך קוזז המתאים למספר בצד ימין של סימן + מיושם החל מיום %s הראשונים.
{000000 @ x} זהה לקודם אבל הדלפק מתאפס לאפס כאשר x חודש הוא הגיע (x בין 1 ל 12 או 0 כדי להשתמש בחודשים הראשונים של שנת הכספים מוגדרת בהגדרות שלך). אם אפשרות זו בשימוש, x הוא 2 או יותר, אז רצף {yy} {מ"מ} או {yyyy} {מ"מ} נדרש גם.
Dd {} היום (01 עד 31).
{מ"מ} החודש (01 עד 12).
{Yy}, {yyyy} או {y} השנה על 2, 4 או 1 מספרים.
-# GenericMaskCodes2={cccc} the client code
{cccc000} the client code on n characters is followed by a client's ref counter without offset and zeroized with the global counter.
{tttt} The code of company type on n characters (see dictionary-company types).
+# GenericMaskCodes2={cccc} the client code on n characters
{cccc000} the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.
{tttt} The code of company type on n characters (see dictionary-company types).
GenericMaskCodes3=כל הדמויות האחרות מסכת יישאר ללא שינוי.
מקומות אסורים.
GenericMaskCodes4a=למשל על %s 99 של צד שלישי TheCompany לעשות 2007/01/31:
GenericMaskCodes4b=למשל על צד שלישי נוצר 2007/03/01:
@@ -345,8 +345,6 @@ SecurityTokenIsUnique=השתמש פרמטר ייחודי securekey עבור כל EnterRefToBuildUrl=הזן התייחסות %s אובייקט GetSecuredUrl=לקבל את כתובת האתר מחושב # ButtonHideUnauthorized=Hide buttons for unauthorized actions instead of showing disabled buttons -# ProductVatMassChange=Mass VAT change -# ProductVatMassChangeDesc=This page can be used to modify a VAT rate defined on products or services from a value to another. Warning, this change is done on all database. # OldVATRates=Old VAT rate # NewVATRates=New VAT rate # PriceBaseTypeToChange=Modify on prices with base reference value defined on @@ -381,6 +379,16 @@ GetSecuredUrl=לקבל את כתובת האתר מחושב # DefaultLink=Default link # ValueOverwrittenByUserSetup=Warning, this value may be overwritten by user specific setup (each user can set his own clicktodial url) # ExternalModule=External module - Installed into directory %s +# BarcodeInitForThirdparties=Mass barcode init for thirdparties +# BarcodeInitForProductsOrServices=Mass barcode init or reset for products or services +# CurrentlyNWithoutBarCode=Currently, you have %s records on %s %s without barcode defined. +# InitEmptyBarCode=Init value for next %s empty records +# EraseAllCurrentBarCode=Erase all current barcode values +# ConfirmEraseAllCurrentBarCode=Are you sure you want to erase all current barcode values ? +# AllBarcodeReset=All barcode values have been removed +# NoBarcodeNumberingTemplateDefined=No numbering barcode template enabled into barcode module setup. +# NoRecordWithoutBarcodeDefined=No record with no barcode value defined. + # Modules Module0Name=משתמשים להקות @@ -510,6 +518,8 @@ Module50200Desc= מודול להציע בדף התשלום באינטרנט בא # Module59000Desc=Module to manage margins # Module60000Name=Commissions # Module60000Desc=Module to manage commissions +# Module150010Name=Batch number, eat-by date and sell-by date +# Module150010Desc=batch number, eat-by date and sell-by date management for product Permission11=לקרוא חשבוניות של לקוחות Permission12=צור / לשנות חשבוניות של לקוחות Permission13=Unvalidate חשבוניות של לקוחות @@ -726,8 +736,8 @@ Permission50202=ייבוא ​​עסקאות # Permission55002=Create/modify surveys # Permission59001=Read commercial margins # Permission59002=Define commercial margins -# DictionaryCompanyType=Company types -# DictionaryCompanyJuridicalType=Juridical kinds of company +# DictionaryCompanyType=Thirdparties type +# DictionaryCompanyJuridicalType=Juridical kinds of thirdparties # DictionaryProspectLevel=Prospect potential level # DictionaryCanton=State/Cantons # DictionaryRegion=Regions @@ -959,7 +969,7 @@ SimpleNumRefModelDesc=להחזיר את מספר הפניה עם פורמט %syy ShowProfIdInAddress=הצג מזהה בעלי מקצועות חופשיים עם כתובות על מסמכים # ShowVATIntaInAddress=Hide VAT Intra num with addresses on documents TranslationUncomplete=תרגום חלקי -SomeTranslationAreUncomplete=שפות מסוימות עשויות להיות מתורגם באופן חלקי או אולי מכיל שגיאות. אם לאתר מסוים, אתה יכול לתקן. קבצים לאנג טקסט לתוך htdocs / ספריה לאנגס ולשלוח אותם בפורום על http://www.dolibarr.org . +# SomeTranslationAreUncomplete=Some languages may be partially translated or may contains errors. If you detect some, you can fix language files registering to http://transifex.com/projects/p/dolibarr/. MenuUseLayout=להפוך את התפריט האנכי hidable (JavaScript אפשרות אסור זמין) MAIN_DISABLE_METEO=בטל meteo נוף TestLoginToAPI=בדוק להיכנס API @@ -985,6 +995,7 @@ ExtraFields=משלימים תכונות # ExtraFieldsProjectTask=Complementary attributes (tasks) ExtraFieldHasWrongValue=Attribut %s יש ערך לא נכון. # AlphaNumOnlyCharsAndNoSpace=only alphanumericals characters without space +# AlphaNumOnlyLowerCharsAndNoSpace=only alphanumericals and lower case characters without space SendingMailSetup=ההתקנה של sendings בדוא"ל SendmailOptionNotComplete=אזהרה, על כמה מערכות לינוקס, לשלוח דוא"ל הדוא"ל שלך, הגדרת sendmail ביצוע חובה conatins אפשרות-BA (mail.force_extra_parameters פרמטר לקובץ php.ini שלך). אם מקבלי כמה לא לקבל הודעות דוא"ל, מנסה לערוך פרמטר זה PHP עם mail.force_extra_parameters =-BA). PathToDocuments=הדרך מסמכים @@ -1269,7 +1280,7 @@ ForANonAnonymousAccess=לתקופה של acces מאומתים (גישה לכתו # YouMayFindPerfAdviceHere=You will find on this page some checks or advices related to performance. # NotInstalled=Not installed, so your server is not slow down by this. # ApplicativeCache=Applicative cache -# MemcachedNotAvailable=No applicative cache found. You can enhance performance by installing a cache server Memcached and a module able to use this cache server. More information here http://wiki.dolibarr.org/index.php/Module_MemCached_EN. Note that a lot of web hosting provider does not provide such cache server. +# MemcachedNotAvailable=No applicative cache found. You can enhance performance by installing a cache server Memcached and a module able to use this cache server.
More information here http://wiki.dolibarr.org/index.php/Module_MemCached_EN.
Note that a lot of web hosting provider does not provide such cache server. # OPCodeCache=OPCode cache # NoOPCodeCacheFound=No OPCode cache found. May be you use another OPCode cache than XCache or eAccelerator (good), may be you don't have OPCode cache (very bad). # HTTPCacheStaticResources=HTTP cache for static resources (css, img, javascript) diff --git a/htdocs/langs/he_IL/agenda.lang b/htdocs/langs/he_IL/agenda.lang index 324bbd5c76b..0557f84ac83 100644 --- a/htdocs/langs/he_IL/agenda.lang +++ b/htdocs/langs/he_IL/agenda.lang @@ -52,6 +52,7 @@ Agenda= סדר היום # SupplierOrderSentByEMail=Supplier order %s sent by EMail # SupplierInvoiceSentByEMail=Supplier invoice %s sent by EMail # ShippingSentByEMail=Shipping %s sent by EMail +# ShippingValidated= Shipping %s validated # InterventionSentByEMail=Intervention %s sent by EMail # NewCompanyToDolibarr= Third party created # DateActionPlannedStart= Planned start date diff --git a/htdocs/langs/he_IL/cashdesk.lang b/htdocs/langs/he_IL/cashdesk.lang index c124a97bb96..fa7e67e7d72 100644 --- a/htdocs/langs/he_IL/cashdesk.lang +++ b/htdocs/langs/he_IL/cashdesk.lang @@ -37,3 +37,4 @@ CashDeskProducts=מוצרים # ShowStock=Show warehouse # DeleteArticle=Click to remove this article # FilterRefOrLabelOrBC=Search (Ref/Label) +# UserNeedPermissionToEditStockToUsePos=You ask to decrease stock on invoice creation, so user that use POS need to have permission to edit stock. diff --git a/htdocs/langs/he_IL/errors.lang b/htdocs/langs/he_IL/errors.lang index f5e6781eb4c..473ab485c97 100644 --- a/htdocs/langs/he_IL/errors.lang +++ b/htdocs/langs/he_IL/errors.lang @@ -26,8 +26,11 @@ # ErrorBadThirdPartyName=Bad value for third party name # ErrorProdIdIsMandatory=The %s is mandatory # ErrorBadCustomerCodeSyntax=Bad syntax for customer code +# ErrorBadBarCodeSyntax=Bad syntax for bar code # ErrorCustomerCodeRequired=Customer code required +# ErrorBarCodeRequired=Bar code required # ErrorCustomerCodeAlreadyUsed=Customer code already used +# ErrorBarCodeAlreadyUsed=Bar code already used # ErrorPrefixRequired=Prefix required # ErrorUrlNotValid=The website address is incorrect # ErrorBadSupplierCodeSyntax=Bad syntax for supplier code @@ -63,6 +66,7 @@ # ErrorNoValueForRadioType=Please fill value for radio list # ErrorBadFormatValueList=The list value cannot have more than one come : %s, but need at least one: llave,valores # ErrorFieldCanNotContainSpecialCharacters=Field %s must not contains special characters. +# ErrorFieldCanNotContainSpecialNorUpperCharacters=Field %s must not contains special characters, nor upper case characters. # ErrorNoAccountancyModuleLoaded=No accountancy module activated # ErrorExportDuplicateProfil=This profile name already exists for this export set. # ErrorLDAPSetupNotComplete=Dolibarr-LDAP matching is not complete. diff --git a/htdocs/langs/he_IL/exports.lang b/htdocs/langs/he_IL/exports.lang index d7786a8a0c7..ffba2274cf9 100644 --- a/htdocs/langs/he_IL/exports.lang +++ b/htdocs/langs/he_IL/exports.lang @@ -123,6 +123,10 @@ LibraryVersion=גרסה # DeskCode=Desk code # BankAccountNumber=Account number # BankAccountNumberKey=Key +# SpecialCode=Special code +# ExportStringFilter=%% allows replacing one or more characters in the text +# ExportDateFilter='AAAA' 'AAAAMM' 'AAAAMMJJ': filters by one year/month/day
'AAAA+AAAA' 'AAAAMM+AAAAMM' 'AAAAMMJJ+AAAAMMJJ': filters over a range of years/months/days
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filters on the following years/months/days
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filters on the previous years/months/days +# ExportNumericFilter='NNNNN' filters by one value
'NNNNN+NNNNN' filters over a range of values
'>NNNNN' filters by lower values
'>NNNNN' filters by higher values ## filters # SelectFilterFields=If you want to filter on some values, just input values here. # FilterableFields=Champs Filtrables diff --git a/htdocs/langs/he_IL/mails.lang b/htdocs/langs/he_IL/mails.lang index 03fa0d799a7..d80bec6649a 100644 --- a/htdocs/langs/he_IL/mails.lang +++ b/htdocs/langs/he_IL/mails.lang @@ -79,6 +79,13 @@ MailTitle=תאור # ActivateCheckRead=Allow to use the "Unsubcribe" link # ActivateCheckReadKey=Key use to encrypt URL use for "Read Receipt" and "Unsubcribe" feature # EMailSentToNRecipients=EMail sent to %s recipients. +# EachInvoiceWillBeAttachedToEmail=A document using default invoice document template will be created and attached to each email. +# MailTopicSendRemindUnpaidInvoices=Remind of invoice %s (%s) +# SendRemind=Send remind by EMails +# RemindSent=%S remind(s) sent +# AllRecipientSelectedForRemind=All thirdparties selected and if an email is set (note that one mail per invoice will be sent) +# NoRemindSent=No remind by EMail sent +# ResultOfMassSending=Result of mass remind sending by EMail # Libelle des modules de liste de destinataires mailing # MailingModuleDescContactCompanies=Contacts/addresses of all third parties (customer, prospect, supplier, ...) diff --git a/htdocs/langs/he_IL/main.lang b/htdocs/langs/he_IL/main.lang index 5fa217d61db..dbf269e7834 100644 --- a/htdocs/langs/he_IL/main.lang +++ b/htdocs/langs/he_IL/main.lang @@ -572,7 +572,7 @@ EventLogs=יומנים # TotalMan=Total # NeverReceived=Never received # Canceled=Canceled -# YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu setup - dictionnary +# YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu setup - dictionary # Color=Color # Documents=Linked files # DocumentsNb=Linked files (%s) diff --git a/htdocs/langs/he_IL/opensurvey.lang b/htdocs/langs/he_IL/opensurvey.lang index fec34d9dbe6..1fbafbdb317 100644 --- a/htdocs/langs/he_IL/opensurvey.lang +++ b/htdocs/langs/he_IL/opensurvey.lang @@ -35,6 +35,7 @@ # TitleChoice=Choice label # ExportSpreadsheet=Export result spreadsheet # ExpireDate=Limit date +# NbOfSurveys=Number of surveys # NbOfVoters=Nb of voters # SurveyResults=Results # PollAdminDesc=You are allowed to change all vote lines of this poll with button "Edit". You can, as well, remove a column or a line with %s. You can also add a new column with %s. diff --git a/htdocs/langs/he_IL/orders.lang b/htdocs/langs/he_IL/orders.lang index 33eff8c36cd..54926464c14 100644 --- a/htdocs/langs/he_IL/orders.lang +++ b/htdocs/langs/he_IL/orders.lang @@ -55,6 +55,7 @@ Order=סדר # MenuOrdersToBill=Orders delivered # MenuOrdersToBill2=Orders to bill # SearchOrder=Search order +# SearchACustomerOrder=Search a customer order # ShipProduct=Ship product # Discount=Discount # CreateOrder=Create Order @@ -164,3 +165,4 @@ OrderSource5=מסחרי # OrderCreated=Your orders have been created # OrderFail=An error happened during your orders creation # CreateOrders=Create orders +# ToBillSeveralOrderSelectCustomer=To create an invoice for several orders, click first onto customer, then choose "%s". diff --git a/htdocs/langs/he_IL/other.lang b/htdocs/langs/he_IL/other.lang index c539fcd3e76..ff78f2a60dd 100644 --- a/htdocs/langs/he_IL/other.lang +++ b/htdocs/langs/he_IL/other.lang @@ -49,14 +49,15 @@ Miscellaneous=שונות # NbOfActiveNotifications=Number of notifications # PredefinedMailTest=This is a test mail.\nThe two lines are separated by a carriage return.\n\n__SIGNATURE__ # PredefinedMailTestHtml=This is a test mail (the word test must be in bold).
The two lines are separated by a carriage return.

__SIGNATURE__ -# PredefinedMailContentSendInvoice=__CONTACTCIVNAME__ \n\n You will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__ \n\n We would like to warn you that the invoice __FACREF__ seems to not being payed. So this is the invoice in attachment again, as a reminder.\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendProposal=__CONTACTCIVNAME__ \n\n You will find here the commercial proposal __PROPREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendOrder=__CONTACTCIVNAME__ \n\n You will find here the order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__ \n\n You will find here our order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__ \n\n You will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendShipping=__CONTACTCIVNAME__ \n\n You will find here the shipping __SHIPPINGREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendFichInter=__CONTACTCIVNAME__ \n\n You will find here the intervention __FICHINTERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__\n\nWe would like to warn you that the invoice __FACREF__ seems to not being payed. So this is the invoice in attachment again, as a reminder.\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendProposal=__CONTACTCIVNAME__\n\nYou will find here the commercial proposal __PROPREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendOrder=__CONTACTCIVNAME__\n\nYou will find here the order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__\n\nYou will find here our order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendShipping=__CONTACTCIVNAME__\n\nYou will find here the shipping __SHIPPINGREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendFichInter=__CONTACTCIVNAME__\n\nYou will find here the intervention __FICHINTERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentThirdparty=__CONTACTCIVNAME__\n\n__PERSONALIZED__\n\n__SIGNATURE__ # DemoDesc=Dolibarr is a compact ERP/CRM composed by several functional modules. A demo that includes all modules does not mean anything as this never occurs. So, several demo profiles are available. # ChooseYourDemoProfil=Choose the demo profile that match your activity... # DemoFundation=Manage members of a foundation diff --git a/htdocs/langs/he_IL/products.lang b/htdocs/langs/he_IL/products.lang index f90217cf0c3..4a3f62a6794 100644 --- a/htdocs/langs/he_IL/products.lang +++ b/htdocs/langs/he_IL/products.lang @@ -13,6 +13,10 @@ Services=שירותים # NewService=New service # ProductCode=Product code # ServiceCode=Service code +# ProductVatMassChange=Mass VAT change +# ProductVatMassChangeDesc=This page can be used to modify a VAT rate defined on products or services from a value to another. Warning, this change is done on all database. +# MassBarcodeInit=Mass barcode init +# MassBarcodeInitDesc=This page can be used to initialize a barcode on objects that does not have barcode defined. Check before that setup of module barcode is complete. # ProductAccountancyBuyCode=Accountancy code (buy) # ProductAccountancySellCode=Accountancy code (sell) # ProductOrService=Product or Service @@ -173,8 +177,8 @@ ImportDataset_service_1=שירותים # CountryOrigin=Origin country # HiddenIntoCombo=Hidden into select lists # Nature=Nature -# ProductCodeModel=Product code template -# ServiceCodeModel=Service code template +# ProductCodeModel=Product ref template +# ServiceCodeModel=Service ref template # AddThisProductCard=Create product card # HelpAddThisProductCard=This option allows you to create or clone a product if it does not exist. # AddThisServiceCard=Create service card @@ -216,5 +220,10 @@ ImportDataset_service_1=שירותים # DefinitionOfBarCodeForThirdpartyNotComplete=Definition of type or value of bar code non complete for thirdparty %s. # BarCodeDataForProduct=Barcode information of product %s : # BarCodeDataForThirdparty=Barcode information of thirdparty %s : -# BarcodeStickersMask=xxx - +# ResetBarcodeForAllRecords=Define barcode value for all records (this will also reset barcode value already defined with new values) +# PriceByCustomer=Price by customer +# PriceCatalogue=Catalogue Price +# PricingRule=Pricing Rules +# AddCustomerPrice=Add price by customers +# ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +# PriceByCustomerLog=Price by customer log diff --git a/htdocs/langs/he_IL/projects.lang b/htdocs/langs/he_IL/projects.lang index 5ce34c1de3d..f76213e4fbb 100644 --- a/htdocs/langs/he_IL/projects.lang +++ b/htdocs/langs/he_IL/projects.lang @@ -1,4 +1,6 @@ # Dolibarr language file - Source file is en_US - projects +# RefProject=Ref. project +# ProjectId=Project Id # Project=Project Projects=פרוייקטים # SharedProject=Everybody @@ -30,11 +32,18 @@ Projects=פרוייקטים # TimesSpent=Time spent # RefTask=Ref. task # LabelTask=Label task +# TaskTimeSpent=Time spent on tasks +# TaskTimeUser=Task time user +# TaskTimeNote=Task time note +# TaskTimeDate=Task time date # NewTimeSpent=New time spent # MyTimeSpent=My time spent # MyTasks=My tasks # Tasks=Tasks # Task=Task +# TaskDateStart=Task start date +# TaskDateEnd=Task end date +# TaskDescription=Task description # NewTask=New task # AddTask=Add task # AddDuration=Add duration diff --git a/htdocs/langs/he_IL/stocks.lang b/htdocs/langs/he_IL/stocks.lang index d7588f2ac73..e1139f87760 100644 --- a/htdocs/langs/he_IL/stocks.lang +++ b/htdocs/langs/he_IL/stocks.lang @@ -94,14 +94,20 @@ Stocks=מניות # StockToBuy=To order # Replenishment=Replenishment # ReplenishmentOrders=Replenishment orders -# UseVirtualStock=Use virtual stock instead of physical stock +# VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differs +# UseVirtualStockByDefault=Use virtual stock by default, instead of physical stock, for replenishment feature +# UseVirtualStock=Use virtual stock +# UsePhysicalStock=Use physical stock +# CurentSelectionMode=Curent selection mode +# CurentlyUsingVirtualStock=Virtual stock +# CurentlyUsingPhysicalStock=Physical stock # RuleForStockReplenishment=Rule for stocks replenishment # SelectProductWithNotNullQty=Select at least one product with a qty not null and a supplier # AlertOnly= Alerts only # WarehouseForStockDecrease=The warehouse %s will be used for stock decrease # WarehouseForStockIncrease=The warehouse %s will be used for stock increase # ForThisWarehouse=For this warehouse -# ReplenishmentStatusDesc=This is list of all product with a physical stock lower than desired stock (or alert value if checkbox "alert only" is checked) and suggest you to create supplier orders to fill the difference. +# ReplenishmentStatusDesc=This is list of all product with a stock lower than desired stock (or lower than alert value if checkbox "alert only" is checked), and suggest you to create supplier orders to fill the difference. # ReplenishmentOrdersDesc=This is list of all opened supplier orders # Replenishments=Replenishments # NbOfProductBeforePeriod=Quantity of product %s in stock before selected period (< %s) diff --git a/htdocs/langs/hr_HR/admin.lang b/htdocs/langs/hr_HR/admin.lang index 0488090b0eb..799a4657bda 100644 --- a/htdocs/langs/hr_HR/admin.lang +++ b/htdocs/langs/hr_HR/admin.lang @@ -287,7 +287,7 @@ Datas=Podaci # CallUpdatePage=Go to the page that updates the database structure and datas: %s. # LastStableVersion=Last stable version # GenericMaskCodes=You may enter any numbering mask. In this mask, the following tags could be used:
{000000} corresponds to a number which will be incremented on each %s. Enter as many zeros as the desired length of the counter. The counter will be completed by zeros from the left in order to have as many zeros as the mask.
{000000+000} same as previous but an offset corresponding to the number to the right of the + sign is applied starting on first %s.
{000000@x} same as previous but the counter is reset to zero when month x is reached (x between 1 and 12, or 0 to use the early months of fiscal year defined in your configuration, or 99 to reset to zero every month). If this option is used and x is 2 or higher, then sequence {yy}{mm} or {yyyy}{mm} is also required.
{dd} day (01 to 31).
{mm} month (01 to 12).
{yy}, {yyyy} or {y} year over 2, 4 or 1 numbers.
-# GenericMaskCodes2={cccc} the client code
{cccc000} the client code on n characters is followed by a client's ref counter without offset and zeroized with the global counter.
{tttt} The code of company type on n characters (see dictionary-company types).
+# GenericMaskCodes2={cccc} the client code on n characters
{cccc000} the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.
{tttt} The code of company type on n characters (see dictionary-company types).
# GenericMaskCodes3=All other characters in the mask will remain intact.
Spaces are not allowed.
# GenericMaskCodes4a=Example on the 99th %s of the third party TheCompany done 2007-01-31:
# GenericMaskCodes4b=Example on third party created on 2007-03-01:
@@ -345,8 +345,6 @@ Datas=Podaci # EnterRefToBuildUrl=Enter reference for object %s # GetSecuredUrl=Get calculated URL # ButtonHideUnauthorized=Hide buttons for unauthorized actions instead of showing disabled buttons -# ProductVatMassChange=Mass VAT change -# ProductVatMassChangeDesc=This page can be used to modify a VAT rate defined on products or services from a value to another. Warning, this change is done on all database. # OldVATRates=Old VAT rate # NewVATRates=New VAT rate # PriceBaseTypeToChange=Modify on prices with base reference value defined on @@ -381,6 +379,16 @@ Datas=Podaci # DefaultLink=Default link # ValueOverwrittenByUserSetup=Warning, this value may be overwritten by user specific setup (each user can set his own clicktodial url) # ExternalModule=External module - Installed into directory %s +# BarcodeInitForThirdparties=Mass barcode init for thirdparties +# BarcodeInitForProductsOrServices=Mass barcode init or reset for products or services +# CurrentlyNWithoutBarCode=Currently, you have %s records on %s %s without barcode defined. +# InitEmptyBarCode=Init value for next %s empty records +# EraseAllCurrentBarCode=Erase all current barcode values +# ConfirmEraseAllCurrentBarCode=Are you sure you want to erase all current barcode values ? +# AllBarcodeReset=All barcode values have been removed +# NoBarcodeNumberingTemplateDefined=No numbering barcode template enabled into barcode module setup. +# NoRecordWithoutBarcodeDefined=No record with no barcode value defined. + # Modules # Module0Name=Users & groups @@ -510,6 +518,8 @@ Datas=Podaci # Module59000Desc=Module to manage margins # Module60000Name=Commissions # Module60000Desc=Module to manage commissions +# Module150010Name=Batch number, eat-by date and sell-by date +# Module150010Desc=batch number, eat-by date and sell-by date management for product # Permission11=Read customer invoices # Permission12=Create/modify customer invoices # Permission13=Unvalidate customer invoices @@ -726,8 +736,8 @@ Datas=Podaci # Permission55002=Create/modify surveys # Permission59001=Read commercial margins # Permission59002=Define commercial margins -# DictionaryCompanyType=Company types -# DictionaryCompanyJuridicalType=Juridical kinds of company +# DictionaryCompanyType=Thirdparties type +# DictionaryCompanyJuridicalType=Juridical kinds of thirdparties # DictionaryProspectLevel=Prospect potential level # DictionaryCanton=State/Cantons # DictionaryRegion=Regions @@ -959,7 +969,7 @@ LocalTax2IsNotUsedExample= # ShowProfIdInAddress=Show professionnal id with addresses on documents # ShowVATIntaInAddress=Hide VAT Intra num with addresses on documents # TranslationUncomplete=Partial translation -# SomeTranslationAreUncomplete=Some languages may be partially translated or may contains errors. If you detect some, you can fix .lang text files into directory htdocs/langs and submit them on the forum at http://www.dolibarr.org. +# SomeTranslationAreUncomplete=Some languages may be partially translated or may contains errors. If you detect some, you can fix language files registering to http://transifex.com/projects/p/dolibarr/. # MenuUseLayout=Make vertical menu hidable (option javascript must not be disabled) # MAIN_DISABLE_METEO=Disable meteo view # TestLoginToAPI=Test login to API @@ -985,6 +995,7 @@ LocalTax2IsNotUsedExample= # ExtraFieldsProjectTask=Complementary attributes (tasks) # ExtraFieldHasWrongValue=Attribut %s has a wrong value. # AlphaNumOnlyCharsAndNoSpace=only alphanumericals characters without space +# AlphaNumOnlyLowerCharsAndNoSpace=only alphanumericals and lower case characters without space # SendingMailSetup=Setup of sendings by email # SendmailOptionNotComplete=Warning, on some Linux systems, to send email from your email, sendmail execution setup must contains option -ba (parameter mail.force_extra_parameters into your php.ini file). If some recipients never receive emails, try to edit this PHP parameter with mail.force_extra_parameters = -ba). # PathToDocuments=Path to documents @@ -1269,7 +1280,7 @@ LocalTax2IsNotUsedExample= # YouMayFindPerfAdviceHere=You will find on this page some checks or advices related to performance. # NotInstalled=Not installed, so your server is not slow down by this. # ApplicativeCache=Applicative cache -# MemcachedNotAvailable=No applicative cache found. You can enhance performance by installing a cache server Memcached and a module able to use this cache server. More information here http://wiki.dolibarr.org/index.php/Module_MemCached_EN. Note that a lot of web hosting provider does not provide such cache server. +# MemcachedNotAvailable=No applicative cache found. You can enhance performance by installing a cache server Memcached and a module able to use this cache server.
More information here http://wiki.dolibarr.org/index.php/Module_MemCached_EN.
Note that a lot of web hosting provider does not provide such cache server. # OPCodeCache=OPCode cache # NoOPCodeCacheFound=No OPCode cache found. May be you use another OPCode cache than XCache or eAccelerator (good), may be you don't have OPCode cache (very bad). # HTTPCacheStaticResources=HTTP cache for static resources (css, img, javascript) diff --git a/htdocs/langs/hr_HR/agenda.lang b/htdocs/langs/hr_HR/agenda.lang index 10f9dbcc1ee..a333090ceed 100644 --- a/htdocs/langs/hr_HR/agenda.lang +++ b/htdocs/langs/hr_HR/agenda.lang @@ -52,6 +52,7 @@ InvoiceSentByEMail=Račun kupca %s poslan Emailom SupplierOrderSentByEMail=Narudžba dobavljača %s poslana Emailom SupplierInvoiceSentByEMail=Račun dobavljača %s poslan Emailom ShippingSentByEMail=Dostava %s poslana putem Emaila +# ShippingValidated= Shipping %s validated InterventionSentByEMail=Intervencija %s poslana putem Emaila NewCompanyToDolibarr= Treća stranka stvorena DateActionPlannedStart= Planirani početni datum diff --git a/htdocs/langs/hr_HR/bookmarks.lang b/htdocs/langs/hr_HR/bookmarks.lang index c04d25c328d..d54d85db598 100644 --- a/htdocs/langs/hr_HR/bookmarks.lang +++ b/htdocs/langs/hr_HR/bookmarks.lang @@ -1,19 +1,19 @@ # Dolibarr language file - Source file is en_US - marque pages -# AddThisPageToBookmarks=Add this page to bookmarks -# Bookmark=Bookmark -# Bookmarks=Bookmarks -# NewBookmark=New bookmark -# ShowBookmark=Show bookmark -# OpenANewWindow=Open a new window -# ReplaceWindow=Replace current window -# BookmarkTargetNewWindowShort=New window -# BookmarkTargetReplaceWindowShort=Current window -# BookmarkTitle=Bookmark title -# UrlOrLink=URL -# BehaviourOnClick=Behaviour when a URL is clicked -# CreateBookmark=Create bookmark -# SetHereATitleForLink=Set a title for the bookmark -# UseAnExternalHttpLinkOrRelativeDolibarrLink=Use an external http URL or a relative Dolibarr URL -# ChooseIfANewWindowMustBeOpenedOnClickOnBookmark=Choose if a page opened by link must appear on current or new window -# BookmarksManagement=Bookmarks management -# ListOfBookmarks=List of bookmarks +AddThisPageToBookmarks=Dodaj ovu stranicu u zabilješke +Bookmark=Zabilješka +Bookmarks=Zabilješke +NewBookmark=Nova zabilješka +ShowBookmark=Prikaži zabilješku +OpenANewWindow=Otvori novi prozor +ReplaceWindow=Zamjeni trenutno prozor +BookmarkTargetNewWindowShort=Novi prozor +BookmarkTargetReplaceWindowShort=Trenutno prozor +BookmarkTitle=Naziv zabilješke +UrlOrLink=URL +BehaviourOnClick=Ponašanje kad se klikne na URL +CreateBookmark=Kreiraj zabilješku +SetHereATitleForLink=Postavi naslov za zabilješku +UseAnExternalHttpLinkOrRelativeDolibarrLink=Koristi eksterni http URL ili relativni Bolibarr URL +ChooseIfANewWindowMustBeOpenedOnClickOnBookmark=Izaberi da li će se stanica otvorena sa linka otvorini u trenutnom ili novom prozoru +BookmarksManagement=Upravljanje zabilješkama +ListOfBookmarks=Lista zabilješki diff --git a/htdocs/langs/hr_HR/cashdesk.lang b/htdocs/langs/hr_HR/cashdesk.lang index 8fd787620f4..5cfb7ea3d6d 100644 --- a/htdocs/langs/hr_HR/cashdesk.lang +++ b/htdocs/langs/hr_HR/cashdesk.lang @@ -37,3 +37,4 @@ # ShowStock=Show warehouse # DeleteArticle=Click to remove this article # FilterRefOrLabelOrBC=Search (Ref/Label) +# UserNeedPermissionToEditStockToUsePos=You ask to decrease stock on invoice creation, so user that use POS need to have permission to edit stock. diff --git a/htdocs/langs/hr_HR/companies.lang b/htdocs/langs/hr_HR/companies.lang index 491a1989165..37ca8214058 100644 --- a/htdocs/langs/hr_HR/companies.lang +++ b/htdocs/langs/hr_HR/companies.lang @@ -1,88 +1,88 @@ # Dolibarr language file - Source file is en_US - companies -# ErrorCompanyNameAlreadyExists=Company name %s already exists. Choose another one. -# ErrorPrefixAlreadyExists=Prefix %s already exists. Choose another one. -# ErrorSetACountryFirst=Set the country first -# SelectThirdParty=Select a third party -# DeleteThirdParty=Delete a third party -# ConfirmDeleteCompany=Are you sure you want to delete this company and all inherited information ? -# DeleteContact=Delete a contact/address -# ConfirmDeleteContact=Are you sure you want to delete this contact and all inherited information ? -# MenuNewThirdParty=New third party -# MenuNewCompany=New company -# MenuNewCustomer=New customer -# MenuNewProspect=New prospect -# MenuNewSupplier=New supplier -# MenuNewPrivateIndividual=New private individual -# MenuSocGroup=Groups -# NewCompany=New company (prospect, customer, supplier) -# NewThirdParty=New third party (prospect, customer, supplier) -# NewSocGroup=New company group -# NewPrivateIndividual=New private individual (prospect, customer, supplier) +ErrorCompanyNameAlreadyExists=Ime poduzeća %s već postoji. Odaberite drugo. +ErrorPrefixAlreadyExists=Prefiks %s već postoji. Molimo izaberite drugo ime. +ErrorSetACountryFirst=Odaberite državu prvo +SelectThirdParty=Odaberite treću stranku +DeleteThirdParty=Izbrišite treću stranku +ConfirmDeleteCompany=Jeste li sigurni da želite izbrisati ovu kompaniju i sve njezine nasljeđene podatke? +DeleteContact=Izbriši kontakt/adresu. +ConfirmDeleteContact=Jeste li sigurni da želite izbrisati ovaj kontakt i sve nasljeđene informacije? +MenuNewThirdParty=Nova treća strana +MenuNewCompany=Nova kompanija +MenuNewCustomer=Novi kupac +MenuNewProspect=Novi potencijalni kupac +MenuNewSupplier=Novi dobavljač +MenuNewPrivateIndividual=Nova privatna osoba +MenuSocGroup=Grupe +NewCompany=Nova kompanija(potencijalni kupac, kupac, dobavljač) +NewThirdParty=Nova stranka(potencijalni kupac, kupac, dobavljač) +NewSocGroup=Nova grupa kompanija +NewPrivateIndividual=Nova privatna osoba(potencijalni kupac, kupac, dobavljač) # ProspectionArea=Prospection area -# SocGroup=Group of companies -# IdThirdParty=Id third party -# IdCompany=Company Id -# IdContact=Contact Id -# Contacts=Contacts/Addresses -# ThirdPartyContacts=Third party contacts +SocGroup=Grupa kompanija +IdThirdParty=Id treće strane +IdCompany=Id kompanije +IdContact=Id kontakta +Contacts=Kontakti/Adrese +ThirdPartyContacts=Kontakti treće stranke # ThirdPartyContact=Third party contact/address # StatusContactValidated=Status of contact/address -# Company=Company -# CompanyName=Company name -# Companies=Companies +Company=Kompanija +CompanyName=Ime kompanije +Companies=Kompanije # CountryIsInEEC=Country is inside European Economic Community -# ThirdPartyName=Third party name +ThirdPartyName=Ime treće stranke # ThirdParty=Third party # ThirdParties=Third parties # ThirdPartyAll=Third parties (all) -# ThirdPartyProspects=Prospects -# ThirdPartyProspectsStats=Prospects -# ThirdPartyCustomers=Customers -# ThirdPartyCustomersStats=Customers -# ThirdPartyCustomersWithIdProf12=Customers with %s or %s -# ThirdPartySuppliers=Suppliers -# ThirdPartyType=Third party type -# Company/Fundation=Company/Foundation -# Individual=Private individual +ThirdPartyProspects=Potencijalni kupac +ThirdPartyProspectsStats=Potencijalni kupci +ThirdPartyCustomers=Kupci +ThirdPartyCustomersStats=Kupci +ThirdPartyCustomersWithIdProf12=Kupci sa %s i %s +ThirdPartySuppliers=Dobavljači +ThirdPartyType=Tip treće stane +Company/Fundation=Kompanija/fundacija +Individual=Privatna osoba # ToCreateContactWithSameName=Will create automatically a physical contact with same informations -# ParentCompany=Parent company -# Subsidiary=Subsidiary -# Subsidiaries=Subsidiaries -# NoSubsidiary=No subsidiary -# ReportByCustomers=Report by customers +ParentCompany=Kompanija vlasnik +Subsidiary=Podružnica +Subsidiaries=Podružnice +NoSubsidiary=Nema podružnica +ReportByCustomers=Izvještaj od kupaca # ReportByQuarter=Report by rate # CivilityCode=Civility code # RegisteredOffice=Registered office -# Name=Name -# Lastname=Last name -# Firstname=First name -# PostOrFunction=Post/Function -# UserTitle=Title +Name=Ime +Lastname=Prezime +Firstname=Ime +PostOrFunction=Pozicija/Funkcija +UserTitle=Titula # Surname=Surname/Pseudo -# Address=Address -# State=State/Province -# Region=Region -# Country=Country -# CountryCode=Country code -# CountryId=Country id +Address=Adresa +State=Država/provincija +Region=Regija +Country=Država +CountryCode=Šifra države +CountryId=ID države Phone=Telefon: -# Skype=Skype -# Call=Call -# Chat=Chat -# PhonePro=Prof. phone -# PhonePerso=Pers. phone +Skype=Skype +Call=Poziv +Chat=Chat +PhonePro=Prof. telefon +PhonePerso=Osob. telefon PhoneMobile=Mobitel -# No_Email=Don't send mass e-mailings +No_Email=Ne šalji promotivne emailove Fax=Faks Zip=Poštanski broj Town=Grad Web=Web -# Poste= Position -# DefaultLang=Language by default -# VATIsUsed=VAT is used -# VATIsNotUsed=VAT is not used +Poste= Pozicija +DefaultLang=Primarni jezik +VATIsUsed=Porez se koristi +VATIsNotUsed=Porez se ne korisit # CopyAddressFromSoc=Fill address with thirdparty address -# NoEmailDefined=There is no email defined +NoEmailDefined=Nema definirane email adrese ##### Local Taxes ##### # LocalTax1IsUsedES= RE is used # LocalTax1IsNotUsedES= RE is not used @@ -111,106 +111,106 @@ ThirdPartyEMail=%s # ProfId6=Professional ID 6 # ProfId1AR=Prof Id 1 (CUIT/CUIL) # ProfId2AR=Prof Id 2 (Revenu brutes) -# ProfId3AR=- -# ProfId4AR=- +ProfId3AR=- +ProfId4AR=- # ProfId5AR=- # ProfId6AR=- # ProfId1AU=Prof Id 1 (ABN) -# ProfId2AU=- -# ProfId3AU=- -# ProfId4AU=- -# ProfId5AU=- -# ProfId6AU=- +ProfId2AU=- +ProfId3AU=- +ProfId4AU=- +ProfId5AU=- +ProfId6AU=- # ProfId1BE=Prof Id 1 (Professional number) -# ProfId2BE=- -# ProfId3BE=- -# ProfId4BE=- -# ProfId5BE=- -# ProfId6BE=- -# ProfId1BR=- +ProfId2BE=- +ProfId3BE=- +ProfId4BE=- +ProfId5BE=- +ProfId6BE=- +ProfId1BR=- # ProfId2BR=IE (Inscricao Estadual) # ProfId3BR=IM (Inscricao Municipal) # ProfId4BR=CPF #ProfId5BR=CNAE #ProfId6BR=INSS -# ProfId1CH=- -# ProfId2CH=- +ProfId1CH=- +ProfId2CH=- # ProfId3CH=Prof Id 1 (Federal number) # ProfId4CH=Prof Id 2 (Commercial Record number) -# ProfId5CH=- -# ProfId6CH=- +ProfId5CH=- +ProfId6CH=- # ProfId1CL=Prof Id 1 (R.U.T.) -# ProfId2CL=- -# ProfId3CL=- -# ProfId4CL=- -# ProfId5CL=- -# ProfId6CL=- +ProfId2CL=- +ProfId3CL=- +ProfId4CL=- +ProfId5CL=- +ProfId6CL=- # ProfId1CO=Prof Id 1 (R.U.T.) -# ProfId2CO=- -# ProfId3CO=- -# ProfId4CO=- -# ProfId5CO=- -# ProfId6CO=- +ProfId2CO=- +ProfId3CO=- +ProfId4CO=- +ProfId5CO=- +ProfId6CO=- # ProfId1DE=Prof Id 1 (USt.-IdNr) # ProfId2DE=Prof Id 2 (USt.-Nr) # ProfId3DE=Prof Id 3 (Handelsregister-Nr.) -# ProfId4DE=- -# ProfId5DE=- -# ProfId6DE=- +ProfId4DE=- +ProfId5DE=- +ProfId6DE=- # ProfId1ES=Prof Id 1 (CIF/NIF) # ProfId2ES=Prof Id 2 (Social security number) # ProfId3ES=Prof Id 3 (CNAE) # ProfId4ES=Prof Id 4 (Collegiate number) -# ProfId5ES=- -# ProfId6ES=- +ProfId5ES=- +ProfId6ES=- # ProfId1FR=Prof Id 1 (SIREN) # ProfId2FR=Prof Id 2 (SIRET) # ProfId3FR=Prof Id 3 (NAF, old APE) # ProfId4FR=Prof Id 4 (RCS/RM) -# ProfId5FR=- -# ProfId6FR=- +ProfId5FR=- +ProfId6FR=- # ProfId1GB=Registration Number -# ProfId2GB=- +ProfId2GB=- # ProfId3GB=SIC -# ProfId4GB=- -# ProfId5GB=- -# ProfId6GB=- +ProfId4GB=- +ProfId5GB=- +ProfId6GB=- # ProfId1HN=Id prof. 1 (RTN) -# ProfId2HN=- -# ProfId3HN=- -# ProfId4HN=- -# ProfId5HN=- -# ProfId6HN=- +ProfId2HN=- +ProfId3HN=- +ProfId4HN=- +ProfId5HN=- +ProfId6HN=- # ProfId1IN=Prof Id 1 (TIN) # ProfId2IN=Prof Id 2 (PAN) # ProfId3IN=Prof Id 3 (SRVC TAX) # ProfId4IN=Prof Id 4 # ProfId5IN=Prof Id 5 -# ProfId6IN=- +ProfId6IN=- # ProfId1MA=Id prof. 1 (R.C.) # ProfId2MA=Id prof. 2 (Patente) # ProfId3MA=Id prof. 3 (I.F.) # ProfId4MA=Id prof. 4 (C.N.S.S.) -# ProfId5MA=- -# ProfId6MA=- +ProfId5MA=- +ProfId6MA=- # ProfId1MX=Prof Id 1 (R.F.C). # ProfId2MX=Prof Id 2 (R..P. IMSS) # ProfId3MX=Prof Id 3 (Profesional Charter) -# ProfId4MX=- -# ProfId5MX=- -# ProfId6MX=- +ProfId4MX=- +ProfId5MX=- +ProfId6MX=- # ProfId1NL=KVK nummer -# ProfId2NL=- -# ProfId3NL=- +ProfId2NL=- +ProfId3NL=- # ProfId4NL=Burgerservicenummer (BSN) -# ProfId5NL=- -# ProfId6NL=- +ProfId5NL=- +ProfId6NL=- # ProfId1PT=Prof Id 1 (NIPC) # ProfId2PT=Prof Id 2 (Social security number) # ProfId3PT=Prof Id 3 (Commercial Record number) # ProfId4PT=Prof Id 4 (Conservatory) -# ProfId5PT=- -# ProfId6PT=- +ProfId5PT=- +ProfId6PT=- # ProfId1SN=RC # ProfId2SN=NINEA ProfId3SN=- @@ -237,8 +237,8 @@ VATIntraVeryShort=Porez # ProspectCustomer=Prospect / Customer # Prospect=Prospect # CustomerCard=Customer Card -# Customer=Customer -# CustomerDiscount=Customer Discount +Customer=Kupac +CustomerDiscount=Popust za kupca # CustomerRelativeDiscount=Relative customer discount # CustomerAbsoluteDiscount=Absolute customer discount # CustomerRelativeDiscountShort=Relative discount @@ -253,15 +253,15 @@ VATIntraVeryShort=Porez # DefaultDiscount=Default discount # AvailableGlobalDiscounts=Absolute discounts available # DiscountNone=None -# Supplier=Supplier -# CompanyList=Company's list +Supplier=Dobavljač +CompanyList=Lista kompanija AddContact=Dodaj kontakt AddContactAddress=Dodaj kontakt/adresa EditContact=Uredi kontakt -# EditContactAddress=Edit contact/address +EditContactAddress=Uredi kontakt/adresu Contact=Kontakt -# ContactsAddresses=Contacts/Addresses -# NoContactDefinedForThirdParty=No contact defined for this third party +ContactsAddresses=Kontakt/adrese +NoContactDefinedForThirdParty=Nema kontakta za ovo stranku # NoContactDefined=No contact defined # DefaultContact=Default contact/address AddCompany=Dodaj firmu @@ -271,8 +271,8 @@ DeleteACompany=Izbriši firmu # AccountancyCode=Accountancy code # CustomerCode=Customer code # SupplierCode=Supplier code -# CustomerAccount=Customer account -# SupplierAccount=Supplier account +CustomerAccount=Rečun kupca +SupplierAccount=Račun dobavljača # CustomerCodeDesc=Customer code, unique for all customers # SupplierCodeDesc=Supplier code, unique for all suppliers # RequiredIfCustomer=Required if third party is a customer or prospect @@ -289,10 +289,10 @@ LastProspect=Zadnje # ListOfSuppliersContacts=List of supplier contacts # ListOfCompanies=List of companies # ListOfThirdParties=List of third parties -# ShowCompany=Show company -# ShowContact=Show contact -# ContactsAllShort=All (No filter) -# ContactType=Contact type +ShowCompany=Prikaži kompaniju +ShowContact=Prikaži kontakt +ContactsAllShort=Sve(bez filtera) +ContactType=Tip kontakta # ContactForOrders=Order's contact # ContactForProposals=Proposal's contact # ContactForContracts=Contract's contact @@ -303,17 +303,17 @@ LastProspect=Zadnje # NoContactForAnyInvoice=This contact is not a contact for any invoice # NewContact=New contact # NewContactAddress=New contact/address -# LastContacts=Last contacts -# MyContacts=My contacts +LastContacts=Zadnji kontakti +MyContacts=Moji kontakti Phones=Telefoni -# Capital=Capital -# CapitalOf=Capital of %s +Capital=Kapital +CapitalOf=Kapital od %s EditCompany=Uredi firmu -# EditDeliveryAddress=Edit delivery address -# ThisUserIsNot=This user is not a prospect, customer nor supplier -# VATIntraCheck=Check +EditDeliveryAddress=Uredi adresu dostave +ThisUserIsNot=Ovaj korisnik nije ni potencijalni kupac, kupac ni dobavljač +VATIntraCheck=Ček # VATIntraCheckDesc=The link %s allows to ask the european VAT checker service. An external internet access from server is required for this service to work. -# VATIntraCheckURL=http://ec.europa.eu/taxation_customs/vies/vieshome.do +VATIntraCheckURL=http://ec.europa.eu/taxation_customs/vies/vieshome.do # VATIntraCheckableOnEUSite=Check Intracomunnautary VAT on European commision site # VATIntraManualCheck=You can also check manually from european web site %s # ErrorVATCheckMS_UNAVAILABLE=Check not possible. Check service is not provided by the member state (%s). @@ -332,24 +332,24 @@ EditCompany=Uredi firmu # PL_LOW=Low # PL_MEDIUM=Medium # PL_HIGH=High -# TE_UNKNOWN=- +TE_UNKNOWN=- # TE_STARTUP=Startup -# TE_GROUP=Large company -# TE_MEDIUM=Medium company -# TE_ADMIN=Governmental -# TE_SMALL=Small company -# TE_RETAIL=Retailer +TE_GROUP=Velika kompanija +TE_MEDIUM=Srednja kompanija +TE_ADMIN=Državna firma +TE_SMALL=Mala komanija +TE_RETAIL=Preprodavač # TE_WHOLE=Wholetailer -# TE_PRIVATE=Private individual -# TE_OTHER=Other +TE_PRIVATE=Privatna osoba +TE_OTHER=Drugo StatusProspect-1=Nemoj kontaktirati StatusProspect0=Nikad kontaktirana -# StatusProspect1=To contact -# StatusProspect2=Contact in process -# StatusProspect3=Contact done -# ChangeDoNotContact=Change status to 'Do not contact' -# ChangeNeverContacted=Change status to 'Never contacted' -# ChangeToContact=Change status to 'To contact' +StatusProspect1=Treba kontaktirati +StatusProspect2=Trenutno se kontaktira +StatusProspect3=Završen kontakt +ChangeDoNotContact=Promjeni u status "nemoj kontaktirat" +ChangeNeverContacted=Promjeni status u 'nikad kontaktiran' +ChangeToContact=Promjeni status u 'treba kontaktirat' # ChangeContactInProcess=Change status to 'Contact in process' # ChangeContactDone=Change status to 'Contact done' # ProspectsByStatus=Prospects by status @@ -358,7 +358,7 @@ StatusProspect0=Nikad kontaktirana # AttachANewFile=Attach a new file # NoRIB=No BAN defined # NoParentCompany=None -# ExportImport=Import-Export +ExportImport=Uvoz-izvoz # ExportCardToFormat=Export card to format # ContactNotLinkedToCompany=Contact not linked to any third party # DolibarrLogin=Dolibarr login @@ -382,13 +382,13 @@ SupplierCategory=Kategorija dobavljača # JuridicalStatus200=Independant DeleteFile=Izbriši datoteku # ConfirmDeleteFile=Are you sure you want to delete this file? -# AllocateCommercial=Assigned to sale representative +AllocateCommercial=Dodjeljen trgovačkom predstavniku SelectCountry=Odaberi državu -# SelectCompany=Select a third party +SelectCompany=Odaberi treću stranu Organization=Organizacija -# AutomaticallyGenerated=Automatically generated -# FiscalYearInformation=Information on the fiscal year -# FiscalMonthStart=Starting month of the fiscal year +AutomaticallyGenerated=Automatski generirano +FiscalYearInformation=Informacije za fiskalnu godinu +FiscalMonthStart=Početni mjesec fiskalne godine # YouMustCreateContactFirst=You must create emails contacts for third party first to be able to add emails notifications. ListSuppliersShort=Lista dobavljača ListProspectsShort=Lista potencijalnih kupaca @@ -396,14 +396,14 @@ ListCustomersShort=Lista kupaca # ThirdPartiesArea=Third parties area # LastModifiedThirdParties=Last %s modified third parties # UniqueThirdParties=Total of unique third parties -# InActivity=Open -# ActivityCeased=Closed +InActivity=Otvoren +ActivityCeased=Zatvoren # ActivityStateFilter=Activity status # ProductsIntoElements=List of products into -# CurrentOutstandingBill=Current outstanding bill -# OutstandingBill=Max. for outstanding bill -# OutstandingBillReached=Reached max. for outstanding bill +CurrentOutstandingBill=Trenutno otvoreni računi +OutstandingBill=Maksimalno za otvorene račune +OutstandingBillReached=Dosegnut je maksimalni iznos za otvorene stavke # Monkey # MonkeyNumRefModelDesc=Return numero with format %syymm-nnnn for customer code and %syymm-nnnn for supplier code where yy is year, mm is month and nnnn is a sequence with no break and no return to 0. # Leopard -# LeopardNumRefModelDesc=The code is free. This code can be modified at any time. +LeopardNumRefModelDesc=Ova šifra je besplatne. Ova šifra se može modificirati u bilo koje vrijeme. diff --git a/htdocs/langs/hr_HR/errors.lang b/htdocs/langs/hr_HR/errors.lang index f5e6781eb4c..473ab485c97 100644 --- a/htdocs/langs/hr_HR/errors.lang +++ b/htdocs/langs/hr_HR/errors.lang @@ -26,8 +26,11 @@ # ErrorBadThirdPartyName=Bad value for third party name # ErrorProdIdIsMandatory=The %s is mandatory # ErrorBadCustomerCodeSyntax=Bad syntax for customer code +# ErrorBadBarCodeSyntax=Bad syntax for bar code # ErrorCustomerCodeRequired=Customer code required +# ErrorBarCodeRequired=Bar code required # ErrorCustomerCodeAlreadyUsed=Customer code already used +# ErrorBarCodeAlreadyUsed=Bar code already used # ErrorPrefixRequired=Prefix required # ErrorUrlNotValid=The website address is incorrect # ErrorBadSupplierCodeSyntax=Bad syntax for supplier code @@ -63,6 +66,7 @@ # ErrorNoValueForRadioType=Please fill value for radio list # ErrorBadFormatValueList=The list value cannot have more than one come : %s, but need at least one: llave,valores # ErrorFieldCanNotContainSpecialCharacters=Field %s must not contains special characters. +# ErrorFieldCanNotContainSpecialNorUpperCharacters=Field %s must not contains special characters, nor upper case characters. # ErrorNoAccountancyModuleLoaded=No accountancy module activated # ErrorExportDuplicateProfil=This profile name already exists for this export set. # ErrorLDAPSetupNotComplete=Dolibarr-LDAP matching is not complete. diff --git a/htdocs/langs/hr_HR/exports.lang b/htdocs/langs/hr_HR/exports.lang index ecb0d4a94ac..082be11736e 100644 --- a/htdocs/langs/hr_HR/exports.lang +++ b/htdocs/langs/hr_HR/exports.lang @@ -123,6 +123,10 @@ # DeskCode=Desk code # BankAccountNumber=Account number # BankAccountNumberKey=Key +# SpecialCode=Special code +# ExportStringFilter=%% allows replacing one or more characters in the text +# ExportDateFilter='AAAA' 'AAAAMM' 'AAAAMMJJ': filters by one year/month/day
'AAAA+AAAA' 'AAAAMM+AAAAMM' 'AAAAMMJJ+AAAAMMJJ': filters over a range of years/months/days
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filters on the following years/months/days
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filters on the previous years/months/days +# ExportNumericFilter='NNNNN' filters by one value
'NNNNN+NNNNN' filters over a range of values
'>NNNNN' filters by lower values
'>NNNNN' filters by higher values ## filters # SelectFilterFields=If you want to filter on some values, just input values here. # FilterableFields=Champs Filtrables diff --git a/htdocs/langs/hr_HR/mails.lang b/htdocs/langs/hr_HR/mails.lang index 328fc3ec5d6..313acce4fa1 100644 --- a/htdocs/langs/hr_HR/mails.lang +++ b/htdocs/langs/hr_HR/mails.lang @@ -79,6 +79,13 @@ # ActivateCheckRead=Allow to use the "Unsubcribe" link # ActivateCheckReadKey=Key use to encrypt URL use for "Read Receipt" and "Unsubcribe" feature # EMailSentToNRecipients=EMail sent to %s recipients. +# EachInvoiceWillBeAttachedToEmail=A document using default invoice document template will be created and attached to each email. +# MailTopicSendRemindUnpaidInvoices=Remind of invoice %s (%s) +# SendRemind=Send remind by EMails +# RemindSent=%S remind(s) sent +# AllRecipientSelectedForRemind=All thirdparties selected and if an email is set (note that one mail per invoice will be sent) +# NoRemindSent=No remind by EMail sent +# ResultOfMassSending=Result of mass remind sending by EMail # Libelle des modules de liste de destinataires mailing # MailingModuleDescContactCompanies=Contacts/addresses of all third parties (customer, prospect, supplier, ...) diff --git a/htdocs/langs/hr_HR/main.lang b/htdocs/langs/hr_HR/main.lang index 0d174516b4e..99ff85cc09e 100644 --- a/htdocs/langs/hr_HR/main.lang +++ b/htdocs/langs/hr_HR/main.lang @@ -572,7 +572,7 @@ DateFrom=Od %s # TotalMan=Total # NeverReceived=Never received # Canceled=Canceled -# YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu setup - dictionnary +# YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu setup - dictionary # Color=Color # Documents=Linked files # DocumentsNb=Linked files (%s) diff --git a/htdocs/langs/hr_HR/opensurvey.lang b/htdocs/langs/hr_HR/opensurvey.lang index fec34d9dbe6..1fbafbdb317 100644 --- a/htdocs/langs/hr_HR/opensurvey.lang +++ b/htdocs/langs/hr_HR/opensurvey.lang @@ -35,6 +35,7 @@ # TitleChoice=Choice label # ExportSpreadsheet=Export result spreadsheet # ExpireDate=Limit date +# NbOfSurveys=Number of surveys # NbOfVoters=Nb of voters # SurveyResults=Results # PollAdminDesc=You are allowed to change all vote lines of this poll with button "Edit". You can, as well, remove a column or a line with %s. You can also add a new column with %s. diff --git a/htdocs/langs/hr_HR/orders.lang b/htdocs/langs/hr_HR/orders.lang index e5de0e25bd2..8ed57ad3521 100644 --- a/htdocs/langs/hr_HR/orders.lang +++ b/htdocs/langs/hr_HR/orders.lang @@ -55,6 +55,7 @@ ShippingExist=Dostava postoji # MenuOrdersToBill=Orders delivered MenuOrdersToBill2=Narudžbe za naplatu SearchOrder=Pretraži narudžbe +# SearchACustomerOrder=Search a customer order ShipProduct=Pošalji proizvod Discount=Popust CreateOrder=Kreiraj narudžbu @@ -164,3 +165,4 @@ MenuOrdersToBill2=Narudžbe za naplatu # OrderCreated=Your orders have been created # OrderFail=An error happened during your orders creation # CreateOrders=Create orders +# ToBillSeveralOrderSelectCustomer=To create an invoice for several orders, click first onto customer, then choose "%s". diff --git a/htdocs/langs/hr_HR/other.lang b/htdocs/langs/hr_HR/other.lang index 3ff4e868d22..1597fb25d24 100644 --- a/htdocs/langs/hr_HR/other.lang +++ b/htdocs/langs/hr_HR/other.lang @@ -49,14 +49,15 @@ # NbOfActiveNotifications=Number of notifications # PredefinedMailTest=This is a test mail.\nThe two lines are separated by a carriage return.\n\n__SIGNATURE__ # PredefinedMailTestHtml=This is a test mail (the word test must be in bold).
The two lines are separated by a carriage return.

__SIGNATURE__ -# PredefinedMailContentSendInvoice=__CONTACTCIVNAME__ \n\n You will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__ \n\n We would like to warn you that the invoice __FACREF__ seems to not being payed. So this is the invoice in attachment again, as a reminder.\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendProposal=__CONTACTCIVNAME__ \n\n You will find here the commercial proposal __PROPREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendOrder=__CONTACTCIVNAME__ \n\n You will find here the order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__ \n\n You will find here our order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__ \n\n You will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendShipping=__CONTACTCIVNAME__ \n\n You will find here the shipping __SHIPPINGREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendFichInter=__CONTACTCIVNAME__ \n\n You will find here the intervention __FICHINTERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__\n\nWe would like to warn you that the invoice __FACREF__ seems to not being payed. So this is the invoice in attachment again, as a reminder.\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendProposal=__CONTACTCIVNAME__\n\nYou will find here the commercial proposal __PROPREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendOrder=__CONTACTCIVNAME__\n\nYou will find here the order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__\n\nYou will find here our order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendShipping=__CONTACTCIVNAME__\n\nYou will find here the shipping __SHIPPINGREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendFichInter=__CONTACTCIVNAME__\n\nYou will find here the intervention __FICHINTERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentThirdparty=__CONTACTCIVNAME__\n\n__PERSONALIZED__\n\n__SIGNATURE__ # DemoDesc=Dolibarr is a compact ERP/CRM composed by several functional modules. A demo that includes all modules does not mean anything as this never occurs. So, several demo profiles are available. # ChooseYourDemoProfil=Choose the demo profile that match your activity... # DemoFundation=Manage members of a foundation diff --git a/htdocs/langs/hr_HR/products.lang b/htdocs/langs/hr_HR/products.lang index 9f75dab9917..d91deb78816 100644 --- a/htdocs/langs/hr_HR/products.lang +++ b/htdocs/langs/hr_HR/products.lang @@ -13,6 +13,10 @@ # NewService=New service # ProductCode=Product code # ServiceCode=Service code +# ProductVatMassChange=Mass VAT change +# ProductVatMassChangeDesc=This page can be used to modify a VAT rate defined on products or services from a value to another. Warning, this change is done on all database. +# MassBarcodeInit=Mass barcode init +# MassBarcodeInitDesc=This page can be used to initialize a barcode on objects that does not have barcode defined. Check before that setup of module barcode is complete. # ProductAccountancyBuyCode=Accountancy code (buy) # ProductAccountancySellCode=Accountancy code (sell) # ProductOrService=Product or Service @@ -173,8 +177,8 @@ # CountryOrigin=Origin country # HiddenIntoCombo=Hidden into select lists # Nature=Nature -# ProductCodeModel=Product code template -# ServiceCodeModel=Service code template +# ProductCodeModel=Product ref template +# ServiceCodeModel=Service ref template # AddThisProductCard=Create product card # HelpAddThisProductCard=This option allows you to create or clone a product if it does not exist. # AddThisServiceCard=Create service card @@ -216,5 +220,10 @@ # DefinitionOfBarCodeForThirdpartyNotComplete=Definition of type or value of bar code non complete for thirdparty %s. # BarCodeDataForProduct=Barcode information of product %s : # BarCodeDataForThirdparty=Barcode information of thirdparty %s : -# BarcodeStickersMask=xxx - +# ResetBarcodeForAllRecords=Define barcode value for all records (this will also reset barcode value already defined with new values) +# PriceByCustomer=Price by customer +# PriceCatalogue=Catalogue Price +# PricingRule=Pricing Rules +# AddCustomerPrice=Add price by customers +# ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +# PriceByCustomerLog=Price by customer log diff --git a/htdocs/langs/hr_HR/projects.lang b/htdocs/langs/hr_HR/projects.lang index 1e4cb8cfe1b..d9173ee340b 100644 --- a/htdocs/langs/hr_HR/projects.lang +++ b/htdocs/langs/hr_HR/projects.lang @@ -1,4 +1,6 @@ # Dolibarr language file - Source file is en_US - projects +# RefProject=Ref. project +# ProjectId=Project Id Project=Projekt Projects=Projekti # SharedProject=Everybody @@ -30,11 +32,18 @@ TimeSpent=Vrijeme utrošeno TimesSpent=Vrijeme utrošeno # RefTask=Ref. task # LabelTask=Label task +# TaskTimeSpent=Time spent on tasks +# TaskTimeUser=Task time user +# TaskTimeNote=Task time note +# TaskTimeDate=Task time date # NewTimeSpent=New time spent # MyTimeSpent=My time spent # MyTasks=My tasks # Tasks=Tasks # Task=Task +# TaskDateStart=Task start date +# TaskDateEnd=Task end date +# TaskDescription=Task description # NewTask=New task # AddTask=Add task # AddDuration=Add duration @@ -100,12 +109,12 @@ TimesSpent=Vrijeme utrošeno ##### Types de contacts ##### # TypeContact_project_internal_PROJECTLEADER=Project leader # TypeContact_project_external_PROJECTLEADER=Project leader -# TypeContact_project_internal_CONTRIBUTOR=Contributor -# TypeContact_project_external_CONTRIBUTOR=Contributor +# TypeContact_project_internal_PROJECTCONTRIBUTOR=Contributor +# TypeContact_project_external_PROJECTCONTRIBUTOR=Contributor # TypeContact_project_task_internal_TASKEXECUTIVE=Task executive # TypeContact_project_task_external_TASKEXECUTIVE=Task executive -# TypeContact_project_task_internal_CONTRIBUTOR=Contributor -# TypeContact_project_task_external_CONTRIBUTOR=Contributor +# TypeContact_project_task_internal_TASKCONTRIBUTOR=Contributor +# TypeContact_project_task_external_TASKCONTRIBUTOR=Contributor # SelectElement=Select element # AddElement=Link to element # Documents models diff --git a/htdocs/langs/hr_HR/propal.lang b/htdocs/langs/hr_HR/propal.lang index d17bc952b7d..e9428c467a2 100644 --- a/htdocs/langs/hr_HR/propal.lang +++ b/htdocs/langs/hr_HR/propal.lang @@ -1,99 +1,99 @@ # Dolibarr language file - Source file is en_US - propal -# Proposals=Commercial proposals -# Proposal=Commercial proposal -# ProposalShort=Proposal -# ProposalsDraft=Draft commercial proposals -# ProposalDraft=Draft commercial proposal -# ProposalsOpened=Opened commercial proposals -# Prop=Commercial proposals -# CommercialProposal=Commercial proposal -# CommercialProposals=Commercial proposals -# ProposalCard=Proposal card -# NewProp=New commercial proposal -# NewProposal=New commercial proposal -# NewPropal=New proposal +Proposals=Trgovačke ponude +Proposal=Trgovačka ponuda +ProposalShort=Ponuda +ProposalsDraft=Skice trgovačkih ponuda +ProposalDraft=Skica trgovačke ponude +ProposalsOpened=Otvorene trgovačke ponude +Prop=Trgovačke ponude +CommercialProposal=Trgovačka ponuda +CommercialProposals=Trgovačke ponude +ProposalCard=Kartica ponude +NewProp=Nova trgovačka ponuda +NewProposal=Nova trgovačka ponuda +NewPropal=Nova ponuda # Prospect=Prospect # ProspectList=Prospect list -# DeleteProp=Delete commercial proposal -# ValidateProp=Validate commercial proposal -# AddProp=Add proposal -# ConfirmDeleteProp=Are you sure you want to delete this commercial proposal ? -# ConfirmValidateProp=Are you sure you want to validate this commercial proposal under name %s ? -# LastPropals=Last %s proposals -# LastClosedProposals=Last %s closed proposals -# LastModifiedProposals=Last %s modified proposals -# AllPropals=All proposals -# LastProposals=Last proposals -# SearchAProposal=Search a proposal -# ProposalsStatistics=Commercial proposal's statistics -# NumberOfProposalsByMonth=Number by month -# AmountOfProposalsByMonthHT=Amount by month (net of tax) -# NbOfProposals=Number of commercial proposals -# ShowPropal=Show proposal -# PropalsDraft=Drafts -# PropalsOpened=Opened -# PropalsNotBilled=Closed not billed -# PropalStatusDraft=Draft (needs to be validated) -# PropalStatusValidated=Validated (proposal is open) -# PropalStatusOpened=Validated (proposal is open) -# PropalStatusClosed=Closed -# PropalStatusSigned=Signed (needs billing) -# PropalStatusNotSigned=Not signed (closed) -# PropalStatusBilled=Billed -# PropalStatusDraftShort=Draft -# PropalStatusValidatedShort=Validated -# PropalStatusOpenedShort=Opened -# PropalStatusClosedShort=Closed -# PropalStatusSignedShort=Signed -# PropalStatusNotSignedShort=Not signed -# PropalStatusBilledShort=Billed -# PropalsToClose=Commercial proposals to close -# PropalsToBill=Signed commercial proposals to bill -# ListOfProposals=List of commercial proposals +DeleteProp=Izbriši trgovačku ponudu +ValidateProp=Ovjeri trgovačku ponudu +AddProp=Napravi ponudu +ConfirmDeleteProp=Jeste li sigurni da želite izbrisati ovu trgovačku ponudu? +ConfirmValidateProp=Jesti li sigurni da želite ovjeriti ovu trgovačku ponudu pod imenom %s? +LastPropals=Zadnjih %s proposals +LastClosedProposals=Zadnjih %s zatvorenih ponuda +LastModifiedProposals=Zadnjih %s izmjenjenih ponuda +AllPropals=Sve ponude +LastProposals=Zadnje ponude +SearchAProposal=Pronađi ponudu +ProposalsStatistics=Statistika trgovačkih ponuda +NumberOfProposalsByMonth=Broj u mjesecu +AmountOfProposalsByMonthHT=Iznos po mjesecu (netto bez PDV-a) +NbOfProposals=Broj trgovačkih ponuda +ShowPropal=Prikaži ponudu +PropalsDraft=Skice +PropalsOpened=Otvorena +PropalsNotBilled=Zatvorena, nije naplaćena +PropalStatusDraft=Skica (potrebno ovjeriti) +PropalStatusValidated=Ovjerena (otvorena ponuda) +PropalStatusOpened=Ovjerena (otvorena ponuda) +PropalStatusClosed=Zatvorena +PropalStatusSigned=Potpisana (za naplatu) +PropalStatusNotSigned=Nije potpisana (zatvorena) +PropalStatusBilled=Naplaćena +PropalStatusDraftShort=Skica +PropalStatusValidatedShort=Ovjerena +PropalStatusOpenedShort=Otvorena +PropalStatusClosedShort=Zatvorena +PropalStatusSignedShort=Potpisana +PropalStatusNotSignedShort=Nije potpisana +PropalStatusBilledShort=Naplaćena +PropalsToClose=Trgovačke ponude za zatvaranje +PropalsToBill=Potpisane trgovačke ponude za naplatu +ListOfProposals=Popis trgovačkih ponuda # ActionsOnPropal=Events on proposal -# NoOpenedPropals=No opened commercial proposals -# NoOtherOpenedPropals=No other opened commercial proposals +NoOpenedPropals=Nema otvorenih trgovačkih ponuda +NoOtherOpenedPropals=nema drugih otvorenih trgovačkih ponuda # RefProposal=Commercial proposal ref -# SendPropalByMail=Send commercial proposal by mail -# FileNotUploaded=The file was not uploaded -# FileUploaded=The file was successfully uploaded -# AssociatedDocuments=Documents associated with the proposal: -# ErrorCantOpenDir=Can't open directory -# DatePropal=Date of proposal -# DateEndPropal=Validity ending date +SendPropalByMail=Pošalji trgovačku ponudu e-poštom +FileNotUploaded=Datoteka nije učitana +FileUploaded=Datoteka je uspješno učitana +AssociatedDocuments=Dokumenti povezani s ovom ponudom: +ErrorCantOpenDir=Mapa se ne može otvoriti +DatePropal=Datum ponude +DateEndPropal=Datum dospijeća # DateEndPropalShort=Date end -# ValidityDuration=Validity duration -# CloseAs=Close with status -# ClassifyBilled=Classify billed -# BuildBill=Build invoice -# ErrorPropalNotFound=Propal %s not found -# Estimate=Estimate : -# EstimateShort=Estimate -# OtherPropals=Other proposals -# AddToDraftProposals=Add to draft proposal -# NoDraftProposals=No draft proposals -# CopyPropalFrom=Create commercial proposal by copying existing proposal +ValidityDuration=Vrijedi do +CloseAs=Zatvori sa stanjem +ClassifyBilled=Označi kao naplaćena +BuildBill=Izradi račun +ErrorPropalNotFound=Ponuda %s nije pronađena +Estimate=Procjena: +EstimateShort=Procjena +OtherPropals=Ostale ponude +AddToDraftProposals=Dodati skici ponude +NoDraftProposals=Nema skica ponuda +CopyPropalFrom=Izradi trgovačku ponudu preslikanjem postojeće ponude # CreateEmptyPropal=Create empty commercial proposals vierge or from list of products/services # DefaultProposalDurationValidity=Default commercial proposal validity duration (in days) # UseCustomerContactAsPropalRecipientIfExist=Use customer contact address if defined instead of third party address as proposal recipient address -# ClonePropal=Clone commercial proposal -# ConfirmClonePropal=Are you sure you want to clone the commercial proposal %s ? -# ConfirmReOpenProp=Are you sure you want to open back the commercial proposal %s ? +ClonePropal=Kloniraj trgovačku ponudu +ConfirmClonePropal=Jeste li sigurni da želite klonirati trgovačku ponudu %s ? +ConfirmReOpenProp=Jeste li sigurno da želite ponovo otvoriti trgovačku ponudu %s ? # ProposalsAndProposalsLines=Commercial proposal and lines # ProposalLine=Proposal line # AvailabilityPeriod=Availability delay # SetAvailability=Set availability delay # AfterOrder=after order ##### Availability ##### -# AvailabilityTypeAV_NOW=Immediate -# AvailabilityTypeAV_1W=1 week -# AvailabilityTypeAV_2W=2 weeks -# AvailabilityTypeAV_3W=3 weeks -# AvailabilityTypeAV_1M=1 month +AvailabilityTypeAV_NOW=Odmah +AvailabilityTypeAV_1W=Tjedan dana +AvailabilityTypeAV_2W=Dva tjedna +AvailabilityTypeAV_3W=Tri tjedna +AvailabilityTypeAV_1M=Mjesec dana ##### Types de contacts ##### -# TypeContact_propal_internal_SALESREPFOLL=Representative following-up proposal -# TypeContact_propal_external_BILLING=Customer invoice contact -# TypeContact_propal_external_CUSTOMER=Customer contact following-up proposal +TypeContact_propal_internal_SALESREPFOLL=Suradnik koji prati ponudu +TypeContact_propal_external_BILLING=Kontakt osoba pri kupcu za račun +TypeContact_propal_external_CUSTOMER=Kontakt osoba pri kupcu za ponudu # Document models # DocModelAzurDescription=A complete proposal model (logo...) # DocModelJauneDescription=Jaune proposal model diff --git a/htdocs/langs/hr_HR/stocks.lang b/htdocs/langs/hr_HR/stocks.lang index d6c87f1062f..be1e333f87c 100644 --- a/htdocs/langs/hr_HR/stocks.lang +++ b/htdocs/langs/hr_HR/stocks.lang @@ -94,14 +94,20 @@ # StockToBuy=To order # Replenishment=Replenishment # ReplenishmentOrders=Replenishment orders -# UseVirtualStock=Use virtual stock instead of physical stock +# VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differs +# UseVirtualStockByDefault=Use virtual stock by default, instead of physical stock, for replenishment feature +# UseVirtualStock=Use virtual stock +# UsePhysicalStock=Use physical stock +# CurentSelectionMode=Curent selection mode +# CurentlyUsingVirtualStock=Virtual stock +# CurentlyUsingPhysicalStock=Physical stock # RuleForStockReplenishment=Rule for stocks replenishment # SelectProductWithNotNullQty=Select at least one product with a qty not null and a supplier # AlertOnly= Alerts only # WarehouseForStockDecrease=The warehouse %s will be used for stock decrease # WarehouseForStockIncrease=The warehouse %s will be used for stock increase # ForThisWarehouse=For this warehouse -# ReplenishmentStatusDesc=This is list of all product with a physical stock lower than desired stock (or alert value if checkbox "alert only" is checked) and suggest you to create supplier orders to fill the difference. +# ReplenishmentStatusDesc=This is list of all product with a stock lower than desired stock (or lower than alert value if checkbox "alert only" is checked), and suggest you to create supplier orders to fill the difference. # ReplenishmentOrdersDesc=This is list of all opened supplier orders # Replenishments=Replenishments # NbOfProductBeforePeriod=Quantity of product %s in stock before selected period (< %s) diff --git a/htdocs/langs/hu_HU/admin.lang b/htdocs/langs/hu_HU/admin.lang index b8933f33ba0..7ee2ad4a7de 100644 --- a/htdocs/langs/hu_HU/admin.lang +++ b/htdocs/langs/hu_HU/admin.lang @@ -287,7 +287,7 @@ CurrentVersion=Dolibarr jelenlegi verzió CallUpdatePage=Lépjen arra az oldalra, amely frissíti az adatbázis szerkezetét és adatok: %s. LastStableVersion=Utolsó stabil verzió GenericMaskCodes=Megadhat bármilyen számozás maszk. Ebben a maszk, az alábbi címkék is használhatók:
{000000} felel meg egy számot, amelyet fogja megnövelni minden %s. Adja meg a nullákat, mint annyi a kívánt méretre a számláló. A számláló tölti nullákkal balról annak érdekében, hogy minél több nullák, mint a maszk.
{000000} 000 ugyanaz, mint korábban, hanem ellensúlyozza számának megfelelő jobbra a + jel alkalmazzák kezdve az első %s.
{000000} @ x ugyanaz, mint korábban, de a számláló lenullázódik, ha havi x-ért (x 1 és 12 között, vagy 0 használni a korai hónapokban a pénzügyi év van megadva a konfiguráció). Ha ezt az opciót használjuk, és az x 2 vagy magasabb, akkor a sorozat nn {} {} vagy {mm yyyy}} {mm is szükség van.
{} Dd nap (01 31).
{} Mm hónap (01-12).
Yy {}, {ÉÉÉÉ} vagy {} y évben több mint 2, 4 vagy 1 számokat.
-# GenericMaskCodes2={cccc} the client code
{cccc000} the client code on n characters is followed by a client's ref counter without offset and zeroized with the global counter.
{tttt} The code of company type on n characters (see dictionary-company types).
+# GenericMaskCodes2={cccc} the client code on n characters
{cccc000} the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.
{tttt} The code of company type on n characters (see dictionary-company types).
GenericMaskCodes3=Az összes többi karakter a maszkban marad érintetlen.
A szóközök nem megengedettek.
GenericMaskCodes4a=Példa a 99. %s a harmadik fél kész TheCompany 2007/01/31:
GenericMaskCodes4b=Példa: a harmadik fél létre 2007/03/01:
@@ -345,8 +345,6 @@ SecurityTokenIsUnique=Használjunk olyan egyedi securekey paraméter az URL EnterRefToBuildUrl=Adja meg az objektum referencia %s GetSecuredUrl=Get URL számított # ButtonHideUnauthorized=Hide buttons for unauthorized actions instead of showing disabled buttons -# ProductVatMassChange=Mass VAT change -# ProductVatMassChangeDesc=This page can be used to modify a VAT rate defined on products or services from a value to another. Warning, this change is done on all database. # OldVATRates=Old VAT rate # NewVATRates=New VAT rate # PriceBaseTypeToChange=Modify on prices with base reference value defined on @@ -381,6 +379,16 @@ ExtrafieldPrice = Ár # DefaultLink=Default link # ValueOverwrittenByUserSetup=Warning, this value may be overwritten by user specific setup (each user can set his own clicktodial url) # ExternalModule=External module - Installed into directory %s +# BarcodeInitForThirdparties=Mass barcode init for thirdparties +# BarcodeInitForProductsOrServices=Mass barcode init or reset for products or services +# CurrentlyNWithoutBarCode=Currently, you have %s records on %s %s without barcode defined. +# InitEmptyBarCode=Init value for next %s empty records +# EraseAllCurrentBarCode=Erase all current barcode values +# ConfirmEraseAllCurrentBarCode=Are you sure you want to erase all current barcode values ? +# AllBarcodeReset=All barcode values have been removed +# NoBarcodeNumberingTemplateDefined=No numbering barcode template enabled into barcode module setup. +# NoRecordWithoutBarcodeDefined=No record with no barcode value defined. + # Modules Module0Name=Felhasználók és csoportok @@ -510,6 +518,8 @@ Module50200Desc= Modult kínál online fizetési oldalra hitelkártya Paypal # Module59000Desc=Module to manage margins # Module60000Name=Commissions # Module60000Desc=Module to manage commissions +# Module150010Name=Batch number, eat-by date and sell-by date +# Module150010Desc=batch number, eat-by date and sell-by date management for product Permission11=Olvassa vevői számlák Permission12=Létrehozza / módosítja vevői számlák Permission13=Unvalidate vevői számlák @@ -726,8 +736,8 @@ Permission50202=Import ügyletek # Permission55002=Create/modify surveys # Permission59001=Read commercial margins # Permission59002=Define commercial margins -# DictionaryCompanyType=Company types -# DictionaryCompanyJuridicalType=Juridical kinds of company +# DictionaryCompanyType=Thirdparties type +# DictionaryCompanyJuridicalType=Juridical kinds of thirdparties # DictionaryProspectLevel=Prospect potential level # DictionaryCanton=State/Cantons # DictionaryRegion=Regions @@ -959,7 +969,7 @@ SimpleNumRefModelDesc=Vissza a hivatkozási számot formátumban %syymm-nnnn, ah ShowProfIdInAddress=Mutasd hivatásos id címekkel dokumentumok # ShowVATIntaInAddress=Hide VAT Intra num with addresses on documents TranslationUncomplete=Részleges fordítás -SomeTranslationAreUncomplete=Néhány nyelv lehet fordítani részben vagy hibákat tartalmaz. Ha mutatni néhány, meg tudod oldani. Lang szöveges fájlokat könyvtár htdocs / langs és benyújtja azokat a fórum http://www.dolibarr.org . +# SomeTranslationAreUncomplete=Some languages may be partially translated or may contains errors. If you detect some, you can fix language files registering to http://transifex.com/projects/p/dolibarr/. MenuUseLayout=A függőleges menü hidable (opció javascript nem kikapcsolható) MAIN_DISABLE_METEO=Meteo nézet letiltása TestLoginToAPI=Tesztelje be az API @@ -985,6 +995,7 @@ ExtraFields=Kiegészítő tulajdonságok # ExtraFieldsProjectTask=Complementary attributes (tasks) ExtraFieldHasWrongValue=Attribut %s van egy rossz értéket. # AlphaNumOnlyCharsAndNoSpace=only alphanumericals characters without space +# AlphaNumOnlyLowerCharsAndNoSpace=only alphanumericals and lower case characters without space SendingMailSetup=Beállítás a küldések e-mailben SendmailOptionNotComplete=Figyelem, egyes Linux rendszereken, hogy küldjön e-mailt az e-mail, sendmail beállítás végrehajtása lehetőséget kell conatins-ba (paraméter mail.force_extra_parameters be a php.ini fájl). Ha néhány címzett nem fogadja az üzeneteket, próbáld meg szerkeszteni ezt a PHP paraméter = mail.force_extra_parameters-ba). PathToDocuments=Út a dokumentumok @@ -1269,7 +1280,7 @@ ForANonAnonymousAccess=A hitelesített hozzáférés (egy írási például) # YouMayFindPerfAdviceHere=You will find on this page some checks or advices related to performance. # NotInstalled=Not installed, so your server is not slow down by this. # ApplicativeCache=Applicative cache -# MemcachedNotAvailable=No applicative cache found. You can enhance performance by installing a cache server Memcached and a module able to use this cache server. More information here http://wiki.dolibarr.org/index.php/Module_MemCached_EN. Note that a lot of web hosting provider does not provide such cache server. +# MemcachedNotAvailable=No applicative cache found. You can enhance performance by installing a cache server Memcached and a module able to use this cache server.
More information here http://wiki.dolibarr.org/index.php/Module_MemCached_EN.
Note that a lot of web hosting provider does not provide such cache server. # OPCodeCache=OPCode cache # NoOPCodeCacheFound=No OPCode cache found. May be you use another OPCode cache than XCache or eAccelerator (good), may be you don't have OPCode cache (very bad). # HTTPCacheStaticResources=HTTP cache for static resources (css, img, javascript) diff --git a/htdocs/langs/hu_HU/agenda.lang b/htdocs/langs/hu_HU/agenda.lang index 40f0eb0eb53..fa8bd9af8cd 100644 --- a/htdocs/langs/hu_HU/agenda.lang +++ b/htdocs/langs/hu_HU/agenda.lang @@ -52,6 +52,7 @@ InvoiceSentByEMail=Az ügyfél számlát postáztuk %s SupplierOrderSentByEMail=Szállító érdekében %s postáztuk SupplierInvoiceSentByEMail=Szállító számlát postáztuk %s ShippingSentByEMail=Szállítás %s postáztuk +# ShippingValidated= Shipping %s validated InterventionSentByEMail=Beavatkozás %s postáztuk NewCompanyToDolibarr= Harmadik fél létrehozva DateActionPlannedStart= Tervezett indulási dátum diff --git a/htdocs/langs/hu_HU/cashdesk.lang b/htdocs/langs/hu_HU/cashdesk.lang index 1059023ec76..09ac822c2ad 100644 --- a/htdocs/langs/hu_HU/cashdesk.lang +++ b/htdocs/langs/hu_HU/cashdesk.lang @@ -37,3 +37,4 @@ ShowCompany=Mutasd cég ShowStock=Mutasd raktár DeleteArticle=Kattintson, hogy távolítsa el ezt a cikket # FilterRefOrLabelOrBC=Search (Ref/Label) +# UserNeedPermissionToEditStockToUsePos=You ask to decrease stock on invoice creation, so user that use POS need to have permission to edit stock. diff --git a/htdocs/langs/hu_HU/errors.lang b/htdocs/langs/hu_HU/errors.lang index eb462648c7c..d772ff2192b 100644 --- a/htdocs/langs/hu_HU/errors.lang +++ b/htdocs/langs/hu_HU/errors.lang @@ -26,8 +26,11 @@ ErrorFromToAccountsMustDiffers=Forrás és célok bankszámlák különbözőnek ErrorBadThirdPartyName=Rossz érték a harmadik fél nevében # ErrorProdIdIsMandatory=The %s is mandatory ErrorBadCustomerCodeSyntax=Rossz a szintaxisa az ügyfél kód +# ErrorBadBarCodeSyntax=Bad syntax for bar code ErrorCustomerCodeRequired=Ügyfél kód szükséges +# ErrorBarCodeRequired=Bar code required ErrorCustomerCodeAlreadyUsed=Ügyfél kód már használatban +# ErrorBarCodeAlreadyUsed=Bar code already used ErrorPrefixRequired=Előtag szükséges ErrorUrlNotValid=A honlap címe hibás ErrorBadSupplierCodeSyntax=Rossz szintaxisa szállító kód @@ -63,6 +66,7 @@ ErrorSizeTooLongForVarcharType=Méret túl hosszú a string típusú (%s karakte # ErrorNoValueForRadioType=Please fill value for radio list # ErrorBadFormatValueList=The list value cannot have more than one come : %s, but need at least one: llave,valores ErrorFieldCanNotContainSpecialCharacters=%s mező nem tartalmaz speciális karaktereket. +# ErrorFieldCanNotContainSpecialNorUpperCharacters=Field %s must not contains special characters, nor upper case characters. ErrorNoAccountancyModuleLoaded=Nem számviteli modul aktiválódik # ErrorExportDuplicateProfil=This profile name already exists for this export set. ErrorLDAPSetupNotComplete=Dolibarr LDAP-egyezés nem teljes. diff --git a/htdocs/langs/hu_HU/exports.lang b/htdocs/langs/hu_HU/exports.lang index 00ae3c62924..4670b4970cf 100644 --- a/htdocs/langs/hu_HU/exports.lang +++ b/htdocs/langs/hu_HU/exports.lang @@ -123,6 +123,10 @@ BankCode=Bank kódja DeskCode=Íróasztal kód BankAccountNumber=Számlaszám BankAccountNumberKey=Kulcs +# SpecialCode=Special code +# ExportStringFilter=%% allows replacing one or more characters in the text +# ExportDateFilter='AAAA' 'AAAAMM' 'AAAAMMJJ': filters by one year/month/day
'AAAA+AAAA' 'AAAAMM+AAAAMM' 'AAAAMMJJ+AAAAMMJJ': filters over a range of years/months/days
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filters on the following years/months/days
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filters on the previous years/months/days +# ExportNumericFilter='NNNNN' filters by one value
'NNNNN+NNNNN' filters over a range of values
'>NNNNN' filters by lower values
'>NNNNN' filters by higher values ## filters # SelectFilterFields=If you want to filter on some values, just input values here. # FilterableFields=Champs Filtrables diff --git a/htdocs/langs/hu_HU/mails.lang b/htdocs/langs/hu_HU/mails.lang index d96c56caa7c..2dcae0e1ebb 100644 --- a/htdocs/langs/hu_HU/mails.lang +++ b/htdocs/langs/hu_HU/mails.lang @@ -79,6 +79,13 @@ MailingStatusRead=Olvas # ActivateCheckRead=Allow to use the "Unsubcribe" link # ActivateCheckReadKey=Key use to encrypt URL use for "Read Receipt" and "Unsubcribe" feature # EMailSentToNRecipients=EMail sent to %s recipients. +# EachInvoiceWillBeAttachedToEmail=A document using default invoice document template will be created and attached to each email. +# MailTopicSendRemindUnpaidInvoices=Remind of invoice %s (%s) +# SendRemind=Send remind by EMails +# RemindSent=%S remind(s) sent +# AllRecipientSelectedForRemind=All thirdparties selected and if an email is set (note that one mail per invoice will be sent) +# NoRemindSent=No remind by EMail sent +# ResultOfMassSending=Result of mass remind sending by EMail # Libelle des modules de liste de destinataires mailing MailingModuleDescContactCompanies=Kapcsolatok minden harmadik felek (vevő, kilátás, szállító, ...) diff --git a/htdocs/langs/hu_HU/main.lang b/htdocs/langs/hu_HU/main.lang index 5915bef07af..09c5cf646e5 100644 --- a/htdocs/langs/hu_HU/main.lang +++ b/htdocs/langs/hu_HU/main.lang @@ -572,7 +572,7 @@ TotalWoman=Összes TotalMan=Összes NeverReceived=Soha nem került átvételre Canceled=Megszakítva -# YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu setup - dictionnary +# YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu setup - dictionary Color=Szín Documents=Kapcsolt fájlok DocumentsNb=Kapcsolt fájlok (%s) diff --git a/htdocs/langs/hu_HU/opensurvey.lang b/htdocs/langs/hu_HU/opensurvey.lang index f63aabfec42..b6a885c715b 100644 --- a/htdocs/langs/hu_HU/opensurvey.lang +++ b/htdocs/langs/hu_HU/opensurvey.lang @@ -35,6 +35,7 @@ # TitleChoice=Choice label # ExportSpreadsheet=Export result spreadsheet ExpireDate=Dátum korlást +# NbOfSurveys=Number of surveys # NbOfVoters=Nb of voters # SurveyResults=Results # PollAdminDesc=You are allowed to change all vote lines of this poll with button "Edit". You can, as well, remove a column or a line with %s. You can also add a new column with %s. diff --git a/htdocs/langs/hu_HU/orders.lang b/htdocs/langs/hu_HU/orders.lang index f1f9d13668b..b4d47948996 100644 --- a/htdocs/langs/hu_HU/orders.lang +++ b/htdocs/langs/hu_HU/orders.lang @@ -55,6 +55,7 @@ DraftOrWaitingShipped=Tervezet még nem hitelesített vagy szállított MenuOrdersToBill=Megrendelés Bill # MenuOrdersToBill2=Orders to bill SearchOrder=Keresés érdekében +# SearchACustomerOrder=Search a customer order ShipProduct=Hajó termék Discount=Kedvezmény CreateOrder=Rendet @@ -164,3 +165,4 @@ OrderByPhone=Telefon # OrderCreated=Your orders have been created # OrderFail=An error happened during your orders creation # CreateOrders=Create orders +# ToBillSeveralOrderSelectCustomer=To create an invoice for several orders, click first onto customer, then choose "%s". diff --git a/htdocs/langs/hu_HU/other.lang b/htdocs/langs/hu_HU/other.lang index 7526d65dd4a..3222949c996 100644 --- a/htdocs/langs/hu_HU/other.lang +++ b/htdocs/langs/hu_HU/other.lang @@ -49,14 +49,15 @@ Miscellaneous=Vegyes NbOfActiveNotifications=Bejelentések száma PredefinedMailTest=Ez egy teszt mailt. \\ NA két vonal választja el egymástól kocsivissza. PredefinedMailTestHtml=Ez egy teszt mail (a szó vizsgálatot kell vastagon).
A két vonal választja el egymástól kocsivissza. -PredefinedMailContentSendInvoice=__CONTACTCIVNAME__ \n\n Meg fogja találni itt a számla __FACREF__ \n\n__PERSONALIZED__ Tisztelettel \n\n__SIGNATURE__ -PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__ \n\n Szeretnénk figyelmeztetni, hogy a számla __FACREF__ úgy tűnik, hogy nem fizetni. Szóval ez a számla mellékleteként ismét emlékeztetőül. \n\n__PERSONALIZED__ Tisztelettel \n\n__SIGNATURE__ -PredefinedMailContentSendProposal=__CONTACTCIVNAME__ \n\n Meg fogja találni itt a kereskedelmi propoal __PROPREF__ \n\n__PERSONALIZED__ Tisztelettel \n\n__SIGNATURE__ -PredefinedMailContentSendOrder=__CONTACTCIVNAME__ \n\n Meg fogja találni itt a sorrendben __ORDERREF__ \n\n__PERSONALIZED__ Tisztelettel \n\n__SIGNATURE__ -PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__ \n\n Meg fogja találni itt a rendezés __ORDERREF__ \n\n__PERSONALIZED__ Tisztelettel \n\n__SIGNATURE__ -PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__ \n\n Meg fogja találni itt a számla __FACREF__ \n\n__PERSONALIZED__ Tisztelettel \n\n__SIGNATURE__ -PredefinedMailContentSendShipping=__CONTACTCIVNAME__ \n\n Meg fogja találni itt a hajózási __SHIPPINGREF__ \n\n__PERSONALIZED__ Tisztelettel \n\n__SIGNATURE__ -PredefinedMailContentSendFichInter=__CONTACTCIVNAME__ \n\n Meg fogja találni itt a beavatkozás __FICHINTERREF__ \n\n__PERSONALIZED__ Tisztelettel \n\n__SIGNATURE__ +# PredefinedMailContentSendInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__\n\nWe would like to warn you that the invoice __FACREF__ seems to not being payed. So this is the invoice in attachment again, as a reminder.\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendProposal=__CONTACTCIVNAME__\n\nYou will find here the commercial proposal __PROPREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendOrder=__CONTACTCIVNAME__\n\nYou will find here the order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__\n\nYou will find here our order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendShipping=__CONTACTCIVNAME__\n\nYou will find here the shipping __SHIPPINGREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendFichInter=__CONTACTCIVNAME__\n\nYou will find here the intervention __FICHINTERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentThirdparty=__CONTACTCIVNAME__\n\n__PERSONALIZED__\n\n__SIGNATURE__ DemoDesc=Dolibarr egy kompakt ERP / CRM áll több funkcionális egységet. A demo, amely tartalmazza az összes modul nem jelent semmit, mert ez soha nem következik be. Szóval, több demo profilok állnak rendelkezésre. ChooseYourDemoProfil=Válassza ki a demo, amely egyezik a profilt tevékenység ... DemoFundation=Tagok kezelése egy alapítvány diff --git a/htdocs/langs/hu_HU/products.lang b/htdocs/langs/hu_HU/products.lang index fca3dfcaeb8..52b8c762c3f 100644 --- a/htdocs/langs/hu_HU/products.lang +++ b/htdocs/langs/hu_HU/products.lang @@ -13,6 +13,10 @@ NewProduct=Ú termék NewService=Új szolgáltatás ProductCode=Termék kód ServiceCode=SZolgáltatás kód +# ProductVatMassChange=Mass VAT change +# ProductVatMassChangeDesc=This page can be used to modify a VAT rate defined on products or services from a value to another. Warning, this change is done on all database. +# MassBarcodeInit=Mass barcode init +# MassBarcodeInitDesc=This page can be used to initialize a barcode on objects that does not have barcode defined. Check before that setup of module barcode is complete. ProductAccountancyBuyCode=Számviteli kód (vásárolni) ProductAccountancySellCode=Számviteli kód (eladás) ProductOrService=Termék vagy Szolgáltatás @@ -173,8 +177,8 @@ CustomCode=Vámkódex CountryOrigin=Származási ország HiddenIntoCombo=Rejtett a select lista Nature=Természet -# ProductCodeModel=Product code template -# ServiceCodeModel=Service code template +# ProductCodeModel=Product ref template +# ServiceCodeModel=Service ref template # AddThisProductCard=Create product card # HelpAddThisProductCard=This option allows you to create or clone a product if it does not exist. # AddThisServiceCard=Create service card @@ -216,5 +220,10 @@ QtyNeed=Menny. # DefinitionOfBarCodeForThirdpartyNotComplete=Definition of type or value of bar code non complete for thirdparty %s. # BarCodeDataForProduct=Barcode information of product %s : # BarCodeDataForThirdparty=Barcode information of thirdparty %s : -# BarcodeStickersMask=xxx - +# ResetBarcodeForAllRecords=Define barcode value for all records (this will also reset barcode value already defined with new values) +# PriceByCustomer=Price by customer +# PriceCatalogue=Catalogue Price +# PricingRule=Pricing Rules +# AddCustomerPrice=Add price by customers +# ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +# PriceByCustomerLog=Price by customer log diff --git a/htdocs/langs/hu_HU/projects.lang b/htdocs/langs/hu_HU/projects.lang index 3044f32e83d..f59cc8ecb45 100644 --- a/htdocs/langs/hu_HU/projects.lang +++ b/htdocs/langs/hu_HU/projects.lang @@ -1,4 +1,6 @@ # Dolibarr language file - Source file is en_US - projects +# RefProject=Ref. project +# ProjectId=Project Id Project=Projekt Projects=Projektek SharedProject=Mindenki @@ -30,11 +32,18 @@ TimeSpent=Eltöltött idő TimesSpent=Töltött idő RefTask=Feladat ref# LabelTask=Feladat cimkéje +# TaskTimeSpent=Time spent on tasks +# TaskTimeUser=Task time user +# TaskTimeNote=Task time note +# TaskTimeDate=Task time date NewTimeSpent=Új eltöltött idő MyTimeSpent=Az én eltöltött időm MyTasks=Feladataim Tasks=Feladatok Task=Feladat +# TaskDateStart=Task start date +# TaskDateEnd=Task end date +# TaskDescription=Task description NewTask=Új feladat AddTask=Feladat hozzáadása AddDuration=Időtartam hozzáadása @@ -100,12 +109,12 @@ IfNeedToUseOhterObjectKeepEmpty=Ha egyes tárgyakat (számla, megrendelés, ...) ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Projekt vezető TypeContact_project_external_PROJECTLEADER=Projekt vezető -TypeContact_project_internal_PROJECTCONTRIBUTOR=Hozzájáruló -TypeContact_project_external_PROJECTCONTRIBUTOR=Hozzájáruló +# TypeContact_project_internal_PROJECTCONTRIBUTOR=Contributor +# TypeContact_project_external_PROJECTCONTRIBUTOR=Contributor TypeContact_project_task_internal_TASKEXECUTIVE=Kivitelező TypeContact_project_task_external_TASKEXECUTIVE=Task Kivitelező -TypeContact_project_task_internal_TASKCONTRIBUTOR=Hozzájáruló -TypeContact_project_task_external_TASKCONTRIBUTOR=Hozzájáruló +# TypeContact_project_task_internal_TASKCONTRIBUTOR=Contributor +# TypeContact_project_task_external_TASKCONTRIBUTOR=Contributor # SelectElement=Select element # AddElement=Link to element # Documents models diff --git a/htdocs/langs/hu_HU/stocks.lang b/htdocs/langs/hu_HU/stocks.lang index 1d196d25465..f4169979944 100644 --- a/htdocs/langs/hu_HU/stocks.lang +++ b/htdocs/langs/hu_HU/stocks.lang @@ -94,14 +94,20 @@ SelectWarehouseForStockIncrease=Válassza ki a raktár használni állomány nö # StockToBuy=To order # Replenishment=Replenishment # ReplenishmentOrders=Replenishment orders -# UseVirtualStock=Use virtual stock instead of physical stock +# VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differs +# UseVirtualStockByDefault=Use virtual stock by default, instead of physical stock, for replenishment feature +# UseVirtualStock=Use virtual stock +# UsePhysicalStock=Use physical stock +# CurentSelectionMode=Curent selection mode +# CurentlyUsingVirtualStock=Virtual stock +# CurentlyUsingPhysicalStock=Physical stock # RuleForStockReplenishment=Rule for stocks replenishment # SelectProductWithNotNullQty=Select at least one product with a qty not null and a supplier # AlertOnly= Alerts only # WarehouseForStockDecrease=The warehouse %s will be used for stock decrease # WarehouseForStockIncrease=The warehouse %s will be used for stock increase # ForThisWarehouse=For this warehouse -# ReplenishmentStatusDesc=This is list of all product with a physical stock lower than desired stock (or alert value if checkbox "alert only" is checked) and suggest you to create supplier orders to fill the difference. +# ReplenishmentStatusDesc=This is list of all product with a stock lower than desired stock (or lower than alert value if checkbox "alert only" is checked), and suggest you to create supplier orders to fill the difference. # ReplenishmentOrdersDesc=This is list of all opened supplier orders # Replenishments=Replenishments # NbOfProductBeforePeriod=Quantity of product %s in stock before selected period (< %s) diff --git a/htdocs/langs/id_ID/admin.lang b/htdocs/langs/id_ID/admin.lang index 15a119b0d5a..0234d495fe9 100644 --- a/htdocs/langs/id_ID/admin.lang +++ b/htdocs/langs/id_ID/admin.lang @@ -287,7 +287,7 @@ VersionExperimental=Eksperimental # CallUpdatePage=Go to the page that updates the database structure and datas: %s. # LastStableVersion=Last stable version # GenericMaskCodes=You may enter any numbering mask. In this mask, the following tags could be used:
{000000} corresponds to a number which will be incremented on each %s. Enter as many zeros as the desired length of the counter. The counter will be completed by zeros from the left in order to have as many zeros as the mask.
{000000+000} same as previous but an offset corresponding to the number to the right of the + sign is applied starting on first %s.
{000000@x} same as previous but the counter is reset to zero when month x is reached (x between 1 and 12, or 0 to use the early months of fiscal year defined in your configuration, or 99 to reset to zero every month). If this option is used and x is 2 or higher, then sequence {yy}{mm} or {yyyy}{mm} is also required.
{dd} day (01 to 31).
{mm} month (01 to 12).
{yy}, {yyyy} or {y} year over 2, 4 or 1 numbers.
-# GenericMaskCodes2={cccc} the client code
{cccc000} the client code on n characters is followed by a client's ref counter without offset and zeroized with the global counter.
{tttt} The code of company type on n characters (see dictionary-company types).
+# GenericMaskCodes2={cccc} the client code on n characters
{cccc000} the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.
{tttt} The code of company type on n characters (see dictionary-company types).
# GenericMaskCodes3=All other characters in the mask will remain intact.
Spaces are not allowed.
# GenericMaskCodes4a=Example on the 99th %s of the third party TheCompany done 2007-01-31:
# GenericMaskCodes4b=Example on third party created on 2007-03-01:
@@ -345,8 +345,6 @@ VersionExperimental=Eksperimental # EnterRefToBuildUrl=Enter reference for object %s # GetSecuredUrl=Get calculated URL # ButtonHideUnauthorized=Hide buttons for unauthorized actions instead of showing disabled buttons -# ProductVatMassChange=Mass VAT change -# ProductVatMassChangeDesc=This page can be used to modify a VAT rate defined on products or services from a value to another. Warning, this change is done on all database. # OldVATRates=Old VAT rate # NewVATRates=New VAT rate # PriceBaseTypeToChange=Modify on prices with base reference value defined on @@ -381,6 +379,16 @@ VersionExperimental=Eksperimental # DefaultLink=Default link # ValueOverwrittenByUserSetup=Warning, this value may be overwritten by user specific setup (each user can set his own clicktodial url) # ExternalModule=External module - Installed into directory %s +# BarcodeInitForThirdparties=Mass barcode init for thirdparties +# BarcodeInitForProductsOrServices=Mass barcode init or reset for products or services +# CurrentlyNWithoutBarCode=Currently, you have %s records on %s %s without barcode defined. +# InitEmptyBarCode=Init value for next %s empty records +# EraseAllCurrentBarCode=Erase all current barcode values +# ConfirmEraseAllCurrentBarCode=Are you sure you want to erase all current barcode values ? +# AllBarcodeReset=All barcode values have been removed +# NoBarcodeNumberingTemplateDefined=No numbering barcode template enabled into barcode module setup. +# NoRecordWithoutBarcodeDefined=No record with no barcode value defined. + # Modules # Module0Name=Users & groups @@ -510,6 +518,8 @@ VersionExperimental=Eksperimental # Module59000Desc=Module to manage margins # Module60000Name=Commissions # Module60000Desc=Module to manage commissions +# Module150010Name=Batch number, eat-by date and sell-by date +# Module150010Desc=batch number, eat-by date and sell-by date management for product # Permission11=Read customer invoices # Permission12=Create/modify customer invoices # Permission13=Unvalidate customer invoices @@ -726,8 +736,8 @@ VersionExperimental=Eksperimental # Permission55002=Create/modify surveys # Permission59001=Read commercial margins # Permission59002=Define commercial margins -# DictionaryCompanyType=Company types -# DictionaryCompanyJuridicalType=Juridical kinds of company +# DictionaryCompanyType=Thirdparties type +# DictionaryCompanyJuridicalType=Juridical kinds of thirdparties # DictionaryProspectLevel=Prospect potential level # DictionaryCanton=State/Cantons # DictionaryRegion=Regions @@ -959,7 +969,7 @@ LocalTax2IsNotUsedExample= # ShowProfIdInAddress=Show professionnal id with addresses on documents # ShowVATIntaInAddress=Hide VAT Intra num with addresses on documents # TranslationUncomplete=Partial translation -# SomeTranslationAreUncomplete=Some languages may be partially translated or may contains errors. If you detect some, you can fix .lang text files into directory htdocs/langs and submit them on the forum at http://www.dolibarr.org. +# SomeTranslationAreUncomplete=Some languages may be partially translated or may contains errors. If you detect some, you can fix language files registering to http://transifex.com/projects/p/dolibarr/. # MenuUseLayout=Make vertical menu hidable (option javascript must not be disabled) # MAIN_DISABLE_METEO=Disable meteo view # TestLoginToAPI=Test login to API @@ -985,6 +995,7 @@ LocalTax2IsNotUsedExample= # ExtraFieldsProjectTask=Complementary attributes (tasks) # ExtraFieldHasWrongValue=Attribut %s has a wrong value. # AlphaNumOnlyCharsAndNoSpace=only alphanumericals characters without space +# AlphaNumOnlyLowerCharsAndNoSpace=only alphanumericals and lower case characters without space # SendingMailSetup=Setup of sendings by email # SendmailOptionNotComplete=Warning, on some Linux systems, to send email from your email, sendmail execution setup must contains option -ba (parameter mail.force_extra_parameters into your php.ini file). If some recipients never receive emails, try to edit this PHP parameter with mail.force_extra_parameters = -ba). # PathToDocuments=Path to documents @@ -1269,7 +1280,7 @@ LocalTax2IsNotUsedExample= # YouMayFindPerfAdviceHere=You will find on this page some checks or advices related to performance. # NotInstalled=Not installed, so your server is not slow down by this. # ApplicativeCache=Applicative cache -# MemcachedNotAvailable=No applicative cache found. You can enhance performance by installing a cache server Memcached and a module able to use this cache server. More information here http://wiki.dolibarr.org/index.php/Module_MemCached_EN. Note that a lot of web hosting provider does not provide such cache server. +# MemcachedNotAvailable=No applicative cache found. You can enhance performance by installing a cache server Memcached and a module able to use this cache server.
More information here http://wiki.dolibarr.org/index.php/Module_MemCached_EN.
Note that a lot of web hosting provider does not provide such cache server. # OPCodeCache=OPCode cache # NoOPCodeCacheFound=No OPCode cache found. May be you use another OPCode cache than XCache or eAccelerator (good), may be you don't have OPCode cache (very bad). # HTTPCacheStaticResources=HTTP cache for static resources (css, img, javascript) diff --git a/htdocs/langs/id_ID/agenda.lang b/htdocs/langs/id_ID/agenda.lang index 8a78e6c51c8..c5b02c0ecb6 100644 --- a/htdocs/langs/id_ID/agenda.lang +++ b/htdocs/langs/id_ID/agenda.lang @@ -52,6 +52,7 @@ # SupplierOrderSentByEMail=Supplier order %s sent by EMail # SupplierInvoiceSentByEMail=Supplier invoice %s sent by EMail # ShippingSentByEMail=Shipping %s sent by EMail +# ShippingValidated= Shipping %s validated # InterventionSentByEMail=Intervention %s sent by EMail # NewCompanyToDolibarr= Third party created # DateActionPlannedStart= Planned start date diff --git a/htdocs/langs/id_ID/cashdesk.lang b/htdocs/langs/id_ID/cashdesk.lang index 8fd787620f4..5cfb7ea3d6d 100644 --- a/htdocs/langs/id_ID/cashdesk.lang +++ b/htdocs/langs/id_ID/cashdesk.lang @@ -37,3 +37,4 @@ # ShowStock=Show warehouse # DeleteArticle=Click to remove this article # FilterRefOrLabelOrBC=Search (Ref/Label) +# UserNeedPermissionToEditStockToUsePos=You ask to decrease stock on invoice creation, so user that use POS need to have permission to edit stock. diff --git a/htdocs/langs/id_ID/errors.lang b/htdocs/langs/id_ID/errors.lang index f5e6781eb4c..473ab485c97 100644 --- a/htdocs/langs/id_ID/errors.lang +++ b/htdocs/langs/id_ID/errors.lang @@ -26,8 +26,11 @@ # ErrorBadThirdPartyName=Bad value for third party name # ErrorProdIdIsMandatory=The %s is mandatory # ErrorBadCustomerCodeSyntax=Bad syntax for customer code +# ErrorBadBarCodeSyntax=Bad syntax for bar code # ErrorCustomerCodeRequired=Customer code required +# ErrorBarCodeRequired=Bar code required # ErrorCustomerCodeAlreadyUsed=Customer code already used +# ErrorBarCodeAlreadyUsed=Bar code already used # ErrorPrefixRequired=Prefix required # ErrorUrlNotValid=The website address is incorrect # ErrorBadSupplierCodeSyntax=Bad syntax for supplier code @@ -63,6 +66,7 @@ # ErrorNoValueForRadioType=Please fill value for radio list # ErrorBadFormatValueList=The list value cannot have more than one come : %s, but need at least one: llave,valores # ErrorFieldCanNotContainSpecialCharacters=Field %s must not contains special characters. +# ErrorFieldCanNotContainSpecialNorUpperCharacters=Field %s must not contains special characters, nor upper case characters. # ErrorNoAccountancyModuleLoaded=No accountancy module activated # ErrorExportDuplicateProfil=This profile name already exists for this export set. # ErrorLDAPSetupNotComplete=Dolibarr-LDAP matching is not complete. diff --git a/htdocs/langs/id_ID/exports.lang b/htdocs/langs/id_ID/exports.lang index 34e249c20d2..9edc90ec48c 100644 --- a/htdocs/langs/id_ID/exports.lang +++ b/htdocs/langs/id_ID/exports.lang @@ -123,6 +123,10 @@ LibraryVersion=Versi # DeskCode=Desk code # BankAccountNumber=Account number # BankAccountNumberKey=Key +# SpecialCode=Special code +# ExportStringFilter=%% allows replacing one or more characters in the text +# ExportDateFilter='AAAA' 'AAAAMM' 'AAAAMMJJ': filters by one year/month/day
'AAAA+AAAA' 'AAAAMM+AAAAMM' 'AAAAMMJJ+AAAAMMJJ': filters over a range of years/months/days
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filters on the following years/months/days
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filters on the previous years/months/days +# ExportNumericFilter='NNNNN' filters by one value
'NNNNN+NNNNN' filters over a range of values
'>NNNNN' filters by lower values
'>NNNNN' filters by higher values ## filters # SelectFilterFields=If you want to filter on some values, just input values here. # FilterableFields=Champs Filtrables diff --git a/htdocs/langs/id_ID/mails.lang b/htdocs/langs/id_ID/mails.lang index 328fc3ec5d6..313acce4fa1 100644 --- a/htdocs/langs/id_ID/mails.lang +++ b/htdocs/langs/id_ID/mails.lang @@ -79,6 +79,13 @@ # ActivateCheckRead=Allow to use the "Unsubcribe" link # ActivateCheckReadKey=Key use to encrypt URL use for "Read Receipt" and "Unsubcribe" feature # EMailSentToNRecipients=EMail sent to %s recipients. +# EachInvoiceWillBeAttachedToEmail=A document using default invoice document template will be created and attached to each email. +# MailTopicSendRemindUnpaidInvoices=Remind of invoice %s (%s) +# SendRemind=Send remind by EMails +# RemindSent=%S remind(s) sent +# AllRecipientSelectedForRemind=All thirdparties selected and if an email is set (note that one mail per invoice will be sent) +# NoRemindSent=No remind by EMail sent +# ResultOfMassSending=Result of mass remind sending by EMail # Libelle des modules de liste de destinataires mailing # MailingModuleDescContactCompanies=Contacts/addresses of all third parties (customer, prospect, supplier, ...) diff --git a/htdocs/langs/id_ID/main.lang b/htdocs/langs/id_ID/main.lang index 43f9e41e878..f47c9b2da01 100644 --- a/htdocs/langs/id_ID/main.lang +++ b/htdocs/langs/id_ID/main.lang @@ -572,7 +572,7 @@ SeparatorThousand=None # TotalMan=Total # NeverReceived=Never received # Canceled=Canceled -# YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu setup - dictionnary +# YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu setup - dictionary # Color=Color # Documents=Linked files # DocumentsNb=Linked files (%s) diff --git a/htdocs/langs/id_ID/opensurvey.lang b/htdocs/langs/id_ID/opensurvey.lang index fec34d9dbe6..1fbafbdb317 100644 --- a/htdocs/langs/id_ID/opensurvey.lang +++ b/htdocs/langs/id_ID/opensurvey.lang @@ -35,6 +35,7 @@ # TitleChoice=Choice label # ExportSpreadsheet=Export result spreadsheet # ExpireDate=Limit date +# NbOfSurveys=Number of surveys # NbOfVoters=Nb of voters # SurveyResults=Results # PollAdminDesc=You are allowed to change all vote lines of this poll with button "Edit". You can, as well, remove a column or a line with %s. You can also add a new column with %s. diff --git a/htdocs/langs/id_ID/orders.lang b/htdocs/langs/id_ID/orders.lang index 6bbef48cfc9..42444f0ec1c 100644 --- a/htdocs/langs/id_ID/orders.lang +++ b/htdocs/langs/id_ID/orders.lang @@ -55,6 +55,7 @@ # MenuOrdersToBill=Orders delivered # MenuOrdersToBill2=Orders to bill # SearchOrder=Search order +# SearchACustomerOrder=Search a customer order # ShipProduct=Ship product # Discount=Discount # CreateOrder=Create Order @@ -164,3 +165,4 @@ # OrderCreated=Your orders have been created # OrderFail=An error happened during your orders creation # CreateOrders=Create orders +# ToBillSeveralOrderSelectCustomer=To create an invoice for several orders, click first onto customer, then choose "%s". diff --git a/htdocs/langs/id_ID/other.lang b/htdocs/langs/id_ID/other.lang index efd6a97c116..739ba86073e 100644 --- a/htdocs/langs/id_ID/other.lang +++ b/htdocs/langs/id_ID/other.lang @@ -49,14 +49,15 @@ # NbOfActiveNotifications=Number of notifications # PredefinedMailTest=This is a test mail.\nThe two lines are separated by a carriage return.\n\n__SIGNATURE__ # PredefinedMailTestHtml=This is a test mail (the word test must be in bold).
The two lines are separated by a carriage return.

__SIGNATURE__ -# PredefinedMailContentSendInvoice=__CONTACTCIVNAME__ \n\n You will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__ \n\n We would like to warn you that the invoice __FACREF__ seems to not being payed. So this is the invoice in attachment again, as a reminder.\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendProposal=__CONTACTCIVNAME__ \n\n You will find here the commercial proposal __PROPREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendOrder=__CONTACTCIVNAME__ \n\n You will find here the order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__ \n\n You will find here our order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__ \n\n You will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendShipping=__CONTACTCIVNAME__ \n\n You will find here the shipping __SHIPPINGREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendFichInter=__CONTACTCIVNAME__ \n\n You will find here the intervention __FICHINTERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__\n\nWe would like to warn you that the invoice __FACREF__ seems to not being payed. So this is the invoice in attachment again, as a reminder.\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendProposal=__CONTACTCIVNAME__\n\nYou will find here the commercial proposal __PROPREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendOrder=__CONTACTCIVNAME__\n\nYou will find here the order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__\n\nYou will find here our order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendShipping=__CONTACTCIVNAME__\n\nYou will find here the shipping __SHIPPINGREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendFichInter=__CONTACTCIVNAME__\n\nYou will find here the intervention __FICHINTERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentThirdparty=__CONTACTCIVNAME__\n\n__PERSONALIZED__\n\n__SIGNATURE__ # DemoDesc=Dolibarr is a compact ERP/CRM composed by several functional modules. A demo that includes all modules does not mean anything as this never occurs. So, several demo profiles are available. # ChooseYourDemoProfil=Choose the demo profile that match your activity... # DemoFundation=Manage members of a foundation diff --git a/htdocs/langs/id_ID/products.lang b/htdocs/langs/id_ID/products.lang index 9f75dab9917..d91deb78816 100644 --- a/htdocs/langs/id_ID/products.lang +++ b/htdocs/langs/id_ID/products.lang @@ -13,6 +13,10 @@ # NewService=New service # ProductCode=Product code # ServiceCode=Service code +# ProductVatMassChange=Mass VAT change +# ProductVatMassChangeDesc=This page can be used to modify a VAT rate defined on products or services from a value to another. Warning, this change is done on all database. +# MassBarcodeInit=Mass barcode init +# MassBarcodeInitDesc=This page can be used to initialize a barcode on objects that does not have barcode defined. Check before that setup of module barcode is complete. # ProductAccountancyBuyCode=Accountancy code (buy) # ProductAccountancySellCode=Accountancy code (sell) # ProductOrService=Product or Service @@ -173,8 +177,8 @@ # CountryOrigin=Origin country # HiddenIntoCombo=Hidden into select lists # Nature=Nature -# ProductCodeModel=Product code template -# ServiceCodeModel=Service code template +# ProductCodeModel=Product ref template +# ServiceCodeModel=Service ref template # AddThisProductCard=Create product card # HelpAddThisProductCard=This option allows you to create or clone a product if it does not exist. # AddThisServiceCard=Create service card @@ -216,5 +220,10 @@ # DefinitionOfBarCodeForThirdpartyNotComplete=Definition of type or value of bar code non complete for thirdparty %s. # BarCodeDataForProduct=Barcode information of product %s : # BarCodeDataForThirdparty=Barcode information of thirdparty %s : -# BarcodeStickersMask=xxx - +# ResetBarcodeForAllRecords=Define barcode value for all records (this will also reset barcode value already defined with new values) +# PriceByCustomer=Price by customer +# PriceCatalogue=Catalogue Price +# PricingRule=Pricing Rules +# AddCustomerPrice=Add price by customers +# ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +# PriceByCustomerLog=Price by customer log diff --git a/htdocs/langs/id_ID/projects.lang b/htdocs/langs/id_ID/projects.lang index f2c0c2b86c6..2710b95cdf8 100644 --- a/htdocs/langs/id_ID/projects.lang +++ b/htdocs/langs/id_ID/projects.lang @@ -1,4 +1,6 @@ # Dolibarr language file - Source file is en_US - projects +# RefProject=Ref. project +# ProjectId=Project Id # Project=Project # Projects=Projects # SharedProject=Everybody @@ -30,11 +32,18 @@ # TimesSpent=Time spent # RefTask=Ref. task # LabelTask=Label task +# TaskTimeSpent=Time spent on tasks +# TaskTimeUser=Task time user +# TaskTimeNote=Task time note +# TaskTimeDate=Task time date # NewTimeSpent=New time spent # MyTimeSpent=My time spent # MyTasks=My tasks # Tasks=Tasks # Task=Task +# TaskDateStart=Task start date +# TaskDateEnd=Task end date +# TaskDescription=Task description # NewTask=New task # AddTask=Add task # AddDuration=Add duration @@ -100,12 +109,12 @@ ##### Types de contacts ##### # TypeContact_project_internal_PROJECTLEADER=Project leader # TypeContact_project_external_PROJECTLEADER=Project leader -# TypeContact_project_internal_CONTRIBUTOR=Contributor -# TypeContact_project_external_CONTRIBUTOR=Contributor +# TypeContact_project_internal_PROJECTCONTRIBUTOR=Contributor +# TypeContact_project_external_PROJECTCONTRIBUTOR=Contributor # TypeContact_project_task_internal_TASKEXECUTIVE=Task executive # TypeContact_project_task_external_TASKEXECUTIVE=Task executive -# TypeContact_project_task_internal_CONTRIBUTOR=Contributor -# TypeContact_project_task_external_CONTRIBUTOR=Contributor +# TypeContact_project_task_internal_TASKCONTRIBUTOR=Contributor +# TypeContact_project_task_external_TASKCONTRIBUTOR=Contributor # SelectElement=Select element # AddElement=Link to element # Documents models diff --git a/htdocs/langs/id_ID/stocks.lang b/htdocs/langs/id_ID/stocks.lang index d6c87f1062f..be1e333f87c 100644 --- a/htdocs/langs/id_ID/stocks.lang +++ b/htdocs/langs/id_ID/stocks.lang @@ -94,14 +94,20 @@ # StockToBuy=To order # Replenishment=Replenishment # ReplenishmentOrders=Replenishment orders -# UseVirtualStock=Use virtual stock instead of physical stock +# VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differs +# UseVirtualStockByDefault=Use virtual stock by default, instead of physical stock, for replenishment feature +# UseVirtualStock=Use virtual stock +# UsePhysicalStock=Use physical stock +# CurentSelectionMode=Curent selection mode +# CurentlyUsingVirtualStock=Virtual stock +# CurentlyUsingPhysicalStock=Physical stock # RuleForStockReplenishment=Rule for stocks replenishment # SelectProductWithNotNullQty=Select at least one product with a qty not null and a supplier # AlertOnly= Alerts only # WarehouseForStockDecrease=The warehouse %s will be used for stock decrease # WarehouseForStockIncrease=The warehouse %s will be used for stock increase # ForThisWarehouse=For this warehouse -# ReplenishmentStatusDesc=This is list of all product with a physical stock lower than desired stock (or alert value if checkbox "alert only" is checked) and suggest you to create supplier orders to fill the difference. +# ReplenishmentStatusDesc=This is list of all product with a stock lower than desired stock (or lower than alert value if checkbox "alert only" is checked), and suggest you to create supplier orders to fill the difference. # ReplenishmentOrdersDesc=This is list of all opened supplier orders # Replenishments=Replenishments # NbOfProductBeforePeriod=Quantity of product %s in stock before selected period (< %s) diff --git a/htdocs/langs/is_IS/admin.lang b/htdocs/langs/is_IS/admin.lang index ec1ca99a540..7b327c4931a 100644 --- a/htdocs/langs/is_IS/admin.lang +++ b/htdocs/langs/is_IS/admin.lang @@ -287,7 +287,7 @@ CurrentVersion=Dolibarr núverandi útgáfa CallUpdatePage=Fara á næstu síðu sem að endurnýja gagnagrunn uppbyggingu og gögn: %s . LastStableVersion=Síðasta stöðuga útgáfa GenericMaskCodes=Þú getur fært inn hvaða tala lagsins. Í þessu maska gæti eftirfarandi tög að nota:
(000000) samsvarar fjölda sem verður incremented á hverjum %s . Sláðu inn eins mörg núll og löngun lengd borðið. Teljarinn verður lokið við núllum frá vinstri til að fá eins mörg núll og lagsins.
(000000 000) sami eins og fyrri en að vega upp á móti sem svarar til fjölda til hægri á + merki er notað sem hófst á fyrsta %s .
(000000 @ x) sami eins og fyrri en borðið er endurstilla á núll þegar mánaðar x er náð (x á milli 1 og 12). Ef þessi möguleiki er notaður og x er 2 eða hærra, þá röð (YY) (mm) eða (áááá) (mm) er einnig nauðsynleg.
(Dd) dag (01-31).
(Mm) mánuði (01-12).
(YY), (áááá) eða (y) ár yfir 2, 4 eða 1 númer.
-# GenericMaskCodes2={cccc} the client code
{cccc000} the client code on n characters is followed by a client's ref counter without offset and zeroized with the global counter.
{tttt} The code of company type on n characters (see dictionary-company types).
+# GenericMaskCodes2={cccc} the client code on n characters
{cccc000} the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.
{tttt} The code of company type on n characters (see dictionary-company types).
GenericMaskCodes3=Allir aðrir stafir í möskva haldast óbreytt.
Bil eru ekki leyfð.
GenericMaskCodes4a=Dæmi um 99 %s af þriðja aðila TheCompany gert 2007/01/31:
GenericMaskCodes4b=Dæmi um þriðja aðila skapa á 2007/3/1:
@@ -345,8 +345,6 @@ SecurityTokenIsUnique=Nota einstakt securekey breytu fyrir hvert slóð EnterRefToBuildUrl=Sláðu inn tilvísun til %s mótmæla GetSecuredUrl=Fá reiknað slóð # ButtonHideUnauthorized=Hide buttons for unauthorized actions instead of showing disabled buttons -# ProductVatMassChange=Mass VAT change -# ProductVatMassChangeDesc=This page can be used to modify a VAT rate defined on products or services from a value to another. Warning, this change is done on all database. # OldVATRates=Old VAT rate # NewVATRates=New VAT rate # PriceBaseTypeToChange=Modify on prices with base reference value defined on @@ -381,6 +379,16 @@ ExtrafieldPrice = Verð # DefaultLink=Default link # ValueOverwrittenByUserSetup=Warning, this value may be overwritten by user specific setup (each user can set his own clicktodial url) # ExternalModule=External module - Installed into directory %s +# BarcodeInitForThirdparties=Mass barcode init for thirdparties +# BarcodeInitForProductsOrServices=Mass barcode init or reset for products or services +# CurrentlyNWithoutBarCode=Currently, you have %s records on %s %s without barcode defined. +# InitEmptyBarCode=Init value for next %s empty records +# EraseAllCurrentBarCode=Erase all current barcode values +# ConfirmEraseAllCurrentBarCode=Are you sure you want to erase all current barcode values ? +# AllBarcodeReset=All barcode values have been removed +# NoBarcodeNumberingTemplateDefined=No numbering barcode template enabled into barcode module setup. +# NoRecordWithoutBarcodeDefined=No record with no barcode value defined. + # Modules Module0Name=Notendur & hópar @@ -510,6 +518,8 @@ Module50200Desc= Module til að bjóða upp á netinu greiðslu síðu með kred # Module59000Desc=Module to manage margins # Module60000Name=Commissions # Module60000Desc=Module to manage commissions +# Module150010Name=Batch number, eat-by date and sell-by date +# Module150010Desc=batch number, eat-by date and sell-by date management for product Permission11=Lesa reikningum Permission12=Búa til reikninga Permission13=Breyta/Staðfesta reikningum @@ -726,8 +736,8 @@ Permission50202=Flytja viðskipti # Permission55002=Create/modify surveys # Permission59001=Read commercial margins # Permission59002=Define commercial margins -# DictionaryCompanyType=Company types -# DictionaryCompanyJuridicalType=Juridical kinds of company +# DictionaryCompanyType=Thirdparties type +# DictionaryCompanyJuridicalType=Juridical kinds of thirdparties # DictionaryProspectLevel=Prospect potential level # DictionaryCanton=State/Cantons # DictionaryRegion=Regions @@ -959,7 +969,7 @@ SimpleNumRefModelDesc=Return tilvísunarnúmerið með snið %s yymm-NNNN þar Y ShowProfIdInAddress=Sýna professionnal persónuskilríki með heimilisföng á skjölum # ShowVATIntaInAddress=Hide VAT Intra num with addresses on documents TranslationUncomplete=Algjör þýðing -SomeTranslationAreUncomplete=Sum tungumál má að hluta þýdd eða getur inniheldur villur. Ef þú uppgötva sumir, getur þú festa. Lang textaskrár í htdocs möppuna / langs og senda þær á vettvang á http://www.dolibarr.org . +# SomeTranslationAreUncomplete=Some languages may be partially translated or may contains errors. If you detect some, you can fix language files registering to http://transifex.com/projects/p/dolibarr/. MenuUseLayout=Gera lóðrétt valmyndinni hidable (valkostur að hafa JavaScript verður ekki fatlaður) MAIN_DISABLE_METEO=Slökkva meteo mynd TestLoginToAPI=Próf tenging til API @@ -985,6 +995,7 @@ ExtraFields=Fyllingar eiginleika # ExtraFieldsProjectTask=Complementary attributes (tasks) ExtraFieldHasWrongValue=Rekja má %s hefur rangt gildi. # AlphaNumOnlyCharsAndNoSpace=only alphanumericals characters without space +# AlphaNumOnlyLowerCharsAndNoSpace=only alphanumericals and lower case characters without space SendingMailSetup=Uppsetning sendings með tölvupósti SendmailOptionNotComplete=Aðvörun, á sumum Linux kerfi, að senda tölvupóst úr bréfinu, sendu mail framkvæmd skipulag verður conatins valkostur-BA (breytu mail.force_extra_parameters í skrá php.ini þinn). Ef viðtakendur eru margir aldrei fá tölvupóst, reyna að breyta þessari PHP breytu með mail.force_extra_parameters =-BA). PathToDocuments=Path að skjölum @@ -1269,7 +1280,7 @@ ForANonAnonymousAccess=Til að staðfesta aðild (til a skrifa aðgangur til dæ # YouMayFindPerfAdviceHere=You will find on this page some checks or advices related to performance. # NotInstalled=Not installed, so your server is not slow down by this. # ApplicativeCache=Applicative cache -# MemcachedNotAvailable=No applicative cache found. You can enhance performance by installing a cache server Memcached and a module able to use this cache server. More information here http://wiki.dolibarr.org/index.php/Module_MemCached_EN. Note that a lot of web hosting provider does not provide such cache server. +# MemcachedNotAvailable=No applicative cache found. You can enhance performance by installing a cache server Memcached and a module able to use this cache server.
More information here http://wiki.dolibarr.org/index.php/Module_MemCached_EN.
Note that a lot of web hosting provider does not provide such cache server. # OPCodeCache=OPCode cache # NoOPCodeCacheFound=No OPCode cache found. May be you use another OPCode cache than XCache or eAccelerator (good), may be you don't have OPCode cache (very bad). # HTTPCacheStaticResources=HTTP cache for static resources (css, img, javascript) diff --git a/htdocs/langs/is_IS/agenda.lang b/htdocs/langs/is_IS/agenda.lang index 7ab71b8d7f8..ce88d1a8d3a 100644 --- a/htdocs/langs/is_IS/agenda.lang +++ b/htdocs/langs/is_IS/agenda.lang @@ -52,6 +52,7 @@ InvoiceSentByEMail=Viðskiptavinur vörureikningi %s send með tölvupósti SupplierOrderSentByEMail=Birgir röð %s send með tölvupósti SupplierInvoiceSentByEMail=Birgir vörureikningi %s send með tölvupósti ShippingSentByEMail=Sendingarmáti %s send með tölvupósti +# ShippingValidated= Shipping %s validated InterventionSentByEMail=Inngrip %s send með tölvupósti NewCompanyToDolibarr= Í þriðja aðila til DateActionPlannedStart= Fyrirhugaður upphafsdagur diff --git a/htdocs/langs/is_IS/cashdesk.lang b/htdocs/langs/is_IS/cashdesk.lang index 02027a8eaac..d01259e8f66 100644 --- a/htdocs/langs/is_IS/cashdesk.lang +++ b/htdocs/langs/is_IS/cashdesk.lang @@ -37,3 +37,4 @@ ShowCompany=Sýna fyrirtæki ShowStock=Sýna vöruhús DeleteArticle=Smelltu til að fjarlægja þessa grein # FilterRefOrLabelOrBC=Search (Ref/Label) +# UserNeedPermissionToEditStockToUsePos=You ask to decrease stock on invoice creation, so user that use POS need to have permission to edit stock. diff --git a/htdocs/langs/is_IS/errors.lang b/htdocs/langs/is_IS/errors.lang index b90394a6413..65df3775aca 100644 --- a/htdocs/langs/is_IS/errors.lang +++ b/htdocs/langs/is_IS/errors.lang @@ -26,8 +26,11 @@ ErrorFromToAccountsMustDiffers=Heimild og markmið bankareikninga verður að ve ErrorBadThirdPartyName=Bad gildi fyrir þriðja aðila Nafn # ErrorProdIdIsMandatory=The %s is mandatory ErrorBadCustomerCodeSyntax=Bad setningafræði fyrir kóða viðskiptavina +# ErrorBadBarCodeSyntax=Bad syntax for bar code ErrorCustomerCodeRequired=Viðskiptavinur númer sem þarf +# ErrorBarCodeRequired=Bar code required ErrorCustomerCodeAlreadyUsed=Viðskiptavinur sem notaður er þegar +# ErrorBarCodeAlreadyUsed=Bar code already used ErrorPrefixRequired=Forskeyti krafist ErrorUrlNotValid=The website netfang er rangt ErrorBadSupplierCodeSyntax=Bad setningafræði fyrir birgi kóða @@ -63,6 +66,7 @@ ErrorSizeTooLongForVarcharType=Stærð of lengi fyrir gerð band (%s stafir hám # ErrorNoValueForRadioType=Please fill value for radio list # ErrorBadFormatValueList=The list value cannot have more than one come : %s, but need at least one: llave,valores ErrorFieldCanNotContainSpecialCharacters=Akur %s verður ekki innihalda sértákn. +# ErrorFieldCanNotContainSpecialNorUpperCharacters=Field %s must not contains special characters, nor upper case characters. ErrorNoAccountancyModuleLoaded=Nei bókhalds mát virkja # ErrorExportDuplicateProfil=This profile name already exists for this export set. ErrorLDAPSetupNotComplete=Dolibarr-LDAP samsvörun er ekki lokið. diff --git a/htdocs/langs/is_IS/exports.lang b/htdocs/langs/is_IS/exports.lang index 81c8d1f5847..3647e853d4d 100644 --- a/htdocs/langs/is_IS/exports.lang +++ b/htdocs/langs/is_IS/exports.lang @@ -123,6 +123,10 @@ BankCode=Bankakóði DeskCode=Skrifborð kóða BankAccountNumber=Reikningsnúmer BankAccountNumberKey=Lykill +# SpecialCode=Special code +# ExportStringFilter=%% allows replacing one or more characters in the text +# ExportDateFilter='AAAA' 'AAAAMM' 'AAAAMMJJ': filters by one year/month/day
'AAAA+AAAA' 'AAAAMM+AAAAMM' 'AAAAMMJJ+AAAAMMJJ': filters over a range of years/months/days
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filters on the following years/months/days
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filters on the previous years/months/days +# ExportNumericFilter='NNNNN' filters by one value
'NNNNN+NNNNN' filters over a range of values
'>NNNNN' filters by lower values
'>NNNNN' filters by higher values ## filters # SelectFilterFields=If you want to filter on some values, just input values here. # FilterableFields=Champs Filtrables diff --git a/htdocs/langs/is_IS/mails.lang b/htdocs/langs/is_IS/mails.lang index 717ec76c0d7..18b7e7ebd17 100644 --- a/htdocs/langs/is_IS/mails.lang +++ b/htdocs/langs/is_IS/mails.lang @@ -79,6 +79,13 @@ MailingStatusRead=Lesa # ActivateCheckRead=Allow to use the "Unsubcribe" link # ActivateCheckReadKey=Key use to encrypt URL use for "Read Receipt" and "Unsubcribe" feature # EMailSentToNRecipients=EMail sent to %s recipients. +# EachInvoiceWillBeAttachedToEmail=A document using default invoice document template will be created and attached to each email. +# MailTopicSendRemindUnpaidInvoices=Remind of invoice %s (%s) +# SendRemind=Send remind by EMails +# RemindSent=%S remind(s) sent +# AllRecipientSelectedForRemind=All thirdparties selected and if an email is set (note that one mail per invoice will be sent) +# NoRemindSent=No remind by EMail sent +# ResultOfMassSending=Result of mass remind sending by EMail # Libelle des modules de liste de destinataires mailing MailingModuleDescContactCompanies=Tengiliðir allra þriðja aðila (viðskiptavinur, horfur, birgir, ...) diff --git a/htdocs/langs/is_IS/main.lang b/htdocs/langs/is_IS/main.lang index 710b7d12273..4eaeb374804 100644 --- a/htdocs/langs/is_IS/main.lang +++ b/htdocs/langs/is_IS/main.lang @@ -572,7 +572,7 @@ TotalWoman=Samtals TotalMan=Samtals NeverReceived=Aldrei fengið Canceled=Hætt við -# YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu setup - dictionnary +# YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu setup - dictionary Color=Litur Documents=Hlekkur skrá DocumentsNb=Hlekkur skrá ( %s ) diff --git a/htdocs/langs/is_IS/opensurvey.lang b/htdocs/langs/is_IS/opensurvey.lang index 8852dbb7aee..4a637b78dd3 100644 --- a/htdocs/langs/is_IS/opensurvey.lang +++ b/htdocs/langs/is_IS/opensurvey.lang @@ -35,6 +35,7 @@ # TitleChoice=Choice label # ExportSpreadsheet=Export result spreadsheet ExpireDate=Takmarka dagsetningu +# NbOfSurveys=Number of surveys # NbOfVoters=Nb of voters # SurveyResults=Results # PollAdminDesc=You are allowed to change all vote lines of this poll with button "Edit". You can, as well, remove a column or a line with %s. You can also add a new column with %s. diff --git a/htdocs/langs/is_IS/orders.lang b/htdocs/langs/is_IS/orders.lang index d517a88b33c..48c220c4d9b 100644 --- a/htdocs/langs/is_IS/orders.lang +++ b/htdocs/langs/is_IS/orders.lang @@ -55,6 +55,7 @@ DraftOrWaitingShipped=Drög eða viðurkennd ekki enn flutt MenuOrdersToBill=Pantanir við reikning # MenuOrdersToBill2=Orders to bill SearchOrder=Leita röð +# SearchACustomerOrder=Search a customer order ShipProduct=Skip vöru Discount=Afsláttur CreateOrder=Búa Order @@ -164,3 +165,4 @@ OrderByPhone=Sími # OrderCreated=Your orders have been created # OrderFail=An error happened during your orders creation # CreateOrders=Create orders +# ToBillSeveralOrderSelectCustomer=To create an invoice for several orders, click first onto customer, then choose "%s". diff --git a/htdocs/langs/is_IS/other.lang b/htdocs/langs/is_IS/other.lang index 6d11dfa7249..a1700420b7c 100644 --- a/htdocs/langs/is_IS/other.lang +++ b/htdocs/langs/is_IS/other.lang @@ -49,14 +49,15 @@ Miscellaneous=Ýmislegt NbOfActiveNotifications=Fjöldi tilkynninga PredefinedMailTest=Þetta er prófun póst. \\ NThe tvær línur eru aðskilin með vagn til baka. PredefinedMailTestHtml=Þetta er prófun póstur (orðið próf verður feitletruð).
Þessar tvær línur eru aðskilin með vagn til baka. -PredefinedMailContentSendInvoice=__CONTACTCIVNAME__ \n\n Þú vilja finna hér á reikningsnúmerið __ FACREF__ \n\n__PERSONALIZED__ kveðju \n\n__SIGNATURE__ -PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__ \n\n Við viljum vara þig á að reikningur __ FACREF__ virðist ekki vera greiddur. Svo er þetta reikningur í viðhengi aftur, sem áminningu. \n\n__PERSONALIZED__ kveðju \n\n__SIGNATURE__ -PredefinedMailContentSendProposal=__CONTACTCIVNAME__ \n\n Þú vilja finna hér auglýsing propoal __ PROPREF__ \n\n__PERSONALIZED__ kveðju \n\n__SIGNATURE__ -PredefinedMailContentSendOrder=__CONTACTCIVNAME__ \n\n Þú vilja finna hér til __ ORDERREF__ \n\n__PERSONALIZED__ kveðju \n\n__SIGNATURE__ -PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__ \n\n Þú vilja finna hér til __ORDERREF__ okkar \n\n__PERSONALIZED__Sincerely \n\n__SIGNATURE__ -PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__ \n\n Þú vilja finna hér á reikningsnúmerið __ FACREF__ \n\n__PERSONALIZED__ kveðju \n\n__SIGNATURE__ -PredefinedMailContentSendShipping=__CONTACTCIVNAME__ \n\n Þú vilja finna hér siglinga __ SHIPPINGREF__ \n\n__PERSONALIZED__ kveðju \n\n__SIGNATURE__ -PredefinedMailContentSendFichInter=__CONTACTCIVNAME__ \n\n Þú vilja finna hér á afskiptum __FICHINTERREF__ \n\n__PERSONALIZED__Sincerely \n\n__SIGNATURE__ +# PredefinedMailContentSendInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__\n\nWe would like to warn you that the invoice __FACREF__ seems to not being payed. So this is the invoice in attachment again, as a reminder.\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendProposal=__CONTACTCIVNAME__\n\nYou will find here the commercial proposal __PROPREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendOrder=__CONTACTCIVNAME__\n\nYou will find here the order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__\n\nYou will find here our order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendShipping=__CONTACTCIVNAME__\n\nYou will find here the shipping __SHIPPINGREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendFichInter=__CONTACTCIVNAME__\n\nYou will find here the intervention __FICHINTERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentThirdparty=__CONTACTCIVNAME__\n\n__PERSONALIZED__\n\n__SIGNATURE__ DemoDesc=Dolibarr er samningur ERP / CRM samanstendur af nokkrum hagnýtur mát. A kynningu sem inniheldur allar einingar þýðir ekki neitt eins og það gerist aldrei. Svo eru nokkrir snið kynningu í boði. ChooseYourDemoProfil=Veldu kynningu profil sem passa við starfsemi þína ... DemoFundation=Manage meðlimum úr grunni diff --git a/htdocs/langs/is_IS/products.lang b/htdocs/langs/is_IS/products.lang index be82bb034f4..2522f7a555a 100644 --- a/htdocs/langs/is_IS/products.lang +++ b/htdocs/langs/is_IS/products.lang @@ -13,6 +13,10 @@ NewProduct=Nýjar vörur NewService=Ný þjónusta ProductCode=Vörunúmer ServiceCode=Þjónusta kóða +# ProductVatMassChange=Mass VAT change +# ProductVatMassChangeDesc=This page can be used to modify a VAT rate defined on products or services from a value to another. Warning, this change is done on all database. +# MassBarcodeInit=Mass barcode init +# MassBarcodeInitDesc=This page can be used to initialize a barcode on objects that does not have barcode defined. Check before that setup of module barcode is complete. ProductAccountancyBuyCode=Bókhalds-númer (kaupa) ProductAccountancySellCode=Bókhalds-númer (selja) ProductOrService=Vara eða þjónusta @@ -173,8 +177,8 @@ CustomCode=Tollareglna CountryOrigin=Uppruni land HiddenIntoCombo=Falinn í að velja lista Nature=Náttúra -# ProductCodeModel=Product code template -# ServiceCodeModel=Service code template +# ProductCodeModel=Product ref template +# ServiceCodeModel=Service ref template # AddThisProductCard=Create product card # HelpAddThisProductCard=This option allows you to create or clone a product if it does not exist. # AddThisServiceCard=Create service card @@ -216,5 +220,10 @@ QtyNeed=Magn # DefinitionOfBarCodeForThirdpartyNotComplete=Definition of type or value of bar code non complete for thirdparty %s. # BarCodeDataForProduct=Barcode information of product %s : # BarCodeDataForThirdparty=Barcode information of thirdparty %s : -# BarcodeStickersMask=xxx - +# ResetBarcodeForAllRecords=Define barcode value for all records (this will also reset barcode value already defined with new values) +# PriceByCustomer=Price by customer +# PriceCatalogue=Catalogue Price +# PricingRule=Pricing Rules +# AddCustomerPrice=Add price by customers +# ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +# PriceByCustomerLog=Price by customer log diff --git a/htdocs/langs/is_IS/projects.lang b/htdocs/langs/is_IS/projects.lang index 05580f4da4c..585f52541f3 100644 --- a/htdocs/langs/is_IS/projects.lang +++ b/htdocs/langs/is_IS/projects.lang @@ -1,4 +1,6 @@ # Dolibarr language file - Source file is en_US - projects +# RefProject=Ref. project +# ProjectId=Project Id Project=Project Projects=Verkefni SharedProject=Allir @@ -30,11 +32,18 @@ TimeSpent=Tíma sem fer TimesSpent=Tími RefTask=Tilv. verkefni LabelTask=Merki verkefni +# TaskTimeSpent=Time spent on tasks +# TaskTimeUser=Task time user +# TaskTimeNote=Task time note +# TaskTimeDate=Task time date NewTimeSpent=Nýr tími MyTimeSpent=Minn tími var MyTasks=verkefni mitt Tasks=Verkefni Task=Verkefni +# TaskDateStart=Task start date +# TaskDateEnd=Task end date +# TaskDescription=Task description NewTask=Ný verkefni AddTask=Bæta við verkefni AddDuration=Bæta við lengd @@ -100,12 +109,12 @@ IfNeedToUseOhterObjectKeepEmpty=Ef sumir hlutir (nótum röð ...), sem tilheyra ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Project leiðtogi TypeContact_project_external_PROJECTLEADER=Project leiðtogi -TypeContact_project_internal_PROJECTCONTRIBUTOR=Framlög -TypeContact_project_external_PROJECTCONTRIBUTOR=Framlög +# TypeContact_project_internal_PROJECTCONTRIBUTOR=Contributor +# TypeContact_project_external_PROJECTCONTRIBUTOR=Contributor TypeContact_project_task_internal_TASKEXECUTIVE=Verkefni framkvæmdastjóri TypeContact_project_task_external_TASKEXECUTIVE=Verkefni framkvæmdastjóri -TypeContact_project_task_internal_TASKCONTRIBUTOR=Framlög -TypeContact_project_task_external_TASKCONTRIBUTOR=Framlög +# TypeContact_project_task_internal_TASKCONTRIBUTOR=Contributor +# TypeContact_project_task_external_TASKCONTRIBUTOR=Contributor # SelectElement=Select element # AddElement=Link to element # Documents models diff --git a/htdocs/langs/is_IS/stocks.lang b/htdocs/langs/is_IS/stocks.lang index d2aa364675b..862e7562954 100644 --- a/htdocs/langs/is_IS/stocks.lang +++ b/htdocs/langs/is_IS/stocks.lang @@ -94,14 +94,20 @@ SelectWarehouseForStockIncrease=Veldu vöruhús að nota fyrir hækkun hlutabré # StockToBuy=To order # Replenishment=Replenishment # ReplenishmentOrders=Replenishment orders -# UseVirtualStock=Use virtual stock instead of physical stock +# VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differs +# UseVirtualStockByDefault=Use virtual stock by default, instead of physical stock, for replenishment feature +# UseVirtualStock=Use virtual stock +# UsePhysicalStock=Use physical stock +# CurentSelectionMode=Curent selection mode +# CurentlyUsingVirtualStock=Virtual stock +# CurentlyUsingPhysicalStock=Physical stock # RuleForStockReplenishment=Rule for stocks replenishment # SelectProductWithNotNullQty=Select at least one product with a qty not null and a supplier # AlertOnly= Alerts only # WarehouseForStockDecrease=The warehouse %s will be used for stock decrease # WarehouseForStockIncrease=The warehouse %s will be used for stock increase # ForThisWarehouse=For this warehouse -# ReplenishmentStatusDesc=This is list of all product with a physical stock lower than desired stock (or alert value if checkbox "alert only" is checked) and suggest you to create supplier orders to fill the difference. +# ReplenishmentStatusDesc=This is list of all product with a stock lower than desired stock (or lower than alert value if checkbox "alert only" is checked), and suggest you to create supplier orders to fill the difference. # ReplenishmentOrdersDesc=This is list of all opened supplier orders # Replenishments=Replenishments # NbOfProductBeforePeriod=Quantity of product %s in stock before selected period (< %s) diff --git a/htdocs/langs/it_IT/admin.lang b/htdocs/langs/it_IT/admin.lang index 4d3d7983002..b76230616f4 100644 --- a/htdocs/langs/it_IT/admin.lang +++ b/htdocs/langs/it_IT/admin.lang @@ -9,7 +9,7 @@ VersionDevelopment=Sviluppo VersionUnknown=Sconosciuta VersionRecommanded=Raccomandata SessionId=ID di sessione -SessionSaveHandler=Handler per salvare le sessioni +SessionSaveHandler=Handler per il salvataggio dell sessioni SessionSavePath=Percorso per il salvataggio delle sessioni PurgeSessions=Pulizia delle sessioni # ConfirmPurgeSessions=Do you really want to purge all sessions ? This will disconnect every user (except yourself). @@ -17,16 +17,16 @@ NoSessionListWithThisHandler=Il gestore delle sessioni configurato in PHP non co LockNewSessions=Bloccare le nuove connessioni ConfirmLockNewSessions=Sei sicuro di voler limitare qualsiasi nuova connessione a Dolibarr a te stesso? %s solo l'utente sarà in grado di connettersi dopo la modifica. UnlockNewSessions=Rimuovere il blocco di connessione -YourSession=La sessione di -Sessions=Sessioni +YourSession=La tua sessione +Sessions=Sessione utente WebUserGroup=Utente/gruppo del server web (per esempio www-data) NoSessionFound=Il PHP del server sembra non permettere di elencare le sessioni attive. La directory utilizzata per salvare le sessioni (%s) potrebbe essere protetta (Potrebbe essere fatto con permessi sul filesystem o con la direttiva open_basedir di PHP). HTMLCharset=Charset per le pagine HTML -DBStoringCharset=Charset database per memorizzare i dati -DBSortingCharset=Charset database per ordinare i dati +DBStoringCharset=Charset per il salvataggio dei dati nel database +DBSortingCharset=Charset per l'rodinamento dei dati nel database WarningModuleNotActive=Il modulo %s deve essere attivato WarningOnlyPermissionOfActivatedModules=Qui vengono mostrate solo le autorizzazioni relative ai moduli attivi. È possibile attivare altri moduli nelle impostazioni - pagina Moduli. -DolibarrSetup=Setup Dolibarr +DolibarrSetup=Installazione o aggiornamento di Dolibarr DolibarrUser=Utente Dolibarr InternalUser=Utente interno ExternalUser=Utente esterno @@ -35,14 +35,14 @@ ExternalUsers=Utenti esterni GlobalSetup=Impostazioni globali GUISetup=Layout di visualizzazione SetupArea=Sezione impostazioni -FormToTestFileUploadForm=Modulo per caricare file di prova (secondo la configurazione) +FormToTestFileUploadForm=Modulo per provare il caricamento file (secondo la configurazione) IfModuleEnabled=Nota: funziona solo se il modulo %s è attivo RemoveLock=Per consentire l'aggiornamento del modulo, il file %s deve essere eliminato, se esiste. RestoreLock=Impostare il file %s in sola lettura per disabilitare l'uso di qualsiasi strumento di aggiornamento. SecuritySetup=Impostazioni per la sicurezza -ErrorModuleRequirePHPVersion=Errore, questo modulo richiede PHP versione %s o superiore. -ErrorModuleRequireDolibarrVersion=Errore, questo modulo richiede Dolibarr versione %s o superiore. -ErrorDecimalLargerThanAreForbidden=Errore, una precisione superiore a %s non è supportata. +ErrorModuleRequirePHPVersion=Errore: questo modulo richiede almeno la versione %s di PHP. +ErrorModuleRequireDolibarrVersion=Errore: questo modulo richiede almeno la versione %s di Dolibarr +ErrorDecimalLargerThanAreForbidden=Errore: Non è supportata una precisione superiore a %s . # DictionarySetup=Dictionary setup # Dictionary=Dictionaries ErrorReservedTypeSystemSystemAuto=I valori 'system' e 'systemauto' sono riservati. Puoi usare 'user' come valore da aggiungere al tuo record. @@ -51,8 +51,8 @@ DisableJavascript=Disabilita JavaScript e funzioni Ajax ConfirmAjax=Utilizzare popup di conferma Ajax # UseSearchToSelectCompany=Use autocompletion fields to choose third parties (instead of using a list box).

Also if you have a large number of third parties (> 100 000), you can increase speed by setting constant COMPANY_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string. ActivityStateToSelectCompany= Aggiungere un filtro per visualizzare/nascondere i terzi attualmente in attività o meno -# UseSearchToSelectContact=Use autocompletion fields to choose contact (instead of using a list box).

Also if you have a large number of third parties (> 100 000), you can increase speed by setting constant CONTACT_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string. -SearchFilter=Filtri per la ricerca +UseSearchToSelectContact=Usa campi con autocompletamento per la scelta dei contatti (invece che un menù a tendina).

Nel caso siano presenti moltissimi soggetti terzi (> 100000), si può aumentare la velocità di esecuzione impostando la costante CONTACT_DONOTSEARCH_ANYWHERE a 1 in Impostazioni -> Altro. La ricerca verrà limitata solo alla prima parte della stringa. +SearchFilter=Opzioni dei filtri di ricerca NumberOfKeyToSearch=N ° di caratteri per attivare ricerca: %s ViewFullDateActions=Visualizzazione di tutte le date delle azioni nel foglio dei terzi NotAvailableWhenAjaxDisabled=Non disponibile quando Ajax è disabilitato @@ -287,7 +287,7 @@ CurrentVersion=Versione attuale di Dolibarr CallUpdatePage=Vai alla pagina che aggiorna la struttura del database e dati su %s. LastStableVersion=Ultima versione stabile GenericMaskCodes=Puoi inserire uno schema di numerazione. In questo schema, possono essere utilizzati i seguenti tag :
{000000} Corrisponde a un numero che sarà incrementato ad ogni aggiunta di %s. Inserisci il numero di zeri equivalente alla lunghezza desiderata per il contatore. Verranno aggiunti zeri a sinistra fino alla lunghezza impostata per il contatore.
{000000+000} Come il precedente, ma con un offset corrispondente al numero a destra del segno + che viene applicato al primo inserimento %s.
{000000@x} Come sopra, ma il contatore viene reimpostato a zero quando si raggiunge il mese x (x compreso tra 1 e 12). Se viene utilizzata questa opzione e x è maggiore o uguale a 2, diventa obbligatorio inserire anche la sequenza {yy}{mm} o {yyyy}{mm}.
{dd} giorno (da 01 a 31).
{mm} mese (da 01 a 12).
{yy} , {yyyy} o {y} anno con 2, 4 o 1 cifra.
-# GenericMaskCodes2={cccc} the client code
{cccc000} the client code on n characters is followed by a client's ref counter without offset and zeroized with the global counter.
{tttt} The code of company type on n characters (see dictionary-company types).
+# GenericMaskCodes2={cccc} the client code on n characters
{cccc000} the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.
{tttt} The code of company type on n characters (see dictionary-company types).
GenericMaskCodes3=Tutti gli altri caratteri nello schema rimarranno inalterati.
Gli spazi non sono ammessi.
GenericMaskCodes4a=Esempio sulla novantanovesima %s del terzo TheCompany fatta il 31/01/2007:
GenericMaskCodes4b=Esempio : il 99esimo cliente/fornitore viene creato 31/01/2007:
@@ -345,8 +345,6 @@ SecurityTokenIsUnique=Utilizzare un unico parametro securekey per ogni URL EnterRefToBuildUrl=Inserisci la reference per l'oggetto %s GetSecuredUrl=Prendi URL calcolato # ButtonHideUnauthorized=Hide buttons for unauthorized actions instead of showing disabled buttons -ProductVatMassChange=Modifica tasse di massa -ProductVatMassChangeDesc=Questa pagina è utile a modificare le tariffe delle tasse definite nei prodotti o servizi da un valore ad un altro. Attenzione: questa modifica influenza l'intero database OldVATRates=Vecchia aliquota IVA NewVATRates=Nuova aliquota IVA # PriceBaseTypeToChange=Modify on prices with base reference value defined on @@ -381,6 +379,16 @@ KeepEmptyToUseDefault=Lasciare vuoto per utilizzare il valore di default # DefaultLink=Default link # ValueOverwrittenByUserSetup=Warning, this value may be overwritten by user specific setup (each user can set his own clicktodial url) # ExternalModule=External module - Installed into directory %s +# BarcodeInitForThirdparties=Mass barcode init for thirdparties +# BarcodeInitForProductsOrServices=Mass barcode init or reset for products or services +# CurrentlyNWithoutBarCode=Currently, you have %s records on %s %s without barcode defined. +# InitEmptyBarCode=Init value for next %s empty records +# EraseAllCurrentBarCode=Erase all current barcode values +# ConfirmEraseAllCurrentBarCode=Are you sure you want to erase all current barcode values ? +# AllBarcodeReset=All barcode values have been removed +# NoBarcodeNumberingTemplateDefined=No numbering barcode template enabled into barcode module setup. +# NoRecordWithoutBarcodeDefined=No record with no barcode value defined. + # Modules Module0Name=Utenti e gruppi @@ -510,6 +518,8 @@ Module59000Name=Margini # Module59000Desc=Module to manage margins Module60000Name=Commissioni # Module60000Desc=Module to manage commissions +# Module150010Name=Batch number, eat-by date and sell-by date +# Module150010Desc=batch number, eat-by date and sell-by date management for product Permission11=Vedere le fatture attive Permission12=Creare fatture attive Permission13=Annullare le fatture attive @@ -726,8 +736,8 @@ Permission50202=Importare transazioni # Permission55002=Create/modify surveys # Permission59001=Read commercial margins # Permission59002=Define commercial margins -# DictionaryCompanyType=Company types -# DictionaryCompanyJuridicalType=Juridical kinds of company +# DictionaryCompanyType=Thirdparties type +# DictionaryCompanyJuridicalType=Juridical kinds of thirdparties # DictionaryProspectLevel=Prospect potential level # DictionaryCanton=State/Cantons # DictionaryRegion=Regions @@ -959,7 +969,7 @@ SimpleNumRefModelDesc=Restituisce un numero di riferimento nel formato %syymm-nn ShowProfIdInAddress=Nei documenti mostra identità professionale completa di indirizzi # ShowVATIntaInAddress=Hide VAT Intra num with addresses on documents TranslationUncomplete=Traduzione incompleta -SomeTranslationAreUncomplete=Alcune lingue possono essere parzialmente tradotte o potrebbero contenere errori. Se si rilevano errori, è possibile correggere il file .lang nella directory htdocs/langs, e postarli sul forum di dolibarr.org . +# SomeTranslationAreUncomplete=Some languages may be partially translated or may contains errors. If you detect some, you can fix language files registering to http://transifex.com/projects/p/dolibarr/. MenuUseLayout=Permetti di nascondere il menu verticale (javascript non può essere disabilitato) MAIN_DISABLE_METEO=Disabilita visualizzazione meteo TestLoginToAPI=Test login per API @@ -985,6 +995,7 @@ ExtraFields=Campi extra # ExtraFieldsProjectTask=Complementary attributes (tasks) ExtraFieldHasWrongValue=Il campo %s contiene un valore errato. AlphaNumOnlyCharsAndNoSpace=Solo lettere e numeri, senza spazi +# AlphaNumOnlyLowerCharsAndNoSpace=only alphanumericals and lower case characters without space SendingMailSetup=Impostazioni per l'invio di email SendmailOptionNotComplete=Attenzione: su alcuni sistemi Linux, per poter inviare email, la configurazione di sendmail deve contenere l'opzione -ba (il parametro mail.force_extra_parameters nel file php.ini). Se alcuni destinatari non ricevono messaggi di posta elettronica, provate a modificare questo parametro con mail.force_extra_parameters =-BA). PathToDocuments=Percorso documenti @@ -1269,7 +1280,7 @@ ForANonAnonymousAccess=Per un accesso autenticato (per esempio un accesso in scr # YouMayFindPerfAdviceHere=You will find on this page some checks or advices related to performance. # NotInstalled=Not installed, so your server is not slow down by this. # ApplicativeCache=Applicative cache -# MemcachedNotAvailable=No applicative cache found. You can enhance performance by installing a cache server Memcached and a module able to use this cache server. More information here http://wiki.dolibarr.org/index.php/Module_MemCached_EN. Note that a lot of web hosting provider does not provide such cache server. +# MemcachedNotAvailable=No applicative cache found. You can enhance performance by installing a cache server Memcached and a module able to use this cache server.
More information here http://wiki.dolibarr.org/index.php/Module_MemCached_EN.
Note that a lot of web hosting provider does not provide such cache server. # OPCodeCache=OPCode cache # NoOPCodeCacheFound=No OPCode cache found. May be you use another OPCode cache than XCache or eAccelerator (good), may be you don't have OPCode cache (very bad). # HTTPCacheStaticResources=HTTP cache for static resources (css, img, javascript) diff --git a/htdocs/langs/it_IT/agenda.lang b/htdocs/langs/it_IT/agenda.lang index b72c3e3f149..3a4abb7a7b6 100644 --- a/htdocs/langs/it_IT/agenda.lang +++ b/htdocs/langs/it_IT/agenda.lang @@ -52,6 +52,7 @@ InvoiceSentByEMail=Fattura attiva %s inviata per email SupplierOrderSentByEMail=Ordine fornitore %s inviato per email SupplierInvoiceSentByEMail=Fornitore %s fattura inviata per email ShippingSentByEMail=%s spedizione inviata per email +# ShippingValidated= Shipping %s validated InterventionSentByEMail=Intervento %s inviato via email NewCompanyToDolibarr= Soggetto terzo creato DateActionPlannedStart= Data di inizio prevista diff --git a/htdocs/langs/it_IT/cashdesk.lang b/htdocs/langs/it_IT/cashdesk.lang index 8e3c354db9c..4c83d1e4366 100644 --- a/htdocs/langs/it_IT/cashdesk.lang +++ b/htdocs/langs/it_IT/cashdesk.lang @@ -37,3 +37,4 @@ ShowCompany=Mostra società ShowStock=Mostra magazzino DeleteArticle=Clicca per rimuovere l'articolo FilterRefOrLabelOrBC=Cerca (Rif/Etichetta) +# UserNeedPermissionToEditStockToUsePos=You ask to decrease stock on invoice creation, so user that use POS need to have permission to edit stock. diff --git a/htdocs/langs/it_IT/errors.lang b/htdocs/langs/it_IT/errors.lang index a9d1eac5002..2d1dd9356f8 100644 --- a/htdocs/langs/it_IT/errors.lang +++ b/htdocs/langs/it_IT/errors.lang @@ -26,8 +26,11 @@ ErrorFromToAccountsMustDiffers=I conti bancari di origine e destinazione devono ErrorBadThirdPartyName=Valore non valido per il nome del soggetto terzo ErrorProdIdIsMandatory=%s obbligatorio ErrorBadCustomerCodeSyntax=Sintassi del codice cliente errata +# ErrorBadBarCodeSyntax=Bad syntax for bar code ErrorCustomerCodeRequired=Il codice cliente è obbligatorio +# ErrorBarCodeRequired=Bar code required ErrorCustomerCodeAlreadyUsed=Codice cliente già utilizzato +# ErrorBarCodeAlreadyUsed=Bar code already used ErrorPrefixRequired=È richiesto il prefisso ErrorUrlNotValid=L'indirizzo del sito è errato ErrorBadSupplierCodeSyntax=Sintassi del codice fornitore errata @@ -63,6 +66,7 @@ ErrorNoValueForCheckBoxType=Per favore immetti un valore per la lista di control ErrorNoValueForRadioType=Per favore immetti un valore per la lista radio ErrorBadFormatValueList=La lista non può avere più di un'entrata : %s, ma ne serve almeno una: llave,valores ErrorFieldCanNotContainSpecialCharacters=Il campo %s non può contenere caratteri speciali. +# ErrorFieldCanNotContainSpecialNorUpperCharacters=Field %s must not contains special characters, nor upper case characters. ErrorNoAccountancyModuleLoaded=Modulo contabilità disattivato # ErrorExportDuplicateProfil=This profile name already exists for this export set. ErrorLDAPSetupNotComplete=La configurazione per l'uso di LDAP è incompleta diff --git a/htdocs/langs/it_IT/exports.lang b/htdocs/langs/it_IT/exports.lang index 8fe13d6b9e2..4dce444613d 100644 --- a/htdocs/langs/it_IT/exports.lang +++ b/htdocs/langs/it_IT/exports.lang @@ -123,6 +123,10 @@ BankCode=Codice banca DeskCode=Codice sportello BankAccountNumber=Num. conto BankAccountNumberKey=Chiave +# SpecialCode=Special code +# ExportStringFilter=%% allows replacing one or more characters in the text +# ExportDateFilter='AAAA' 'AAAAMM' 'AAAAMMJJ': filters by one year/month/day
'AAAA+AAAA' 'AAAAMM+AAAAMM' 'AAAAMMJJ+AAAAMMJJ': filters over a range of years/months/days
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filters on the following years/months/days
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filters on the previous years/months/days +# ExportNumericFilter='NNNNN' filters by one value
'NNNNN+NNNNN' filters over a range of values
'>NNNNN' filters by lower values
'>NNNNN' filters by higher values ## filters # SelectFilterFields=If you want to filter on some values, just input values here. # FilterableFields=Champs Filtrables diff --git a/htdocs/langs/it_IT/mails.lang b/htdocs/langs/it_IT/mails.lang index db584ce35bb..b8ce74a7e73 100644 --- a/htdocs/langs/it_IT/mails.lang +++ b/htdocs/langs/it_IT/mails.lang @@ -79,6 +79,13 @@ YourMailUnsubcribeOK=La mail %s è stata cancellata correttamente dalla l ActivateCheckRead=Permetti l'utilizzo del link "Cancella sottoscrizione" # ActivateCheckReadKey=Key use to encrypt URL use for "Read Receipt" and "Unsubcribe" feature # EMailSentToNRecipients=EMail sent to %s recipients. +# EachInvoiceWillBeAttachedToEmail=A document using default invoice document template will be created and attached to each email. +# MailTopicSendRemindUnpaidInvoices=Remind of invoice %s (%s) +# SendRemind=Send remind by EMails +# RemindSent=%S remind(s) sent +# AllRecipientSelectedForRemind=All thirdparties selected and if an email is set (note that one mail per invoice will be sent) +# NoRemindSent=No remind by EMail sent +# ResultOfMassSending=Result of mass remind sending by EMail # Libelle des modules de liste de destinataires mailing MailingModuleDescContactCompanies=Contatti di soggetti terzi (clienti, clienti potenziali, fornitori) diff --git a/htdocs/langs/it_IT/main.lang b/htdocs/langs/it_IT/main.lang index 9eff1e1777b..a5fe070a5a4 100644 --- a/htdocs/langs/it_IT/main.lang +++ b/htdocs/langs/it_IT/main.lang @@ -572,7 +572,7 @@ TotalWoman=Totale TotalMan=Totale NeverReceived=Mai ricevuto Canceled=Annullato -# YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu setup - dictionnary +# YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu setup - dictionary Color=Colore Documents=Documenti DocumentsNb=file collegati (%s) diff --git a/htdocs/langs/it_IT/opensurvey.lang b/htdocs/langs/it_IT/opensurvey.lang index 5813fcd64e9..140a2c06d96 100644 --- a/htdocs/langs/it_IT/opensurvey.lang +++ b/htdocs/langs/it_IT/opensurvey.lang @@ -1,7 +1,7 @@ # Dolibarr language file - Source file is en_US - opensurvey Survey=Indagine Surveys=Indagini -OrganizeYourMeetingEasily=Gestisci facilmente i tuoi incontri e le tue indagini. Prima di tutto seleziona il tipo di indagine... +OrganizeYourMeetingEasily=Gestisci facilmente le riunioni e le indagini. Prima di tutto seleziona il tipo di indagine... NewSurvey=Nuova indagine NoSurveysInDatabase=%s indagini nel database. OpenSurveyArea=Area indagini @@ -10,56 +10,57 @@ AddComment=Aggiungi commento CreatePoll=Crea sondaggio PollTitle=Titolo del sondaggio ToReceiveEMailForEachVote=Per ricevere un'email per ogni voto -TypeDate=Digita data +TypeDate=Tipo appuntamento TypeClassic=Tipo standard OpenSurveyStep2=Scegli le date fra i giorni liberi (in verde). I giorni selezionati sono in blu. Puoi deselezionare un giorno precedentemente selezionato cliccandoci di nuovo sopra. -RemoveAllDays=Cancella tutti i giorni -CopyHoursOfFirstDay=Copia le ore del primo giorno -RemoveAllHours=Rimuovi tutte le ore +RemoveAllDays=Elimina tutti i giorni +CopyHoursOfFirstDay=Copia gli orari del primo giorno +RemoveAllHours=Elimina tutti gli orari SelectedDays=Giorni selezionati TheBestChoice=La scelta migliore al momento è TheBestChoices=Le scelte migliori al momento sono with=con -# OpenSurveyHowTo=If you agree to vote in this poll, you have to give your name, choose the values that fit best for you and validate with the plus button at the end of the line. +OpenSurveyHowTo=Se decidi di partecipare a questa indagine, devi inserire il tuo nome, scegliere le opzioni più adatte a te e salvare cliccando sul pulsante alla fine della riga. CommentsOfVoters=Commenti dei votanti -ConfirmRemovalOfPoll=Sei sicuro di voler rimuovere questo sondaggio (e tutti i suoi voti) +ConfirmRemovalOfPoll=Vuoi davvero eliminare questo sondaggio (e tutti i suoi voti) RemovePoll=Elimina sondaggio -UrlForSurvey=URL da comunicare per avere accesso diretto all'indagine -# PollOnChoice=You are creating a poll to make a multi-choice for a poll. First enter all possible choices for your poll: -CreateSurveyDate=Crea una data di indagine +UrlForSurvey=URL pubblico per l'accesso diretto all'indagine +PollOnChoice=Stai creando una domanda a scelta multipla. Inserisci tutte le opzioni possibili: +CreateSurveyDate=Crea un'indagine per una data di riunione CreateSurveyStandard=Crea un'indagine standard CheckBox=Checkbox semplice -YesNoList=Lista (vuota/sì/no) +YesNoList=Elenco (vuota/sì/no) PourContreList=Elenco (vuota/a favore/contro) AddNewColumn=Aggiungi una colonna -TitleChoice=Scegli l'etichetta +TitleChoice=Etichetta ExportSpreadsheet=Esporta su foglio elettronico ExpireDate=Data limite +# NbOfSurveys=Number of surveys NbOfVoters=Num votanti SurveyResults=Risultati -PollAdminDesc=Sei autorizzato a cambiare tutte le righe di voto del sondaggio con il tasto "Modifica". Puoi anche eliminare una colonna o una riga con %s e aggiungere una colonna con il tasto %s. +PollAdminDesc=Sei autorizzato a cambiare tutte le righe del sondaggio con il tasto "Modifica". Puoi anche eliminare una colonna o una riga con %s e aggiungere una colonna con il tasto %s. 5MoreChoices=Altre 5 scelte Abstention=Astensione Against=Contro -YouAreInivitedToVote=Sei invitato a votare in questo sondaggio -VoteNameAlreadyExists=Questo nome è già stato usato in questo sondaggio -ErrorPollDoesNotExists=Errore, il sondaggio %snon esiste. -OpenSurveyNothingToSetup=Non ci sono configurazioni da fare. -PollWillExpire=Il sondaggio scadrà automaticamente%sgiorni dopo la sua data finale. +YouAreInivitedToVote=Sei invitato a votare in questa indagine +VoteNameAlreadyExists=Questo nome è già stato usato in questa indagine +ErrorPollDoesNotExists=Errore: l'indagine %snon esiste. +OpenSurveyNothingToSetup=Non c'è nulla da configurare. +PollWillExpire=L'indagine scadrà automaticamente %s giorni dopo l'ultima data. AddADate=Aggiungi una data -AddStartHour=Aggiungi un'ora di partenza -AddEndHour=Aggiungi un'ora di fine -votes=Voti -NoCommentYet=Non è ancora stato inserito alcun commento su questo sondaggio +AddStartHour=Aggiungi un orario di inizio +AddEndHour=Aggiungi un orario di fine +votes=voti +NoCommentYet=In questa indagine non è stato ancora inserito alcun commento CanEditVotes=Puoi cambiare il voto degli altri -# CanComment=Voters can comment in the poll -# CanSeeOthersVote=Voters can see other people's vote -SelectDayDesc=Per ogni giorno selezionato, puoi scegliere o no, le ore di riunione nel formato seguente:
-vuoto,
-"8h", "8H" o "8:00"per definire un orario di inizio,
-"8-11", "8h-11h", "8H-11H" o "8:00-11:00" per fornire un orario di inizio e fine,
- "8h15-11h15", "8H15-11H15" o "8:15-11:15"la stessa cosa ma con i minuti. +CanComment=I votanti posso aggiungere commenti +CanSeeOthersVote=I votanti possono vedere i voti altrui +SelectDayDesc=Per ogni giorno selezionato, puoi scegliere gli orari di riunione nel formato seguente:
- vuoto,
-"8h", "8H" o "8:00" per definire un orario di inizio,
-"8-11", "8h-11h", "8H-11H" o "8:00-11:00" per definire un lasso di tempo,
- "8h15-11h15", "8H15-11H15" o "8:15-11:15" per la stessa cosa, ma con indicazione dei minuti. BackToCurrentMonth=Torna al mese in corso -# ErrorOpenSurveyFillFirstSection=You haven't filled the first section of the poll creation -# ErrorOpenSurveyOneChoice=Enter at least one choice -# ErrorOpenSurveyDateFormat=Date must have the format YYYY-MM-DD -# ErrorInsertingComment=There was an error while inserting your comment -# MoreChoices=Enter more choices for the voters -# SurveyExpiredInfo=The voting time of this poll has expired. -# EmailSomeoneVoted=%s has filled a line.\nYou can find your poll at the link: \n%s +ErrorOpenSurveyFillFirstSection=Noi hai completato la prima sezione della creazione dell'indagine +ErrorOpenSurveyOneChoice=Inserisci almeno una scelta +ErrorOpenSurveyDateFormat=La data va indicata nel formato AAAA-MM-GG +ErrorInsertingComment=Si è verificato un errore nel salvataggio del tuo commento +MoreChoices=Aggiungi altre opzioni +SurveyExpiredInfo=L'indagine è scaduta +EmailSomeoneVoted=%s ha compilato una riga.\nTrovi l'indagine all'indirizzo: \n%s diff --git a/htdocs/langs/it_IT/orders.lang b/htdocs/langs/it_IT/orders.lang index 65c3f8a3a6a..a47b2de76ab 100644 --- a/htdocs/langs/it_IT/orders.lang +++ b/htdocs/langs/it_IT/orders.lang @@ -55,6 +55,7 @@ DraftOrWaitingShipped=In bozza o convalidato, ma non ancora spedito MenuOrdersToBill=Ordini spediti MenuOrdersToBill2=Ordini da fatturare SearchOrder=Ricerca ordine +# SearchACustomerOrder=Search a customer order ShipProduct=Spedisci prodotto Discount=Sconto CreateOrder=Crea ordine @@ -164,3 +165,4 @@ MenuOrdersToBill2=Ordini da fatturare # OrderCreated=Your orders have been created # OrderFail=An error happened during your orders creation # CreateOrders=Create orders +# ToBillSeveralOrderSelectCustomer=To create an invoice for several orders, click first onto customer, then choose "%s". diff --git a/htdocs/langs/it_IT/other.lang b/htdocs/langs/it_IT/other.lang index c3b1251ea8c..475f415874e 100644 --- a/htdocs/langs/it_IT/other.lang +++ b/htdocs/langs/it_IT/other.lang @@ -49,14 +49,15 @@ Miscellaneous=Varie NbOfActiveNotifications=Numero di notifiche attive PredefinedMailTest=Questa è una mail di prova. \\NLe due linee sono separate da un a capo. PredefinedMailTestHtml=Questa è una mail di test (la parola test deve risultare in grassetto).
Le due linee sono separate da un a capo. -PredefinedMailContentSendInvoice=__CONTACTCIVNAME__ \n\n Alleghiamo la fattura __FACREF__ \n\n__PERSONALIZED__ Cordiali Saluti \n\n__SIGNATURE__ -PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__ \n\n Vorremmo portare alla Vostra attenzione che la fattura __FACREF__ sembra non essere stata saldata. La fattura è allegata alla presente, come promemoria. \n\n__PERSONALIZED__ Cordiali saluti \n\n__SIGNATURE__ -PredefinedMailContentSendProposal=__CONTACTCIVNAME__ \n\n Alleghiamo la proposta commerciale __PROPREF__ \n\n__PERSONALIZED__ Cordiali Saluti \n\n__SIGNATURE__ -PredefinedMailContentSendOrder=__CONTACTCIVNAME__ \n\n Alleghiamo l'ordine __ORDERREF__ \n\n__PERSONALIZED__ Cordiali Saluti \n\n__SIGNATURE__ -PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__ \n\n Alleghiamo il nostro ordine n __ORDERREF__ \n\n__PERSONALIZED__Cordiali Saluti \n\n__SIGNATURE__ -PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__ \n\n Alleghiamo la fattura __FACREF__ \n\n__PERSONALIZED__Cordiali Saluti \n\n__SIGNATURE__ -PredefinedMailContentSendShipping=__CONTACTCIVNAME__ \n\n Alleghiamo la spedizione __SHIPPINGREF__ \n\n__PERSONALIZED__Cordiali Saluti \n\n__SIGNATURE__ -PredefinedMailContentSendFichInter=__CONTACTCIVNAME__ \n\n Alleghiamo l'intervento __FICHINTERREF__ \n\n__PERSONALIZED__Cordiali saluti \n\n__SIGNATURE__ +# PredefinedMailContentSendInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__\n\nWe would like to warn you that the invoice __FACREF__ seems to not being payed. So this is the invoice in attachment again, as a reminder.\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendProposal=__CONTACTCIVNAME__\n\nYou will find here the commercial proposal __PROPREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendOrder=__CONTACTCIVNAME__\n\nYou will find here the order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__\n\nYou will find here our order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendShipping=__CONTACTCIVNAME__\n\nYou will find here the shipping __SHIPPINGREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendFichInter=__CONTACTCIVNAME__\n\nYou will find here the intervention __FICHINTERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentThirdparty=__CONTACTCIVNAME__\n\n__PERSONALIZED__\n\n__SIGNATURE__ DemoDesc=Dolibarr è un ERP/CRM compatto composto di diversi moduli funzionali. Un demo comprendente tutti i moduli non ha alcun senso, perché un caso simile non esiste nella realtà. Sono dunque disponibili diversi profili demo. ChooseYourDemoProfil=Scegli il profilo demo che corrisponde alla tua attività ... DemoFundation=Gestisci i membri di una Fondazione diff --git a/htdocs/langs/it_IT/products.lang b/htdocs/langs/it_IT/products.lang index f5093cf053b..e64ee503528 100644 --- a/htdocs/langs/it_IT/products.lang +++ b/htdocs/langs/it_IT/products.lang @@ -13,6 +13,10 @@ NewProduct=Nuovo prodotto NewService=Nuovo servizio ProductCode=Codice prodotto ServiceCode=Codice servizio +# ProductVatMassChange=Mass VAT change +# ProductVatMassChangeDesc=This page can be used to modify a VAT rate defined on products or services from a value to another. Warning, this change is done on all database. +# MassBarcodeInit=Mass barcode init +# MassBarcodeInitDesc=This page can be used to initialize a barcode on objects that does not have barcode defined. Check before that setup of module barcode is complete. ProductAccountancyBuyCode=Codice contabilità (acquisto) ProductAccountancySellCode=Codice contabilità (vendita) ProductOrService=Prodotto o servizio @@ -173,8 +177,8 @@ CustomCode=Codice dogana CountryOrigin=Paese di origine HiddenIntoCombo=Nascosti nelle tendine di selezione Nature=Natura -ProductCodeModel=Template per il codice prodotto -ServiceCodeModel=Template per il codice servizio +# ProductCodeModel=Product ref template +# ServiceCodeModel=Service ref template AddThisProductCard=Crea scheda prodotto HelpAddThisProductCard=Questa opzione permette la creazione o la clonazione di un prodotto se non esiste. AddThisServiceCard=Crea scheda servizio @@ -216,5 +220,10 @@ Quarter4=Quarto trimestre # DefinitionOfBarCodeForThirdpartyNotComplete=Definition of type or value of bar code non complete for thirdparty %s. # BarCodeDataForProduct=Barcode information of product %s : # BarCodeDataForThirdparty=Barcode information of thirdparty %s : -# BarcodeStickersMask=xxx - +# ResetBarcodeForAllRecords=Define barcode value for all records (this will also reset barcode value already defined with new values) +# PriceByCustomer=Price by customer +# PriceCatalogue=Catalogue Price +# PricingRule=Pricing Rules +# AddCustomerPrice=Add price by customers +# ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +# PriceByCustomerLog=Price by customer log diff --git a/htdocs/langs/it_IT/projects.lang b/htdocs/langs/it_IT/projects.lang index a52561d7ced..cbdb29c7b4d 100644 --- a/htdocs/langs/it_IT/projects.lang +++ b/htdocs/langs/it_IT/projects.lang @@ -1,4 +1,6 @@ # Dolibarr language file - Source file is en_US - projects +# RefProject=Ref. project +# ProjectId=Project Id Project=Progetto Projects=Progetti SharedProject=Progetto condiviso @@ -30,11 +32,18 @@ TimeSpent=Tempo lavorato TimesSpent=Tempo lavorato RefTask=Rif. compito LabelTask=Etichetta compito +# TaskTimeSpent=Time spent on tasks +# TaskTimeUser=Task time user +# TaskTimeNote=Task time note +# TaskTimeDate=Task time date NewTimeSpent=Aggiungi tempo lavorato MyTimeSpent=Il mio tempo lavorato MyTasks=I miei compiti Tasks=Compiti Task=Compito +# TaskDateStart=Task start date +# TaskDateEnd=Task end date +# TaskDescription=Task description NewTask=Nuovo compito AddTask=Aggiungere compito AddDuration=Aggiungi periodo @@ -100,12 +109,12 @@ ProjectCreatedInDolibarr=Progetto %s creato ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Capo progetto TypeContact_project_external_PROJECTLEADER=Capo progetto -TypeContact_project_internal_PROJECTCONTRIBUTOR=Collaboratore -TypeContact_project_external_PROJECTCONTRIBUTOR=Collaboratore +# TypeContact_project_internal_PROJECTCONTRIBUTOR=Contributor +# TypeContact_project_external_PROJECTCONTRIBUTOR=Contributor TypeContact_project_task_internal_TASKEXECUTIVE=Responsabile del compito TypeContact_project_task_external_TASKEXECUTIVE=Responsabile del compito -TypeContact_project_task_internal_TASKCONTRIBUTOR=Collaboratore -TypeContact_project_task_external_TASKCONTRIBUTOR=Collaboratore +# TypeContact_project_task_internal_TASKCONTRIBUTOR=Contributor +# TypeContact_project_task_external_TASKCONTRIBUTOR=Contributor # SelectElement=Select element # AddElement=Link to element # Documents models diff --git a/htdocs/langs/it_IT/stocks.lang b/htdocs/langs/it_IT/stocks.lang index 15f17328aeb..60b41ccc398 100644 --- a/htdocs/langs/it_IT/stocks.lang +++ b/htdocs/langs/it_IT/stocks.lang @@ -94,14 +94,20 @@ DesiredStock=Scorta desiderata StockToBuy=Da ordinare Replenishment=Rifornimento ReplenishmentOrders=Ordini di rifornimento -UseVirtualStock=Usa scorta virtuale anzichè scorta fisica +# VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differs +# UseVirtualStockByDefault=Use virtual stock by default, instead of physical stock, for replenishment feature +# UseVirtualStock=Use virtual stock +# UsePhysicalStock=Use physical stock +# CurentSelectionMode=Curent selection mode +# CurentlyUsingVirtualStock=Virtual stock +# CurentlyUsingPhysicalStock=Physical stock RuleForStockReplenishment=Regola per il rifornimento delle scorte SelectProductWithNotNullQty=Selezionare almeno un prodotto disponibile e un fornitore AlertOnly= Solo avvisi WarehouseForStockDecrease=Il magazzino %s sarà usato per la diminuzione delle scorte WarehouseForStockIncrease=Il magazzino %s sarà usato per l'aumento delle scorte ForThisWarehouse=Per questo magazzino -# ReplenishmentStatusDesc=This is list of all product with a physical stock lower than desired stock (or alert value if checkbox "alert only" is checked) and suggest you to create supplier orders to fill the difference. +# ReplenishmentStatusDesc=This is list of all product with a stock lower than desired stock (or lower than alert value if checkbox "alert only" is checked), and suggest you to create supplier orders to fill the difference. ReplenishmentOrdersDesc=Questa è una lista di tutti gli ordini di acquisto aperti Replenishments=Rifornimento NbOfProductBeforePeriod=Quantità del prodotto %s in magazzino prima del periodo selezionato (< %s) diff --git a/htdocs/langs/ja_JP/admin.lang b/htdocs/langs/ja_JP/admin.lang index c51b9488d4d..6bb3b971303 100644 --- a/htdocs/langs/ja_JP/admin.lang +++ b/htdocs/langs/ja_JP/admin.lang @@ -287,7 +287,7 @@ CurrentVersion=Dolibarr現在のバージョン CallUpdatePage=%s:データベース構造と件のデータを更新するページに移動します。 LastStableVersion=最後の安定版 GenericMaskCodes=任意の番号マスクを入力することができます。このマスクには、以下のタグを使用することができます。
{00万}各%sにインクリメントされる番号に対応しています。カウンタの希望の長さなどの多くのゼロとして入力します。カウンタは、マスクとして多くのゼロとして持たせるために、左からゼロで完了する予定です。
{00万000}以前のが、最初の%sから始まる適用されている+記号の右にある数字に対応するオフセットと同じです。
{00万@ x}の前のと同じですが、カウンタが月、xは(1〜12、または0の間でXコンフィギュレーションで定義された会計年度の初めに数ヶ月を使用する)に達したときにゼロにリセットされます。このオプションを使用すると、xが2以上ある場合、その列{YY} {ミリメートル}または{yyyyは} {}ミリメートルも要求されます。
{DD}日(01〜31)。
{}ミリメートル月(01〜12)。
2、4、または1の数値以上{YY}、{探す}または{Y}年。
-# GenericMaskCodes2={cccc} the client code
{cccc000} the client code on n characters is followed by a client's ref counter without offset and zeroized with the global counter.
{tttt} The code of company type on n characters (see dictionary-company types).
+# GenericMaskCodes2={cccc} the client code on n characters
{cccc000} the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.
{tttt} The code of company type on n characters (see dictionary-company types).
GenericMaskCodes3=マスク内の他のすべての文字はそのまま残ります。
スペースは許可されていません。
GenericMaskCodes4a=サードパーティTheCompany第99 %s上の例では、2007年1月31日に行わ:
GenericMaskCodes4b=2007年3月1日で作成されたサードパーティの例:
@@ -345,8 +345,6 @@ SecurityTokenIsUnique=各URLごとに一意securekeyパラメータを使用し EnterRefToBuildUrl=オブジェクト%sの参照を入力します。 GetSecuredUrl=計算されたURLを取得する # ButtonHideUnauthorized=Hide buttons for unauthorized actions instead of showing disabled buttons -# ProductVatMassChange=Mass VAT change -# ProductVatMassChangeDesc=This page can be used to modify a VAT rate defined on products or services from a value to another. Warning, this change is done on all database. # OldVATRates=Old VAT rate # NewVATRates=New VAT rate # PriceBaseTypeToChange=Modify on prices with base reference value defined on @@ -381,6 +379,16 @@ ExtrafieldPrice = 価格 # DefaultLink=Default link # ValueOverwrittenByUserSetup=Warning, this value may be overwritten by user specific setup (each user can set his own clicktodial url) # ExternalModule=External module - Installed into directory %s +# BarcodeInitForThirdparties=Mass barcode init for thirdparties +# BarcodeInitForProductsOrServices=Mass barcode init or reset for products or services +# CurrentlyNWithoutBarCode=Currently, you have %s records on %s %s without barcode defined. +# InitEmptyBarCode=Init value for next %s empty records +# EraseAllCurrentBarCode=Erase all current barcode values +# ConfirmEraseAllCurrentBarCode=Are you sure you want to erase all current barcode values ? +# AllBarcodeReset=All barcode values have been removed +# NoBarcodeNumberingTemplateDefined=No numbering barcode template enabled into barcode module setup. +# NoRecordWithoutBarcodeDefined=No record with no barcode value defined. + # Modules Module0Name=ユーザーとグループ @@ -510,6 +518,8 @@ Module50200Desc= Paypalとクレジットカードによるオンライン決済 # Module59000Desc=Module to manage margins # Module60000Name=Commissions # Module60000Desc=Module to manage commissions +# Module150010Name=Batch number, eat-by date and sell-by date +# Module150010Desc=batch number, eat-by date and sell-by date management for product Permission11=顧客の請求書をお読みください Permission12=顧客の請求書を作成/変更 Permission13=顧客の請求書をUnvalidate @@ -726,8 +736,8 @@ Permission50202=輸入取引 # Permission55002=Create/modify surveys # Permission59001=Read commercial margins # Permission59002=Define commercial margins -# DictionaryCompanyType=Company types -# DictionaryCompanyJuridicalType=Juridical kinds of company +# DictionaryCompanyType=Thirdparties type +# DictionaryCompanyJuridicalType=Juridical kinds of thirdparties # DictionaryProspectLevel=Prospect potential level # DictionaryCanton=State/Cantons # DictionaryRegion=Regions @@ -959,7 +969,7 @@ SimpleNumRefModelDesc=形式yyは年である%syymm-NNNNの参照番号を返し ShowProfIdInAddress=ドキュメント上のアドレスとのprofesionnals IDを表示 # ShowVATIntaInAddress=Hide VAT Intra num with addresses on documents TranslationUncomplete=部分的な翻訳 -SomeTranslationAreUncomplete=いくつかの言語は、部分的に翻訳されるか、またはエラーが含まれて可能性があります。あなたには、いくつかのを検出した場合は、ディレクトリ htdocs / langs。langのテキストファイルを修正してからフォーラムにそれらを提出することができますhttp://www.dolibarr.org 。 +# SomeTranslationAreUncomplete=Some languages may be partially translated or may contains errors. If you detect some, you can fix language files registering to http://transifex.com/projects/p/dolibarr/. MenuUseLayout=垂直メニュー非表示設定可能にします(オプションのjavascriptを無効にすることはできません) MAIN_DISABLE_METEO=メテオビューを無効にします。 TestLoginToAPI=APIへのログインをテストします。 @@ -985,6 +995,7 @@ ExtraFields=補完的な属性 # ExtraFieldsProjectTask=Complementary attributes (tasks) ExtraFieldHasWrongValue=Attribut %sは間違った値を持っています。 # AlphaNumOnlyCharsAndNoSpace=only alphanumericals characters without space +# AlphaNumOnlyLowerCharsAndNoSpace=only alphanumericals and lower case characters without space SendingMailSetup=電子メールによるsendingsのセットアップ SendmailOptionNotComplete=警告は、一部のLinuxシステムでは、電子メールから電子メールを送信するためには、sendmailの実行セットアップする必要があります含むオプション-BA(パラメータmail.force_extra_parameters php.iniファイルに)。一部の受信者がメールを受信しない場合は、mail.force_extra_parameters =-BA)と、このPHPパラメータを編集してみてください。 PathToDocuments=ドキュメントへのパス @@ -1269,7 +1280,7 @@ ForANonAnonymousAccess=認証されたアクセスも(たとえば、書き込 # YouMayFindPerfAdviceHere=You will find on this page some checks or advices related to performance. # NotInstalled=Not installed, so your server is not slow down by this. # ApplicativeCache=Applicative cache -# MemcachedNotAvailable=No applicative cache found. You can enhance performance by installing a cache server Memcached and a module able to use this cache server. More information here http://wiki.dolibarr.org/index.php/Module_MemCached_EN. Note that a lot of web hosting provider does not provide such cache server. +# MemcachedNotAvailable=No applicative cache found. You can enhance performance by installing a cache server Memcached and a module able to use this cache server.
More information here http://wiki.dolibarr.org/index.php/Module_MemCached_EN.
Note that a lot of web hosting provider does not provide such cache server. # OPCodeCache=OPCode cache # NoOPCodeCacheFound=No OPCode cache found. May be you use another OPCode cache than XCache or eAccelerator (good), may be you don't have OPCode cache (very bad). # HTTPCacheStaticResources=HTTP cache for static resources (css, img, javascript) diff --git a/htdocs/langs/ja_JP/agenda.lang b/htdocs/langs/ja_JP/agenda.lang index 41e7170459b..9063fb90654 100644 --- a/htdocs/langs/ja_JP/agenda.lang +++ b/htdocs/langs/ja_JP/agenda.lang @@ -52,6 +52,7 @@ InvoiceSentByEMail=電子メールで送信顧客の請求書%s SupplierOrderSentByEMail=電子メールで送信サプライヤの注文%s SupplierInvoiceSentByEMail=電子メールで送信サプライヤの請求書%s ShippingSentByEMail=電子メールで送信出荷%s +# ShippingValidated= Shipping %s validated InterventionSentByEMail=電子メールで送信介入%s NewCompanyToDolibarr= 第三者が作成した DateActionPlannedStart= 計画開始日 diff --git a/htdocs/langs/ja_JP/cashdesk.lang b/htdocs/langs/ja_JP/cashdesk.lang index d748dd4452d..c8c8051556e 100644 --- a/htdocs/langs/ja_JP/cashdesk.lang +++ b/htdocs/langs/ja_JP/cashdesk.lang @@ -37,3 +37,4 @@ ShowCompany=会社を表示 ShowStock=倉庫を表示 DeleteArticle=この記事を削除するときにクリックします # FilterRefOrLabelOrBC=Search (Ref/Label) +# UserNeedPermissionToEditStockToUsePos=You ask to decrease stock on invoice creation, so user that use POS need to have permission to edit stock. diff --git a/htdocs/langs/ja_JP/errors.lang b/htdocs/langs/ja_JP/errors.lang index b5018b85cca..3b7ddf5d482 100644 --- a/htdocs/langs/ja_JP/errors.lang +++ b/htdocs/langs/ja_JP/errors.lang @@ -26,8 +26,11 @@ ErrorFromToAccountsMustDiffers=ソースとターゲットの銀行口座は異 ErrorBadThirdPartyName=サードパーティの名前の値が正しくありません # ErrorProdIdIsMandatory=The %s is mandatory ErrorBadCustomerCodeSyntax=顧客コードの不正な構文 +# ErrorBadBarCodeSyntax=Bad syntax for bar code ErrorCustomerCodeRequired=顧客コードが必要です +# ErrorBarCodeRequired=Bar code required ErrorCustomerCodeAlreadyUsed=顧客コードは既に使用され +# ErrorBarCodeAlreadyUsed=Bar code already used ErrorPrefixRequired=接頭辞が必要 ErrorUrlNotValid=ウェブサイトのアドレスが間違っています ErrorBadSupplierCodeSyntax=サプライヤーコードの不正な構文 @@ -63,6 +66,7 @@ ErrorSizeTooLongForVarcharType=文字列型(%s文字最大)長すぎるサ # ErrorNoValueForRadioType=Please fill value for radio list # ErrorBadFormatValueList=The list value cannot have more than one come : %s, but need at least one: llave,valores ErrorFieldCanNotContainSpecialCharacters=フィールド%sは、特殊文字が含まれてはいけません。 +# ErrorFieldCanNotContainSpecialNorUpperCharacters=Field %s must not contains special characters, nor upper case characters. ErrorNoAccountancyModuleLoaded=全く会計モジュールが活性化しない # ErrorExportDuplicateProfil=This profile name already exists for this export set. ErrorLDAPSetupNotComplete=Dolibarr-LDAPのマッチングは完全ではありません。 diff --git a/htdocs/langs/ja_JP/exports.lang b/htdocs/langs/ja_JP/exports.lang index 048290d5540..98c92ed99eb 100644 --- a/htdocs/langs/ja_JP/exports.lang +++ b/htdocs/langs/ja_JP/exports.lang @@ -123,6 +123,10 @@ BankCode=銀行コード DeskCode=デスクのコード BankAccountNumber=口座番号 BankAccountNumberKey=キー +# SpecialCode=Special code +# ExportStringFilter=%% allows replacing one or more characters in the text +# ExportDateFilter='AAAA' 'AAAAMM' 'AAAAMMJJ': filters by one year/month/day
'AAAA+AAAA' 'AAAAMM+AAAAMM' 'AAAAMMJJ+AAAAMMJJ': filters over a range of years/months/days
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filters on the following years/months/days
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filters on the previous years/months/days +# ExportNumericFilter='NNNNN' filters by one value
'NNNNN+NNNNN' filters over a range of values
'>NNNNN' filters by lower values
'>NNNNN' filters by higher values ## filters # SelectFilterFields=If you want to filter on some values, just input values here. # FilterableFields=Champs Filtrables diff --git a/htdocs/langs/ja_JP/mails.lang b/htdocs/langs/ja_JP/mails.lang index ca935c1221d..391a510fb25 100644 --- a/htdocs/langs/ja_JP/mails.lang +++ b/htdocs/langs/ja_JP/mails.lang @@ -79,6 +79,13 @@ MailingStatusRead=読む # ActivateCheckRead=Allow to use the "Unsubcribe" link # ActivateCheckReadKey=Key use to encrypt URL use for "Read Receipt" and "Unsubcribe" feature # EMailSentToNRecipients=EMail sent to %s recipients. +# EachInvoiceWillBeAttachedToEmail=A document using default invoice document template will be created and attached to each email. +# MailTopicSendRemindUnpaidInvoices=Remind of invoice %s (%s) +# SendRemind=Send remind by EMails +# RemindSent=%S remind(s) sent +# AllRecipientSelectedForRemind=All thirdparties selected and if an email is set (note that one mail per invoice will be sent) +# NoRemindSent=No remind by EMail sent +# ResultOfMassSending=Result of mass remind sending by EMail # Libelle des modules de liste de destinataires mailing MailingModuleDescContactCompanies=すべてのサードパーティの連絡先(顧客、見込み客、サプラ​​イヤー、...) diff --git a/htdocs/langs/ja_JP/main.lang b/htdocs/langs/ja_JP/main.lang index 6ba52f21da3..d4687da858a 100644 --- a/htdocs/langs/ja_JP/main.lang +++ b/htdocs/langs/ja_JP/main.lang @@ -572,7 +572,7 @@ TotalWoman=合計 TotalMan=合計 NeverReceived=受信しませんでした Canceled=キャンセル -# YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu setup - dictionnary +# YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu setup - dictionary Color=カラー Documents=リンクされたファイル DocumentsNb=リンクされたファイル(%s) diff --git a/htdocs/langs/ja_JP/opensurvey.lang b/htdocs/langs/ja_JP/opensurvey.lang index 468fbad3c29..ce36ec5a32b 100644 --- a/htdocs/langs/ja_JP/opensurvey.lang +++ b/htdocs/langs/ja_JP/opensurvey.lang @@ -35,6 +35,7 @@ # TitleChoice=Choice label # ExportSpreadsheet=Export result spreadsheet ExpireDate=日付を制限する +# NbOfSurveys=Number of surveys # NbOfVoters=Nb of voters # SurveyResults=Results # PollAdminDesc=You are allowed to change all vote lines of this poll with button "Edit". You can, as well, remove a column or a line with %s. You can also add a new column with %s. diff --git a/htdocs/langs/ja_JP/orders.lang b/htdocs/langs/ja_JP/orders.lang index 7a83f110e46..ab1a62198ed 100644 --- a/htdocs/langs/ja_JP/orders.lang +++ b/htdocs/langs/ja_JP/orders.lang @@ -55,6 +55,7 @@ DraftOrWaitingShipped=ドラフトまたは検証まだ出荷されていない MenuOrdersToBill=法案に注文 # MenuOrdersToBill2=Orders to bill SearchOrder=検索順序 +# SearchACustomerOrder=Search a customer order ShipProduct=船積 Discount=割引 CreateOrder=順序を作成します。 @@ -164,3 +165,4 @@ OrderByPhone=電話 # OrderCreated=Your orders have been created # OrderFail=An error happened during your orders creation # CreateOrders=Create orders +# ToBillSeveralOrderSelectCustomer=To create an invoice for several orders, click first onto customer, then choose "%s". diff --git a/htdocs/langs/ja_JP/other.lang b/htdocs/langs/ja_JP/other.lang index a9ebef79e0c..ba030601e6d 100644 --- a/htdocs/langs/ja_JP/other.lang +++ b/htdocs/langs/ja_JP/other.lang @@ -49,14 +49,15 @@ Miscellaneous=その他 NbOfActiveNotifications=通知の数 PredefinedMailTest=これはテストメールです。\\ nこの2行は、キャリッジリターンで区切られています。 PredefinedMailTestHtml=これはテストメール(ワードテストでは、太字でなければなりません)です。
の2行は、キャリッジリターンで区切られています。 -# PredefinedMailContentSendInvoice=__CONTACTCIVNAME__ \n\n You will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__ \n\n We would like to warn you that the invoice __FACREF__ seems to not being payed. So this is the invoice in attachment again, as a reminder.\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendProposal=__CONTACTCIVNAME__ \n\n You will find here the commercial proposal __PROPREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendOrder=__CONTACTCIVNAME__ \n\n You will find here the order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__ \n\n You will find here our order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__ \n\n You will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendShipping=__CONTACTCIVNAME__ \n\n You will find here the shipping __SHIPPINGREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendFichInter=__CONTACTCIVNAME__ \n\n You will find here the intervention __FICHINTERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__\n\nWe would like to warn you that the invoice __FACREF__ seems to not being payed. So this is the invoice in attachment again, as a reminder.\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendProposal=__CONTACTCIVNAME__\n\nYou will find here the commercial proposal __PROPREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendOrder=__CONTACTCIVNAME__\n\nYou will find here the order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__\n\nYou will find here our order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendShipping=__CONTACTCIVNAME__\n\nYou will find here the shipping __SHIPPINGREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendFichInter=__CONTACTCIVNAME__\n\nYou will find here the intervention __FICHINTERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentThirdparty=__CONTACTCIVNAME__\n\n__PERSONALIZED__\n\n__SIGNATURE__ DemoDesc=Dolibarrは、いくつかの機能モジュールで構成されるコンパクトなERP / CRMです。これが発生しないようにすべてのモジュールが含まれているデモは、何の意味もない。ので、いくつかのデモのプロファイルが用意されています。 ChooseYourDemoProfil=あなたの活動を一致させるデモのプロファイルを選択... DemoFundation=基礎のメンバーを管理する diff --git a/htdocs/langs/ja_JP/products.lang b/htdocs/langs/ja_JP/products.lang index 26833230473..387d4419810 100644 --- a/htdocs/langs/ja_JP/products.lang +++ b/htdocs/langs/ja_JP/products.lang @@ -13,6 +13,10 @@ NewProduct=新製品 NewService=新サービス ProductCode=製品コード ServiceCode=サービスコード +# ProductVatMassChange=Mass VAT change +# ProductVatMassChangeDesc=This page can be used to modify a VAT rate defined on products or services from a value to another. Warning, this change is done on all database. +# MassBarcodeInit=Mass barcode init +# MassBarcodeInitDesc=This page can be used to initialize a barcode on objects that does not have barcode defined. Check before that setup of module barcode is complete. ProductAccountancyBuyCode=会計コード(購入する) ProductAccountancySellCode=会計コード(販売) ProductOrService=製品やサービス @@ -173,8 +177,8 @@ CustomCode=税関コード CountryOrigin=原産国 HiddenIntoCombo=selectリストの中に隠れて Nature=自然 -# ProductCodeModel=Product code template -# ServiceCodeModel=Service code template +# ProductCodeModel=Product ref template +# ServiceCodeModel=Service ref template # AddThisProductCard=Create product card # HelpAddThisProductCard=This option allows you to create or clone a product if it does not exist. # AddThisServiceCard=Create service card @@ -216,5 +220,10 @@ QtyNeed=個数 # DefinitionOfBarCodeForThirdpartyNotComplete=Definition of type or value of bar code non complete for thirdparty %s. # BarCodeDataForProduct=Barcode information of product %s : # BarCodeDataForThirdparty=Barcode information of thirdparty %s : -# BarcodeStickersMask=xxx - +# ResetBarcodeForAllRecords=Define barcode value for all records (this will also reset barcode value already defined with new values) +# PriceByCustomer=Price by customer +# PriceCatalogue=Catalogue Price +# PricingRule=Pricing Rules +# AddCustomerPrice=Add price by customers +# ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +# PriceByCustomerLog=Price by customer log diff --git a/htdocs/langs/ja_JP/projects.lang b/htdocs/langs/ja_JP/projects.lang index 189d145d30d..786fd75bc88 100644 --- a/htdocs/langs/ja_JP/projects.lang +++ b/htdocs/langs/ja_JP/projects.lang @@ -1,4 +1,6 @@ # Dolibarr language file - Source file is en_US - projects +# RefProject=Ref. project +# ProjectId=Project Id Project=プロジェクト Projects=プロジェクト SharedProject=皆 @@ -30,11 +32,18 @@ TimeSpent=に費や​​された時間は TimesSpent=に費や​​された時間は RefTask=REF。タスク LabelTask=ラベルタスク +# TaskTimeSpent=Time spent on tasks +# TaskTimeUser=Task time user +# TaskTimeNote=Task time note +# TaskTimeDate=Task time date NewTimeSpent=新たに費やされた時間は MyTimeSpent=私の時間を費やし MyTasks=私の仕事 Tasks=タスク Task=タスク +# TaskDateStart=Task start date +# TaskDateEnd=Task end date +# TaskDescription=Task description NewTask=新しいタスク AddTask=タスクを追加する AddDuration=期間を追加します。 @@ -100,12 +109,12 @@ IfNeedToUseOhterObjectKeepEmpty=いくつかのオブジェクト(請求書、 ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=プロジェクトリーダー TypeContact_project_external_PROJECTLEADER=プロジェクトリーダー -TypeContact_project_internal_PROJECTCONTRIBUTOR=貢献者 -TypeContact_project_external_PROJECTCONTRIBUTOR=貢献者 +# TypeContact_project_internal_PROJECTCONTRIBUTOR=Contributor +# TypeContact_project_external_PROJECTCONTRIBUTOR=Contributor TypeContact_project_task_internal_TASKEXECUTIVE=タスクの幹部 TypeContact_project_task_external_TASKEXECUTIVE=タスクの幹部 -TypeContact_project_task_internal_TASKCONTRIBUTOR=貢献者 -TypeContact_project_task_external_TASKCONTRIBUTOR=貢献者 +# TypeContact_project_task_internal_TASKCONTRIBUTOR=Contributor +# TypeContact_project_task_external_TASKCONTRIBUTOR=Contributor # SelectElement=Select element # AddElement=Link to element # Documents models diff --git a/htdocs/langs/ja_JP/stocks.lang b/htdocs/langs/ja_JP/stocks.lang index 02b0d72d66c..4944fb5645d 100644 --- a/htdocs/langs/ja_JP/stocks.lang +++ b/htdocs/langs/ja_JP/stocks.lang @@ -94,14 +94,20 @@ SelectWarehouseForStockIncrease=在庫の増加に使用する倉庫を選択し # StockToBuy=To order # Replenishment=Replenishment # ReplenishmentOrders=Replenishment orders -# UseVirtualStock=Use virtual stock instead of physical stock +# VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differs +# UseVirtualStockByDefault=Use virtual stock by default, instead of physical stock, for replenishment feature +# UseVirtualStock=Use virtual stock +# UsePhysicalStock=Use physical stock +# CurentSelectionMode=Curent selection mode +# CurentlyUsingVirtualStock=Virtual stock +# CurentlyUsingPhysicalStock=Physical stock # RuleForStockReplenishment=Rule for stocks replenishment # SelectProductWithNotNullQty=Select at least one product with a qty not null and a supplier # AlertOnly= Alerts only # WarehouseForStockDecrease=The warehouse %s will be used for stock decrease # WarehouseForStockIncrease=The warehouse %s will be used for stock increase # ForThisWarehouse=For this warehouse -# ReplenishmentStatusDesc=This is list of all product with a physical stock lower than desired stock (or alert value if checkbox "alert only" is checked) and suggest you to create supplier orders to fill the difference. +# ReplenishmentStatusDesc=This is list of all product with a stock lower than desired stock (or lower than alert value if checkbox "alert only" is checked), and suggest you to create supplier orders to fill the difference. # ReplenishmentOrdersDesc=This is list of all opened supplier orders # Replenishments=Replenishments # NbOfProductBeforePeriod=Quantity of product %s in stock before selected period (< %s) diff --git a/htdocs/langs/ko_KR/admin.lang b/htdocs/langs/ko_KR/admin.lang index a2c2ea0c80d..d067732f1db 100644 --- a/htdocs/langs/ko_KR/admin.lang +++ b/htdocs/langs/ko_KR/admin.lang @@ -287,7 +287,7 @@ VersionLastUpgrade=최종 버전 업그레이드 # CallUpdatePage=Go to the page that updates the database structure and datas: %s. # LastStableVersion=Last stable version # GenericMaskCodes=You may enter any numbering mask. In this mask, the following tags could be used:
{000000} corresponds to a number which will be incremented on each %s. Enter as many zeros as the desired length of the counter. The counter will be completed by zeros from the left in order to have as many zeros as the mask.
{000000+000} same as previous but an offset corresponding to the number to the right of the + sign is applied starting on first %s.
{000000@x} same as previous but the counter is reset to zero when month x is reached (x between 1 and 12, or 0 to use the early months of fiscal year defined in your configuration, or 99 to reset to zero every month). If this option is used and x is 2 or higher, then sequence {yy}{mm} or {yyyy}{mm} is also required.
{dd} day (01 to 31).
{mm} month (01 to 12).
{yy}, {yyyy} or {y} year over 2, 4 or 1 numbers.
-# GenericMaskCodes2={cccc} the client code
{cccc000} the client code on n characters is followed by a client's ref counter without offset and zeroized with the global counter.
{tttt} The code of company type on n characters (see dictionary-company types).
+# GenericMaskCodes2={cccc} the client code on n characters
{cccc000} the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.
{tttt} The code of company type on n characters (see dictionary-company types).
# GenericMaskCodes3=All other characters in the mask will remain intact.
Spaces are not allowed.
# GenericMaskCodes4a=Example on the 99th %s of the third party TheCompany done 2007-01-31:
# GenericMaskCodes4b=Example on third party created on 2007-03-01:
@@ -345,8 +345,6 @@ VersionLastUpgrade=최종 버전 업그레이드 # EnterRefToBuildUrl=Enter reference for object %s # GetSecuredUrl=Get calculated URL # ButtonHideUnauthorized=Hide buttons for unauthorized actions instead of showing disabled buttons -# ProductVatMassChange=Mass VAT change -# ProductVatMassChangeDesc=This page can be used to modify a VAT rate defined on products or services from a value to another. Warning, this change is done on all database. # OldVATRates=Old VAT rate # NewVATRates=New VAT rate # PriceBaseTypeToChange=Modify on prices with base reference value defined on @@ -381,6 +379,16 @@ VersionLastUpgrade=최종 버전 업그레이드 # DefaultLink=Default link # ValueOverwrittenByUserSetup=Warning, this value may be overwritten by user specific setup (each user can set his own clicktodial url) # ExternalModule=External module - Installed into directory %s +# BarcodeInitForThirdparties=Mass barcode init for thirdparties +# BarcodeInitForProductsOrServices=Mass barcode init or reset for products or services +# CurrentlyNWithoutBarCode=Currently, you have %s records on %s %s without barcode defined. +# InitEmptyBarCode=Init value for next %s empty records +# EraseAllCurrentBarCode=Erase all current barcode values +# ConfirmEraseAllCurrentBarCode=Are you sure you want to erase all current barcode values ? +# AllBarcodeReset=All barcode values have been removed +# NoBarcodeNumberingTemplateDefined=No numbering barcode template enabled into barcode module setup. +# NoRecordWithoutBarcodeDefined=No record with no barcode value defined. + # Modules # Module0Name=Users & groups @@ -510,6 +518,8 @@ VersionLastUpgrade=최종 버전 업그레이드 # Module59000Desc=Module to manage margins # Module60000Name=Commissions # Module60000Desc=Module to manage commissions +# Module150010Name=Batch number, eat-by date and sell-by date +# Module150010Desc=batch number, eat-by date and sell-by date management for product # Permission11=Read customer invoices # Permission12=Create/modify customer invoices # Permission13=Unvalidate customer invoices @@ -726,8 +736,8 @@ VersionLastUpgrade=최종 버전 업그레이드 # Permission55002=Create/modify surveys # Permission59001=Read commercial margins # Permission59002=Define commercial margins -# DictionaryCompanyType=Company types -# DictionaryCompanyJuridicalType=Juridical kinds of company +# DictionaryCompanyType=Thirdparties type +# DictionaryCompanyJuridicalType=Juridical kinds of thirdparties # DictionaryProspectLevel=Prospect potential level # DictionaryCanton=State/Cantons # DictionaryRegion=Regions @@ -959,7 +969,7 @@ LocalTax2IsNotUsedExample= # ShowProfIdInAddress=Show professionnal id with addresses on documents # ShowVATIntaInAddress=Hide VAT Intra num with addresses on documents # TranslationUncomplete=Partial translation -# SomeTranslationAreUncomplete=Some languages may be partially translated or may contains errors. If you detect some, you can fix .lang text files into directory htdocs/langs and submit them on the forum at http://www.dolibarr.org. +# SomeTranslationAreUncomplete=Some languages may be partially translated or may contains errors. If you detect some, you can fix language files registering to http://transifex.com/projects/p/dolibarr/. # MenuUseLayout=Make vertical menu hidable (option javascript must not be disabled) # MAIN_DISABLE_METEO=Disable meteo view # TestLoginToAPI=Test login to API @@ -985,6 +995,7 @@ LocalTax2IsNotUsedExample= # ExtraFieldsProjectTask=Complementary attributes (tasks) # ExtraFieldHasWrongValue=Attribut %s has a wrong value. # AlphaNumOnlyCharsAndNoSpace=only alphanumericals characters without space +# AlphaNumOnlyLowerCharsAndNoSpace=only alphanumericals and lower case characters without space # SendingMailSetup=Setup of sendings by email # SendmailOptionNotComplete=Warning, on some Linux systems, to send email from your email, sendmail execution setup must contains option -ba (parameter mail.force_extra_parameters into your php.ini file). If some recipients never receive emails, try to edit this PHP parameter with mail.force_extra_parameters = -ba). # PathToDocuments=Path to documents @@ -1269,7 +1280,7 @@ LocalTax2IsNotUsedExample= # YouMayFindPerfAdviceHere=You will find on this page some checks or advices related to performance. # NotInstalled=Not installed, so your server is not slow down by this. # ApplicativeCache=Applicative cache -# MemcachedNotAvailable=No applicative cache found. You can enhance performance by installing a cache server Memcached and a module able to use this cache server. More information here http://wiki.dolibarr.org/index.php/Module_MemCached_EN. Note that a lot of web hosting provider does not provide such cache server. +# MemcachedNotAvailable=No applicative cache found. You can enhance performance by installing a cache server Memcached and a module able to use this cache server.
More information here http://wiki.dolibarr.org/index.php/Module_MemCached_EN.
Note that a lot of web hosting provider does not provide such cache server. # OPCodeCache=OPCode cache # NoOPCodeCacheFound=No OPCode cache found. May be you use another OPCode cache than XCache or eAccelerator (good), may be you don't have OPCode cache (very bad). # HTTPCacheStaticResources=HTTP cache for static resources (css, img, javascript) diff --git a/htdocs/langs/ko_KR/agenda.lang b/htdocs/langs/ko_KR/agenda.lang index 35ef2e1cdc7..1f6effd29ce 100644 --- a/htdocs/langs/ko_KR/agenda.lang +++ b/htdocs/langs/ko_KR/agenda.lang @@ -52,6 +52,7 @@ Location=위치 # SupplierOrderSentByEMail=Supplier order %s sent by EMail # SupplierInvoiceSentByEMail=Supplier invoice %s sent by EMail # ShippingSentByEMail=Shipping %s sent by EMail +# ShippingValidated= Shipping %s validated # InterventionSentByEMail=Intervention %s sent by EMail # NewCompanyToDolibarr= Third party created # DateActionPlannedStart= Planned start date diff --git a/htdocs/langs/ko_KR/cashdesk.lang b/htdocs/langs/ko_KR/cashdesk.lang index 8fd787620f4..5cfb7ea3d6d 100644 --- a/htdocs/langs/ko_KR/cashdesk.lang +++ b/htdocs/langs/ko_KR/cashdesk.lang @@ -37,3 +37,4 @@ # ShowStock=Show warehouse # DeleteArticle=Click to remove this article # FilterRefOrLabelOrBC=Search (Ref/Label) +# UserNeedPermissionToEditStockToUsePos=You ask to decrease stock on invoice creation, so user that use POS need to have permission to edit stock. diff --git a/htdocs/langs/ko_KR/errors.lang b/htdocs/langs/ko_KR/errors.lang index 81902449bcf..67de157226e 100644 --- a/htdocs/langs/ko_KR/errors.lang +++ b/htdocs/langs/ko_KR/errors.lang @@ -26,8 +26,11 @@ Error=오류 # ErrorBadThirdPartyName=Bad value for third party name # ErrorProdIdIsMandatory=The %s is mandatory # ErrorBadCustomerCodeSyntax=Bad syntax for customer code +# ErrorBadBarCodeSyntax=Bad syntax for bar code # ErrorCustomerCodeRequired=Customer code required +# ErrorBarCodeRequired=Bar code required # ErrorCustomerCodeAlreadyUsed=Customer code already used +# ErrorBarCodeAlreadyUsed=Bar code already used # ErrorPrefixRequired=Prefix required # ErrorUrlNotValid=The website address is incorrect # ErrorBadSupplierCodeSyntax=Bad syntax for supplier code @@ -63,6 +66,7 @@ Error=오류 # ErrorNoValueForRadioType=Please fill value for radio list # ErrorBadFormatValueList=The list value cannot have more than one come : %s, but need at least one: llave,valores # ErrorFieldCanNotContainSpecialCharacters=Field %s must not contains special characters. +# ErrorFieldCanNotContainSpecialNorUpperCharacters=Field %s must not contains special characters, nor upper case characters. # ErrorNoAccountancyModuleLoaded=No accountancy module activated # ErrorExportDuplicateProfil=This profile name already exists for this export set. # ErrorLDAPSetupNotComplete=Dolibarr-LDAP matching is not complete. diff --git a/htdocs/langs/ko_KR/exports.lang b/htdocs/langs/ko_KR/exports.lang index 84a27906cec..de6249e8a55 100644 --- a/htdocs/langs/ko_KR/exports.lang +++ b/htdocs/langs/ko_KR/exports.lang @@ -123,6 +123,10 @@ LibraryVersion=버전 # DeskCode=Desk code # BankAccountNumber=Account number # BankAccountNumberKey=Key +# SpecialCode=Special code +# ExportStringFilter=%% allows replacing one or more characters in the text +# ExportDateFilter='AAAA' 'AAAAMM' 'AAAAMMJJ': filters by one year/month/day
'AAAA+AAAA' 'AAAAMM+AAAAMM' 'AAAAMMJJ+AAAAMMJJ': filters over a range of years/months/days
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filters on the following years/months/days
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filters on the previous years/months/days +# ExportNumericFilter='NNNNN' filters by one value
'NNNNN+NNNNN' filters over a range of values
'>NNNNN' filters by lower values
'>NNNNN' filters by higher values ## filters # SelectFilterFields=If you want to filter on some values, just input values here. # FilterableFields=Champs Filtrables diff --git a/htdocs/langs/ko_KR/mails.lang b/htdocs/langs/ko_KR/mails.lang index 3411967d136..c5675778bec 100644 --- a/htdocs/langs/ko_KR/mails.lang +++ b/htdocs/langs/ko_KR/mails.lang @@ -79,6 +79,13 @@ MailingStatusError=오류 # ActivateCheckRead=Allow to use the "Unsubcribe" link # ActivateCheckReadKey=Key use to encrypt URL use for "Read Receipt" and "Unsubcribe" feature # EMailSentToNRecipients=EMail sent to %s recipients. +# EachInvoiceWillBeAttachedToEmail=A document using default invoice document template will be created and attached to each email. +# MailTopicSendRemindUnpaidInvoices=Remind of invoice %s (%s) +# SendRemind=Send remind by EMails +# RemindSent=%S remind(s) sent +# AllRecipientSelectedForRemind=All thirdparties selected and if an email is set (note that one mail per invoice will be sent) +# NoRemindSent=No remind by EMail sent +# ResultOfMassSending=Result of mass remind sending by EMail # Libelle des modules de liste de destinataires mailing # MailingModuleDescContactCompanies=Contacts/addresses of all third parties (customer, prospect, supplier, ...) diff --git a/htdocs/langs/ko_KR/main.lang b/htdocs/langs/ko_KR/main.lang index 8d94953f7cf..82706e088d7 100644 --- a/htdocs/langs/ko_KR/main.lang +++ b/htdocs/langs/ko_KR/main.lang @@ -572,7 +572,7 @@ Size=크기 # TotalMan=Total # NeverReceived=Never received # Canceled=Canceled -# YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu setup - dictionnary +# YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu setup - dictionary # Color=Color # Documents=Linked files # DocumentsNb=Linked files (%s) diff --git a/htdocs/langs/ko_KR/opensurvey.lang b/htdocs/langs/ko_KR/opensurvey.lang index fec34d9dbe6..1fbafbdb317 100644 --- a/htdocs/langs/ko_KR/opensurvey.lang +++ b/htdocs/langs/ko_KR/opensurvey.lang @@ -35,6 +35,7 @@ # TitleChoice=Choice label # ExportSpreadsheet=Export result spreadsheet # ExpireDate=Limit date +# NbOfSurveys=Number of surveys # NbOfVoters=Nb of voters # SurveyResults=Results # PollAdminDesc=You are allowed to change all vote lines of this poll with button "Edit". You can, as well, remove a column or a line with %s. You can also add a new column with %s. diff --git a/htdocs/langs/ko_KR/orders.lang b/htdocs/langs/ko_KR/orders.lang index 6bbef48cfc9..42444f0ec1c 100644 --- a/htdocs/langs/ko_KR/orders.lang +++ b/htdocs/langs/ko_KR/orders.lang @@ -55,6 +55,7 @@ # MenuOrdersToBill=Orders delivered # MenuOrdersToBill2=Orders to bill # SearchOrder=Search order +# SearchACustomerOrder=Search a customer order # ShipProduct=Ship product # Discount=Discount # CreateOrder=Create Order @@ -164,3 +165,4 @@ # OrderCreated=Your orders have been created # OrderFail=An error happened during your orders creation # CreateOrders=Create orders +# ToBillSeveralOrderSelectCustomer=To create an invoice for several orders, click first onto customer, then choose "%s". diff --git a/htdocs/langs/ko_KR/other.lang b/htdocs/langs/ko_KR/other.lang index c1b6ae1c505..be45831d783 100644 --- a/htdocs/langs/ko_KR/other.lang +++ b/htdocs/langs/ko_KR/other.lang @@ -49,14 +49,15 @@ # NbOfActiveNotifications=Number of notifications # PredefinedMailTest=This is a test mail.\nThe two lines are separated by a carriage return.\n\n__SIGNATURE__ # PredefinedMailTestHtml=This is a test mail (the word test must be in bold).
The two lines are separated by a carriage return.

__SIGNATURE__ -# PredefinedMailContentSendInvoice=__CONTACTCIVNAME__ \n\n You will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__ \n\n We would like to warn you that the invoice __FACREF__ seems to not being payed. So this is the invoice in attachment again, as a reminder.\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendProposal=__CONTACTCIVNAME__ \n\n You will find here the commercial proposal __PROPREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendOrder=__CONTACTCIVNAME__ \n\n You will find here the order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__ \n\n You will find here our order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__ \n\n You will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendShipping=__CONTACTCIVNAME__ \n\n You will find here the shipping __SHIPPINGREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendFichInter=__CONTACTCIVNAME__ \n\n You will find here the intervention __FICHINTERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__\n\nWe would like to warn you that the invoice __FACREF__ seems to not being payed. So this is the invoice in attachment again, as a reminder.\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendProposal=__CONTACTCIVNAME__\n\nYou will find here the commercial proposal __PROPREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendOrder=__CONTACTCIVNAME__\n\nYou will find here the order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__\n\nYou will find here our order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendShipping=__CONTACTCIVNAME__\n\nYou will find here the shipping __SHIPPINGREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendFichInter=__CONTACTCIVNAME__\n\nYou will find here the intervention __FICHINTERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentThirdparty=__CONTACTCIVNAME__\n\n__PERSONALIZED__\n\n__SIGNATURE__ # DemoDesc=Dolibarr is a compact ERP/CRM composed by several functional modules. A demo that includes all modules does not mean anything as this never occurs. So, several demo profiles are available. # ChooseYourDemoProfil=Choose the demo profile that match your activity... # DemoFundation=Manage members of a foundation diff --git a/htdocs/langs/ko_KR/products.lang b/htdocs/langs/ko_KR/products.lang index 9f75dab9917..d91deb78816 100644 --- a/htdocs/langs/ko_KR/products.lang +++ b/htdocs/langs/ko_KR/products.lang @@ -13,6 +13,10 @@ # NewService=New service # ProductCode=Product code # ServiceCode=Service code +# ProductVatMassChange=Mass VAT change +# ProductVatMassChangeDesc=This page can be used to modify a VAT rate defined on products or services from a value to another. Warning, this change is done on all database. +# MassBarcodeInit=Mass barcode init +# MassBarcodeInitDesc=This page can be used to initialize a barcode on objects that does not have barcode defined. Check before that setup of module barcode is complete. # ProductAccountancyBuyCode=Accountancy code (buy) # ProductAccountancySellCode=Accountancy code (sell) # ProductOrService=Product or Service @@ -173,8 +177,8 @@ # CountryOrigin=Origin country # HiddenIntoCombo=Hidden into select lists # Nature=Nature -# ProductCodeModel=Product code template -# ServiceCodeModel=Service code template +# ProductCodeModel=Product ref template +# ServiceCodeModel=Service ref template # AddThisProductCard=Create product card # HelpAddThisProductCard=This option allows you to create or clone a product if it does not exist. # AddThisServiceCard=Create service card @@ -216,5 +220,10 @@ # DefinitionOfBarCodeForThirdpartyNotComplete=Definition of type or value of bar code non complete for thirdparty %s. # BarCodeDataForProduct=Barcode information of product %s : # BarCodeDataForThirdparty=Barcode information of thirdparty %s : -# BarcodeStickersMask=xxx - +# ResetBarcodeForAllRecords=Define barcode value for all records (this will also reset barcode value already defined with new values) +# PriceByCustomer=Price by customer +# PriceCatalogue=Catalogue Price +# PricingRule=Pricing Rules +# AddCustomerPrice=Add price by customers +# ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +# PriceByCustomerLog=Price by customer log diff --git a/htdocs/langs/ko_KR/projects.lang b/htdocs/langs/ko_KR/projects.lang index d432ae0110e..2710b95cdf8 100644 --- a/htdocs/langs/ko_KR/projects.lang +++ b/htdocs/langs/ko_KR/projects.lang @@ -1,4 +1,6 @@ # Dolibarr language file - Source file is en_US - projects +# RefProject=Ref. project +# ProjectId=Project Id # Project=Project # Projects=Projects # SharedProject=Everybody @@ -30,11 +32,18 @@ # TimesSpent=Time spent # RefTask=Ref. task # LabelTask=Label task +# TaskTimeSpent=Time spent on tasks +# TaskTimeUser=Task time user +# TaskTimeNote=Task time note +# TaskTimeDate=Task time date # NewTimeSpent=New time spent # MyTimeSpent=My time spent # MyTasks=My tasks # Tasks=Tasks # Task=Task +# TaskDateStart=Task start date +# TaskDateEnd=Task end date +# TaskDescription=Task description # NewTask=New task # AddTask=Add task # AddDuration=Add duration diff --git a/htdocs/langs/ko_KR/stocks.lang b/htdocs/langs/ko_KR/stocks.lang index f54fe2f24e0..dae103c8f8c 100644 --- a/htdocs/langs/ko_KR/stocks.lang +++ b/htdocs/langs/ko_KR/stocks.lang @@ -94,14 +94,20 @@ Location=위치 # StockToBuy=To order # Replenishment=Replenishment # ReplenishmentOrders=Replenishment orders -# UseVirtualStock=Use virtual stock instead of physical stock +# VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differs +# UseVirtualStockByDefault=Use virtual stock by default, instead of physical stock, for replenishment feature +# UseVirtualStock=Use virtual stock +# UsePhysicalStock=Use physical stock +# CurentSelectionMode=Curent selection mode +# CurentlyUsingVirtualStock=Virtual stock +# CurentlyUsingPhysicalStock=Physical stock # RuleForStockReplenishment=Rule for stocks replenishment # SelectProductWithNotNullQty=Select at least one product with a qty not null and a supplier # AlertOnly= Alerts only # WarehouseForStockDecrease=The warehouse %s will be used for stock decrease # WarehouseForStockIncrease=The warehouse %s will be used for stock increase # ForThisWarehouse=For this warehouse -# ReplenishmentStatusDesc=This is list of all product with a physical stock lower than desired stock (or alert value if checkbox "alert only" is checked) and suggest you to create supplier orders to fill the difference. +# ReplenishmentStatusDesc=This is list of all product with a stock lower than desired stock (or lower than alert value if checkbox "alert only" is checked), and suggest you to create supplier orders to fill the difference. # ReplenishmentOrdersDesc=This is list of all opened supplier orders # Replenishments=Replenishments # NbOfProductBeforePeriod=Quantity of product %s in stock before selected period (< %s) diff --git a/htdocs/langs/lt_LT/admin.lang b/htdocs/langs/lt_LT/admin.lang index 81f2c7c46d8..06a7991524a 100644 --- a/htdocs/langs/lt_LT/admin.lang +++ b/htdocs/langs/lt_LT/admin.lang @@ -287,7 +287,7 @@ AntiVirusCommandExample= ClamWin pavyzdys: c:\\Progra~1\\ClamWin\\bin\\clamscan. # CallUpdatePage=Go to the page that updates the database structure and datas: %s. # LastStableVersion=Last stable version # GenericMaskCodes=You may enter any numbering mask. In this mask, the following tags could be used:
{000000} corresponds to a number which will be incremented on each %s. Enter as many zeros as the desired length of the counter. The counter will be completed by zeros from the left in order to have as many zeros as the mask.
{000000+000} same as previous but an offset corresponding to the number to the right of the + sign is applied starting on first %s.
{000000@x} same as previous but the counter is reset to zero when month x is reached (x between 1 and 12, or 0 to use the early months of fiscal year defined in your configuration, or 99 to reset to zero every month). If this option is used and x is 2 or higher, then sequence {yy}{mm} or {yyyy}{mm} is also required.
{dd} day (01 to 31).
{mm} month (01 to 12).
{yy}, {yyyy} or {y} year over 2, 4 or 1 numbers.
-# GenericMaskCodes2={cccc} the client code
{cccc000} the client code on n characters is followed by a client's ref counter without offset and zeroized with the global counter.
{tttt} The code of company type on n characters (see dictionary-company types).
+# GenericMaskCodes2={cccc} the client code on n characters
{cccc000} the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.
{tttt} The code of company type on n characters (see dictionary-company types).
# GenericMaskCodes3=All other characters in the mask will remain intact.
Spaces are not allowed.
# GenericMaskCodes4a=Example on the 99th %s of the third party TheCompany done 2007-01-31:
# GenericMaskCodes4b=Example on third party created on 2007-03-01:
@@ -345,8 +345,6 @@ AntiVirusCommandExample= ClamWin pavyzdys: c:\\Progra~1\\ClamWin\\bin\\clamscan. # EnterRefToBuildUrl=Enter reference for object %s # GetSecuredUrl=Get calculated URL # ButtonHideUnauthorized=Hide buttons for unauthorized actions instead of showing disabled buttons -# ProductVatMassChange=Mass VAT change -# ProductVatMassChangeDesc=This page can be used to modify a VAT rate defined on products or services from a value to another. Warning, this change is done on all database. # OldVATRates=Old VAT rate # NewVATRates=New VAT rate # PriceBaseTypeToChange=Modify on prices with base reference value defined on @@ -381,6 +379,16 @@ AntiVirusCommandExample= ClamWin pavyzdys: c:\\Progra~1\\ClamWin\\bin\\clamscan. # DefaultLink=Default link # ValueOverwrittenByUserSetup=Warning, this value may be overwritten by user specific setup (each user can set his own clicktodial url) # ExternalModule=External module - Installed into directory %s +# BarcodeInitForThirdparties=Mass barcode init for thirdparties +# BarcodeInitForProductsOrServices=Mass barcode init or reset for products or services +# CurrentlyNWithoutBarCode=Currently, you have %s records on %s %s without barcode defined. +# InitEmptyBarCode=Init value for next %s empty records +# EraseAllCurrentBarCode=Erase all current barcode values +# ConfirmEraseAllCurrentBarCode=Are you sure you want to erase all current barcode values ? +# AllBarcodeReset=All barcode values have been removed +# NoBarcodeNumberingTemplateDefined=No numbering barcode template enabled into barcode module setup. +# NoRecordWithoutBarcodeDefined=No record with no barcode value defined. + # Modules # Module0Name=Users & groups @@ -510,6 +518,8 @@ AntiVirusCommandExample= ClamWin pavyzdys: c:\\Progra~1\\ClamWin\\bin\\clamscan. # Module59000Desc=Module to manage margins # Module60000Name=Commissions # Module60000Desc=Module to manage commissions +# Module150010Name=Batch number, eat-by date and sell-by date +# Module150010Desc=batch number, eat-by date and sell-by date management for product # Permission11=Read customer invoices # Permission12=Create/modify customer invoices # Permission13=Unvalidate customer invoices @@ -726,8 +736,8 @@ AntiVirusCommandExample= ClamWin pavyzdys: c:\\Progra~1\\ClamWin\\bin\\clamscan. # Permission55002=Create/modify surveys # Permission59001=Read commercial margins # Permission59002=Define commercial margins -# DictionaryCompanyType=Company types -# DictionaryCompanyJuridicalType=Juridical kinds of company +# DictionaryCompanyType=Thirdparties type +# DictionaryCompanyJuridicalType=Juridical kinds of thirdparties # DictionaryProspectLevel=Prospect potential level # DictionaryCanton=State/Cantons # DictionaryRegion=Regions @@ -959,7 +969,7 @@ LocalTax2IsNotUsedExample= # ShowProfIdInAddress=Show professionnal id with addresses on documents # ShowVATIntaInAddress=Hide VAT Intra num with addresses on documents # TranslationUncomplete=Partial translation -# SomeTranslationAreUncomplete=Some languages may be partially translated or may contains errors. If you detect some, you can fix .lang text files into directory htdocs/langs and submit them on the forum at http://www.dolibarr.org. +# SomeTranslationAreUncomplete=Some languages may be partially translated or may contains errors. If you detect some, you can fix language files registering to http://transifex.com/projects/p/dolibarr/. # MenuUseLayout=Make vertical menu hidable (option javascript must not be disabled) # MAIN_DISABLE_METEO=Disable meteo view # TestLoginToAPI=Test login to API @@ -985,6 +995,7 @@ LocalTax2IsNotUsedExample= # ExtraFieldsProjectTask=Complementary attributes (tasks) # ExtraFieldHasWrongValue=Attribut %s has a wrong value. # AlphaNumOnlyCharsAndNoSpace=only alphanumericals characters without space +# AlphaNumOnlyLowerCharsAndNoSpace=only alphanumericals and lower case characters without space # SendingMailSetup=Setup of sendings by email # SendmailOptionNotComplete=Warning, on some Linux systems, to send email from your email, sendmail execution setup must contains option -ba (parameter mail.force_extra_parameters into your php.ini file). If some recipients never receive emails, try to edit this PHP parameter with mail.force_extra_parameters = -ba). # PathToDocuments=Path to documents @@ -1269,7 +1280,7 @@ LocalTax2IsNotUsedExample= # YouMayFindPerfAdviceHere=You will find on this page some checks or advices related to performance. # NotInstalled=Not installed, so your server is not slow down by this. # ApplicativeCache=Applicative cache -# MemcachedNotAvailable=No applicative cache found. You can enhance performance by installing a cache server Memcached and a module able to use this cache server. More information here http://wiki.dolibarr.org/index.php/Module_MemCached_EN. Note that a lot of web hosting provider does not provide such cache server. +# MemcachedNotAvailable=No applicative cache found. You can enhance performance by installing a cache server Memcached and a module able to use this cache server.
More information here http://wiki.dolibarr.org/index.php/Module_MemCached_EN.
Note that a lot of web hosting provider does not provide such cache server. # OPCodeCache=OPCode cache # NoOPCodeCacheFound=No OPCode cache found. May be you use another OPCode cache than XCache or eAccelerator (good), may be you don't have OPCode cache (very bad). # HTTPCacheStaticResources=HTTP cache for static resources (css, img, javascript) diff --git a/htdocs/langs/lt_LT/agenda.lang b/htdocs/langs/lt_LT/agenda.lang index 8a78e6c51c8..c5b02c0ecb6 100644 --- a/htdocs/langs/lt_LT/agenda.lang +++ b/htdocs/langs/lt_LT/agenda.lang @@ -52,6 +52,7 @@ # SupplierOrderSentByEMail=Supplier order %s sent by EMail # SupplierInvoiceSentByEMail=Supplier invoice %s sent by EMail # ShippingSentByEMail=Shipping %s sent by EMail +# ShippingValidated= Shipping %s validated # InterventionSentByEMail=Intervention %s sent by EMail # NewCompanyToDolibarr= Third party created # DateActionPlannedStart= Planned start date diff --git a/htdocs/langs/lt_LT/cashdesk.lang b/htdocs/langs/lt_LT/cashdesk.lang index 8fd787620f4..5cfb7ea3d6d 100644 --- a/htdocs/langs/lt_LT/cashdesk.lang +++ b/htdocs/langs/lt_LT/cashdesk.lang @@ -37,3 +37,4 @@ # ShowStock=Show warehouse # DeleteArticle=Click to remove this article # FilterRefOrLabelOrBC=Search (Ref/Label) +# UserNeedPermissionToEditStockToUsePos=You ask to decrease stock on invoice creation, so user that use POS need to have permission to edit stock. diff --git a/htdocs/langs/lt_LT/errors.lang b/htdocs/langs/lt_LT/errors.lang index f5e6781eb4c..473ab485c97 100644 --- a/htdocs/langs/lt_LT/errors.lang +++ b/htdocs/langs/lt_LT/errors.lang @@ -26,8 +26,11 @@ # ErrorBadThirdPartyName=Bad value for third party name # ErrorProdIdIsMandatory=The %s is mandatory # ErrorBadCustomerCodeSyntax=Bad syntax for customer code +# ErrorBadBarCodeSyntax=Bad syntax for bar code # ErrorCustomerCodeRequired=Customer code required +# ErrorBarCodeRequired=Bar code required # ErrorCustomerCodeAlreadyUsed=Customer code already used +# ErrorBarCodeAlreadyUsed=Bar code already used # ErrorPrefixRequired=Prefix required # ErrorUrlNotValid=The website address is incorrect # ErrorBadSupplierCodeSyntax=Bad syntax for supplier code @@ -63,6 +66,7 @@ # ErrorNoValueForRadioType=Please fill value for radio list # ErrorBadFormatValueList=The list value cannot have more than one come : %s, but need at least one: llave,valores # ErrorFieldCanNotContainSpecialCharacters=Field %s must not contains special characters. +# ErrorFieldCanNotContainSpecialNorUpperCharacters=Field %s must not contains special characters, nor upper case characters. # ErrorNoAccountancyModuleLoaded=No accountancy module activated # ErrorExportDuplicateProfil=This profile name already exists for this export set. # ErrorLDAPSetupNotComplete=Dolibarr-LDAP matching is not complete. diff --git a/htdocs/langs/lt_LT/exports.lang b/htdocs/langs/lt_LT/exports.lang index ecb0d4a94ac..082be11736e 100644 --- a/htdocs/langs/lt_LT/exports.lang +++ b/htdocs/langs/lt_LT/exports.lang @@ -123,6 +123,10 @@ # DeskCode=Desk code # BankAccountNumber=Account number # BankAccountNumberKey=Key +# SpecialCode=Special code +# ExportStringFilter=%% allows replacing one or more characters in the text +# ExportDateFilter='AAAA' 'AAAAMM' 'AAAAMMJJ': filters by one year/month/day
'AAAA+AAAA' 'AAAAMM+AAAAMM' 'AAAAMMJJ+AAAAMMJJ': filters over a range of years/months/days
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filters on the following years/months/days
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filters on the previous years/months/days +# ExportNumericFilter='NNNNN' filters by one value
'NNNNN+NNNNN' filters over a range of values
'>NNNNN' filters by lower values
'>NNNNN' filters by higher values ## filters # SelectFilterFields=If you want to filter on some values, just input values here. # FilterableFields=Champs Filtrables diff --git a/htdocs/langs/lt_LT/mails.lang b/htdocs/langs/lt_LT/mails.lang index 328fc3ec5d6..313acce4fa1 100644 --- a/htdocs/langs/lt_LT/mails.lang +++ b/htdocs/langs/lt_LT/mails.lang @@ -79,6 +79,13 @@ # ActivateCheckRead=Allow to use the "Unsubcribe" link # ActivateCheckReadKey=Key use to encrypt URL use for "Read Receipt" and "Unsubcribe" feature # EMailSentToNRecipients=EMail sent to %s recipients. +# EachInvoiceWillBeAttachedToEmail=A document using default invoice document template will be created and attached to each email. +# MailTopicSendRemindUnpaidInvoices=Remind of invoice %s (%s) +# SendRemind=Send remind by EMails +# RemindSent=%S remind(s) sent +# AllRecipientSelectedForRemind=All thirdparties selected and if an email is set (note that one mail per invoice will be sent) +# NoRemindSent=No remind by EMail sent +# ResultOfMassSending=Result of mass remind sending by EMail # Libelle des modules de liste de destinataires mailing # MailingModuleDescContactCompanies=Contacts/addresses of all third parties (customer, prospect, supplier, ...) diff --git a/htdocs/langs/lt_LT/main.lang b/htdocs/langs/lt_LT/main.lang index 2a5fc802735..1faa3769c21 100644 --- a/htdocs/langs/lt_LT/main.lang +++ b/htdocs/langs/lt_LT/main.lang @@ -572,7 +572,7 @@ SeparatorThousand=None # TotalMan=Total # NeverReceived=Never received # Canceled=Canceled -# YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu setup - dictionnary +# YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu setup - dictionary # Color=Color # Documents=Linked files # DocumentsNb=Linked files (%s) diff --git a/htdocs/langs/lt_LT/opensurvey.lang b/htdocs/langs/lt_LT/opensurvey.lang index fec34d9dbe6..1fbafbdb317 100644 --- a/htdocs/langs/lt_LT/opensurvey.lang +++ b/htdocs/langs/lt_LT/opensurvey.lang @@ -35,6 +35,7 @@ # TitleChoice=Choice label # ExportSpreadsheet=Export result spreadsheet # ExpireDate=Limit date +# NbOfSurveys=Number of surveys # NbOfVoters=Nb of voters # SurveyResults=Results # PollAdminDesc=You are allowed to change all vote lines of this poll with button "Edit". You can, as well, remove a column or a line with %s. You can also add a new column with %s. diff --git a/htdocs/langs/lt_LT/orders.lang b/htdocs/langs/lt_LT/orders.lang index 6bbef48cfc9..42444f0ec1c 100644 --- a/htdocs/langs/lt_LT/orders.lang +++ b/htdocs/langs/lt_LT/orders.lang @@ -55,6 +55,7 @@ # MenuOrdersToBill=Orders delivered # MenuOrdersToBill2=Orders to bill # SearchOrder=Search order +# SearchACustomerOrder=Search a customer order # ShipProduct=Ship product # Discount=Discount # CreateOrder=Create Order @@ -164,3 +165,4 @@ # OrderCreated=Your orders have been created # OrderFail=An error happened during your orders creation # CreateOrders=Create orders +# ToBillSeveralOrderSelectCustomer=To create an invoice for several orders, click first onto customer, then choose "%s". diff --git a/htdocs/langs/lt_LT/other.lang b/htdocs/langs/lt_LT/other.lang index 3ff4e868d22..1597fb25d24 100644 --- a/htdocs/langs/lt_LT/other.lang +++ b/htdocs/langs/lt_LT/other.lang @@ -49,14 +49,15 @@ # NbOfActiveNotifications=Number of notifications # PredefinedMailTest=This is a test mail.\nThe two lines are separated by a carriage return.\n\n__SIGNATURE__ # PredefinedMailTestHtml=This is a test mail (the word test must be in bold).
The two lines are separated by a carriage return.

__SIGNATURE__ -# PredefinedMailContentSendInvoice=__CONTACTCIVNAME__ \n\n You will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__ \n\n We would like to warn you that the invoice __FACREF__ seems to not being payed. So this is the invoice in attachment again, as a reminder.\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendProposal=__CONTACTCIVNAME__ \n\n You will find here the commercial proposal __PROPREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendOrder=__CONTACTCIVNAME__ \n\n You will find here the order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__ \n\n You will find here our order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__ \n\n You will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendShipping=__CONTACTCIVNAME__ \n\n You will find here the shipping __SHIPPINGREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendFichInter=__CONTACTCIVNAME__ \n\n You will find here the intervention __FICHINTERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__\n\nWe would like to warn you that the invoice __FACREF__ seems to not being payed. So this is the invoice in attachment again, as a reminder.\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendProposal=__CONTACTCIVNAME__\n\nYou will find here the commercial proposal __PROPREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendOrder=__CONTACTCIVNAME__\n\nYou will find here the order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__\n\nYou will find here our order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendShipping=__CONTACTCIVNAME__\n\nYou will find here the shipping __SHIPPINGREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendFichInter=__CONTACTCIVNAME__\n\nYou will find here the intervention __FICHINTERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentThirdparty=__CONTACTCIVNAME__\n\n__PERSONALIZED__\n\n__SIGNATURE__ # DemoDesc=Dolibarr is a compact ERP/CRM composed by several functional modules. A demo that includes all modules does not mean anything as this never occurs. So, several demo profiles are available. # ChooseYourDemoProfil=Choose the demo profile that match your activity... # DemoFundation=Manage members of a foundation diff --git a/htdocs/langs/lt_LT/products.lang b/htdocs/langs/lt_LT/products.lang index 9f75dab9917..d91deb78816 100644 --- a/htdocs/langs/lt_LT/products.lang +++ b/htdocs/langs/lt_LT/products.lang @@ -13,6 +13,10 @@ # NewService=New service # ProductCode=Product code # ServiceCode=Service code +# ProductVatMassChange=Mass VAT change +# ProductVatMassChangeDesc=This page can be used to modify a VAT rate defined on products or services from a value to another. Warning, this change is done on all database. +# MassBarcodeInit=Mass barcode init +# MassBarcodeInitDesc=This page can be used to initialize a barcode on objects that does not have barcode defined. Check before that setup of module barcode is complete. # ProductAccountancyBuyCode=Accountancy code (buy) # ProductAccountancySellCode=Accountancy code (sell) # ProductOrService=Product or Service @@ -173,8 +177,8 @@ # CountryOrigin=Origin country # HiddenIntoCombo=Hidden into select lists # Nature=Nature -# ProductCodeModel=Product code template -# ServiceCodeModel=Service code template +# ProductCodeModel=Product ref template +# ServiceCodeModel=Service ref template # AddThisProductCard=Create product card # HelpAddThisProductCard=This option allows you to create or clone a product if it does not exist. # AddThisServiceCard=Create service card @@ -216,5 +220,10 @@ # DefinitionOfBarCodeForThirdpartyNotComplete=Definition of type or value of bar code non complete for thirdparty %s. # BarCodeDataForProduct=Barcode information of product %s : # BarCodeDataForThirdparty=Barcode information of thirdparty %s : -# BarcodeStickersMask=xxx - +# ResetBarcodeForAllRecords=Define barcode value for all records (this will also reset barcode value already defined with new values) +# PriceByCustomer=Price by customer +# PriceCatalogue=Catalogue Price +# PricingRule=Pricing Rules +# AddCustomerPrice=Add price by customers +# ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +# PriceByCustomerLog=Price by customer log diff --git a/htdocs/langs/lt_LT/projects.lang b/htdocs/langs/lt_LT/projects.lang index f2c0c2b86c6..2710b95cdf8 100644 --- a/htdocs/langs/lt_LT/projects.lang +++ b/htdocs/langs/lt_LT/projects.lang @@ -1,4 +1,6 @@ # Dolibarr language file - Source file is en_US - projects +# RefProject=Ref. project +# ProjectId=Project Id # Project=Project # Projects=Projects # SharedProject=Everybody @@ -30,11 +32,18 @@ # TimesSpent=Time spent # RefTask=Ref. task # LabelTask=Label task +# TaskTimeSpent=Time spent on tasks +# TaskTimeUser=Task time user +# TaskTimeNote=Task time note +# TaskTimeDate=Task time date # NewTimeSpent=New time spent # MyTimeSpent=My time spent # MyTasks=My tasks # Tasks=Tasks # Task=Task +# TaskDateStart=Task start date +# TaskDateEnd=Task end date +# TaskDescription=Task description # NewTask=New task # AddTask=Add task # AddDuration=Add duration @@ -100,12 +109,12 @@ ##### Types de contacts ##### # TypeContact_project_internal_PROJECTLEADER=Project leader # TypeContact_project_external_PROJECTLEADER=Project leader -# TypeContact_project_internal_CONTRIBUTOR=Contributor -# TypeContact_project_external_CONTRIBUTOR=Contributor +# TypeContact_project_internal_PROJECTCONTRIBUTOR=Contributor +# TypeContact_project_external_PROJECTCONTRIBUTOR=Contributor # TypeContact_project_task_internal_TASKEXECUTIVE=Task executive # TypeContact_project_task_external_TASKEXECUTIVE=Task executive -# TypeContact_project_task_internal_CONTRIBUTOR=Contributor -# TypeContact_project_task_external_CONTRIBUTOR=Contributor +# TypeContact_project_task_internal_TASKCONTRIBUTOR=Contributor +# TypeContact_project_task_external_TASKCONTRIBUTOR=Contributor # SelectElement=Select element # AddElement=Link to element # Documents models diff --git a/htdocs/langs/lt_LT/stocks.lang b/htdocs/langs/lt_LT/stocks.lang index d6c87f1062f..be1e333f87c 100644 --- a/htdocs/langs/lt_LT/stocks.lang +++ b/htdocs/langs/lt_LT/stocks.lang @@ -94,14 +94,20 @@ # StockToBuy=To order # Replenishment=Replenishment # ReplenishmentOrders=Replenishment orders -# UseVirtualStock=Use virtual stock instead of physical stock +# VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differs +# UseVirtualStockByDefault=Use virtual stock by default, instead of physical stock, for replenishment feature +# UseVirtualStock=Use virtual stock +# UsePhysicalStock=Use physical stock +# CurentSelectionMode=Curent selection mode +# CurentlyUsingVirtualStock=Virtual stock +# CurentlyUsingPhysicalStock=Physical stock # RuleForStockReplenishment=Rule for stocks replenishment # SelectProductWithNotNullQty=Select at least one product with a qty not null and a supplier # AlertOnly= Alerts only # WarehouseForStockDecrease=The warehouse %s will be used for stock decrease # WarehouseForStockIncrease=The warehouse %s will be used for stock increase # ForThisWarehouse=For this warehouse -# ReplenishmentStatusDesc=This is list of all product with a physical stock lower than desired stock (or alert value if checkbox "alert only" is checked) and suggest you to create supplier orders to fill the difference. +# ReplenishmentStatusDesc=This is list of all product with a stock lower than desired stock (or lower than alert value if checkbox "alert only" is checked), and suggest you to create supplier orders to fill the difference. # ReplenishmentOrdersDesc=This is list of all opened supplier orders # Replenishments=Replenishments # NbOfProductBeforePeriod=Quantity of product %s in stock before selected period (< %s) diff --git a/htdocs/langs/lv_LV/admin.lang b/htdocs/langs/lv_LV/admin.lang index 474995adc34..9ef02535870 100644 --- a/htdocs/langs/lv_LV/admin.lang +++ b/htdocs/langs/lv_LV/admin.lang @@ -44,8 +44,8 @@ ErrorModuleRequirePHPVersion=Kļūda, šim modulim ir nepieciešama PHP versija ErrorModuleRequireDolibarrVersion=Kļūda, šim modulim nepieciešama Dolibarr versija %s vai augstāka ErrorDecimalLargerThanAreForbidden=Kļūda, precizitāte augstāka nekā %s netiek atbalstīta. # DictionarySetup=Dictionary setup -# Dictionary=Dictionaries -ErrorReservedTypeSystemSystemAuto=Vērtību "sistēma" un "systemauto" veida tiek aizsargātas. Jūs varat izmantot "lietotājs", kā vērtība, lai pievienotu savu ierakstu +Dictionary=Vārdnīcas +ErrorReservedTypeSystemSystemAuto=Vērtību "sistēma" un "systemauto" veida tiek aizsargātas. Jūs varat izmantot "lietotājs", kā vērtība, lai pievienotu savu ierakstu ErrorCodeCantContainZero=Kods nevar saturēt 0 vērtību DisableJavascript=Atslēgt JavaScript un Ajax funkcijas ConfirmAjax=Izmantot Ajax uznirstošos logus @@ -190,9 +190,9 @@ No=Nē AutoDetectLang=Automātiski noteikt (pārlūka valoda) FeatureDisabledInDemo=Iespēja bloķēta demo versijā Rights=Atļaujas -BoxesDesc=Kastes ir ekrāna zonā, kas liecina, kādu informāciju par dažām lapām. Jūs varat izvēlēties starp parāda lodziņu vai izvēloties mērķa lapu un noklikšķinot uz "Aktivizēt", vai arī noklikšķinot uz atkritumu spainis, lai izslēgtu to. +BoxesDesc=Kastes ir ekrāna zonā, kas liecina, kādu informāciju par dažām lapām. Jūs varat izvēlēties starp parāda lodziņu vai izvēloties mērķa lapu un noklikšķinot uz "Aktivizēt", vai arī noklikšķinot uz atkritumu spainis, lai izslēgtu to. OnlyActiveElementsAreShown=Tikai elementus no iespējotu moduļi tiek parādīts. -ModulesDesc=Dolibarr moduļi noteikt, kura funkcionalitāte ir iespējots programmatūru. Daži moduļi pieprasa atļaujas, jums ir piešķirt lietotājiem, pēc tam ļaujot moduli. Noklikšķiniet uz pogas on / off ailē "Statuss", lai nodrošinātu moduli / funkciju. +ModulesDesc=Dolibarr moduļi noteikt, kura funkcionalitāte ir iespējots programmatūru. Daži moduļi pieprasa atļaujas, jums ir piešķirt lietotājiem, pēc tam ļaujot moduli. Noklikšķiniet uz pogas on / off ailē "Statuss", lai nodrošinātu moduli / funkciju. ModulesInterfaceDesc=Dolibarr moduļi saskarne ļauj jums pievienot funkcijas atkarībā no ārējās programmatūru, sistēmu vai pakalpojumu. ModulesSpecialDesc=Īpašas programmas ir ļoti specifiskas un reti izmanto moduļus. ModulesJobDesc=Biznesa moduļi nodrošina vienkāršu iepriekš iestatīšanu Dolibarr par konkrēto darbību. @@ -214,7 +214,7 @@ Security=Drošība Passwords=Paroles DoNotStoreClearPassword=Vai nav veikals skaidri paroles datu bāzē, bet veikalā tikai šifrēta vērtība (aktivētā ieteicams) MainDbPasswordFileConfEncrypted=Datubāzes paroli šifrēti conf.php (aktivēt ieteicams) -InstrucToEncodePass=Lai iegūtu paroli, iekodētas conf.php failu, nomainiet līnija
$ Dolibarr_main_db_pass = "..."
līdz
$ Dolibarr_main_db_pass = "crypted: %s" +InstrucToEncodePass=Lai iegūtu paroli, iekodētas conf.php failu, nomainiet līnija
$ Dolibarr_main_db_pass = "..."
līdz
$ Dolibarr_main_db_pass = "crypted: %s" InstrucToClearPass=Lai iegūtu paroli, dekodēt (skaidri) uz conf.php failu, nomainiet līnija
$ Dolibarr_main_db_pass = "crypted: ..."
līdz
$ Dolibarr_main_db_pass = "%s" ProtectAndEncryptPdfFiles=Aizsardzību radīto PDF failus (aktivētā nav ieteicama, pārtraukumiem masveida pdf paaudze) ProtectAndEncryptPdfFilesDesc=Aizsardzība PDF dokumentu saglabā to pieejamu lasīt un izdrukāt ar jebkuru PDF pārlūkprogrammu. Tomēr, rediģēšanu un kopēšanu nav iespējams vairs. Ņemiet vērā, ka, izmantojot šo funkciju veikt ēku no pasaules uzkrātā pdf nedarbojas (piemēram, neapmaksātiem rēķiniem). @@ -287,7 +287,7 @@ CurrentVersion=Dolibarr pašreizējā versija CallUpdatePage=Iet uz lapu, kas aktualizē datu bāzes struktūru un datus: %s. LastStableVersion=Pēdējā stabilā versija GenericMaskCodes=Jūs varat ievadīt jebkuru numerācijas masku. Šajā maska, šādus tagus var izmantot:
{000000} atbilst skaitam, kas tiks palielināts par katru %s. Ievadīt tik daudz nullēm, kā vajadzīgajā garumā letes. Skaitītājs tiks pabeigts ar nullēm no kreisās puses, lai būtu tik daudz nullēm kā masku.
{000000 000} tāds pats kā iepriekšējais, bet kompensēt atbilst noteiktam skaitam pa labi uz + zīmi tiek piemērots, sākot ar pirmo %s.
{000000 @ x} tāds pats kā iepriekšējais, bet skaitītājs tiek atiestatīts uz nulli, kad mēnesī x ir sasniegts (x no 1 līdz 12, 0 vai izmantot agri no finanšu gada mēnešiem, kas noteiktas konfigurācijas, 99 vai atiestatīt uz nulli katru mēnesi ). Ja šis variants tiek izmantots, un x ir 2 vai vairāk, tad secība {gggg} {mm} vai {GGGG} {mm} ir arī nepieciešama.
{Dd} diena (no 01 līdz 31).
{Mm} mēnesi (no 01 līdz 12).
{Yy}, {GGGG} vai {y} gadu vairāk nekā 2, 4 vai 1 numuri.
-# GenericMaskCodes2={cccc} the client code
{cccc000} the client code on n characters is followed by a client's ref counter without offset and zeroized with the global counter.
{tttt} The code of company type on n characters (see dictionary-company types).
+# GenericMaskCodes2={cccc} the client code on n characters
{cccc000} the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.
{tttt} The code of company type on n characters (see dictionary-company types).
GenericMaskCodes3=Visas citas rakstzīmes masku paliks neskartas.
Atstarpes nav atļautas.
GenericMaskCodes4a=Piemērs par 99. %s trešās puses Thecompany darīts 2007-01-31:
GenericMaskCodes4b=Piemērs trešā persona veidota 2007-03-01:
@@ -305,8 +305,8 @@ UMask=Umask parametru jaunus failus uz Unix / Linux / BSD / Mac failu sistēma. UMaskExplanation=Šis parametrs ļauj noteikt atļaujas, kas pēc noklusējuma failus, ko rada Dolibarr uz servera (laikā augšupielādēt piemēram).
Tam jābūt astotnieku vērtība (piemēram, 0666 nozīmē lasīt un rakstīt visiem).
Šis parametrs ir bezjēdzīgi uz Windows servera. SeeWikiForAllTeam=Ieskatieties wiki lappusē Pilns visu dalībnieku un to organizāciju UseACacheDelay= Kavēšanās caching eksporta atbildes sekundēs (0 vai tukšs bez cache) -DisableLinkToHelpCenter=Paslēpt saites "vajadzīga palīdzība vai atbalsts" pieteikšanās lapā -DisableLinkToHelp=Paslēpt saiti "%s Tiešsaistes palīdzība" kreisajā izvēlnē +DisableLinkToHelpCenter=Paslēpt saites "vajadzīga palīdzība vai atbalsts" pieteikšanās lapā +DisableLinkToHelp=Paslēpt saiti "%s Tiešsaistes palīdzība" kreisajā izvēlnē AddCRIfTooLong=Nav automātiska iesaiņošanas, tādēļ, ja līnija ir no lapas uz dokumentiem, jo ​​pārāk ilgi, jums ir pievienot sev pārvadāšanas atdevi textarea. ModuleDisabled=Modulis bloķēts ModuleDisabledSoNoEvent=Modulis invalīdiem, notikumu nekad nav izveidots @@ -345,8 +345,6 @@ SecurityTokenIsUnique=Izmantojiet unikālu securekey parametrs katram URL EnterRefToBuildUrl=Ievadiet atsauce objektu %s GetSecuredUrl=Saņemt aprēķina URL ButtonHideUnauthorized=Slēpt pogas, lai neatļautu rīcību, nevis rāda invalīdu pogas -ProductVatMassChange=Masveida PVN maiņa -ProductVatMassChangeDesc=Šī lapa var tikt izmantota, lai mainītu PVN likmi, kas noteikta par produktiem vai pakalpojumiem, no kura vērtība uz otru. Uzmanību, šīs izmaiņas tiek darīts uz visiem datu bāzē. OldVATRates=Vecā PVN likme NewVATRates=Jaunā PVN likme PriceBaseTypeToChange=Pārveidot par cenām ar bāzes atsauces vērtību, kas definēta tālāk @@ -381,6 +379,16 @@ KeepEmptyToUseDefault=Saglabājiet tukšu, lai izmantotu noklusēto vērtību DefaultLink=Noklusējuma saite ValueOverwrittenByUserSetup=Uzmanību, šī vērtība var pārrakstīt ar lietotāja konkrētu uzstādīšanas (katrs lietotājs var iestatīt savu clicktodial URL) ExternalModule=Ārējā modulis - Uzstāda uz uzziņu %s +# BarcodeInitForThirdparties=Mass barcode init for thirdparties +# BarcodeInitForProductsOrServices=Mass barcode init or reset for products or services +# CurrentlyNWithoutBarCode=Currently, you have %s records on %s %s without barcode defined. +# InitEmptyBarCode=Init value for next %s empty records +# EraseAllCurrentBarCode=Erase all current barcode values +# ConfirmEraseAllCurrentBarCode=Are you sure you want to erase all current barcode values ? +# AllBarcodeReset=All barcode values have been removed +# NoBarcodeNumberingTemplateDefined=No numbering barcode template enabled into barcode module setup. +# NoRecordWithoutBarcodeDefined=No record with no barcode value defined. + # Modules Module0Name=Lietotāji un grupas @@ -510,6 +518,8 @@ Module59000Name=Malas Module59000Desc=Moduli, lai pārvaldītu peļņu Module60000Name=Komisijas Module60000Desc=Moduli, lai pārvaldītu komisijas +# Module150010Name=Batch number, eat-by date and sell-by date +# Module150010Desc=batch number, eat-by date and sell-by date management for product Permission11=Lasīt klientu rēķinus Permission12=Izveidot / mainīt klientu rēķinus Permission13=Unvalidate klientu rēķinus @@ -726,34 +736,34 @@ Permission55001=Lasīt aptaujas Permission55002=Izveidot/mainīt aptaujas # Permission59001=Read commercial margins # Permission59002=Define commercial margins -# DictionaryCompanyType=Company types -# DictionaryCompanyJuridicalType=Juridical kinds of company +# DictionaryCompanyType=Thirdparties type +# DictionaryCompanyJuridicalType=Juridical kinds of thirdparties # DictionaryProspectLevel=Prospect potential level # DictionaryCanton=State/Cantons -# DictionaryRegion=Regions -# DictionaryCountry=Countries -# DictionaryCurrency=Currencies +DictionaryRegion=Reģions +DictionaryCountry=Valstis +DictionaryCurrency=Valūtas # DictionaryCivility=Civility title # DictionaryActions=Type of agenda events # DictionarySocialContributions=Social contributions types # DictionaryVAT=VAT Rates or Sales Tax Rates # DictionaryRevenueStamp=Amount of revenue stamps -# DictionaryPaymentConditions=Payment terms +DictionaryPaymentConditions=Apmaksas noteikumi # DictionaryPaymentModes=Payment modes # DictionaryTypeContact=Contact/Address types # DictionaryEcotaxe=Ecotax (WEEE) # DictionaryPaperFormat=Paper formats # DictionaryFees=Type of fees # DictionarySendingMethods=Shipping methods -# DictionaryStaff=Staff +DictionaryStaff=Personāls # DictionaryAvailability=Delivery delay # DictionaryOrderMethods=Ordering methods # DictionarySource=Origin of proposals/orders -# DictionaryAccountancyplan=Chart of accounts +DictionaryAccountancyplan=Kontu līknes # DictionaryAccountancysystem=Models for chart of accounts SetupSaved=Iestatījumi saglabāti BackToModuleList=Atpakaļ uz moduļu sarakstu -# BackToDictionaryList=Back to dictionaries list +BackToDictionaryList=Atpakaļ uz vārdnīcu sarakstu VATReceivedOnly=Īpaša likme nav jāmaksā VATManagement=PVN Vadība VATIsUsedDesc=PVN likme pēc noklusējuma, veidojot izredzes, rēķini, rīkojumi uc sekot aktīvo standarta noteikums:
Ja pārdevējs nav pakļauta PVN, tad PVN pēc noklusējuma = 0. Beigas varu.
Ja (pārdošanas valstij = pērkot valsti), tad pēc noklusējuma PVN = PVN no produkta pārdošanas valstī. Beigas varu.
Ja pārdevējs un pircējs Eiropas Kopienā, un preces ir transporta līdzekļi (auto, kuģis, lidmašīna), noklusējuma PVN = 0 (PVN būtu jāmaksā pircējam pie customoffice savas valsts, nevis pārdevējs). Beigas varu.
Ja pārdevējs un pircējs Eiropas Kopienas un pircējs nav uzņēmums, tad PVN pēc noklusējuma = PVN no pārdotā produkta. Beigas varu.
Ja pārdevējs un pircējs Eiropas Kopienas un pircējs ir uzņēmums, tad PVN pēc noklusējuma = 0. Beigas varu.
Else ierosinātā noklusējuma PVN = 0. Beigas varu. @@ -867,8 +877,8 @@ DoNotSuggestPaymentMode=Neieteikt NoActiveBankAccountDefined=Nav definēts aktīvs bankas konts OwnerOfBankAccount=Bankas konta īpašnieks %s BankModuleNotActive=Bankas kontu modulis nav ieslēgts -ShowBugTrackLink=Rādīt saiti "Ziņot par kļūdu" -ShowWorkBoard=Rādīt "darbagaldu" uz mājas lapā +ShowBugTrackLink=Rādīt saiti "Ziņot par kļūdu" +ShowWorkBoard=Rādīt "darbagaldu" uz mājas lapā Alerts=Brīdinājumi Delays=Kavēšanās DelayBeforeWarning=Kavēšanās pirms brīdinājums @@ -959,7 +969,7 @@ SimpleNumRefModelDesc=Atgriež atsauces numuru formātā %syymm-NNNN kur yy ir g ShowProfIdInAddress=Rādīt professionnal id ar adresēm par dokumentu ShowVATIntaInAddress=Slēpt PVN Intra num ar adresēm uz dokumentiem TranslationUncomplete=Daļējs tulkojums -SomeTranslationAreUncomplete=Dažas valodas var būt daļēji tulkotas, vai tās var saturēt kļūdas. Ja jūs atklājat kādu, jūs varat izlabot .lang teksta failus direktorijā htdocs/langs Un iesniegt to forumā http://www.dolibarr.org. +# SomeTranslationAreUncomplete=Some languages may be partially translated or may contains errors. If you detect some, you can fix language files registering to http://transifex.com/projects/p/dolibarr/. MenuUseLayout=Padarīt vertikālās izvēlnes hidable (opcija JavaScript nedrīkst atspējots) MAIN_DISABLE_METEO=Atslēgt Meteo skatu TestLoginToAPI=Tests pieteikties API @@ -985,6 +995,7 @@ ExtraFieldsProject=Papildinošas atribūti (projekti) ExtraFieldsProjectTask=Papildinošas atribūti (uzdevumi) ExtraFieldHasWrongValue=Attribut %s ir nepareiza vērtība. AlphaNumOnlyCharsAndNoSpace=tikai alphanumericals zīmes bez vietas +# AlphaNumOnlyLowerCharsAndNoSpace=only alphanumericals and lower case characters without space SendingMailSetup=Iestatīšana sendings pa e-pastu SendmailOptionNotComplete=Brīdinājums, par dažiem Linux sistēmām, lai nosūtītu e-pastu no jūsu e-pastu, sendmail izpilde uzstādīšana ir iekļauti variants-ba (parametrs mail.force_extra_parameters savā php.ini failā). Ja daži saņēmēji nekad saņemt e-pastus, mēģina labot šo PHP parametru ar mail.force_extra_parameters =-BA). PathToDocuments=Ceļš līdz dokumentiem @@ -1269,7 +1280,7 @@ PerfDolibarr=Performance uzstādīšana / optimizēt ziņojums YouMayFindPerfAdviceHere=Jūs atradīsiet šajā lapā dažas pārbaudes, vai padomus, kas saistīti ar sniegumu. NotInstalled=Nav uzstādīta, lai jūsu serveris nav palēnināt ar šo. ApplicativeCache=Applicative kešatmiņa -MemcachedNotAvailable=Nav applicative cache atrasts. Jūs varat uzlabot veiktspēju, uzstādot cache memcached serveri un moduli varētu izmantot šo cache servera. Vairāk informācijas šeit http://wiki.dolibarr.org/index.php/Module_MemCached_EN. Ņemiet vērā, ka web hostinga pakalpojumu sniedzējs, daudz nesniedz šādu kešatmiņu serveri. +# MemcachedNotAvailable=No applicative cache found. You can enhance performance by installing a cache server Memcached and a module able to use this cache server.
More information here http://wiki.dolibarr.org/index.php/Module_MemCached_EN.
Note that a lot of web hosting provider does not provide such cache server. OPCodeCache=Opcode cache NoOPCodeCacheFound=Nav opcode cache atrasts. Var būt jūs izmantojat citu opcode cache nekā XCache vai eAccelerator (labi), var būt jums nav opcode cache (ļoti slikti). HTTPCacheStaticResources=HTTP kešatmiņu statisko resursu (CSS, img, javascript) diff --git a/htdocs/langs/lv_LV/agenda.lang b/htdocs/langs/lv_LV/agenda.lang index 040b743609e..5be659b979e 100644 --- a/htdocs/langs/lv_LV/agenda.lang +++ b/htdocs/langs/lv_LV/agenda.lang @@ -52,6 +52,7 @@ InvoiceSentByEMail=Klienta rēķins %s nosūtīts pa e-pastu SupplierOrderSentByEMail=Piegādātāja pasūtījums %s nosūtīts pa e-pastu SupplierInvoiceSentByEMail=Piegādātāja rēķins %s nosūtīts pa e-pastu ShippingSentByEMail=Piegāde %s nosūtīta pa pastu +# ShippingValidated= Shipping %s validated InterventionSentByEMail=Intervences %s nosūtīta pa pastu NewCompanyToDolibarr= Trešā puses izveidota DateActionPlannedStart= Plānotais sākuma datums diff --git a/htdocs/langs/lv_LV/bills.lang b/htdocs/langs/lv_LV/bills.lang index c29627d9fa7..502e4f4a4fc 100644 --- a/htdocs/langs/lv_LV/bills.lang +++ b/htdocs/langs/lv_LV/bills.lang @@ -224,7 +224,7 @@ SetConditions=Uzstādīt apmaksas nosacījumus SetMode=Uzstādīt maksājumu režīmu SetDate= Iestatīt datumu SelectDate=Izvēlieties datumu -Billed=Jāmaksā +Billed=Samaksāts RepeatableInvoice=Iepriekš definēts rēķins RepeatableInvoices=Iepriekš definēti rēķini Repeatable=Iepriekš definēts @@ -299,7 +299,7 @@ RelatedBills=Saistītie rēķini # PaymentConditions PaymentConditionShortRECEP=Tūlītējs -PaymentConditionRECEP=Tūlītējs +PaymentConditionRECEP=Nekavējoties PaymentConditionShort30D=30 dienas PaymentCondition30D=30 dienas PaymentConditionShort30DENDMONTH=30 dienas mēneša beigās diff --git a/htdocs/langs/lv_LV/boxes.lang b/htdocs/langs/lv_LV/boxes.lang index d62531e560e..dedefeb493c 100644 --- a/htdocs/langs/lv_LV/boxes.lang +++ b/htdocs/langs/lv_LV/boxes.lang @@ -45,8 +45,8 @@ BoxTitleOldestUnpaidCustomerBills=Vecākais %s neapmaksātais klienta'u rēķins BoxTitleOldestUnpaidSupplierBills=Vecākie %s neapmaksātie piegādātāja'u rēķini # BoxTitleCurrentAccounts=Opened account's balances BoxTitleSalesTurnover=Apgrozījums -BoxTitleTotalUnpaidCustomerBills=Bezalgas klienta rēķini -BoxTitleTotalUnpaidSuppliersBills=Bezalgas piegādātāja rēķinus +BoxTitleTotalUnpaidCustomerBills=Nesamaksātie klienta(-u) rēķini +BoxTitleTotalUnpaidSuppliersBills=Neapmaksātie piegādātāja -u rēķini BoxTitleLastModifiedContacts=Pēdējās %s modificēta kontakti / adreses BoxMyLastBookmarks=Manas pēdējās %s grāmatzīmes BoxOldestExpiredServices=Vecākie aktīvās beidzies pakalpojumi diff --git a/htdocs/langs/lv_LV/cashdesk.lang b/htdocs/langs/lv_LV/cashdesk.lang index e916f53eacc..efb3a7aa710 100644 --- a/htdocs/langs/lv_LV/cashdesk.lang +++ b/htdocs/langs/lv_LV/cashdesk.lang @@ -37,3 +37,4 @@ ShowCompany=Rādīt uzņēmumu ShowStock=Rādīt noliktavu DeleteArticle=Klikšķiniet, lai izņemtu šo rakstu FilterRefOrLabelOrBC=Meklēšana (Ref/Nosaukums) +# UserNeedPermissionToEditStockToUsePos=You ask to decrease stock on invoice creation, so user that use POS need to have permission to edit stock. diff --git a/htdocs/langs/lv_LV/compta.lang b/htdocs/langs/lv_LV/compta.lang index 3a741b698e9..255a9ba6217 100644 --- a/htdocs/langs/lv_LV/compta.lang +++ b/htdocs/langs/lv_LV/compta.lang @@ -68,7 +68,7 @@ ListOfPayments=Maksājumu saraksts ListOfCustomerPayments=Saraksts klientu maksājumu ListOfSupplierPayments=Saraksts piegādātāja maksājumu DatePayment=Maksājuma datums -NewVATPayment=Jauns PVN maksāšanas +NewVATPayment=Jauns PVN maksājums newLT2PaymentES=Jauns IRPF maksājums LT2PaymentES=IRPF Maksājumu LT2PaymentsES=IRPF Maksājumi diff --git a/htdocs/langs/lv_LV/cron.lang b/htdocs/langs/lv_LV/cron.lang index 02ab65acec5..8e1cbb1547f 100644 --- a/htdocs/langs/lv_LV/cron.lang +++ b/htdocs/langs/lv_LV/cron.lang @@ -80,7 +80,7 @@ CronEvery= Un izpildīt uzdevumu katrā CronObject= Instances / Object, lai radītu CronArgs=Parametri CronSaveSucess=Veiksmīgi saglabāts -CronNote=Komentēt +CronNote=Komentārs CronFieldMandatory=Lauki %s ir obligāta CronErrEndDateStartDt=Beigu datums nevar būt pirms sākuma datuma CronStatusActiveBtn=Dot iespēju diff --git a/htdocs/langs/lv_LV/errors.lang b/htdocs/langs/lv_LV/errors.lang index c699d138346..0bddfc3cfd4 100644 --- a/htdocs/langs/lv_LV/errors.lang +++ b/htdocs/langs/lv_LV/errors.lang @@ -26,8 +26,11 @@ ErrorFromToAccountsMustDiffers=Avots un mērķiem banku kontiem jābūt atšķir ErrorBadThirdPartyName=Slikti vērtība trešo personu vārda ErrorProdIdIsMandatory=%s ir obligāta ErrorBadCustomerCodeSyntax=Slikti sintakse klientu kodu +# ErrorBadBarCodeSyntax=Bad syntax for bar code ErrorCustomerCodeRequired=Klientam nepieciešams kods +# ErrorBarCodeRequired=Bar code required ErrorCustomerCodeAlreadyUsed=Klienta kods jau ir izmantots +# ErrorBarCodeAlreadyUsed=Bar code already used ErrorPrefixRequired=Prefikss nepieciešams ErrorUrlNotValid=Mājas lapas adrese ir nepareiza ErrorBadSupplierCodeSyntax=Slikti sintakse piegādātāju kodu @@ -37,7 +40,7 @@ ErrorBadParameters=Slikts parametrs ErrorBadValueForParameter=Nepareizu vērtību "%s" parametru nepareizu "%s" ErrorBadImageFormat=Attēla fails ir nevis atbalstītā formātā ErrorBadDateFormat=Vērtība "%s" ir nepareizs datuma formātu -# ErrorWrongDate=Date is not correct! +ErrorWrongDate=Datums nav pareizs ErrorFailedToWriteInDir=Neizdevās ierakstīt direktorijā %s ErrorFoundBadEmailInFile=Atrasts nepareiza e-pasta sintakse %s līnijām failā (piemērs line %s ar e-pasta = %s) ErrorUserCannotBeDelete=Lietotājs nevar izdzēst. Var būt tas ir saistīts ar Dolibarr vienībām. @@ -63,6 +66,7 @@ ErrorNoValueForCheckBoxType=Lūdzu, aizpildiet vērtību rūtiņu sarakstu ErrorNoValueForRadioType=Lūdzu, aizpildiet vērtību radio sarakstā ErrorBadFormatValueList=Saraksts vērtība nevar būt vairāk kā viens nāk: %s, bet ir nepieciešams vismaz viens: Llave, Valores ErrorFieldCanNotContainSpecialCharacters=Lauka %s nedrīkst satur speciālās rakstzīmes. +# ErrorFieldCanNotContainSpecialNorUpperCharacters=Field %s must not contains special characters, nor upper case characters. ErrorNoAccountancyModuleLoaded=Nav grāmatvedības moduli aktivizēts # ErrorExportDuplicateProfil=This profile name already exists for this export set. ErrorLDAPSetupNotComplete=Dolibarr-LDAP saskaņošana nav pilnīga. @@ -129,7 +133,7 @@ ErrorPaymentModeDefinedToWithoutSetup=Maksājumu režīms tika noteikts rakstīt ErrorPHPNeedModule=Kļūda, jūsu PHP ir jābūt moduli %s uzstādītas, lai izmantotu šo funkciju. ErrorOpenIDSetupNotComplete=Jūs uzstādīšana Dolibarr config failu, lai ļautu OpenID autentifikācijas, bet OpenID pakalpojuma URL nav definēts spēkā salīdzināmajās %s ErrorWarehouseMustDiffers=Avota un mērķa noliktavas jābūt atšķiras -# ErrorBadFormat=Bad format! +ErrorBadFormat=Nepareizs formāts # ErrorPaymentDateLowerThanInvoiceDate=Payment date (%s) cant' be before invoice date (%s) for invoice %s. # Warnings diff --git a/htdocs/langs/lv_LV/exports.lang b/htdocs/langs/lv_LV/exports.lang index 1859a7dbfe9..afe7d0e9dbd 100644 --- a/htdocs/langs/lv_LV/exports.lang +++ b/htdocs/langs/lv_LV/exports.lang @@ -123,6 +123,10 @@ BankCode=Bankas kods DeskCode=Desk kods BankAccountNumber=Konta numurs BankAccountNumberKey=Taustiņš +# SpecialCode=Special code +# ExportStringFilter=%% allows replacing one or more characters in the text +# ExportDateFilter='AAAA' 'AAAAMM' 'AAAAMMJJ': filters by one year/month/day
'AAAA+AAAA' 'AAAAMM+AAAAMM' 'AAAAMMJJ+AAAAMMJJ': filters over a range of years/months/days
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filters on the following years/months/days
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filters on the previous years/months/days +# ExportNumericFilter='NNNNN' filters by one value
'NNNNN+NNNNN' filters over a range of values
'>NNNNN' filters by lower values
'>NNNNN' filters by higher values ## filters SelectFilterFields=Ja jūs vēlaties filtrēt dažas vērtības, vienkārši ievadi vērtības šeit. FilterableFields=Champs Filtrables diff --git a/htdocs/langs/lv_LV/install.lang b/htdocs/langs/lv_LV/install.lang index c924888b734..5efad189fba 100644 --- a/htdocs/langs/lv_LV/install.lang +++ b/htdocs/langs/lv_LV/install.lang @@ -142,8 +142,8 @@ ErrorConnection=Server "%s", datu bāzes nosaukums "%s& InstallChoiceRecommanded=Ieteicams izvēlēties, lai instalētu versiju %s no jūsu pašreizējā versijā %s InstallChoiceSuggested=Instalējiet izvēli ierosināja uzstādītājam. MigrateIsDoneStepByStep=Mērķtiecīga versija (%s) ir plaisa vairākas versijas, tāpēc instalēt vednis nāks atpakaļ ieteikt nākamo migrāciju, kad tas viens būs pabeigts. -CheckThatDatabasenameIsCorrect=Pārbaudiet, ka datubāzes nosaukums "%s" ir pareizs. -IfAlreadyExistsCheckOption=Ja šis vārds ir pareizs un ka datu bāze neeksistē vēl, jums ir pārbaudīt opciju "Izveidot datu bāzi". +CheckThatDatabasenameIsCorrect=Pārbaudiet, ka datubāzes nosaukums "%s" ir pareizs. +IfAlreadyExistsCheckOption=Ja šis vārds ir pareizs un ka datu bāze neeksistē vēl, jums ir pārbaudīt opciju "Izveidot datu bāzi". OpenBaseDir=PHP openbasedir parametrs YouAskToCreateDatabaseSoRootRequired=Jūs pārbauda kaste "Izveidot datu bāzi". Lai to izdarītu, jums ir nepieciešams, lai nodrošinātu login / paroles no superlietotājs (apakšējā formas). YouAskToCreateDatabaseUserSoRootRequired=Jūs pārbauda kaste "Izveidot datu bāzes īpašnieks". Lai to izdarītu, jums ir nepieciešams, lai nodrošinātu login / paroles no superlietotājs (apakšējā formas). diff --git a/htdocs/langs/lv_LV/interventions.lang b/htdocs/langs/lv_LV/interventions.lang index e7abe821ed4..c781d865760 100644 --- a/htdocs/langs/lv_LV/interventions.lang +++ b/htdocs/langs/lv_LV/interventions.lang @@ -24,7 +24,7 @@ NameAndSignatureOfInternalContact=Vārds, uzvārds un paraksts iejaukties: NameAndSignatureOfExternalContact=Vārds un klienta paraksts: DocumentModelStandard=Standarta dokumenta paraugs intervencēm InterventionCardsAndInterventionLines=Iejaukšanās un līnijas intervenču -ClassifyBilled=Klasificēt "Jāmaksā" +ClassifyBilled=Klasificēt "Jāmaksā" StatusInterInvoiced=Jāmaksā RelatedInterventions=Saistītie pasākumi ShowIntervention=Rādīt iejaukšanās diff --git a/htdocs/langs/lv_LV/mails.lang b/htdocs/langs/lv_LV/mails.lang index 032c6aaddaa..5e7e1424add 100644 --- a/htdocs/langs/lv_LV/mails.lang +++ b/htdocs/langs/lv_LV/mails.lang @@ -79,6 +79,13 @@ MailtoEMail=Saite uz e-pastu ActivateCheckRead=Ļauj izmantot "Unsubcribe" saiti ActivateCheckReadKey=Galvenais izmantot, lai šifrētu URL izmantošanu, lai "izlasītu saņemšanai" un "Unsubcribe" funkciju EMailSentToNRecipients=E-pastu nosūtīja %s saņēmējiem. +# EachInvoiceWillBeAttachedToEmail=A document using default invoice document template will be created and attached to each email. +# MailTopicSendRemindUnpaidInvoices=Remind of invoice %s (%s) +# SendRemind=Send remind by EMails +# RemindSent=%S remind(s) sent +# AllRecipientSelectedForRemind=All thirdparties selected and if an email is set (note that one mail per invoice will be sent) +# NoRemindSent=No remind by EMail sent +# ResultOfMassSending=Result of mass remind sending by EMail # Libelle des modules de liste de destinataires mailing MailingModuleDescContactCompanies=Kontakti / adreses visām trešo personu (klientu, izredzes, piegādātāju, ...) diff --git a/htdocs/langs/lv_LV/main.lang b/htdocs/langs/lv_LV/main.lang index bf02641a4bd..e2aadc669ec 100644 --- a/htdocs/langs/lv_LV/main.lang +++ b/htdocs/langs/lv_LV/main.lang @@ -257,8 +257,8 @@ Seconds=Sekundes Today=Šodien Yesterday=Vakar Tomorrow=Rīt -# Morning=Morning -# Afternoon=Afternoon +Morning=Rīts +Afternoon=Vakars Quadri=Kvadrāt- MonthOfDay=Mēnesis dienas HourShort=H @@ -572,7 +572,7 @@ TotalWoman=Kopsumma TotalMan=Kopsumma NeverReceived=Nekad nav saņemts Canceled=Atcelts -# YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu setup - dictionnary +# YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu setup - dictionary Color=Krāsa Documents=Piesaistītie faili DocumentsNb=Piesaistītie faili (%s) @@ -665,7 +665,7 @@ HelpCopyToClipboard=Izmantot taustiņu kombināciju Ctrl + C, lai kopētu SaveUploadedFileWithMask=Saglabāt failu uz servera ar nosaukumu "%s" (citādi "%s") OriginFileName=Oriģinālais faila nosaukums # SetDemandReason=Set source -# ViewPrivateNote=View notes +ViewPrivateNote=Apskatīt piezīmes # XMoreLines=%s line(s) hidden # Week day diff --git a/htdocs/langs/lv_LV/opensurvey.lang b/htdocs/langs/lv_LV/opensurvey.lang index f81acec7e4d..353f25705e4 100644 --- a/htdocs/langs/lv_LV/opensurvey.lang +++ b/htdocs/langs/lv_LV/opensurvey.lang @@ -35,6 +35,7 @@ AddNewColumn=Pievienot jaunu kolonnu TitleChoice=Izvēlies nosaukumu ExportSpreadsheet=Eksporta rezultātu izklājlapu ExpireDate=Ierobežot datumu +# NbOfSurveys=Number of surveys NbOfVoters=Balsotāju skaits SurveyResults=Rezultāti PollAdminDesc=Jums ir atļauts mainīt visus balsot līnijas šajā aptaujā ar pogu "Edit". Jūs varat, kā arī, noņemt kolonnu vai ar %s līniju. Jūs varat arī pievienot jaunu kolonnu ar %s. diff --git a/htdocs/langs/lv_LV/orders.lang b/htdocs/langs/lv_LV/orders.lang index bed38e87522..d44ec2380bc 100644 --- a/htdocs/langs/lv_LV/orders.lang +++ b/htdocs/langs/lv_LV/orders.lang @@ -55,6 +55,7 @@ DraftOrWaitingShipped=Projektu vai apstiprināt vēl nav nosūtīti MenuOrdersToBill=Pasūtījumi piegādāts MenuOrdersToBill2=Pasūtījumi, kas jāapmaksā SearchOrder=Meklēšanas kārtība +# SearchACustomerOrder=Search a customer order ShipProduct=Sūtīt produktu Discount=Atlaide CreateOrder=Izveidot pasūtījumu @@ -164,3 +165,4 @@ Ordered=Sakārtots OrderCreated=Jūsu pasūtījumi ir radīti OrderFail=Kļūda notika laikā jūsu pasūtījumu radīšanu CreateOrders=Izveidot pasūtījumus +# ToBillSeveralOrderSelectCustomer=To create an invoice for several orders, click first onto customer, then choose "%s". diff --git a/htdocs/langs/lv_LV/other.lang b/htdocs/langs/lv_LV/other.lang index 34f80d966bf..0e11e5cde48 100644 --- a/htdocs/langs/lv_LV/other.lang +++ b/htdocs/langs/lv_LV/other.lang @@ -49,14 +49,15 @@ Miscellaneous=Dažādi NbOfActiveNotifications=Paziņojumu skaits PredefinedMailTest=Šis ir testa e-pasts \\ nthe divas līnijas ir atdalīti ar rakstatgriezi.. \n\n __ SIGNATURE__ PredefinedMailTestHtml=Tas ir tests pasts (vārds testam jābūt treknrakstā).
Abas līnijas ir atdalīti ar rakstatgriezi.

__SIGNATURE__ -PredefinedMailContentSendInvoice=__CONTACTCIVNAME__ \n\n Jūs atradīsiet šeit rēķinu __ FACREF__ \n\n __ PERSONALIZED__Sincerely \n\n __ SIGNATURE__ -PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__ \n\n Mēs vēlētos jūs brīdināt, ka rēķins __ FACREF__, šķiet, netiek samaksāja. Tātad tas ir rēķins arestu atkal, kā atgādinājumu. \n\n __ PERSONALIZED__Sincerely \n\n __ SIGNATURE__ -PredefinedMailContentSendProposal=__CONTACTCIVNAME__ \n\n Šeit Jūs atradīsiet komerciālo priekšlikumu __ PROPREF__ \n\n __ PERSONALIZED__Sincerely \n\n __ SIGNATURE__ -PredefinedMailContentSendOrder=__CONTACTCIVNAME__ \n\n Šeit Jūs atradīsiet rīkojumu __ ORDERREF__ \n\n __ PERSONALIZED__Sincerely \n\n __ SIGNATURE__ -PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__ \n\n Šeit Jūs atradīsiet mūsu uzdevums __ ORDERREF__ \n\n __ PERSONALIZED__Sincerely \n\n __ SIGNATURE__ -PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__ \n\n Jūs atradīsiet šeit rēķinu __ FACREF__ \n\n __ PERSONALIZED__Sincerely \n\n __ SIGNATURE__ -PredefinedMailContentSendShipping=__CONTACTCIVNAME__ \n\n Jūs atradīsiet šeit kuģniecības __ SHIPPINGREF__ \n\n __ PERSONALIZED__Sincerely \n\n __ SIGNATURE__ -PredefinedMailContentSendFichInter=__CONTACTCIVNAME__ \n\n Jūs atradīsiet šeit iejaukšanās __ FICHINTERREF__ \n\n __ PERSONALIZED__Sincerely \n\n __ SIGNATURE__ +# PredefinedMailContentSendInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__\n\nWe would like to warn you that the invoice __FACREF__ seems to not being payed. So this is the invoice in attachment again, as a reminder.\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendProposal=__CONTACTCIVNAME__\n\nYou will find here the commercial proposal __PROPREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendOrder=__CONTACTCIVNAME__\n\nYou will find here the order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__\n\nYou will find here our order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendShipping=__CONTACTCIVNAME__\n\nYou will find here the shipping __SHIPPINGREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendFichInter=__CONTACTCIVNAME__\n\nYou will find here the intervention __FICHINTERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentThirdparty=__CONTACTCIVNAME__\n\n__PERSONALIZED__\n\n__SIGNATURE__ DemoDesc=Dolibarr ir kompakts ERP / CRM veido vairāki funkcionālos moduļus. Demo, kas ietver visus moduļus nenozīmē neko, jo tas nekad nav noticis. Tātad, vairāki demo profili ir pieejami. ChooseYourDemoProfil=Izvēlieties demo profilu, kas atbilstu jūsu darbību ... DemoFundation=Pārvaldīt locekļus nodibinājumam diff --git a/htdocs/langs/lv_LV/products.lang b/htdocs/langs/lv_LV/products.lang index 486ec851164..74ed1bbac4a 100644 --- a/htdocs/langs/lv_LV/products.lang +++ b/htdocs/langs/lv_LV/products.lang @@ -13,6 +13,10 @@ NewProduct=Jauns produkts NewService=Jauns pakalpojums ProductCode=Preces kods ServiceCode=Pakalpojuma kods +# ProductVatMassChange=Mass VAT change +# ProductVatMassChangeDesc=This page can be used to modify a VAT rate defined on products or services from a value to another. Warning, this change is done on all database. +# MassBarcodeInit=Mass barcode init +# MassBarcodeInitDesc=This page can be used to initialize a barcode on objects that does not have barcode defined. Check before that setup of module barcode is complete. ProductAccountancyBuyCode=Grāmatvedība kods (pirkt) ProductAccountancySellCode=Grāmatvedība kods (pārdot) ProductOrService=Produkts vai pakalpojums @@ -173,8 +177,8 @@ CustomCode=Muitas kods CountryOrigin=Izcelsmes valsts HiddenIntoCombo=Slēpta vērā izvēlieties sarakstos Nature=Daba -ProductCodeModel=Preces kods veidne -ServiceCodeModel=Pakalpojumu kods veidne +# ProductCodeModel=Product ref template +# ServiceCodeModel=Service ref template AddThisProductCard=Izveidot produkta karti HelpAddThisProductCard=Šī iespēja ļauj izveidot vai klons produktu, ja tas neeksistē. AddThisServiceCard=Izveidot dienesta apliecība @@ -204,7 +208,7 @@ Quarter1=1. Ceturksnis Quarter2=2. Ceturksnis Quarter3=3. Ceturksnis Quarter4=4. Ceturksnis -# BarCodePrintsheet=Print bar code +BarCodePrintsheet=Drukāt svītru kodu # PageToGenerateBarCodeSheets=With this tool, you can print sheets of bar code stickers. Choose format of your sticker page, type of barcode and value of barcode, then click on button %s. # NumberOfStickers=Number of stickers to print on page # PrintsheetForOneBarCode=Print several stickers for one barcode @@ -216,5 +220,10 @@ Quarter4=4. Ceturksnis # DefinitionOfBarCodeForThirdpartyNotComplete=Definition of type or value of bar code non complete for thirdparty %s. # BarCodeDataForProduct=Barcode information of product %s : # BarCodeDataForThirdparty=Barcode information of thirdparty %s : -# BarcodeStickersMask=xxx - +# ResetBarcodeForAllRecords=Define barcode value for all records (this will also reset barcode value already defined with new values) +# PriceByCustomer=Price by customer +# PriceCatalogue=Catalogue Price +# PricingRule=Pricing Rules +# AddCustomerPrice=Add price by customers +# ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +# PriceByCustomerLog=Price by customer log diff --git a/htdocs/langs/lv_LV/projects.lang b/htdocs/langs/lv_LV/projects.lang index e7f8f07c1a8..16bd84069ae 100644 --- a/htdocs/langs/lv_LV/projects.lang +++ b/htdocs/langs/lv_LV/projects.lang @@ -1,4 +1,6 @@ # Dolibarr language file - Source file is en_US - projects +# RefProject=Ref. project +# ProjectId=Project Id Project=Projekts Projects=Projekti SharedProject=Visi @@ -30,11 +32,18 @@ TimeSpent=Laiks, kas pavadīts TimesSpent=Laiks, kas patērēts RefTask=Ref. uzdevums LabelTask=Label uzdevums +# TaskTimeSpent=Time spent on tasks +# TaskTimeUser=Task time user +# TaskTimeNote=Task time note +# TaskTimeDate=Task time date NewTimeSpent=Jauns pavadītais laiks MyTimeSpent=Mans laiks pavadīts MyTasks=Mani uzdevumi Tasks=Uzdevumi Task=Uzdevums +# TaskDateStart=Task start date +# TaskDateEnd=Task end date +# TaskDescription=Task description NewTask=Jauns uzdevums AddTask=Pievienot uzdevumu AddDuration=Pievienot ilgumu @@ -100,12 +109,12 @@ ProjectCreatedInDolibarr=Projekta %s izveidots ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Projekta vadītājs TypeContact_project_external_PROJECTLEADER=Projekta vadītājs -TypeContact_project_internal_PROJECTCONTRIBUTOR=Ziedotājs -TypeContact_project_external_PROJECTCONTRIBUTOR=Ziedotājs +# TypeContact_project_internal_PROJECTCONTRIBUTOR=Contributor +# TypeContact_project_external_PROJECTCONTRIBUTOR=Contributor TypeContact_project_task_internal_TASKEXECUTIVE=Uzdevums izpildvaras TypeContact_project_task_external_TASKEXECUTIVE=Uzdevums izpildvaras -TypeContact_project_task_internal_TASKCONTRIBUTOR=Ziedotājs -TypeContact_project_task_external_TASKCONTRIBUTOR=Ziedotājs +# TypeContact_project_task_internal_TASKCONTRIBUTOR=Contributor +# TypeContact_project_task_external_TASKCONTRIBUTOR=Contributor SelectElement=Izvēlieties elementu AddElement=Saite uz elementa # Documents models diff --git a/htdocs/langs/lv_LV/stocks.lang b/htdocs/langs/lv_LV/stocks.lang index 3a8e9f72f27..de7aa45f1ef 100644 --- a/htdocs/langs/lv_LV/stocks.lang +++ b/htdocs/langs/lv_LV/stocks.lang @@ -94,14 +94,20 @@ DesiredStock=Vēlamais akciju StockToBuy=Lai pasūtītu Replenishment=Papildinājums ReplenishmentOrders=Papildināšanas pasūtījumus -UseVirtualStock=Izmantot virtuālo krājumu, nevis fizisko krājumu +# VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differs +# UseVirtualStockByDefault=Use virtual stock by default, instead of physical stock, for replenishment feature +# UseVirtualStock=Use virtual stock +# UsePhysicalStock=Use physical stock +# CurentSelectionMode=Curent selection mode +# CurentlyUsingVirtualStock=Virtual stock +# CurentlyUsingPhysicalStock=Physical stock RuleForStockReplenishment=Noteikums par krājumu papildināšanu SelectProductWithNotNullQty=Izvēlieties vismaz vienu produktu ar Daudz kas nav nulles un piegādātāju AlertOnly= Brīdinājumi tikai WarehouseForStockDecrease=Noliktava %s tiks izmantoti krājumu samazināšanos WarehouseForStockIncrease=Noliktava %s tiks izmantoti krājumu palielinājumu ForThisWarehouse=Šai noliktavai -ReplenishmentStatusDesc=Šis ir saraksts ar visiem produktiem ar fizisko krājumu zemāks par vēlamo krājumu (vai trauksmes vērtību, ja rūtiņu "brīdinās tikai" ir atzīmēta), un iesaku jums izveidot piegādātāju pasūtījumus, lai aizpildītu šo starpību. +# ReplenishmentStatusDesc=This is list of all product with a stock lower than desired stock (or lower than alert value if checkbox "alert only" is checked), and suggest you to create supplier orders to fill the difference. ReplenishmentOrdersDesc=Šis ir saraksts ar visiem atvērtajiem piegādātāju pasūtījumiem Replenishments=Papildinājumus NbOfProductBeforePeriod=Daudzums produktu %s noliktavā pirms izvēlētajā periodā (<%s) diff --git a/htdocs/langs/mk_MK/admin.lang b/htdocs/langs/mk_MK/admin.lang index eecc028d698..d72ed9f4df9 100644 --- a/htdocs/langs/mk_MK/admin.lang +++ b/htdocs/langs/mk_MK/admin.lang @@ -287,7 +287,7 @@ # CallUpdatePage=Go to the page that updates the database structure and datas: %s. # LastStableVersion=Last stable version # GenericMaskCodes=You may enter any numbering mask. In this mask, the following tags could be used:
{000000} corresponds to a number which will be incremented on each %s. Enter as many zeros as the desired length of the counter. The counter will be completed by zeros from the left in order to have as many zeros as the mask.
{000000+000} same as previous but an offset corresponding to the number to the right of the + sign is applied starting on first %s.
{000000@x} same as previous but the counter is reset to zero when month x is reached (x between 1 and 12, or 0 to use the early months of fiscal year defined in your configuration, or 99 to reset to zero every month). If this option is used and x is 2 or higher, then sequence {yy}{mm} or {yyyy}{mm} is also required.
{dd} day (01 to 31).
{mm} month (01 to 12).
{yy}, {yyyy} or {y} year over 2, 4 or 1 numbers.
-# GenericMaskCodes2={cccc} the client code
{cccc000} the client code on n characters is followed by a client's ref counter without offset and zeroized with the global counter.
{tttt} The code of company type on n characters (see dictionary-company types).
+# GenericMaskCodes2={cccc} the client code on n characters
{cccc000} the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.
{tttt} The code of company type on n characters (see dictionary-company types).
# GenericMaskCodes3=All other characters in the mask will remain intact.
Spaces are not allowed.
# GenericMaskCodes4a=Example on the 99th %s of the third party TheCompany done 2007-01-31:
# GenericMaskCodes4b=Example on third party created on 2007-03-01:
@@ -345,8 +345,6 @@ # EnterRefToBuildUrl=Enter reference for object %s # GetSecuredUrl=Get calculated URL # ButtonHideUnauthorized=Hide buttons for unauthorized actions instead of showing disabled buttons -# ProductVatMassChange=Mass VAT change -# ProductVatMassChangeDesc=This page can be used to modify a VAT rate defined on products or services from a value to another. Warning, this change is done on all database. # OldVATRates=Old VAT rate # NewVATRates=New VAT rate # PriceBaseTypeToChange=Modify on prices with base reference value defined on @@ -381,6 +379,16 @@ # DefaultLink=Default link # ValueOverwrittenByUserSetup=Warning, this value may be overwritten by user specific setup (each user can set his own clicktodial url) # ExternalModule=External module - Installed into directory %s +# BarcodeInitForThirdparties=Mass barcode init for thirdparties +# BarcodeInitForProductsOrServices=Mass barcode init or reset for products or services +# CurrentlyNWithoutBarCode=Currently, you have %s records on %s %s without barcode defined. +# InitEmptyBarCode=Init value for next %s empty records +# EraseAllCurrentBarCode=Erase all current barcode values +# ConfirmEraseAllCurrentBarCode=Are you sure you want to erase all current barcode values ? +# AllBarcodeReset=All barcode values have been removed +# NoBarcodeNumberingTemplateDefined=No numbering barcode template enabled into barcode module setup. +# NoRecordWithoutBarcodeDefined=No record with no barcode value defined. + # Modules # Module0Name=Users & groups @@ -510,6 +518,8 @@ # Module59000Desc=Module to manage margins # Module60000Name=Commissions # Module60000Desc=Module to manage commissions +# Module150010Name=Batch number, eat-by date and sell-by date +# Module150010Desc=batch number, eat-by date and sell-by date management for product # Permission11=Read customer invoices # Permission12=Create/modify customer invoices # Permission13=Unvalidate customer invoices @@ -726,8 +736,8 @@ # Permission55002=Create/modify surveys # Permission59001=Read commercial margins # Permission59002=Define commercial margins -# DictionaryCompanyType=Company types -# DictionaryCompanyJuridicalType=Juridical kinds of company +# DictionaryCompanyType=Thirdparties type +# DictionaryCompanyJuridicalType=Juridical kinds of thirdparties # DictionaryProspectLevel=Prospect potential level # DictionaryCanton=State/Cantons # DictionaryRegion=Regions @@ -959,7 +969,7 @@ LocalTax2IsNotUsedExample= # ShowProfIdInAddress=Show professionnal id with addresses on documents # ShowVATIntaInAddress=Hide VAT Intra num with addresses on documents # TranslationUncomplete=Partial translation -# SomeTranslationAreUncomplete=Some languages may be partially translated or may contains errors. If you detect some, you can fix .lang text files into directory htdocs/langs and submit them on the forum at http://www.dolibarr.org. +# SomeTranslationAreUncomplete=Some languages may be partially translated or may contains errors. If you detect some, you can fix language files registering to http://transifex.com/projects/p/dolibarr/. # MenuUseLayout=Make vertical menu hidable (option javascript must not be disabled) # MAIN_DISABLE_METEO=Disable meteo view # TestLoginToAPI=Test login to API @@ -985,6 +995,7 @@ LocalTax2IsNotUsedExample= # ExtraFieldsProjectTask=Complementary attributes (tasks) # ExtraFieldHasWrongValue=Attribut %s has a wrong value. # AlphaNumOnlyCharsAndNoSpace=only alphanumericals characters without space +# AlphaNumOnlyLowerCharsAndNoSpace=only alphanumericals and lower case characters without space # SendingMailSetup=Setup of sendings by email # SendmailOptionNotComplete=Warning, on some Linux systems, to send email from your email, sendmail execution setup must contains option -ba (parameter mail.force_extra_parameters into your php.ini file). If some recipients never receive emails, try to edit this PHP parameter with mail.force_extra_parameters = -ba). # PathToDocuments=Path to documents @@ -1269,7 +1280,7 @@ LocalTax2IsNotUsedExample= # YouMayFindPerfAdviceHere=You will find on this page some checks or advices related to performance. # NotInstalled=Not installed, so your server is not slow down by this. # ApplicativeCache=Applicative cache -# MemcachedNotAvailable=No applicative cache found. You can enhance performance by installing a cache server Memcached and a module able to use this cache server. More information here http://wiki.dolibarr.org/index.php/Module_MemCached_EN. Note that a lot of web hosting provider does not provide such cache server. +# MemcachedNotAvailable=No applicative cache found. You can enhance performance by installing a cache server Memcached and a module able to use this cache server.
More information here http://wiki.dolibarr.org/index.php/Module_MemCached_EN.
Note that a lot of web hosting provider does not provide such cache server. # OPCodeCache=OPCode cache # NoOPCodeCacheFound=No OPCode cache found. May be you use another OPCode cache than XCache or eAccelerator (good), may be you don't have OPCode cache (very bad). # HTTPCacheStaticResources=HTTP cache for static resources (css, img, javascript) diff --git a/htdocs/langs/mk_MK/agenda.lang b/htdocs/langs/mk_MK/agenda.lang index 8a78e6c51c8..c5b02c0ecb6 100644 --- a/htdocs/langs/mk_MK/agenda.lang +++ b/htdocs/langs/mk_MK/agenda.lang @@ -52,6 +52,7 @@ # SupplierOrderSentByEMail=Supplier order %s sent by EMail # SupplierInvoiceSentByEMail=Supplier invoice %s sent by EMail # ShippingSentByEMail=Shipping %s sent by EMail +# ShippingValidated= Shipping %s validated # InterventionSentByEMail=Intervention %s sent by EMail # NewCompanyToDolibarr= Third party created # DateActionPlannedStart= Planned start date diff --git a/htdocs/langs/mk_MK/cashdesk.lang b/htdocs/langs/mk_MK/cashdesk.lang index 8fd787620f4..5cfb7ea3d6d 100644 --- a/htdocs/langs/mk_MK/cashdesk.lang +++ b/htdocs/langs/mk_MK/cashdesk.lang @@ -37,3 +37,4 @@ # ShowStock=Show warehouse # DeleteArticle=Click to remove this article # FilterRefOrLabelOrBC=Search (Ref/Label) +# UserNeedPermissionToEditStockToUsePos=You ask to decrease stock on invoice creation, so user that use POS need to have permission to edit stock. diff --git a/htdocs/langs/mk_MK/errors.lang b/htdocs/langs/mk_MK/errors.lang index f5e6781eb4c..473ab485c97 100644 --- a/htdocs/langs/mk_MK/errors.lang +++ b/htdocs/langs/mk_MK/errors.lang @@ -26,8 +26,11 @@ # ErrorBadThirdPartyName=Bad value for third party name # ErrorProdIdIsMandatory=The %s is mandatory # ErrorBadCustomerCodeSyntax=Bad syntax for customer code +# ErrorBadBarCodeSyntax=Bad syntax for bar code # ErrorCustomerCodeRequired=Customer code required +# ErrorBarCodeRequired=Bar code required # ErrorCustomerCodeAlreadyUsed=Customer code already used +# ErrorBarCodeAlreadyUsed=Bar code already used # ErrorPrefixRequired=Prefix required # ErrorUrlNotValid=The website address is incorrect # ErrorBadSupplierCodeSyntax=Bad syntax for supplier code @@ -63,6 +66,7 @@ # ErrorNoValueForRadioType=Please fill value for radio list # ErrorBadFormatValueList=The list value cannot have more than one come : %s, but need at least one: llave,valores # ErrorFieldCanNotContainSpecialCharacters=Field %s must not contains special characters. +# ErrorFieldCanNotContainSpecialNorUpperCharacters=Field %s must not contains special characters, nor upper case characters. # ErrorNoAccountancyModuleLoaded=No accountancy module activated # ErrorExportDuplicateProfil=This profile name already exists for this export set. # ErrorLDAPSetupNotComplete=Dolibarr-LDAP matching is not complete. diff --git a/htdocs/langs/mk_MK/exports.lang b/htdocs/langs/mk_MK/exports.lang index ecb0d4a94ac..082be11736e 100644 --- a/htdocs/langs/mk_MK/exports.lang +++ b/htdocs/langs/mk_MK/exports.lang @@ -123,6 +123,10 @@ # DeskCode=Desk code # BankAccountNumber=Account number # BankAccountNumberKey=Key +# SpecialCode=Special code +# ExportStringFilter=%% allows replacing one or more characters in the text +# ExportDateFilter='AAAA' 'AAAAMM' 'AAAAMMJJ': filters by one year/month/day
'AAAA+AAAA' 'AAAAMM+AAAAMM' 'AAAAMMJJ+AAAAMMJJ': filters over a range of years/months/days
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filters on the following years/months/days
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filters on the previous years/months/days +# ExportNumericFilter='NNNNN' filters by one value
'NNNNN+NNNNN' filters over a range of values
'>NNNNN' filters by lower values
'>NNNNN' filters by higher values ## filters # SelectFilterFields=If you want to filter on some values, just input values here. # FilterableFields=Champs Filtrables diff --git a/htdocs/langs/mk_MK/mails.lang b/htdocs/langs/mk_MK/mails.lang index 328fc3ec5d6..313acce4fa1 100644 --- a/htdocs/langs/mk_MK/mails.lang +++ b/htdocs/langs/mk_MK/mails.lang @@ -79,6 +79,13 @@ # ActivateCheckRead=Allow to use the "Unsubcribe" link # ActivateCheckReadKey=Key use to encrypt URL use for "Read Receipt" and "Unsubcribe" feature # EMailSentToNRecipients=EMail sent to %s recipients. +# EachInvoiceWillBeAttachedToEmail=A document using default invoice document template will be created and attached to each email. +# MailTopicSendRemindUnpaidInvoices=Remind of invoice %s (%s) +# SendRemind=Send remind by EMails +# RemindSent=%S remind(s) sent +# AllRecipientSelectedForRemind=All thirdparties selected and if an email is set (note that one mail per invoice will be sent) +# NoRemindSent=No remind by EMail sent +# ResultOfMassSending=Result of mass remind sending by EMail # Libelle des modules de liste de destinataires mailing # MailingModuleDescContactCompanies=Contacts/addresses of all third parties (customer, prospect, supplier, ...) diff --git a/htdocs/langs/mk_MK/main.lang b/htdocs/langs/mk_MK/main.lang index 43f9e41e878..f47c9b2da01 100644 --- a/htdocs/langs/mk_MK/main.lang +++ b/htdocs/langs/mk_MK/main.lang @@ -572,7 +572,7 @@ SeparatorThousand=None # TotalMan=Total # NeverReceived=Never received # Canceled=Canceled -# YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu setup - dictionnary +# YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu setup - dictionary # Color=Color # Documents=Linked files # DocumentsNb=Linked files (%s) diff --git a/htdocs/langs/mk_MK/opensurvey.lang b/htdocs/langs/mk_MK/opensurvey.lang index fec34d9dbe6..1fbafbdb317 100644 --- a/htdocs/langs/mk_MK/opensurvey.lang +++ b/htdocs/langs/mk_MK/opensurvey.lang @@ -35,6 +35,7 @@ # TitleChoice=Choice label # ExportSpreadsheet=Export result spreadsheet # ExpireDate=Limit date +# NbOfSurveys=Number of surveys # NbOfVoters=Nb of voters # SurveyResults=Results # PollAdminDesc=You are allowed to change all vote lines of this poll with button "Edit". You can, as well, remove a column or a line with %s. You can also add a new column with %s. diff --git a/htdocs/langs/mk_MK/orders.lang b/htdocs/langs/mk_MK/orders.lang index 6bbef48cfc9..42444f0ec1c 100644 --- a/htdocs/langs/mk_MK/orders.lang +++ b/htdocs/langs/mk_MK/orders.lang @@ -55,6 +55,7 @@ # MenuOrdersToBill=Orders delivered # MenuOrdersToBill2=Orders to bill # SearchOrder=Search order +# SearchACustomerOrder=Search a customer order # ShipProduct=Ship product # Discount=Discount # CreateOrder=Create Order @@ -164,3 +165,4 @@ # OrderCreated=Your orders have been created # OrderFail=An error happened during your orders creation # CreateOrders=Create orders +# ToBillSeveralOrderSelectCustomer=To create an invoice for several orders, click first onto customer, then choose "%s". diff --git a/htdocs/langs/mk_MK/other.lang b/htdocs/langs/mk_MK/other.lang index 3ff4e868d22..1597fb25d24 100644 --- a/htdocs/langs/mk_MK/other.lang +++ b/htdocs/langs/mk_MK/other.lang @@ -49,14 +49,15 @@ # NbOfActiveNotifications=Number of notifications # PredefinedMailTest=This is a test mail.\nThe two lines are separated by a carriage return.\n\n__SIGNATURE__ # PredefinedMailTestHtml=This is a test mail (the word test must be in bold).
The two lines are separated by a carriage return.

__SIGNATURE__ -# PredefinedMailContentSendInvoice=__CONTACTCIVNAME__ \n\n You will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__ \n\n We would like to warn you that the invoice __FACREF__ seems to not being payed. So this is the invoice in attachment again, as a reminder.\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendProposal=__CONTACTCIVNAME__ \n\n You will find here the commercial proposal __PROPREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendOrder=__CONTACTCIVNAME__ \n\n You will find here the order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__ \n\n You will find here our order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__ \n\n You will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendShipping=__CONTACTCIVNAME__ \n\n You will find here the shipping __SHIPPINGREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendFichInter=__CONTACTCIVNAME__ \n\n You will find here the intervention __FICHINTERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__\n\nWe would like to warn you that the invoice __FACREF__ seems to not being payed. So this is the invoice in attachment again, as a reminder.\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendProposal=__CONTACTCIVNAME__\n\nYou will find here the commercial proposal __PROPREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendOrder=__CONTACTCIVNAME__\n\nYou will find here the order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__\n\nYou will find here our order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendShipping=__CONTACTCIVNAME__\n\nYou will find here the shipping __SHIPPINGREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendFichInter=__CONTACTCIVNAME__\n\nYou will find here the intervention __FICHINTERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentThirdparty=__CONTACTCIVNAME__\n\n__PERSONALIZED__\n\n__SIGNATURE__ # DemoDesc=Dolibarr is a compact ERP/CRM composed by several functional modules. A demo that includes all modules does not mean anything as this never occurs. So, several demo profiles are available. # ChooseYourDemoProfil=Choose the demo profile that match your activity... # DemoFundation=Manage members of a foundation diff --git a/htdocs/langs/mk_MK/products.lang b/htdocs/langs/mk_MK/products.lang index 9f75dab9917..d91deb78816 100644 --- a/htdocs/langs/mk_MK/products.lang +++ b/htdocs/langs/mk_MK/products.lang @@ -13,6 +13,10 @@ # NewService=New service # ProductCode=Product code # ServiceCode=Service code +# ProductVatMassChange=Mass VAT change +# ProductVatMassChangeDesc=This page can be used to modify a VAT rate defined on products or services from a value to another. Warning, this change is done on all database. +# MassBarcodeInit=Mass barcode init +# MassBarcodeInitDesc=This page can be used to initialize a barcode on objects that does not have barcode defined. Check before that setup of module barcode is complete. # ProductAccountancyBuyCode=Accountancy code (buy) # ProductAccountancySellCode=Accountancy code (sell) # ProductOrService=Product or Service @@ -173,8 +177,8 @@ # CountryOrigin=Origin country # HiddenIntoCombo=Hidden into select lists # Nature=Nature -# ProductCodeModel=Product code template -# ServiceCodeModel=Service code template +# ProductCodeModel=Product ref template +# ServiceCodeModel=Service ref template # AddThisProductCard=Create product card # HelpAddThisProductCard=This option allows you to create or clone a product if it does not exist. # AddThisServiceCard=Create service card @@ -216,5 +220,10 @@ # DefinitionOfBarCodeForThirdpartyNotComplete=Definition of type or value of bar code non complete for thirdparty %s. # BarCodeDataForProduct=Barcode information of product %s : # BarCodeDataForThirdparty=Barcode information of thirdparty %s : -# BarcodeStickersMask=xxx - +# ResetBarcodeForAllRecords=Define barcode value for all records (this will also reset barcode value already defined with new values) +# PriceByCustomer=Price by customer +# PriceCatalogue=Catalogue Price +# PricingRule=Pricing Rules +# AddCustomerPrice=Add price by customers +# ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +# PriceByCustomerLog=Price by customer log diff --git a/htdocs/langs/mk_MK/projects.lang b/htdocs/langs/mk_MK/projects.lang index f2c0c2b86c6..2710b95cdf8 100644 --- a/htdocs/langs/mk_MK/projects.lang +++ b/htdocs/langs/mk_MK/projects.lang @@ -1,4 +1,6 @@ # Dolibarr language file - Source file is en_US - projects +# RefProject=Ref. project +# ProjectId=Project Id # Project=Project # Projects=Projects # SharedProject=Everybody @@ -30,11 +32,18 @@ # TimesSpent=Time spent # RefTask=Ref. task # LabelTask=Label task +# TaskTimeSpent=Time spent on tasks +# TaskTimeUser=Task time user +# TaskTimeNote=Task time note +# TaskTimeDate=Task time date # NewTimeSpent=New time spent # MyTimeSpent=My time spent # MyTasks=My tasks # Tasks=Tasks # Task=Task +# TaskDateStart=Task start date +# TaskDateEnd=Task end date +# TaskDescription=Task description # NewTask=New task # AddTask=Add task # AddDuration=Add duration @@ -100,12 +109,12 @@ ##### Types de contacts ##### # TypeContact_project_internal_PROJECTLEADER=Project leader # TypeContact_project_external_PROJECTLEADER=Project leader -# TypeContact_project_internal_CONTRIBUTOR=Contributor -# TypeContact_project_external_CONTRIBUTOR=Contributor +# TypeContact_project_internal_PROJECTCONTRIBUTOR=Contributor +# TypeContact_project_external_PROJECTCONTRIBUTOR=Contributor # TypeContact_project_task_internal_TASKEXECUTIVE=Task executive # TypeContact_project_task_external_TASKEXECUTIVE=Task executive -# TypeContact_project_task_internal_CONTRIBUTOR=Contributor -# TypeContact_project_task_external_CONTRIBUTOR=Contributor +# TypeContact_project_task_internal_TASKCONTRIBUTOR=Contributor +# TypeContact_project_task_external_TASKCONTRIBUTOR=Contributor # SelectElement=Select element # AddElement=Link to element # Documents models diff --git a/htdocs/langs/mk_MK/stocks.lang b/htdocs/langs/mk_MK/stocks.lang index d6c87f1062f..be1e333f87c 100644 --- a/htdocs/langs/mk_MK/stocks.lang +++ b/htdocs/langs/mk_MK/stocks.lang @@ -94,14 +94,20 @@ # StockToBuy=To order # Replenishment=Replenishment # ReplenishmentOrders=Replenishment orders -# UseVirtualStock=Use virtual stock instead of physical stock +# VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differs +# UseVirtualStockByDefault=Use virtual stock by default, instead of physical stock, for replenishment feature +# UseVirtualStock=Use virtual stock +# UsePhysicalStock=Use physical stock +# CurentSelectionMode=Curent selection mode +# CurentlyUsingVirtualStock=Virtual stock +# CurentlyUsingPhysicalStock=Physical stock # RuleForStockReplenishment=Rule for stocks replenishment # SelectProductWithNotNullQty=Select at least one product with a qty not null and a supplier # AlertOnly= Alerts only # WarehouseForStockDecrease=The warehouse %s will be used for stock decrease # WarehouseForStockIncrease=The warehouse %s will be used for stock increase # ForThisWarehouse=For this warehouse -# ReplenishmentStatusDesc=This is list of all product with a physical stock lower than desired stock (or alert value if checkbox "alert only" is checked) and suggest you to create supplier orders to fill the difference. +# ReplenishmentStatusDesc=This is list of all product with a stock lower than desired stock (or lower than alert value if checkbox "alert only" is checked), and suggest you to create supplier orders to fill the difference. # ReplenishmentOrdersDesc=This is list of all opened supplier orders # Replenishments=Replenishments # NbOfProductBeforePeriod=Quantity of product %s in stock before selected period (< %s) diff --git a/htdocs/langs/nb_NO/admin.lang b/htdocs/langs/nb_NO/admin.lang index 6f0d018cb66..4644819e976 100644 --- a/htdocs/langs/nb_NO/admin.lang +++ b/htdocs/langs/nb_NO/admin.lang @@ -287,7 +287,7 @@ CurrentVersion=Dolibarr gjeldende versjon CallUpdatePage=Gå til siden som oppdaterer databasestruktur og data %s. LastStableVersion=Siste stabile versjon GenericMaskCodes=Her kan du legge inn nummereringsmal. I malen kan du bruke følgende tagger:
{000000} tilsvarer et tall som økes ved hver %s. Angi så mange nuller som du ønsker at lengden på telleren skal være. Telleren vil ha ledende nuller i henhold til malens lengde.
{000000+000} samme som forrige, men med en forskyvning til høyre for + tegnet, starter fra første %s.
{000000@x} samme som forrige, men telleren starter fra null når måned x nås (x mellom 1 og 12). Hvis dette valget brukes og x er 2 eller mer kreves også sekvensen {yy}{mm} eller {yyyy}{mm} kreves også.
{dd} dag (01 til 31).
{mm} måned (01 til 12).
{yy}, {yyyy} eller {y} årstall over 2, 4 eller 1 siffer.
{cccc000} klientkoden på n tegn etterfulgt av en klientreferanse uten forskyvning og nullet med den globale telleren.

Alle andre tegn i malen vil forbli intakte.
Mellomrom er ikke tillatt.

Eksempel på den 99de %s av tredjeparten blir 31/01/2007:
ABC{yy}{mm}-{000000} vil gi ABC0701-000099
{0000+100}-ZZZ/{dd}/XXX vil gi 0199-ZZZ/31/XXX
-# GenericMaskCodes2={cccc} the client code
{cccc000} the client code on n characters is followed by a client's ref counter without offset and zeroized with the global counter.
{tttt} The code of company type on n characters (see dictionary-company types).
+# GenericMaskCodes2={cccc} the client code on n characters
{cccc000} the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.
{tttt} The code of company type on n characters (see dictionary-company types).
GenericMaskCodes3=Alle andre tegn i masken vil være intakt.
Mellomrom er ikke tillatt.
GenericMaskCodes4a=Eksempel på 99nde %s av tredje part TheCompany gjort 2007-01-31:
GenericMaskCodes4b=Eksempel på tredjeparts opprettet på 2007-03-01:
@@ -345,8 +345,6 @@ SecurityTokenIsUnique=Bruk en unik securekey parameter for hver webadresse EnterRefToBuildUrl=Oppgi referanse for objektets %s GetSecuredUrl=Få beregnet URL # ButtonHideUnauthorized=Hide buttons for unauthorized actions instead of showing disabled buttons -# ProductVatMassChange=Mass VAT change -# ProductVatMassChangeDesc=This page can be used to modify a VAT rate defined on products or services from a value to another. Warning, this change is done on all database. # OldVATRates=Old VAT rate # NewVATRates=New VAT rate # PriceBaseTypeToChange=Modify on prices with base reference value defined on @@ -381,6 +379,16 @@ ExtrafieldPrice = Pris # DefaultLink=Default link # ValueOverwrittenByUserSetup=Warning, this value may be overwritten by user specific setup (each user can set his own clicktodial url) # ExternalModule=External module - Installed into directory %s +# BarcodeInitForThirdparties=Mass barcode init for thirdparties +# BarcodeInitForProductsOrServices=Mass barcode init or reset for products or services +# CurrentlyNWithoutBarCode=Currently, you have %s records on %s %s without barcode defined. +# InitEmptyBarCode=Init value for next %s empty records +# EraseAllCurrentBarCode=Erase all current barcode values +# ConfirmEraseAllCurrentBarCode=Are you sure you want to erase all current barcode values ? +# AllBarcodeReset=All barcode values have been removed +# NoBarcodeNumberingTemplateDefined=No numbering barcode template enabled into barcode module setup. +# NoRecordWithoutBarcodeDefined=No record with no barcode value defined. + # Modules Module0Name=Bruker & grupper @@ -510,6 +518,8 @@ Module50200Desc= Modul å tilby en online betaling side med kredittkort med Payp # Module59000Desc=Module to manage margins # Module60000Name=Commissions # Module60000Desc=Module to manage commissions +# Module150010Name=Batch number, eat-by date and sell-by date +# Module150010Desc=batch number, eat-by date and sell-by date management for product Permission11=Vise fakturaer Permission12=Lage/Endre fakturaer Permission13=Unvalidate fakturaer @@ -726,8 +736,8 @@ Permission50202=Importer transaksjoner # Permission55002=Create/modify surveys # Permission59001=Read commercial margins # Permission59002=Define commercial margins -# DictionaryCompanyType=Company types -# DictionaryCompanyJuridicalType=Juridical kinds of company +# DictionaryCompanyType=Thirdparties type +# DictionaryCompanyJuridicalType=Juridical kinds of thirdparties # DictionaryProspectLevel=Prospect potential level # DictionaryCanton=State/Cantons # DictionaryRegion=Regions @@ -959,7 +969,7 @@ SimpleNumRefModelDesc=Returner referansenummeret med format %syymm-nnnn der åå ShowProfIdInAddress=Vis Profesjonell id med adresser på dokumenter # ShowVATIntaInAddress=Hide VAT Intra num with addresses on documents TranslationUncomplete=Delvis oversettelse -SomeTranslationAreUncomplete=Noen språk kan være delvis oversatt eller kan inneholder feil. Hvis du oppdager noe, kan du fikse. Lang tekstfiler til katalogen htdocs / Langs og sende dem på forumet på http://www.dolibarr.org . +# SomeTranslationAreUncomplete=Some languages may be partially translated or may contains errors. If you detect some, you can fix language files registering to http://transifex.com/projects/p/dolibarr/. MenuUseLayout=Gjør vertikale menyen hidable (opsjon Javascript må ikke være deaktivert) MAIN_DISABLE_METEO=Deaktiver Meteo visning TestLoginToAPI=Test logge API @@ -985,6 +995,7 @@ ExtraFields=Komplementære attributter # ExtraFieldsProjectTask=Complementary attributes (tasks) ExtraFieldHasWrongValue=Attribut %s har en feil verdi. # AlphaNumOnlyCharsAndNoSpace=only alphanumericals characters without space +# AlphaNumOnlyLowerCharsAndNoSpace=only alphanumericals and lower case characters without space SendingMailSetup=Oppsett av sendings e-post SendmailOptionNotComplete=Advarsel, på enkelte Linux-systemer, for å sende e-post fra e-posten din, sendmail henrettelsen oppsett må conatins alternativ-BA (parameter mail.force_extra_parameters inn din php.ini fil). Hvis noen mottakere aldri motta e-post, kan du prøve å redigere denne PHP parameteren med mail.force_extra_parameters =-BA). PathToDocuments=Sti til dokumenter @@ -1269,7 +1280,7 @@ ForANonAnonymousAccess=For an authenticated acces (for a write access for exampl # YouMayFindPerfAdviceHere=You will find on this page some checks or advices related to performance. # NotInstalled=Not installed, so your server is not slow down by this. # ApplicativeCache=Applicative cache -# MemcachedNotAvailable=No applicative cache found. You can enhance performance by installing a cache server Memcached and a module able to use this cache server. More information here http://wiki.dolibarr.org/index.php/Module_MemCached_EN. Note that a lot of web hosting provider does not provide such cache server. +# MemcachedNotAvailable=No applicative cache found. You can enhance performance by installing a cache server Memcached and a module able to use this cache server.
More information here http://wiki.dolibarr.org/index.php/Module_MemCached_EN.
Note that a lot of web hosting provider does not provide such cache server. # OPCodeCache=OPCode cache # NoOPCodeCacheFound=No OPCode cache found. May be you use another OPCode cache than XCache or eAccelerator (good), may be you don't have OPCode cache (very bad). # HTTPCacheStaticResources=HTTP cache for static resources (css, img, javascript) diff --git a/htdocs/langs/nb_NO/agenda.lang b/htdocs/langs/nb_NO/agenda.lang index 77470712e78..2ecbbe03083 100644 --- a/htdocs/langs/nb_NO/agenda.lang +++ b/htdocs/langs/nb_NO/agenda.lang @@ -52,6 +52,7 @@ InvoiceSentByEMail=Faktura %s på e-post SupplierOrderSentByEMail=Leverandør bestill %s på e-post SupplierInvoiceSentByEMail=Leverandørfaktura %s på e-post ShippingSentByEMail=Frakt %s på e-post +# ShippingValidated= Shipping %s validated InterventionSentByEMail=Intervensjon %s på e-post NewCompanyToDolibarr= Tredjepart opprettet DateActionPlannedStart= Planlagt startdato diff --git a/htdocs/langs/nb_NO/cashdesk.lang b/htdocs/langs/nb_NO/cashdesk.lang index d570a763e5e..0e0b168257c 100644 --- a/htdocs/langs/nb_NO/cashdesk.lang +++ b/htdocs/langs/nb_NO/cashdesk.lang @@ -37,3 +37,4 @@ ShowCompany=Vis selskap ShowStock=Vis lager DeleteArticle=Klikk for å fjerne denne artikkelen # FilterRefOrLabelOrBC=Search (Ref/Label) +# UserNeedPermissionToEditStockToUsePos=You ask to decrease stock on invoice creation, so user that use POS need to have permission to edit stock. diff --git a/htdocs/langs/nb_NO/errors.lang b/htdocs/langs/nb_NO/errors.lang index dbefec25024..6b15a382e8a 100644 --- a/htdocs/langs/nb_NO/errors.lang +++ b/htdocs/langs/nb_NO/errors.lang @@ -26,8 +26,11 @@ ErrorFromToAccountsMustDiffers=Kilde og målkonto må være forskjellig. ErrorBadThirdPartyName=Ugyldig verdi for tredjepartens navn # ErrorProdIdIsMandatory=The %s is mandatory ErrorBadCustomerCodeSyntax=Ugyldig syntaks for kundekode +# ErrorBadBarCodeSyntax=Bad syntax for bar code ErrorCustomerCodeRequired=Kundekode påkrevet +# ErrorBarCodeRequired=Bar code required ErrorCustomerCodeAlreadyUsed=Kundekoden er allerede benyttet +# ErrorBarCodeAlreadyUsed=Bar code already used ErrorPrefixRequired=Prefix påkrevet ErrorUrlNotValid=Nettstedet adressen er feil ErrorBadSupplierCodeSyntax=Ugyldig syntax for leverandørkode @@ -63,6 +66,7 @@ ErrorSizeTooLongForVarcharType=Størrelse for lang for streng type (%s tegn maks # ErrorNoValueForRadioType=Please fill value for radio list # ErrorBadFormatValueList=The list value cannot have more than one come : %s, but need at least one: llave,valores ErrorFieldCanNotContainSpecialCharacters=Feltet %s kan ikke inneholde spesialtegn. +# ErrorFieldCanNotContainSpecialNorUpperCharacters=Field %s must not contains special characters, nor upper case characters. ErrorNoAccountancyModuleLoaded=Ingen regnskapsmodul aktivert # ErrorExportDuplicateProfil=This profile name already exists for this export set. ErrorLDAPSetupNotComplete=Dolibarr-LDAP oppsett er ikke komplett. diff --git a/htdocs/langs/nb_NO/exports.lang b/htdocs/langs/nb_NO/exports.lang index b222eb89fda..80e6f2fc9c6 100644 --- a/htdocs/langs/nb_NO/exports.lang +++ b/htdocs/langs/nb_NO/exports.lang @@ -123,6 +123,10 @@ BankCode=Bank code (ikke i Norge) DeskCode=Desk code (ikke i Norge) BankAccountNumber=Kontonummer BankAccountNumberKey=Nøkkel +# SpecialCode=Special code +# ExportStringFilter=%% allows replacing one or more characters in the text +# ExportDateFilter='AAAA' 'AAAAMM' 'AAAAMMJJ': filters by one year/month/day
'AAAA+AAAA' 'AAAAMM+AAAAMM' 'AAAAMMJJ+AAAAMMJJ': filters over a range of years/months/days
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filters on the following years/months/days
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filters on the previous years/months/days +# ExportNumericFilter='NNNNN' filters by one value
'NNNNN+NNNNN' filters over a range of values
'>NNNNN' filters by lower values
'>NNNNN' filters by higher values ## filters # SelectFilterFields=If you want to filter on some values, just input values here. # FilterableFields=Champs Filtrables diff --git a/htdocs/langs/nb_NO/mails.lang b/htdocs/langs/nb_NO/mails.lang index e20416f4b19..c90db6d62e8 100644 --- a/htdocs/langs/nb_NO/mails.lang +++ b/htdocs/langs/nb_NO/mails.lang @@ -79,6 +79,13 @@ MailingStatusRead=Les # ActivateCheckRead=Allow to use the "Unsubcribe" link # ActivateCheckReadKey=Key use to encrypt URL use for "Read Receipt" and "Unsubcribe" feature # EMailSentToNRecipients=EMail sent to %s recipients. +# EachInvoiceWillBeAttachedToEmail=A document using default invoice document template will be created and attached to each email. +# MailTopicSendRemindUnpaidInvoices=Remind of invoice %s (%s) +# SendRemind=Send remind by EMails +# RemindSent=%S remind(s) sent +# AllRecipientSelectedForRemind=All thirdparties selected and if an email is set (note that one mail per invoice will be sent) +# NoRemindSent=No remind by EMail sent +# ResultOfMassSending=Result of mass remind sending by EMail # Libelle des modules de liste de destinataires mailing MailingModuleDescContactCompanies=Alle tredjeparters kontaktpersoner (kunder, prospekter, leverandører, ...) diff --git a/htdocs/langs/nb_NO/main.lang b/htdocs/langs/nb_NO/main.lang index 6940f5530d6..6da567fdce8 100644 --- a/htdocs/langs/nb_NO/main.lang +++ b/htdocs/langs/nb_NO/main.lang @@ -572,7 +572,7 @@ TotalWoman=Totalr TotalMan=Totalt NeverReceived=Aldri mottatt Canceled=Kansellert -# YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu setup - dictionnary +# YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu setup - dictionary Color=Farge Documents=Lenkede filer DocumentsNb=Koblede filer (%s) diff --git a/htdocs/langs/nb_NO/opensurvey.lang b/htdocs/langs/nb_NO/opensurvey.lang index 363b7607a60..2a9af89da14 100644 --- a/htdocs/langs/nb_NO/opensurvey.lang +++ b/htdocs/langs/nb_NO/opensurvey.lang @@ -35,6 +35,7 @@ # TitleChoice=Choice label # ExportSpreadsheet=Export result spreadsheet ExpireDate=Limit date +# NbOfSurveys=Number of surveys # NbOfVoters=Nb of voters # SurveyResults=Results # PollAdminDesc=You are allowed to change all vote lines of this poll with button "Edit". You can, as well, remove a column or a line with %s. You can also add a new column with %s. diff --git a/htdocs/langs/nb_NO/orders.lang b/htdocs/langs/nb_NO/orders.lang index 66f802e4b0e..916a16c8f96 100644 --- a/htdocs/langs/nb_NO/orders.lang +++ b/htdocs/langs/nb_NO/orders.lang @@ -55,6 +55,7 @@ DraftOrWaitingShipped=Kladd eller godkjent ikke sendt ennå MenuOrdersToBill=Ordre til fakturering # MenuOrdersToBill2=Orders to bill SearchOrder=Søk i ordre +# SearchACustomerOrder=Search a customer order ShipProduct=Lever produkt Discount=Rabatt CreateOrder=Lag ordre @@ -164,3 +165,4 @@ OrderByPhone=Telefon # OrderCreated=Your orders have been created # OrderFail=An error happened during your orders creation # CreateOrders=Create orders +# ToBillSeveralOrderSelectCustomer=To create an invoice for several orders, click first onto customer, then choose "%s". diff --git a/htdocs/langs/nb_NO/other.lang b/htdocs/langs/nb_NO/other.lang index 90574caebcc..72a3270294a 100644 --- a/htdocs/langs/nb_NO/other.lang +++ b/htdocs/langs/nb_NO/other.lang @@ -49,14 +49,15 @@ Miscellaneous=Diverse NbOfActiveNotifications=Antall påminnelser PredefinedMailTest=Dette er en test post. \\ NDe to linjer er atskilt med en vognretur. PredefinedMailTestHtml=Dette er en test mail (ordet testen må være i fet skrift).
De to linjene er skilt med en vognretur. -PredefinedMailContentSendInvoice=__CONTACTCIVNAME__ \n\n Vedlagt oversendes faktura __FACREF__\n\n__PERSONALIZED__Med vennlig hilsen\n\n__SIGNATURE__ -PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__ \n\n I følge våre noteringer ser det ut til at vår faktura __FACREF__ fortsatt står ubetalt hos oss. Dersom Deres betaling har krysset denne påminnelsen ber vi Dem vennligst se bort fra denne henvendelsen. \n\n__PERSONALIZED__Med vennlig hilsen\n\n__SIGNATURE__ -PredefinedMailContentSendProposal=__CONTACTCIVNAME__ \n\n Vedlagt oversendes tilbud __PROPREF__\n\n__PERSONALIZED__Med vennlig hilsen\n\n__SIGNATURE__ -PredefinedMailContentSendOrder=__CONTACTCIVNAME__ \n\n Vedlagt oversendese __ORDERREF__\n\n__PERSONALIZED__Med vennlig hilsen\n\n__SIGNATURE__ -PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__ \n\n Du finner her vårt bestillingsskjema __ORDERREF__ \n\n__PERSONALIZED__Sincerely \n\n__SIGNATURE__ -PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__ \n\n Du finner her fakturaen __FACREF__ \n\n__PERSONALIZED__ Vennlig hilsen \n\n__SIGNATURE__ -PredefinedMailContentSendShipping=__CONTACTCIVNAME__ \n\n Du finner her shipping __SHIPPINGREF__ \n\n__PERSONALIZED__ Vennlig hilsen \n\n__SIGNATURE__ -PredefinedMailContentSendFichInter=__CONTACTCIVNAME__ \n\n Du finner her intervensjonen __FICHINTERREF__ \n\n__PERSONALIZED__ Vennlig hilsen \n\n__SIGNATURE__ +# PredefinedMailContentSendInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__\n\nWe would like to warn you that the invoice __FACREF__ seems to not being payed. So this is the invoice in attachment again, as a reminder.\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendProposal=__CONTACTCIVNAME__\n\nYou will find here the commercial proposal __PROPREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendOrder=__CONTACTCIVNAME__\n\nYou will find here the order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__\n\nYou will find here our order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendShipping=__CONTACTCIVNAME__\n\nYou will find here the shipping __SHIPPINGREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendFichInter=__CONTACTCIVNAME__\n\nYou will find here the intervention __FICHINTERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentThirdparty=__CONTACTCIVNAME__\n\n__PERSONALIZED__\n\n__SIGNATURE__ DemoDesc=Dolibarr er ikke en komplett ERP, men er bygget opp av flere forskjellige moduler. Vi har derfor laget flere forskjellige demoprofiler ChooseYourDemoProfil=Velg demoprofilen som passer til ditt område... DemoFundation=Håndtere medlemmer i en organisasjon diff --git a/htdocs/langs/nb_NO/products.lang b/htdocs/langs/nb_NO/products.lang index fa4e51de5ca..83bf946bc09 100644 --- a/htdocs/langs/nb_NO/products.lang +++ b/htdocs/langs/nb_NO/products.lang @@ -13,6 +13,10 @@ NewProduct=Ny vare NewService=Ny tjeneste ProductCode=Varekode ServiceCode=Tjenestekode +# ProductVatMassChange=Mass VAT change +# ProductVatMassChangeDesc=This page can be used to modify a VAT rate defined on products or services from a value to another. Warning, this change is done on all database. +# MassBarcodeInit=Mass barcode init +# MassBarcodeInitDesc=This page can be used to initialize a barcode on objects that does not have barcode defined. Check before that setup of module barcode is complete. ProductAccountancyBuyCode=Revisjon kode (kjøpe) ProductAccountancySellCode=Revisjon kode (selge) ProductOrService=Vare eller tjeneste @@ -173,8 +177,8 @@ CustomCode=Tollkodeks CountryOrigin=Opprinnelseslandet HiddenIntoCombo=Gjemt i enkelte lister Nature=Natur -# ProductCodeModel=Product code template -# ServiceCodeModel=Service code template +# ProductCodeModel=Product ref template +# ServiceCodeModel=Service ref template # AddThisProductCard=Create product card # HelpAddThisProductCard=This option allows you to create or clone a product if it does not exist. # AddThisServiceCard=Create service card @@ -216,5 +220,10 @@ QtyNeed=Ant # DefinitionOfBarCodeForThirdpartyNotComplete=Definition of type or value of bar code non complete for thirdparty %s. # BarCodeDataForProduct=Barcode information of product %s : # BarCodeDataForThirdparty=Barcode information of thirdparty %s : -# BarcodeStickersMask=xxx - +# ResetBarcodeForAllRecords=Define barcode value for all records (this will also reset barcode value already defined with new values) +# PriceByCustomer=Price by customer +# PriceCatalogue=Catalogue Price +# PricingRule=Pricing Rules +# AddCustomerPrice=Add price by customers +# ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +# PriceByCustomerLog=Price by customer log diff --git a/htdocs/langs/nb_NO/projects.lang b/htdocs/langs/nb_NO/projects.lang index a815942786a..a23f255f41b 100644 --- a/htdocs/langs/nb_NO/projects.lang +++ b/htdocs/langs/nb_NO/projects.lang @@ -1,4 +1,6 @@ # Dolibarr language file - Source file is en_US - projects +# RefProject=Ref. project +# ProjectId=Project Id Project=Prosjekt Projects=Prosjekter SharedProject=Alle @@ -30,11 +32,18 @@ TimeSpent=Tid brukt TimesSpent=Tid brukt RefTask=Ref. oppgave LabelTask=Oppgave +# TaskTimeSpent=Time spent on tasks +# TaskTimeUser=Task time user +# TaskTimeNote=Task time note +# TaskTimeDate=Task time date NewTimeSpent=Ny tid brukt MyTimeSpent=Mitt tidsforbruk MyTasks=Mine oppgaver Tasks=Oppgaver Task=Oppgave +# TaskDateStart=Task start date +# TaskDateEnd=Task end date +# TaskDescription=Task description NewTask=Ny oppgave AddTask=Legg til oppgave AddDuration=Legg til varighet @@ -100,12 +109,12 @@ IfNeedToUseOhterObjectKeepEmpty=Dersom noen objekter (faktura, orden, ...), som ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Prosjektleder TypeContact_project_external_PROJECTLEADER=Prosjektleder -TypeContact_project_internal_PROJECTCONTRIBUTOR=Bidragsyter -TypeContact_project_external_PROJECTCONTRIBUTOR=Bidragsyter +# TypeContact_project_internal_PROJECTCONTRIBUTOR=Contributor +# TypeContact_project_external_PROJECTCONTRIBUTOR=Contributor TypeContact_project_task_internal_TASKEXECUTIVE=Oppgave Executive TypeContact_project_task_external_TASKEXECUTIVE=Oppgave Executive -TypeContact_project_task_internal_TASKCONTRIBUTOR=Bidragsyter -TypeContact_project_task_external_TASKCONTRIBUTOR=Bidragsyter +# TypeContact_project_task_internal_TASKCONTRIBUTOR=Contributor +# TypeContact_project_task_external_TASKCONTRIBUTOR=Contributor # SelectElement=Select element # AddElement=Link to element # Documents models diff --git a/htdocs/langs/nb_NO/stocks.lang b/htdocs/langs/nb_NO/stocks.lang index 4c2d61516ba..38c58e94066 100644 --- a/htdocs/langs/nb_NO/stocks.lang +++ b/htdocs/langs/nb_NO/stocks.lang @@ -94,14 +94,20 @@ SelectWarehouseForStockIncrease=Velg lageret til bruk for lager økning # StockToBuy=To order # Replenishment=Replenishment # ReplenishmentOrders=Replenishment orders -# UseVirtualStock=Use virtual stock instead of physical stock +# VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differs +# UseVirtualStockByDefault=Use virtual stock by default, instead of physical stock, for replenishment feature +# UseVirtualStock=Use virtual stock +# UsePhysicalStock=Use physical stock +# CurentSelectionMode=Curent selection mode +# CurentlyUsingVirtualStock=Virtual stock +# CurentlyUsingPhysicalStock=Physical stock # RuleForStockReplenishment=Rule for stocks replenishment # SelectProductWithNotNullQty=Select at least one product with a qty not null and a supplier # AlertOnly= Alerts only # WarehouseForStockDecrease=The warehouse %s will be used for stock decrease # WarehouseForStockIncrease=The warehouse %s will be used for stock increase # ForThisWarehouse=For this warehouse -# ReplenishmentStatusDesc=This is list of all product with a physical stock lower than desired stock (or alert value if checkbox "alert only" is checked) and suggest you to create supplier orders to fill the difference. +# ReplenishmentStatusDesc=This is list of all product with a stock lower than desired stock (or lower than alert value if checkbox "alert only" is checked), and suggest you to create supplier orders to fill the difference. # ReplenishmentOrdersDesc=This is list of all opened supplier orders # Replenishments=Replenishments # NbOfProductBeforePeriod=Quantity of product %s in stock before selected period (< %s) diff --git a/htdocs/langs/nl_NL/admin.lang b/htdocs/langs/nl_NL/admin.lang index 588da72cfe6..26df94d115e 100644 --- a/htdocs/langs/nl_NL/admin.lang +++ b/htdocs/langs/nl_NL/admin.lang @@ -45,13 +45,13 @@ ErrorModuleRequireDolibarrVersion=Fout, deze module vereist Dolibarr versie %s o ErrorDecimalLargerThanAreForbidden=Fout, een nauwkeurigheid van meer dan %s wordt niet ondersteund. # DictionarySetup=Dictionary setup # Dictionary=Dictionaries -# ErrorReservedTypeSystemSystemAuto=Value 'system' and 'systemauto' for type is reserved. You can use 'user' as value to add your own record +ErrorReservedTypeSystemSystemAuto=De waarde 'system' en 'systemauto' als type zijn voorbehouden voor het systeem. Je kan 'user' als waarde gebruiken om je eigen gegevens-record toe te voegen. ErrorCodeCantContainZero=Code mag geen 0 bevatten DisableJavascript=Schakel JavaScript en AJAX-functionaliteit uit ConfirmAjax=Gebruik AJAX bevestigingspopups # UseSearchToSelectCompany=Use autocompletion fields to choose third parties (instead of using a list box).

Also if you have a large number of third parties (> 100 000), you can increase speed by setting constant COMPANY_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string. ActivityStateToSelectCompany= Voeg een filter optie voor het tonen / verbergen thirdparties die momenteel in de activiteiten of niet langer het -# UseSearchToSelectContact=Use autocompletion fields to choose contact (instead of using a list box).

Also if you have a large number of third parties (> 100 000), you can increase speed by setting constant CONTACT_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string. +UseSearchToSelectContact=Gebruik automatisch aanvul-velden om het contact te kiezen (in plaats van een rolluik-lijst).

Ook als je een groot aantal derde partijen hebt (> 100 000), kan je de snelheid verbeteren door de constante CONTACT_DONOTSEARCH_ANYWHERE in te stellen op 1 in Setup->Other. Zoekopdrachten worden dan bepert tot het begin van een woord. SearchFilter=Zoekfilters opties NumberOfKeyToSearch=Aantal karakters om een zoekopdracht te initiëren: %s ViewFullDateActions=Toon volledige data-acties in het derden 'sheet' @@ -287,7 +287,7 @@ CurrentVersion=Huidige versie van Dolibarr CallUpdatePage=Ga naar de pagina die de databasestructuur en gegevens bijwerkt: %s. LastStableVersion=Laatste stabiele versie GenericMaskCodes=U kunt elk gewenst maskernummer invoeren. In dit masker, kunnen de volgende tags worden gebruikt:
{000000} correspondeert met een nummer welke vermeerderd zal worden op elke %s. Voer zoveel nullen in als de gewenste lengte van de teller. De teller wordt aangevuld met nullen vanaf links zodat er zoveel nullen zijn als in het masker.
{000000+000} hetzelfde als voorgaand maar een offset corresponderend met het nummer aan de rechterkant van het + teken is toegevoegd startend op de eerste %s.
{000000@x} hetzelfde als voorgaande maar de teller wordt gereset naar nul, wanneer maand x is bereikt (x tussen 1 en 12). Als deze optie is gebruikt en x is 2 of hoger, dan is de volgorde {yy}{mm} of {yyyy}{mm} ook vereist.
{dd} dag (01 t/m 31).
{mm} maand (01 t/m 12).
{yy}, {yyyy} of {y} jaat over 2, 4 of 1 nummer(s).
-# GenericMaskCodes2={cccc} the client code
{cccc000} the client code on n characters is followed by a client's ref counter without offset and zeroized with the global counter.
{tttt} The code of company type on n characters (see dictionary-company types).
+# GenericMaskCodes2={cccc} the client code on n characters
{cccc000} the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.
{tttt} The code of company type on n characters (see dictionary-company types).
GenericMaskCodes3=Alle andere karakters in het masker zullen intact blijven.
Spaties zijn niet toegestaan.
GenericMaskCodes4a=Voorbeeld van de 99e %s van de Klant 'HetBedrijf' gedaan op 2007-01-31:
GenericMaskCodes4b=Voorbeeld van een Klant gecreëerd op 2007-03-01:
@@ -345,8 +345,6 @@ SecurityTokenIsUnique=Gebruik een unieke securekey parameter voor elke URL EnterRefToBuildUrl=Geef referentie voor object %s GetSecuredUrl=Get berekend URL ButtonHideUnauthorized=Verberg de knoppen voor niet-toegestane akties in plaats van ze inaktief te maken -ProductVatMassChange=Globale BTW aanpassing -ProductVatMassChangeDesc=Hier kan je een BTW-tarief wijzigen dat gedefiniëerd is op producten of diensten, van een waarde naar een andere. Opgelet, deze wijziging wordt op de hele database gedaan. OldVATRates=Oud BTW tarief NewVATRates=Nieuw BTW tarief PriceBaseTypeToChange=Wijzig op prijzen waarop een base reference waarde gedefiniëerd is @@ -381,6 +379,16 @@ RefreshPhoneLink=Herladen link DefaultLink=Standaard link # ValueOverwrittenByUserSetup=Warning, this value may be overwritten by user specific setup (each user can set his own clicktodial url) # ExternalModule=External module - Installed into directory %s +# BarcodeInitForThirdparties=Mass barcode init for thirdparties +# BarcodeInitForProductsOrServices=Mass barcode init or reset for products or services +# CurrentlyNWithoutBarCode=Currently, you have %s records on %s %s without barcode defined. +# InitEmptyBarCode=Init value for next %s empty records +# EraseAllCurrentBarCode=Erase all current barcode values +# ConfirmEraseAllCurrentBarCode=Are you sure you want to erase all current barcode values ? +# AllBarcodeReset=All barcode values have been removed +# NoBarcodeNumberingTemplateDefined=No numbering barcode template enabled into barcode module setup. +# NoRecordWithoutBarcodeDefined=No record with no barcode value defined. + # Modules Module0Name=Gebruikers & groepen @@ -510,6 +518,8 @@ Module50200Desc= Module om een ​​online betaling pagina te bieden per credit # Module59000Desc=Module to manage margins # Module60000Name=Commissions # Module60000Desc=Module to manage commissions +# Module150010Name=Batch number, eat-by date and sell-by date +# Module150010Desc=batch number, eat-by date and sell-by date management for product Permission11=Bekijk afnemersfacturen Permission12=Creëer / wijzigen afnemersfacturen Permission13=Invalideer afnemersfacturen @@ -726,8 +736,8 @@ Permission54001=Afdrukken # Permission55002=Create/modify surveys # Permission59001=Read commercial margins # Permission59002=Define commercial margins -# DictionaryCompanyType=Company types -# DictionaryCompanyJuridicalType=Juridical kinds of company +# DictionaryCompanyType=Thirdparties type +# DictionaryCompanyJuridicalType=Juridical kinds of thirdparties # DictionaryProspectLevel=Prospect potential level # DictionaryCanton=State/Cantons # DictionaryRegion=Regions @@ -959,7 +969,7 @@ SimpleNumRefModelDesc=Geeft het referentienummer terug in het formaat %sjjmm-nnn ShowProfIdInAddress=Toon in het adresgedeelte van documenten het 'professioneel ID' # ShowVATIntaInAddress=Hide VAT Intra num with addresses on documents TranslationUncomplete=Onvolledige vertaling -SomeTranslationAreUncomplete=Sommige talen zijn mogelijk slechts gedeeltelijk vertaald of kunnen fouten bevatten. Wanneer u dit tegenkomt, dan kunt u dit oplossen door de .lang tekstbestanden in de map htdocs/langs/ aan te passen en de wijzigen te delen op het forum op het adres http://www.dolibarr.org +# SomeTranslationAreUncomplete=Some languages may be partially translated or may contains errors. If you detect some, you can fix language files registering to http://transifex.com/projects/p/dolibarr/. MenuUseLayout=Maak het mogelijk verticale menu's te verbergen (Voor deze optie moet Javascript ingeschakeld zijn) MAIN_DISABLE_METEO=Schakel "Meteo"-weergave uit TestLoginToAPI=Test inloggen op API @@ -985,6 +995,7 @@ ExtraFields=Aanvullende attributen # ExtraFieldsProjectTask=Complementary attributes (tasks) ExtraFieldHasWrongValue=Toe te schrijven %s heeft een verkeerde waarde. # AlphaNumOnlyCharsAndNoSpace=only alphanumericals characters without space +# AlphaNumOnlyLowerCharsAndNoSpace=only alphanumericals and lower case characters without space SendingMailSetup=Instellen van verzendingen via e-mail SendmailOptionNotComplete=Waarschuwing, op sommige Linux-systemen, e-mail verzenden vanaf uw e-mail, sendmail uitvoering setup moet conatins optie-ba (parameter mail.force_extra_parameters in uw php.ini-bestand). Als sommige ontvangers nooit e-mails ontvangen, probeer dit PHP parameter bewerken met mail.force_extra_parameters =-ba). PathToDocuments=Pad naar documenten @@ -1269,7 +1280,7 @@ ForANonAnonymousAccess=Voor een geautoriseerde verbinding (bijvoorbeeld om over # YouMayFindPerfAdviceHere=You will find on this page some checks or advices related to performance. # NotInstalled=Not installed, so your server is not slow down by this. # ApplicativeCache=Applicative cache -# MemcachedNotAvailable=No applicative cache found. You can enhance performance by installing a cache server Memcached and a module able to use this cache server. More information here http://wiki.dolibarr.org/index.php/Module_MemCached_EN. Note that a lot of web hosting provider does not provide such cache server. +# MemcachedNotAvailable=No applicative cache found. You can enhance performance by installing a cache server Memcached and a module able to use this cache server.
More information here http://wiki.dolibarr.org/index.php/Module_MemCached_EN.
Note that a lot of web hosting provider does not provide such cache server. # OPCodeCache=OPCode cache # NoOPCodeCacheFound=No OPCode cache found. May be you use another OPCode cache than XCache or eAccelerator (good), may be you don't have OPCode cache (very bad). # HTTPCacheStaticResources=HTTP cache for static resources (css, img, javascript) diff --git a/htdocs/langs/nl_NL/agenda.lang b/htdocs/langs/nl_NL/agenda.lang index d12c45de034..a3d14d27b97 100644 --- a/htdocs/langs/nl_NL/agenda.lang +++ b/htdocs/langs/nl_NL/agenda.lang @@ -52,6 +52,7 @@ InvoiceSentByEMail=Afnemersfactuur %s verzonden per e-mail SupplierOrderSentByEMail=Leveranciersopdracht %s verzonden per e-mail SupplierInvoiceSentByEMail=Leveranciersfactuur %s verzonden per e-mail ShippingSentByEMail=Verzendkosten %s per e-mail +# ShippingValidated= Shipping %s validated InterventionSentByEMail=Interventie %s per e-mail NewCompanyToDolibarr= Derde aangemaakt DateActionPlannedStart= Geplande startdatum diff --git a/htdocs/langs/nl_NL/banks.lang b/htdocs/langs/nl_NL/banks.lang index dec450fb66a..b734dbb2343 100644 --- a/htdocs/langs/nl_NL/banks.lang +++ b/htdocs/langs/nl_NL/banks.lang @@ -105,7 +105,7 @@ ConciliatedBy=Afgestemd door DateConciliating=Afgestemd op BankLineConciliated=Transactie afgestemd CustomerInvoicePayment=Afnemersbetaling -# CustomerInvoicePaymentBack=Customer payment back +CustomerInvoicePaymentBack=Terugbetaling klant SupplierInvoicePayment=Leveranciersbetaling WithdrawalPayment=Intrekking betaling SocialContributionPayment=Sociale bijdrage betaling @@ -147,9 +147,9 @@ ShowAllAccounts=Toon alle rekeningen FutureTransaction=Overboeking in de toekomst. Geen manier mogelijk om af te stemmen SelectChequeTransactionAndGenerate=Select / filter controleert op te nemen in het controleren stortingsbewijs en op "Create" klikken. # InputReceiptNumber=Choose the bank statement related with the conciliation. Use a sortable numeric value (such as, YYYYMM) -# EventualyAddCategory=Eventually, specify a category in which to classify the records +EventualyAddCategory=Tenslotte een categorie opgeven waarin de gegevens bewaard kunnen worden # ToConciliate=To conciliate? -# ThenCheckLinesAndConciliate=Then, check the lines present in the bank statement and click +ThenCheckLinesAndConciliate=Duid dan de lijnen aan van het bankafschrift en klik BankDashboard=Bankrekening samenvatting DefaultRIB=Standaard BAN # AllRIB=All BAN diff --git a/htdocs/langs/nl_NL/bills.lang b/htdocs/langs/nl_NL/bills.lang index ea64a454007..574e3577eed 100644 --- a/htdocs/langs/nl_NL/bills.lang +++ b/htdocs/langs/nl_NL/bills.lang @@ -64,7 +64,7 @@ ConfirmConvertToReduc=Wilt u deze creditnota converteren in absolute korting? Corrigeer uw invoer, of anders bevestigen en na denken over het verlenen van een krediet van te veel betaald bij het afsluiten van elke betaalde factuur. -# HelpPaymentHigherThanReminderToPaySupplier=Attention, the payment amount of one or more bills is higher than the rest to pay.
Edit your entry, otherwise confirm. +HelpPaymentHigherThanReminderToPaySupplier=Opgelet, het bedrag van de betaling van een of meer facturen is hoger dan het te betalen.
Wijzigen of toch bevestigen. ClassifyPaid=Klassificeer 'betaald' ClassifyPaidPartially=Classificeer 'gedeeltelijk betaald' ClassifyCanceled=Classificeer 'verlaten' @@ -168,7 +168,7 @@ ConfirmClassifyPaidPartiallyReasonOtherDesc=Maak deze keuze als alle andere keuz ConfirmClassifyAbandonReasonOther=Andere ConfirmClassifyAbandonReasonOtherDesc=Deze keuze zal in alle andere gevallen worden gebruikt. Bijvoorbeeld omdat u van plan bent om de factuur te vervangen. ConfirmCustomerPayment=Kunt u de inwerkingtreding van deze verordening %s %s bevestigen? -# ConfirmSupplierPayment=Do you confirm this payment input for %s %s ? +ConfirmSupplierPayment=Bevestig je deze betaling voor %s %s ? ConfirmValidatePayment=Weet u zeker dat u deze betaling wilt bevestigen: er is geen verandering mogelijk, zodra de betaling is goedgekeurd. ValidateBill=Valideer factuur UnvalidateBill=Unvalidate factuur diff --git a/htdocs/langs/nl_NL/cashdesk.lang b/htdocs/langs/nl_NL/cashdesk.lang index 9876f25049a..f6a452a2c71 100644 --- a/htdocs/langs/nl_NL/cashdesk.lang +++ b/htdocs/langs/nl_NL/cashdesk.lang @@ -37,3 +37,4 @@ ShowCompany=Show Company ShowStock=Tonen magazijn DeleteArticle=Klik om dit artikel te verwijderen # FilterRefOrLabelOrBC=Search (Ref/Label) +# UserNeedPermissionToEditStockToUsePos=You ask to decrease stock on invoice creation, so user that use POS need to have permission to edit stock. diff --git a/htdocs/langs/nl_NL/errors.lang b/htdocs/langs/nl_NL/errors.lang index d18f60053a5..6fc438e632f 100644 --- a/htdocs/langs/nl_NL/errors.lang +++ b/htdocs/langs/nl_NL/errors.lang @@ -26,8 +26,11 @@ ErrorFromToAccountsMustDiffers=De bron- en doelrekening mogen niet dezelfde zijn ErrorBadThirdPartyName=Onjuiste waarde voor naam derde partij # ErrorProdIdIsMandatory=The %s is mandatory ErrorBadCustomerCodeSyntax=Verkeerde syntaxis voor afnemerscode +# ErrorBadBarCodeSyntax=Bad syntax for bar code ErrorCustomerCodeRequired=Afnemerscode nodig +# ErrorBarCodeRequired=Bar code required ErrorCustomerCodeAlreadyUsed=Afnemerscode al gebruikt +# ErrorBarCodeAlreadyUsed=Bar code already used ErrorPrefixRequired=Voorvoegsel vereist ErrorUrlNotValid=Het websiteadres is onjuist ErrorBadSupplierCodeSyntax=verkeerde syntaxis voor Leverancierscode @@ -63,6 +66,7 @@ ErrorSizeTooLongForVarcharType=Grootte te lang voor string type (%s tekens maxim # ErrorNoValueForRadioType=Please fill value for radio list # ErrorBadFormatValueList=The list value cannot have more than one come : %s, but need at least one: llave,valores ErrorFieldCanNotContainSpecialCharacters=Veld %s mag geen speciale tekens bevat. +# ErrorFieldCanNotContainSpecialNorUpperCharacters=Field %s must not contains special characters, nor upper case characters. ErrorNoAccountancyModuleLoaded=Geen boekhoudingsmodule geactiveerd # ErrorExportDuplicateProfil=This profile name already exists for this export set. ErrorLDAPSetupNotComplete=De Dolibarr-LDAP installatie is niet compleet. diff --git a/htdocs/langs/nl_NL/exports.lang b/htdocs/langs/nl_NL/exports.lang index 867a19ab535..24cf3b47571 100644 --- a/htdocs/langs/nl_NL/exports.lang +++ b/htdocs/langs/nl_NL/exports.lang @@ -102,14 +102,14 @@ NbOfLinesImported=Aantal regels succesvol geïmporteerd: %s. DataComeFromNoWhere=De waarde die ingevoegd moet worden komt nergens uit het bronbestand vandaan. DataComeFromFileFieldNb=De in te voegen waarde komt uit het veldnummer %s in het bronbestand. DataComeFromIdFoundFromRef=De waarde van het veld verkregen vanaf regel %s uit het bronbestand zal worden gebruikt om het id van het bovenliggende object te vinden, zodat dit object gebruikt kan worden (Dus het object met id %s moet bestaan in Dolibarr). -# DataComeFromIdFoundFromCodeId=Code that comes from field number %s of source file will be used to find id of parent object to use (So the code from source file must exists into dictionary %s). Note that if you know id, you can also use it into source file instead of code. Import should work in both cases. +DataComeFromIdFoundFromCodeId=De code uit het bronbestand, van het veld met nummer %s, wordt gebruikt om de id te bepalen van het parent-object. (Dus moet de code van het bronbestand bestaan in het woordenboek %s). Als je de id kent, kan je die ook gebruiken in plaats van de code in het bronbestand. De import zou moeten werken in beide gevallen. DataIsInsertedInto=De gegevens uit het bronbestand worden ingevoegd in het volgende veld: DataIDSourceIsInsertedInto=Het id van het bovenliggende object, gevonden door gebruik te maken van gegevens in het bronbestand, zal worden ingevoegd in het volgende veld: DataCodeIDSourceIsInsertedInto=Het id van de ouder lijn gevonden van code, zal worden ingevoegd in volgende veld: SourceRequired=Gegevenswaarde is verplicht SourceExample=Voorbeeld van een mogelijke gegevens waarde ExampleAnyRefFoundIntoElement=Elke ref gevonden voor element %s -# ExampleAnyCodeOrIdFoundIntoDictionary=Any code (or id) found into dictionary %s +ExampleAnyCodeOrIdFoundIntoDictionary=Elke code (of id) gevonden in woordenboek %s CSVFormatDesc=Comma Separated Value-bestandsindeling (. csv).
Dit is een tekstbestand waarin de velden zijn gescheiden door het scheidingsteken [%s]. Als het scheidingsteken is gevonden in de inhoud van een veld, wordt het 'geescaped' door het karakter [%s]. Het 'Escape'-karakter is [%s]. Excel95FormatDesc=Excel bestandsvorm (.xls)
Dat is een eigen Excel 95 formaat (BIFF5). Excel2007FormatDesc=Excel bestandsvorm (.xlsx)
Dit is een eigen Excel 2007 formaat (SpreadsheetML). @@ -123,6 +123,10 @@ BankCode=Bankcode DeskCode=Bankcode BankAccountNumber=Rekeningnummer BankAccountNumberKey=Sleutel +# SpecialCode=Special code +# ExportStringFilter=%% allows replacing one or more characters in the text +# ExportDateFilter='AAAA' 'AAAAMM' 'AAAAMMJJ': filters by one year/month/day
'AAAA+AAAA' 'AAAAMM+AAAAMM' 'AAAAMMJJ+AAAAMMJJ': filters over a range of years/months/days
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filters on the following years/months/days
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filters on the previous years/months/days +# ExportNumericFilter='NNNNN' filters by one value
'NNNNN+NNNNN' filters over a range of values
'>NNNNN' filters by lower values
'>NNNNN' filters by higher values ## filters SelectFilterFields=Vul hier de waarden in waarop je wil filteren. FilterableFields=Filtervelden diff --git a/htdocs/langs/nl_NL/mails.lang b/htdocs/langs/nl_NL/mails.lang index aabc90b5f12..83b81208e67 100644 --- a/htdocs/langs/nl_NL/mails.lang +++ b/htdocs/langs/nl_NL/mails.lang @@ -79,6 +79,13 @@ MailingStatusRead=Lezen # ActivateCheckRead=Allow to use the "Unsubcribe" link # ActivateCheckReadKey=Key use to encrypt URL use for "Read Receipt" and "Unsubcribe" feature # EMailSentToNRecipients=EMail sent to %s recipients. +# EachInvoiceWillBeAttachedToEmail=A document using default invoice document template will be created and attached to each email. +# MailTopicSendRemindUnpaidInvoices=Remind of invoice %s (%s) +# SendRemind=Send remind by EMails +# RemindSent=%S remind(s) sent +# AllRecipientSelectedForRemind=All thirdparties selected and if an email is set (note that one mail per invoice will be sent) +# NoRemindSent=No remind by EMail sent +# ResultOfMassSending=Result of mass remind sending by EMail # Libelle des modules de liste de destinataires mailing MailingModuleDescContactCompanies=Contacten van alle derde partijen (afnemer, prospect, leverancier, etc) diff --git a/htdocs/langs/nl_NL/main.lang b/htdocs/langs/nl_NL/main.lang index 80b151ef4cd..bceb966b6f5 100644 --- a/htdocs/langs/nl_NL/main.lang +++ b/htdocs/langs/nl_NL/main.lang @@ -185,8 +185,8 @@ MultiLanguage=Meertalig Note=Notitie CurrentNote=Huidige nota Title=Titel -Label=Label -RefOrLabel=Referentie van Label +Label=Naam +RefOrLabel=Nr. of naam Info=Info Family=Familie Description=Omschrijving @@ -572,7 +572,7 @@ TotalWoman=Totaal TotalMan=Totaal NeverReceived=Nooit ontvangen Canceled=Geannuleerd -# YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu setup - dictionnary +# YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu setup - dictionary Color=Kleur Documents=Gekoppelde bestanden DocumentsNb=Bijlagen (%s) diff --git a/htdocs/langs/nl_NL/opensurvey.lang b/htdocs/langs/nl_NL/opensurvey.lang index 45e6fb0f140..22761408f3d 100644 --- a/htdocs/langs/nl_NL/opensurvey.lang +++ b/htdocs/langs/nl_NL/opensurvey.lang @@ -35,6 +35,7 @@ # TitleChoice=Choice label # ExportSpreadsheet=Export result spreadsheet ExpireDate=Termijn +# NbOfSurveys=Number of surveys # NbOfVoters=Nb of voters # SurveyResults=Results # PollAdminDesc=You are allowed to change all vote lines of this poll with button "Edit". You can, as well, remove a column or a line with %s. You can also add a new column with %s. diff --git a/htdocs/langs/nl_NL/orders.lang b/htdocs/langs/nl_NL/orders.lang index 91ec0e37a6a..9681459bbd0 100644 --- a/htdocs/langs/nl_NL/orders.lang +++ b/htdocs/langs/nl_NL/orders.lang @@ -55,6 +55,7 @@ DraftOrWaitingShipped=Concept of nog niet verzonden MenuOrdersToBill=Te factureren opdrachten MenuOrdersToBill2=Te factureren orders SearchOrder=Zoekopdracht +# SearchACustomerOrder=Search a customer order ShipProduct=Verzend product Discount=Korting CreateOrder=Creeer opdracht @@ -164,3 +165,4 @@ Ordered=Besteld OrderCreated=Je order is aangemaakt OrderFail=Fout tijdens aanmaken order CreateOrders=Maak orders +# ToBillSeveralOrderSelectCustomer=To create an invoice for several orders, click first onto customer, then choose "%s". diff --git a/htdocs/langs/nl_NL/other.lang b/htdocs/langs/nl_NL/other.lang index db2762fbbec..ded9d39b6ae 100644 --- a/htdocs/langs/nl_NL/other.lang +++ b/htdocs/langs/nl_NL/other.lang @@ -49,14 +49,15 @@ Miscellaneous=Diversen NbOfActiveNotifications=Aantal kennisgevingen PredefinedMailTest=Dit is een test e-mail.\nDe twee lijnen worden gescheiden door een harde return. PredefinedMailTestHtml=Dit is een test e-mail (het woord test moet vetgedrukt worden weergegeven).
De twee lijnen worden gescheiden door een harde return. -PredefinedMailContentSendInvoice=__CONTACTCIVNAME__ \n\n Bijgevoegd vindt u de factuur __FACREF__ \n\n__PERSONALIZED__Met vriendelijke groeten,\n\n__SIGNATURE__ -PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__ \n\n Wij willen u erop wijzen dat de factuur __FACREF__ niet lijkt te zijn voldaan. Daarom sturen wij u nogmaals de factuur als bijlage. \n\n__PERSONALIZED__Met vriendelijke groeten,\n\n__SIGNATURE__ -PredefinedMailContentSendProposal=__CONTACTCIVNAME__ \n\n Hierbij sturen wij u de offerte __PROPREF__ \n\n__PERSONALIZED__Met vriendelijke groeten,\n\n__SIGNATURE__ -PredefinedMailContentSendOrder=__CONTACTCIVNAME__ \n\n Hierbij sturen wij u de opdracht __ORDERREF__ \n\n__PERSONALIZED__Met vriendelijke groeten,\n\n__SIGNATURE__ -PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__ \n\n Hierbij onze opdracht __ORDERREF__ \n\n__PERSONALIZED__Met vriendelijke groeten,\n\n__SIGNATURE__ -PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__ \n\n Hierbij sturen wij u de factuur __FACREF__\n\n__PERSONALIZED__Met vriendelijke groeten,\n\n__SIGNATURE__ -PredefinedMailContentSendShipping=__CONTACTCIVNAME__ \n\nHier vindt u de verzendkosten __SHIPPINGREF__ \n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -PredefinedMailContentSendFichInter=__CONTACTCIVNAME__ \n\nHier vindt u de tussenkomst __FICHINTERREF__ \n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__\n\nWe would like to warn you that the invoice __FACREF__ seems to not being payed. So this is the invoice in attachment again, as a reminder.\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendProposal=__CONTACTCIVNAME__\n\nYou will find here the commercial proposal __PROPREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendOrder=__CONTACTCIVNAME__\n\nYou will find here the order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__\n\nYou will find here our order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendShipping=__CONTACTCIVNAME__\n\nYou will find here the shipping __SHIPPINGREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendFichInter=__CONTACTCIVNAME__\n\nYou will find here the intervention __FICHINTERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentThirdparty=__CONTACTCIVNAME__\n\n__PERSONALIZED__\n\n__SIGNATURE__ DemoDesc=Dolibarr is een compacte ERP / CRM oplossing opgebouwd met verschillende functionele modules. Een demo met alle modules beschikbaar betekent niets als nooit iets gebeurt. Dus, zijn enkele demo-profielen beschikbaar. ChooseYourDemoProfil=Kies het demoprofiel dat overeenkomt met uw activiteiten... DemoFundation=Ledenbeheer van een stichting diff --git a/htdocs/langs/nl_NL/products.lang b/htdocs/langs/nl_NL/products.lang index 6a799d5d8b4..a6407ff58ef 100644 --- a/htdocs/langs/nl_NL/products.lang +++ b/htdocs/langs/nl_NL/products.lang @@ -1,6 +1,6 @@ # Dolibarr language file - Source file is en_US - products ProductRef=Productreferentie -ProductLabel=Productlabel +ProductLabel=Naam ProductServiceCard=Producten / Dienstendetailkaart Products=Producten Services=Diensten @@ -13,6 +13,10 @@ NewProduct=Nieuw product NewService=Nieuwe dienst ProductCode=Productcode ServiceCode=Dienstcode +# ProductVatMassChange=Mass VAT change +# ProductVatMassChangeDesc=This page can be used to modify a VAT rate defined on products or services from a value to another. Warning, this change is done on all database. +# MassBarcodeInit=Mass barcode init +# MassBarcodeInitDesc=This page can be used to initialize a barcode on objects that does not have barcode defined. Check before that setup of module barcode is complete. ProductAccountancyBuyCode=Inkoopcode ProductAccountancySellCode=Verkoopcode ProductOrService=Product of Dienst @@ -174,7 +178,7 @@ CountryOrigin=Land van herkomst HiddenIntoCombo=Verborgen in selectielijsten Nature=Natuur ProductCodeModel=Productcode sjabloon -ServiceCodeModel=Dienstencode sjabloon +ServiceCodeModel=Diensten ref template AddThisProductCard=Maak product kaart HelpAddThisProductCard=Optie om een product te maken of één te kopieren als het nog niet bestaat AddThisServiceCard=Maak dienstenkaart @@ -204,7 +208,7 @@ Quarter1=1e kwartaal Quarter2=2e kwartaal Quarter3=3e kwartaal Quarter4=4e kwartaal -# BarCodePrintsheet=Print bar code +BarCodePrintsheet=Druk barcode PageToGenerateBarCodeSheets=Om blad met barcode-etiketten te drukken; kies grootte van je etiketten-blad, het type van barcode en het barcodenummer, en klik op %s. NumberOfStickers=Aantal etiketten per blad PrintsheetForOneBarCode=Druk meer etiketten voor een barcode @@ -216,5 +220,10 @@ DefinitionOfBarCodeForProductNotComplete=Onvolledige definitie van type of code DefinitionOfBarCodeForThirdpartyNotComplete=Onvolledige definitie van het type of de code van de barcode voor derde partij %s. BarCodeDataForProduct=Barcodegegevens voor product %s : BarCodeDataForThirdparty=Barcodegegevens van derde partij %s : -BarcodeStickersMask=xxx - +# ResetBarcodeForAllRecords=Define barcode value for all records (this will also reset barcode value already defined with new values) +# PriceByCustomer=Price by customer +# PriceCatalogue=Catalogue Price +# PricingRule=Pricing Rules +# AddCustomerPrice=Add price by customers +# ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +# PriceByCustomerLog=Price by customer log diff --git a/htdocs/langs/nl_NL/projects.lang b/htdocs/langs/nl_NL/projects.lang index 13e821b635d..ad5b41912bf 100644 --- a/htdocs/langs/nl_NL/projects.lang +++ b/htdocs/langs/nl_NL/projects.lang @@ -1,4 +1,6 @@ # Dolibarr language file - Source file is en_US - projects +# RefProject=Ref. project +# ProjectId=Project Id Project=Project Projects=Projecten SharedProject=Iedereen @@ -30,11 +32,18 @@ TimeSpent=Bestede tijd TimesSpent=Bestede tijd RefTask=Ref. taak LabelTask=Label taak +# TaskTimeSpent=Time spent on tasks +# TaskTimeUser=Task time user +# TaskTimeNote=Task time note +# TaskTimeDate=Task time date NewTimeSpent=Nieuwe bestede tijd MyTimeSpent=Mijn bestede tijd MyTasks=Mijn taken Tasks=Taken Task=Taak +# TaskDateStart=Task start date +# TaskDateEnd=Task end date +# TaskDescription=Task description NewTask=Nieuwe taak AddTask=Taak toevoegen AddDuration=Duur toevoegen @@ -100,12 +109,12 @@ IfNeedToUseOhterObjectKeepEmpty=Als sommige objecten (factuur, order, ...), die ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Projectmanager TypeContact_project_external_PROJECTLEADER=Projectleider -TypeContact_project_internal_PROJECTCONTRIBUTOR=Bijdrager -TypeContact_project_external_PROJECTCONTRIBUTOR=Bijdrager +# TypeContact_project_internal_PROJECTCONTRIBUTOR=Contributor +# TypeContact_project_external_PROJECTCONTRIBUTOR=Contributor TypeContact_project_task_internal_TASKEXECUTIVE=Verantwoordelijke TypeContact_project_task_external_TASKEXECUTIVE=Verantwoordelijke -TypeContact_project_task_internal_TASKCONTRIBUTOR=Bijdrager -TypeContact_project_task_external_TASKCONTRIBUTOR=Bijdrager +# TypeContact_project_task_internal_TASKCONTRIBUTOR=Contributor +# TypeContact_project_task_external_TASKCONTRIBUTOR=Contributor # SelectElement=Select element # AddElement=Link to element # Documents models diff --git a/htdocs/langs/nl_NL/stocks.lang b/htdocs/langs/nl_NL/stocks.lang index 1c0e5869f70..8502af9cbd4 100644 --- a/htdocs/langs/nl_NL/stocks.lang +++ b/htdocs/langs/nl_NL/stocks.lang @@ -94,14 +94,20 @@ DesiredStock=Gewenste voorraad StockToBuy=Te bestellen Replenishment=Bevoorrading ReplenishmentOrders=Bevoorradingsorder -UseVirtualStock=Gebruik virtuele voorraad ipv werkelijke +# VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differs +# UseVirtualStockByDefault=Use virtual stock by default, instead of physical stock, for replenishment feature +# UseVirtualStock=Use virtual stock +# UsePhysicalStock=Use physical stock +# CurentSelectionMode=Curent selection mode +# CurentlyUsingVirtualStock=Virtual stock +# CurentlyUsingPhysicalStock=Physical stock RuleForStockReplenishment=Regels voor bevoorrading SelectProductWithNotNullQty=Kies minstens één aanwezig product dat een leverancier heeft AlertOnly= Enkel waarschuwingen WarehouseForStockDecrease=De voorraad van magazijn %s zal verminderd worden WarehouseForStockIncrease=De voorraad van magazijn %s zal verhoogd worden ForThisWarehouse=Voor dit magazijn -ReplenishmentStatusDesc=Dit is een lijst van alle producten met een lager dan gewenste werkelijke voorraad (of met "enkel waarschuwen" aangevinkt), en het voorstel om leveranciersbestellingen te maken om het tekort aan te vullen. +# ReplenishmentStatusDesc=This is list of all product with a stock lower than desired stock (or lower than alert value if checkbox "alert only" is checked), and suggest you to create supplier orders to fill the difference. ReplenishmentOrdersDesc=Lijst van alle open leveranciersbestellingen Replenishments=Bevoorradingen NbOfProductBeforePeriod=Aantal op voorraad van product %s voor de gekozen periode (<%s) diff --git a/htdocs/langs/pl_PL/admin.lang b/htdocs/langs/pl_PL/admin.lang index de8b1e54b39..4b6110ac99f 100644 --- a/htdocs/langs/pl_PL/admin.lang +++ b/htdocs/langs/pl_PL/admin.lang @@ -33,13 +33,13 @@ ExternalUser=Zewnętrzne użytkownika InternalUsers=Użytkownicy wewnętrzni ExternalUsers=Użytkowników zewnętrznych GlobalSetup=Global konfiguracji -GUISetup=Wyświetlać +GUISetup=Wyświetlanie SetupArea=Ustawienia obszaru FormToTestFileUploadForm=Formularz do wysyłania pliku test (w zależności od konfiguracji) IfModuleEnabled=Uwaga: tak jest skuteczne tylko wtedy, gdy modułu %s jest aktywny RemoveLock=Usuwanie pliku %s, jeśli istnieje, aby umożliwić aktualizację narzędzia. RestoreLock=Zastąp plik %s odczytu z uprawnień jedynie na plik wyłączyć wszelkie korzystanie z aktualizacji narzędzia. -SecuritySetup=Bezpieczeństwo instalacji +SecuritySetup=Ustawienia bezpieczeństwa ErrorModuleRequirePHPVersion=Błąd ten moduł wymaga PHP w wersji %s lub większy ErrorModuleRequireDolibarrVersion=Błąd ten moduł wymaga Dolibarr wersji %s lub większy ErrorDecimalLargerThanAreForbidden=Błąd, dokładność większa niż %s nie jest obsługiwany. @@ -123,7 +123,7 @@ CurrentSessionTimeOut=Obecna sesja czasu # YouCanEditPHPTZ=To set a different PHP timezone (not required), you can try to add a file .htacces with a line like this "SetEnv TZ Europe/Paris" OSEnv=OS Środowiska Box=Box -Boxes=Boksy +Boxes=Pulpity informacyjne MaxNbOfLinesForBoxes=Maksymalna liczba linii na polach PositionByDefault=Domyślna kolejność Position=Porządek @@ -190,7 +190,7 @@ No=Nie AutoDetectLang=Autodetect (język przeglądarki) FeatureDisabledInDemo=Funkcja niedostępna w demo Rights=Uprawnienia -BoxesDesc=Boksy są obszarze ekranu pokazują, że informacja na niektórych stronach. Możesz wybierać między pokazano pole lub nie, wybierając cel stronie i klikając przycisk "Włącz", lub klikając pojemnik na śmieci, aby ją wyłączyć. +BoxesDesc=Pulpity informacyjne są obszarami ekranu pokazują, że informacja na niektórych stronach. Możesz wybierać między pokazano pole lub nie, wybierając cel stronie i klikając przycisk "Włącz", lub klikając pojemnik na śmieci, aby ją wyłączyć.\nPulpity informacyjne są obszarami ekranu startowego, które pokazują informacje na stronach głównych niektórych modułów. Możesz wybrać, które pulpity będą widoczne, a które nie, wybierając "Uruchom" lub wybierając ikonę kosza. OnlyActiveElementsAreShown=Only elements from aktywne moduły są widoczne. ModulesDesc=Dolibarr modules określić funkcje, które jest włączone w oprogramowaniu. Niektóre moduły wymagają uprawnień należy przyznać użytkownikom, po włączeniu modułu. ModulesInterfaceDesc=W Dolibarr modules interfejs umożliwia dodawanie funkcji w zależności od zewnętrznego oprogramowania, systemów lub usług. @@ -287,7 +287,7 @@ CurrentVersion=Dolibarr aktualnej wersji CallUpdatePage=Wejdź na stronę aktualizacji struktury bazy danych i danych %s. LastStableVersion=Ostatnia wersja stabilna # GenericMaskCodes=You may enter any numbering mask. In this mask, the following tags could be used:
{000000} corresponds to a number which will be incremented on each %s. Enter as many zeros as the desired length of the counter. The counter will be completed by zeros from the left in order to have as many zeros as the mask.
{000000+000} same as previous but an offset corresponding to the number to the right of the + sign is applied starting on first %s.
{000000@x} same as previous but the counter is reset to zero when month x is reached (x between 1 and 12, or 0 to use the early months of fiscal year defined in your configuration, or 99 to reset to zero every month). If this option is used and x is 2 or higher, then sequence {yy}{mm} or {yyyy}{mm} is also required.
{dd} day (01 to 31).
{mm} month (01 to 12).
{yy}, {yyyy} or {y} year over 2, 4 or 1 numbers.
-# GenericMaskCodes2={cccc} the client code
{cccc000} the client code on n characters is followed by a client's ref counter without offset and zeroized with the global counter.
{tttt} The code of company type on n characters (see dictionary-company types).
+# GenericMaskCodes2={cccc} the client code on n characters
{cccc000} the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.
{tttt} The code of company type on n characters (see dictionary-company types).
GenericMaskCodes3=Wszystkie inne znaki w masce pozostaną nienaruszone.
Spacje są niedozwolone.
GenericMaskCodes4a=Przykład na 99-cie %s strony trzeciej TheCompany zrobić 2007-01-31:
GenericMaskCodes4b=Przykład trzeciej na uaktualniona w dniu 2007-03-01:
@@ -321,7 +321,7 @@ ExampleOfDirectoriesForModelGen=Przykłady składni:
c: \\ mydir
/ Hom FollowingSubstitutionKeysCanBeUsed=
Aby dowiedzieć się jak stworzyć odt szablonów dokumentów, przed zapisaniem ich w tych spisach, czytać dokumentację wiki: FullListOnOnlineDocumentation=http://wiki.dolibarr.org/index.php/Create_an_ODT_document_template FirstnameNamePosition=Stanowisko Imię / nazwa -DescWeather=Poniższe zdjęcia pojawi się na desce rozdzielczej, kiedy liczba opóźnień w działaniach osiągnąć następujące wartości: +DescWeather=Poniższe piktogramy pojawią się na pulpicie informacyjnym, kiedy liczba opóźnień osiągnie następujące wartości: KeyForWebServicesAccess=Kluczem do korzystania z usług internetowych (parametr "dolibarrkey" w webservices) TestSubmitForm=Formularz testowy wejście ThisForceAlsoTheme=Za pomocą tego menedżera menu będzie wykorzystywać własne temat cokolwiek jest wybór użytkownika. Również w tym kierownik menu specjalizuje dla smartfonów nie działa na wszystkich smartphone. Użyj innego menedżera menu, jeśli masz problemy na Ciebie. @@ -345,8 +345,6 @@ SecurityTokenIsUnique=Użyj unikalny parametr securekey dla każdego adresu EnterRefToBuildUrl=Wprowadź odwołanie do obiektu %s GetSecuredUrl=Pobierz obliczony adres URL # ButtonHideUnauthorized=Hide buttons for unauthorized actions instead of showing disabled buttons -# ProductVatMassChange=Mass VAT change -# ProductVatMassChangeDesc=This page can be used to modify a VAT rate defined on products or services from a value to another. Warning, this change is done on all database. # OldVATRates=Old VAT rate # NewVATRates=New VAT rate # PriceBaseTypeToChange=Modify on prices with base reference value defined on @@ -381,6 +379,16 @@ ExtrafieldPrice = Cena # DefaultLink=Default link # ValueOverwrittenByUserSetup=Warning, this value may be overwritten by user specific setup (each user can set his own clicktodial url) # ExternalModule=External module - Installed into directory %s +# BarcodeInitForThirdparties=Mass barcode init for thirdparties +# BarcodeInitForProductsOrServices=Mass barcode init or reset for products or services +# CurrentlyNWithoutBarCode=Currently, you have %s records on %s %s without barcode defined. +# InitEmptyBarCode=Init value for next %s empty records +# EraseAllCurrentBarCode=Erase all current barcode values +# ConfirmEraseAllCurrentBarCode=Are you sure you want to erase all current barcode values ? +# AllBarcodeReset=All barcode values have been removed +# NoBarcodeNumberingTemplateDefined=No numbering barcode template enabled into barcode module setup. +# NoRecordWithoutBarcodeDefined=No record with no barcode value defined. + # Modules Module0Name=Użytkownicy i grupy @@ -510,6 +518,8 @@ Module50200Desc= Moduł oferują online strony płatności za pomocą karty kred # Module59000Desc=Module to manage margins # Module60000Name=Commissions # Module60000Desc=Module to manage commissions +# Module150010Name=Batch number, eat-by date and sell-by date +# Module150010Desc=batch number, eat-by date and sell-by date management for product Permission11=Czytaj faktur Permission12=Tworzenie/Modyfikacja faktur Permission13=faktur Unvalidate @@ -726,8 +736,8 @@ Permission50202=Transakcji importowych # Permission55002=Create/modify surveys # Permission59001=Read commercial margins # Permission59002=Define commercial margins -# DictionaryCompanyType=Company types -# DictionaryCompanyJuridicalType=Juridical kinds of company +# DictionaryCompanyType=Thirdparties type +# DictionaryCompanyJuridicalType=Juridical kinds of thirdparties # DictionaryProspectLevel=Prospect potential level # DictionaryCanton=State/Cantons # DictionaryRegion=Regions @@ -855,7 +865,7 @@ EnableShowLogo=logo Pokaż na menu po lewej stronie SystemSuccessfulyUpdated=System został zaktualizowany CompanyInfo=Firma / fundacja informacji CompanyIds=Firma / fundament tożsamości -CompanyName=Imię +CompanyName=Nazwa Firmy CompanyAddress=Adres CompanyZip=Kod pocztowy CompanyTown=Miasto @@ -874,7 +884,7 @@ Delays=Opóźnienia DelayBeforeWarning=Opóźnienie ostrzeżenie przed DelaysBeforeWarning=Opóźnienia ostrzeżenie przed DelaysOfToleranceBeforeWarning=Tolerancja opóźnień ostrzeżenie przed -DelaysOfToleranceDesc=Ten ekran pozwala na określenie dopuszczalnego opóźnienia przed wpisu jest zgłaszane na ekranie z picto %s dla każdego elementu późno. +DelaysOfToleranceDesc=Ten ekran pozwala na określenie dopuszczalnego opóźnienia przed uruchomieniem alarmu na ekranie z pictogramami %s dla każdego opóźnionego elementu. Delays_MAIN_DELAY_ACTIONS_TODO=Opóźnienie tolerancji (w dniach) przed wpisu na temat planowanych działań nie został jeszcze zrealizowany Delays_MAIN_DELAY_ORDERS_TO_PROCESS=Opóźnienie tolerancji (w dniach) przed wpisu dotyczącego zamówień jeszcze nie Delays_MAIN_DELAY_SUPPLIER_ORDERS_TO_PROCESS=Tolerancja opóźnienie (w dniach) przed wpisem na dostawców zamówień jeszcze nie przetworzonych @@ -883,7 +893,7 @@ Delays_MAIN_DELAY_PROPALS_TO_BILL=Opóźnienie tolerancji (w dniach) przed wpisu Delays_MAIN_DELAY_NOT_ACTIVATED_SERVICES=Tolerancja opóźnienia (liczba dni) przed wpisu na usługi, aby uaktywnić Delays_MAIN_DELAY_RUNNING_SERVICES=Tolerancja opóźnienie (w dniach) upłynął przed wpisu na usługi Delays_MAIN_DELAY_SUPPLIER_BILLS_TO_PAY=Tolerancja opóźnienia (liczba dni) przed wpisu na dostawcę niezapłaconych faktur -Delays_MAIN_DELAY_CUSTOMER_BILLS_UNPAYED=Tolerancja opóźnienia (liczba dni) przed wpisu na klienta niezapłaconych faktur +Delays_MAIN_DELAY_CUSTOMER_BILLS_UNPAYED=Opóźnienie (w dniach) przed alertem o niezapłaconych fakturach Delays_MAIN_DELAY_TRANSACTIONS_TO_CONCILIATE=Tolerancja opóźnienia (liczba dni) przed wpisu w oczekiwaniu banku pojednania Delays_MAIN_DELAY_MEMBERS=Tolerancja opóźnienie (w dniach) przed wpisu na opóźnione składki członkowskiej Delays_MAIN_DELAY_CHEQUES_TO_DEPOSIT=Tolerancja opóźnienia (liczba dni) przed wpisu do deponowania czeków do @@ -959,11 +969,11 @@ SimpleNumRefModelDesc=Zwraca numer z formatu %syymm nnnn, gdzie yy to rok, MM mi ShowProfIdInAddress=Pokaż zawodami identyfikator z adresów na dokumentach # ShowVATIntaInAddress=Hide VAT Intra num with addresses on documents TranslationUncomplete=Częściowe tłumaczenie -SomeTranslationAreUncomplete=Niektóre języki mogą być częściowo tłumaczone czy może zawiera błędy. Jeśli wykrycie niektórych, można naprawić. Pliki lang tekstu do katalogu htdocs / langs i przedstawić je na forum w http://www.dolibarr.org . +# SomeTranslationAreUncomplete=Some languages may be partially translated or may contains errors. If you detect some, you can fix language files registering to http://transifex.com/projects/p/dolibarr/. MenuUseLayout=Dodać pionowe menu hidable (javascript opcja nie może być wyłączone) -MAIN_DISABLE_METEO=Wyłącz meteo widok +MAIN_DISABLE_METEO=Wyłącz widok pictogramów meteo TestLoginToAPI=Przetestuj się zalogować do interfejsu API -ProxyDesc=Niektóre funkcje Dolibarr trzeba mieć dostęp do Internetu do pracy. Zdefiniować tutaj parametry do tego. Jeśli serwer Dolibarr jest za serwerem proxy, te parametry mówi Dolibarr jak uzyskać dostęp do Internetu za jego pośrednictwem. +ProxyDesc=Niektóre funkcje Dolibarr muszą mieć dostęp do Internetu. Tutaj możesz określić parametry tego dostępu. Jeśli serwer Dolibarr jest za serwerem proxy, te parametry określą jak uzyskać dostęp do Internetu za jego pośrednictwem. ExternalAccess=Zewnętrzny dostęp MAIN_PROXY_USE=Użyj serwera proxy (inaczej bezpośredni dostęp do internetu) MAIN_PROXY_HOST=Imię i nazwisko / adres serwera proxy @@ -985,6 +995,7 @@ ExtraFields=Uzupełniające atrybuty # ExtraFieldsProjectTask=Complementary attributes (tasks) ExtraFieldHasWrongValue=Przypisanych %s ma złą wartość. # AlphaNumOnlyCharsAndNoSpace=only alphanumericals characters without space +# AlphaNumOnlyLowerCharsAndNoSpace=only alphanumericals and lower case characters without space SendingMailSetup=Ustawienie sendings emailem SendmailOptionNotComplete=Uwaga, w niektórych systemach Linux, aby wysłać e-mail z poczty elektronicznej, konfiguracja wykonanie sendmail musi conatins opcja-ba (mail.force_extra_parameters parametr w pliku php.ini). Jeśli nigdy niektórzy odbiorcy otrzymywać e-maile, spróbuj edytować ten parametr PHP z mail.force_extra_parameters =-ba). PathToDocuments=Ścieżka do dokumentów @@ -1221,7 +1232,7 @@ LDAPFieldPasswordCrypted=Zaszyfrowane hasło LDAPFieldPasswordExample=Przykład: userPassword LDAPFieldCommonName=Nazwa zwyczajowa LDAPFieldCommonNameExample=Przykład: cn -LDAPFieldName=Imię +LDAPFieldName=Nazwa LDAPFieldNameExample=Przykład: sn LDAPFieldFirstName=Imię LDAPFieldFirstNameExample=Przykład: GivenName @@ -1269,7 +1280,7 @@ ForANonAnonymousAccess=Dla uwierzytelniane dostęp (do zapisu na przykład) # YouMayFindPerfAdviceHere=You will find on this page some checks or advices related to performance. # NotInstalled=Not installed, so your server is not slow down by this. # ApplicativeCache=Applicative cache -# MemcachedNotAvailable=No applicative cache found. You can enhance performance by installing a cache server Memcached and a module able to use this cache server. More information here http://wiki.dolibarr.org/index.php/Module_MemCached_EN. Note that a lot of web hosting provider does not provide such cache server. +# MemcachedNotAvailable=No applicative cache found. You can enhance performance by installing a cache server Memcached and a module able to use this cache server.
More information here http://wiki.dolibarr.org/index.php/Module_MemCached_EN.
Note that a lot of web hosting provider does not provide such cache server. # OPCodeCache=OPCode cache # NoOPCodeCacheFound=No OPCode cache found. May be you use another OPCode cache than XCache or eAccelerator (good), may be you don't have OPCode cache (very bad). # HTTPCacheStaticResources=HTTP cache for static resources (css, img, javascript) @@ -1381,7 +1392,7 @@ MenuConf=Menu konfiguracji Menu=Wybór menu MenuHandler=Menu obsługi MenuModule=Źródło modułu -HideUnauthorizedMenu= Ukryj nieautoryzowanych menu (szary) +HideUnauthorizedMenu= Ukryj nieautoryzowane menu (wyszarz) DetailId=Id menu DetailMenuHandler=Menu obsługi gdzie pokazać nowe menu DetailMenuModule=Moduł nazwę w menu, jeśli pochodzą z modułem diff --git a/htdocs/langs/pl_PL/agenda.lang b/htdocs/langs/pl_PL/agenda.lang index 8c23c000f85..8d0fbe8505d 100644 --- a/htdocs/langs/pl_PL/agenda.lang +++ b/htdocs/langs/pl_PL/agenda.lang @@ -52,6 +52,7 @@ InvoiceSentByEMail=Faktura %s wysłana e-mailem SupplierOrderSentByEMail=Zamówienie %s wysłane do dostawcy e-mailem SupplierInvoiceSentByEMail=Faktura %s wysłana do dostawcy e-mailem ShippingSentByEMail=Informacje o dostawie %s wysłane e-mailem +# ShippingValidated= Shipping %s validated InterventionSentByEMail=%s interwencyjne wysłane pocztą NewCompanyToDolibarr= Stworzono kontrahenta DateActionPlannedStart= Planowana data rozpoczęcia diff --git a/htdocs/langs/pl_PL/bills.lang b/htdocs/langs/pl_PL/bills.lang index 674976a178b..c4433e8149c 100644 --- a/htdocs/langs/pl_PL/bills.lang +++ b/htdocs/langs/pl_PL/bills.lang @@ -1,7 +1,7 @@ # Dolibarr language file - Source file is en_US - bills Bill=Faktura Bills=Faktury -BillsCustomers=Klientów faktury +BillsCustomers=Faktury Klientów BillsCustomer=Klienta faktura BillsSuppliers=Dostawców faktur BillsCustomersUnpaid=Należne wpłaty klientów faktury @@ -47,7 +47,7 @@ Invoices=Faktury InvoiceLine=Faktura linii InvoiceCustomer=Klient faktury CustomerInvoice=Klient faktury -CustomersInvoices=Klientów faktury +CustomersInvoices=Faktury Klientów SupplierInvoice=Dostawca faktury SuppliersInvoices=Dostawców faktur SupplierBill=Dostawca faktury diff --git a/htdocs/langs/pl_PL/boxes.lang b/htdocs/langs/pl_PL/boxes.lang index a85f66b6c4d..fe0d43bf7f3 100644 --- a/htdocs/langs/pl_PL/boxes.lang +++ b/htdocs/langs/pl_PL/boxes.lang @@ -5,7 +5,7 @@ BoxLastProducts=Ostatnie produkty / usługi BoxLastProductsInContract=Ostatnia zakontraktowanych produktów / usług BoxLastSupplierBills=Ostatnia dostawcy faktur BoxLastCustomerBills=Ostatnia klienta faktury -BoxOldestUnpaidCustomerBills=Najstarszego klienta niezapłaconych faktur +BoxOldestUnpaidCustomerBills=Najstarsze niezapłacone faktury BoxOldestUnpaidSupplierBills=Najstarszy dostawcy niezapłaconych faktur BoxLastProposals=Ostatnia propozycji BoxLastProspects=Ostatnie modyfikowani potencjalni klienci @@ -20,7 +20,7 @@ BoxLastMembers=Ostatnie użytkowników # BoxFicheInter=Last interventions # BoxCurrentAccounts=Opened accounts balance BoxSalesTurnover=Obrót -BoxTotalUnpaidCustomerBills=Suma niezapłaconych faktur klienta +BoxTotalUnpaidCustomerBills=Suma niezapłaconych faktur przez klientów BoxTotalUnpaidSuppliersBills=Suma niezapłaconych faktur dostawcy BoxTitleLastBooks=Ostatnia %s rejestrowane książek BoxTitleNbOfCustomers=Nombre de klienta @@ -31,23 +31,23 @@ BoxTitleLastCustomerOrders=Ostatnia %s zmodyfikowane zamówień BoxTitleLastSuppliers=Ostatnia %s zarejestrowanych dostawców BoxTitleLastCustomers=Ostatnia %s zarejestrowanych klientów BoxTitleLastModifiedSuppliers=%s ostatnio zmodyfikowano dostawców -BoxTitleLastModifiedCustomers=%s ostatnio zmodyfikowano klientów +BoxTitleLastModifiedCustomers=%s ostatnio zmodyfikowanych klientów BoxTitleLastCustomersOrProspects=Ostatnia %s zarejestrowanych klientów lub potencjalnych klientów BoxTitleLastPropals=Ostatnia %s rejestrowane propozycje -BoxTitleLastCustomerBills=Ostatnia %s klienta faktury +BoxTitleLastCustomerBills=%s ostatnich faktur klientów BoxTitleLastSupplierBills=Ostatnia %s dostawcy faktur BoxTitleLastProspects=%s ostatnio dodanych potencjalnych klientów BoxTitleLastModifiedProspects=%s ostatnio zmodyfikowanych potencjalnych klientów BoxTitleLastProductsInContract=Ostatnie %s produktów / usług w umowie BoxTitleLastModifiedMembers=Ostatnie %s zmodyfikowane użytkowników # BoxTitleLastFicheInter=Last %s modified intervention -BoxTitleOldestUnpaidCustomerBills=Najstarszy %s klienta niezapłaconych faktur +BoxTitleOldestUnpaidCustomerBills=%s najstarszych, niezapłaconych faktur klientów BoxTitleOldestUnpaidSupplierBills=Najstarszy %s dostawcy niezapłaconych faktur # BoxTitleCurrentAccounts=Opened account's balances BoxTitleSalesTurnover=Obrót BoxTitleTotalUnpaidCustomerBills=Należne wpłaty klienta faktury BoxTitleTotalUnpaidSuppliersBills=Zaległej płatności za faktury dostawcy -BoxTitleLastModifiedContacts=Ostatnie %s zmodyfikowane kontakty / adresy +BoxTitleLastModifiedContacts=%s ostatnio zmodyfikowanych kontaktów / adresów BoxMyLastBookmarks=Moje ostatnie %s zakładek BoxOldestExpiredServices=Najstarszy aktywny minął usługi BoxLastExpiredServices=Ostatnie %s Najstarsze kontakty z aktywnymi przeterminowanych usług @@ -65,8 +65,8 @@ NoRecordedContacts=Brak zapisanych kontaktów NoActionsToDo=Brak działań do NoRecordedOrders=Nr rejestrowane klienta zamówienia NoRecordedProposals=Nr zarejestrowanych wniosków -NoRecordedInvoices=Nr rejestrowane klienta faktury -NoUnpaidCustomerBills=Nr klienta niezapłaconych faktur +NoRecordedInvoices=Brak zarejestrowanych faktur klientów +NoUnpaidCustomerBills=Brak niezapłaconych faktur NoRecordedSupplierInvoices=Nr rejestrowane dostawcy faktur NoUnpaidSupplierBills=Nr dostawcy niezapłaconych faktur NoModifiedSupplierBills=Ingen registrert leverandørens faktura @@ -78,7 +78,7 @@ NoRecordedContracts=Ingen registrert kontrakter # BoxLatestSupplierOrders=Latest supplier orders # BoxTitleLatestSupplierOrders=%s latest supplier orders # NoSupplierOrder=No recorded supplier order -# BoxCustomersInvoicesPerMonth=Customer invoices per month +BoxCustomersInvoicesPerMonth=Ilość faktur w skali miesiąca # BoxSuppliersInvoicesPerMonth=Supplier invoices per month # BoxCustomersOrdersPerMonth=Customer orders per month # BoxSuppliersOrdersPerMonth=Supplier orders per month @@ -86,6 +86,6 @@ NoRecordedContracts=Ingen registrert kontrakter # NoTooLowStockProducts=No product under the low stock limit # BoxProductDistribution=Products/Services distribution # BoxProductDistributionFor=Distribution of %s for %s -ForCustomersInvoices=Klientów faktury +ForCustomersInvoices=Faktury Klientów # ForCustomersOrders=Customers orders ForProposals=Propozycje diff --git a/htdocs/langs/pl_PL/cashdesk.lang b/htdocs/langs/pl_PL/cashdesk.lang index 093b5394afa..007c40feaae 100644 --- a/htdocs/langs/pl_PL/cashdesk.lang +++ b/htdocs/langs/pl_PL/cashdesk.lang @@ -37,3 +37,4 @@ ShowCompany=Pokaż firmę ShowStock=Pokaż magazyn DeleteArticle=Kliknij, aby usunąć ten artykuł # FilterRefOrLabelOrBC=Search (Ref/Label) +# UserNeedPermissionToEditStockToUsePos=You ask to decrease stock on invoice creation, so user that use POS need to have permission to edit stock. diff --git a/htdocs/langs/pl_PL/companies.lang b/htdocs/langs/pl_PL/companies.lang index a4c2de5135c..5bd3246d3e3 100644 --- a/htdocs/langs/pl_PL/companies.lang +++ b/htdocs/langs/pl_PL/companies.lang @@ -1,36 +1,36 @@ # Dolibarr language file - Source file is en_US - companies ErrorCompanyNameAlreadyExists=Nazwa firmy %s już istnieje. Wybierz inną. -ErrorPrefixAlreadyExists=Prefiks %s już istnieje. Wybierz inną. -ErrorSetACountryFirst=Ustaw kraj pierwszy -SelectThirdParty=Wybierz trzecią -DeleteThirdParty=Usuń osobę trzecią -ConfirmDeleteCompany=Czy na pewno chcesz usunąć tę spółkę i odziedziczone informacji? -DeleteContact=Usuń kontakt -ConfirmDeleteContact=Czy na pewno chcesz usunąć ten kontakt i odziedziczone informacji? +ErrorPrefixAlreadyExists=Prefiks %s już istnieje. Wybierz inny. +ErrorSetACountryFirst=Najpierw wybierz kraj +SelectThirdParty=Wybierz kontrahenta +DeleteThirdParty=Usuń kontrahenta +ConfirmDeleteCompany=Czy na pewno chcesz usunąć tego kontrahenta i wszystkie powiązane informacje? +DeleteContact=Usuń kontakt/adres +ConfirmDeleteContact=Czy na pewno chcesz usunąć ten kontakt i wszystkie powiązane informacje? MenuNewThirdParty=Nowy kontrahent MenuNewCompany=Nowa firma MenuNewCustomer=Nowy klient -MenuNewProspect=Nowa perspektywa +MenuNewProspect=Nowa potencjalny klient MenuNewSupplier=Nowy dostawca MenuNewPrivateIndividual=Nowa osoba prywatna MenuSocGroup=Grupy -NewCompany=Nowa firma (perspektywa, klient, dostawca) -NewThirdParty=Nowy kontrahent (perspektywa, klient, dostawca) -NewSocGroup=Nowe grupy firm -NewPrivateIndividual=Nowe osoba prywatna (perspektywa, klient, dostawca) -ProspectionArea=Obszar perspektyw +NewCompany=Nowa firma (potencjalny klient, klient, dostawca) +NewThirdParty=Nowy kontrahent (potencjalny klient, klient, dostawca) +NewSocGroup=Nowa grupa firmy +NewPrivateIndividual=Nowe osoba prywatna (potencjalny klient, klient, dostawca) +ProspectionArea=Obszar potencjalnych klientów SocGroup=Grupa firm -IdThirdParty=Id kontrahenta -IdCompany=Id Firmy -IdContact=Id Kontaktu +IdThirdParty=ID kontrahenta +IdCompany=ID Firmy +IdContact=ID Kontaktu Contacts=Kontakty/adresy -ThirdPartyContacts=Kontaktów kontrahenta +ThirdPartyContacts=Kontakty kontrahenta ThirdPartyContact=Kontakty/adresy kontrahenta StatusContactValidated=Status kontaktu/adresu Company=Firma CompanyName=Nazwa firmy Companies=Firmy -CountryIsInEEC=Kraj należy do WE +CountryIsInEEC=Kraj należy do Europejskiej Strefy Ekonomicznej ThirdPartyName=Nazwa kontrahenta ThirdParty=Kontrahent ThirdParties=Kontrahenci @@ -44,11 +44,11 @@ ThirdPartySuppliers=Dostawcy ThirdPartyType=Typ kontrahenta Company/Fundation=Firma / Fundacja Individual=Osoba prywatna -ToCreateContactWithSameName=Stworzy automatycznie fizyczny kontakt z tymi samymi informacjami +ToCreateContactWithSameName=Stworzy automatycznie kontakt osoby z tymi samymi informacjami ParentCompany=Firma macierzysta Subsidiary=Oddział -Subsidiaries=Oddziały zależne -NoSubsidiary=Brak oddziałów +Subsidiaries=Oddziały +NoSubsidiary=Brak oddziału ReportByCustomers=Raport wg klientów ReportByQuarter=Raport wg stawek CivilityCode=Zwrot grzecznościowy @@ -56,23 +56,23 @@ RegisteredOffice=Siedziba Name=Nazwa Lastname=Nazwisko Firstname=Imię -PostOrFunction=Stanowisko / funkcja +PostOrFunction=Stanowisko / Funkcja UserTitle=Tytuł Surname=Nazwisko / Pseudonim Address=Adres -State=Stan / Kanton +State=Województwo Region=Region Country=Kraj CountryCode=Kod kraju -CountryId=Id kraju +CountryId=ID kraju Phone=Telefon Skype=Skype -Call=Rozmowa telefoniczna +Call=Zadzwoń Chat=Czat PhonePro=Telefonu służbowy PhonePerso=Telefon prywatny PhoneMobile=Telefon komórkowy -No_Email=Nie wysyłać mailingów masowych +No_Email=Nie wysyłać masowej korespondencji Fax=Faks Zip=Kod pocztowy Town=Miasto @@ -81,8 +81,8 @@ Poste= Stanowisko DefaultLang=Domyślny język VATIsUsed=Jest płatnikiem VAT VATIsNotUsed=Nie jest płatnikiem VAT -CopyAddressFromSoc=Użyj adresu kontrahenta -# NoEmailDefined=There is no email defined +CopyAddressFromSoc=Wypełnij danymi adresowymi kontrahenta +NoEmailDefined=Brak adresu email ##### Local Taxes ##### LocalTax1IsUsedES= RE jest używany LocalTax1IsNotUsedES= RE nie jest używany @@ -93,41 +93,41 @@ LocalTax2ES=IRPF ThirdPartyEMail=%s WrongCustomerCode=Nieprawidłowy kod Klienta WrongSupplierCode=Nieprawidłowy kod Dostawcy -CustomerCodeModel=Klient kod modelu -SupplierCodeModel=Dostawca kod modelu +CustomerCodeModel=Model kodu Klienta +SupplierCodeModel=Model kodu Dostawcy Gencod=Kod kreskowy ##### Professional ID ##### ProfId1Short=Prof ID 1 -ProfId2Short=Prof id 2 -ProfId3Short=Prof id 3 -ProfId4Short=Prof id 4 -ProfId5Short=Prof id 5 -ProfId6Short=Prof. id 5 +ProfId2Short=Prof ID 2 +ProfId3Short=Prof ID 3 +ProfId4Short=Prof ID 4 +ProfId5Short=Prof ID 5 +ProfId6Short=Prof. ID 5 ProfId1=Profesjonalne ID 1 ProfId2=Profesjonalne ID 2 ProfId3=Profesjonalne ID 3 ProfId4=Profesjonalne ID 4 ProfId5=Profesjonalny ID 5 ProfId6=Professional ID 6 -ProfId1AR=Prof Id 1 (CUIL) -ProfId2AR=Id Prof 2 (bydlęta Revenu) +ProfId1AR=Prof ID 1 (CUIL) +ProfId2AR=Prof ID 2 (dochód brutto) ProfId3AR=- ProfId4AR=- ProfId5AR=- -# ProfId6AR=- -ProfId1AU=Prof Id 1 (ABN) +ProfId6AR=- +ProfId1AU=Prof ID 1 (ABN) ProfId2AU=- ProfId3AU=- ProfId4AU=- ProfId5AU=- -# ProfId6AU=- -ProfId1BE=Prof Id 1 (numer Professionnel) +ProfId6AU=- +ProfId1BE=Prof ID 1 (Professional number) ProfId2BE=- ProfId3BE=- ProfId4BE=- ProfId5BE=- -# ProfId6BE=- -# ProfId1BR=- +ProfId6BE=- +ProfId1BR=- # ProfId2BR=IE (Inscricao Estadual) # ProfId3BR=IM (Inscricao Municipal) # ProfId4BR=CPF @@ -138,104 +138,104 @@ ProfId2CH=- ProfId3CH=Prof Id 1 (Federal numer) ProfId4CH=Prof ID 2 (Commercial rekordowa liczba) ProfId5CH=- -# ProfId6CH=- +ProfId6CH=- ProfId1CL=Prof Id 1 (RUT) ProfId2CL=- ProfId3CL=- ProfId4CL=- ProfId5CL=- -# ProfId6CL=- +ProfId6CL=- ProfId1CO=Prof Id 1 (RUT) ProfId2CO=- ProfId3CO=- ProfId4CO=- ProfId5CO=- -# ProfId6CO=- +ProfId6CO=- ProfId1DE=Prof Id 1 (USt.-IdNr) ProfId2DE=Prof ID 2 (USt. Nr) ProfId3DE=Prof ID 3 (Handelsregister-Nr.) ProfId4DE=- ProfId5DE=- -# ProfId6DE=- +ProfId6DE=- ProfId1ES=Prof Id 1 (CIF / NIF) ProfId2ES=Id Prof 2 (numer ubezpieczenia społeczne) ProfId3ES=Prof Id 3 (CNAE) ProfId4ES=Id Prof 4 (liczba Collegiate) ProfId5ES=- -# ProfId6ES=- +ProfId6ES=- ProfId1FR=Prof Id 1 (SIREN) ProfId2FR=Prof ID 2 (SIRET) ProfId3FR=Prof Id 3 (NAF, stare APE) ProfId4FR=Prof Id 4 (RCS / RM) -ProfId5FR=Prof Id 5 -# ProfId6FR=- -ProfId1GB=Prof Id 1 (numer rejestracyjny) +ProfId5FR=- +ProfId6FR=- +ProfId1GB=Numer rejestracyjny ProfId2GB=- -ProfId3GB=Prof Id 3 (SIC) +ProfId3GB=SIC ProfId4GB=- ProfId5GB=- -# ProfId6GB=- +ProfId6GB=- ProfId1HN=Id prof. 1 (RTN) ProfId2HN=- ProfId3HN=- ProfId4HN=- ProfId5HN=- -# ProfId6HN=- +ProfId6HN=- ProfId1IN=Prof Id 1 (TIN) ProfId2IN=Prof ID 2 ProfId3IN=Prof ID 3 -ProfId4IN=Prof Id 4 -ProfId5IN=Prof Id 5 -# ProfId6IN=- +ProfId4IN=Prof ID 4 +ProfId5IN=Prof ID 5 +ProfId6IN=- ProfId1MA=Id prof. 1 (RC) ProfId2MA=Id prof. 2 (Patente) ProfId3MA=Id prof. 3 (IF) ProfId4MA=Id prof. 4 (CNSS) ProfId5MA=- -# ProfId6MA=- +ProfId6MA=- ProfId1MX=Prof Id 1 (RFC). ProfId2MX=Prof Id 2 (R.. P. IMSS) ProfId3MX=Prof Id 3 (Profesional Charter) ProfId4MX=- ProfId5MX=- -# ProfId6MX=- +ProfId6MX=- ProfId1NL=nummer KVK ProfId2NL=- ProfId3NL=- ProfId4NL=- ProfId5NL=- -# ProfId6NL=- +ProfId6NL=- ProfId1PT=Prof Id 1 (NIPC) ProfId2PT=Prof ID 2 (numer ubezpieczenia społecznego) ProfId3PT=Prof Id 3 (Commercial rekordowa liczba) ProfId4PT=Prof Id 4 (Konserwatorium) ProfId5PT=- -# ProfId6PT=- +ProfId6PT=- ProfId1SN=RC ProfId2SN=Ninea ProfId3SN=- ProfId4SN=- ProfId5SN=- -# ProfId6SN=- +ProfId6SN=- ProfId1TN=Prof Id 1 (ZP) ProfId2TN=Prof ID 2 (fiskalna matricule) ProfId3TN=Prof Id 3 (Douane code) -ProfId4TN=Prof Id 4 (BAN) +ProfId4TN=Prof ID 4 (BAN) ProfId5TN=- -# ProfId6TN=- +ProfId6TN=- ProfId1RU=Prof Id 1 (OGRN) ProfId2RU=Prof Id 2 (INN) ProfId3RU=Prof Id 3 (KPP) ProfId4RU=Prof Id 4 (Okpo) ProfId5RU=- -# ProfId6RU=- +ProfId6RU=- VATIntra=NIP VATIntraShort=NIP VATIntraVeryShort=VAT VATIntraSyntaxIsValid=Składnia jest poprawna VATIntraValueIsValid=Wartość jest poprawna -ProspectCustomer=Perspektywa / Klient -Prospect=Perspektywa +ProspectCustomer=Potencjalny Klient / Klient +Prospect=Potencjalny Klient CustomerCard=Karta Klienta Customer=Klient CustomerDiscount=Rabat Klienta @@ -244,14 +244,14 @@ CustomerAbsoluteDiscount=Bezwzględny rabat klienta CustomerRelativeDiscountShort=Względny rabat CustomerAbsoluteDiscountShort=Bezwzględny rabat CompanyHasRelativeDiscount=Ten klient ma standardowy rabat %s%% -CompanyHasNoRelativeDiscount=Ten klient nie ma domyślnie względnego rabatu -CompanyHasAbsoluteDiscount=Ten klient ma nadal zniżki punktów dla %s %s -CompanyHasCreditNote=Ten klient ma nadal not kredytowych dla %s %s -CompanyHasNoAbsoluteDiscount=Ten klient nie ma zniżki kredytów -CustomerAbsoluteDiscountAllUsers=Absolute Zniżki (przyznawane przez wszystkich użytkowników) -CustomerAbsoluteDiscountMy=Absolute Zniżki (przyznawane przez siebie) +CompanyHasNoRelativeDiscount=Ten klient domyślnie nie posiada względnego rabatu +CompanyHasAbsoluteDiscount=Ten klient nadal posiada punkty rabatowe lub depozyty dla %s %s +CompanyHasCreditNote=Ten klient nadal posiada noty kredytowe dla %s %s +CompanyHasNoAbsoluteDiscount=Ten klient nie posiada punktów rabatowych +CustomerAbsoluteDiscountAllUsers=Bezwzględne rabaty (przyznawane przez wszystkich użytkowników) +CustomerAbsoluteDiscountMy=Bezwzględne rabaty (przyznawane przez siebie) DefaultDiscount=Domyślny rabat -AvailableGlobalDiscounts=Absolute dostępne rabaty +AvailableGlobalDiscounts=Bezwzględne rabaty dostępne DiscountNone=Żaden Supplier=Dostawca CompanyList=Lista firm @@ -261,149 +261,149 @@ EditContact=Edytuj kontakt EditContactAddress=Edytuj kontakt / adres Contact=Kontakt ContactsAddresses=Kontakty / Adresy -NoContactDefinedForThirdParty=Brak kontaktów dla tego kontrahenta -NoContactDefined=Brak kontaktu z definicją tej trzeciej -DefaultContact=Domyślne kontakt +NoContactDefinedForThirdParty=Brak zdefiniowanych kontaktów dla tego kontrahenta +NoContactDefined=Brak zdefinowanych kontaktów +DefaultContact=Domyślny kontakt/adres AddCompany=Dodaj firmę AddThirdParty=Dodaj kontrahenta DeleteACompany=Usuń firmę -PersonalInformations=Dane osobowe +PersonalInformations=Prywatne dane osobowe AccountancyCode=Kod księgowy CustomerCode=Kod Klienta SupplierCode=Kod dostawcy CustomerAccount=Konto klienta -SupplierAccount=onto dostawcy -CustomerCodeDesc=Klient kod unikalny dla wszystkich klientów -SupplierCodeDesc=Dostawca kod unikalny dla wszystkich dostawców -RequiredIfCustomer=Wymagane, jeżeli osoba trzecia lub klient jest perspektywa -RequiredIfSupplier=Wymagane, jeśli strona trzecia jest dostawcą +SupplierAccount=Konto dostawcy +CustomerCodeDesc=Kod Klienta, unikatowy dla wszystkich klientów +SupplierCodeDesc=Kod Dostawcy, unikatowy dla wszystkich dostawców +RequiredIfCustomer=Wymagane, jeżeli Kontrahent jest klientem lub potencjalnym klientem +RequiredIfSupplier=Wymagane, jeżeli kontrahent jest dostawcą ValidityControledByModule=Ważność kontrolowana przez moduł -ThisIsModuleRules=To jest w odniesieniu do niniejszego modułu +ThisIsModuleRules=To są zasady tego modułu LastProspect=Ostatni -ProspectToContact=Perspektywa dla kontaktu -CompanyDeleted=Firma " %s" usunięty z bazy danych. +ProspectToContact=Potencjalny Klient do kontaktu +CompanyDeleted=Firma " %s" usunięta z bazy danych. ListOfContacts=Lista kontaktów/adresów ListOfContactsAddresses=Lista kontaktów/adresów -ListOfProspectsContacts=Lista kontaktów perspektywa -ListOfCustomersContacts=Lista klientów +ListOfProspectsContacts=Lista kontaktów potencjalnego klienta +ListOfCustomersContacts=Lista kontaktów klienta ListOfSuppliersContacts=Lista kontaktów dostawcy ListOfCompanies=Lista firm -ListOfThirdParties=Lista osób trzecich -ShowCompany=Pokaż firmy +ListOfThirdParties=Lista kontrahentów +ShowCompany=Pokaż firmę ShowContact=Pokaż kontakt -ContactsAllShort=Wszystkie (nr filtra) -ContactType=Kontakt typ -ContactForOrders=Zamówienia kontaktowych -ContactForProposals=Propozycje kontaktowych -ContactForContracts=Zamówienia kontaktowych -ContactForInvoices=Faktury kontaktowych -NoContactForAnyOrder=Ten kontakt nie jest kontakt do dowolnej kolejności -NoContactForAnyProposal=Ten kontakt jest nie do kontaktów handlowych wniosku -NoContactForAnyContract=Ten kontakt nie jest kontakt do jakiejkolwiek umowy -NoContactForAnyInvoice=Ten kontakt nie jest kontakt za fakturę +ContactsAllShort=Wszystkie (bez filtra) +ContactType=Typ kontaktu +ContactForOrders=Kontakt dla zamówienia +ContactForProposals=Kontakt dla propozycji +ContactForContracts=Kontakt dla kontraktu +ContactForInvoices=Kontakt dla faktury +NoContactForAnyOrder=Ten kontakt nie jest kontaktem dla żadnego zamówienia +NoContactForAnyProposal=Ten kontakt nie jest kontaktem dla żadnej propozycji biznesowej +NoContactForAnyContract=Ten kontakt nie jest kontaktem dla żadnego kontraktu +NoContactForAnyInvoice=Ten kontakt nie jest kontaktem dla żadnej faktury NewContact=Nowy kontakt NewContactAddress=Nowy kontakt / adres LastContacts=Ostatnie kontakty MyContacts=Moje kontakty Phones=Telefony -Capital=Waluta -CapitalOf=Stolica %s +Capital=Kapitał +CapitalOf=Kapitał %s EditCompany=Edycja firmy EditDeliveryAddress=Edytuj adres dostawy -ThisUserIsNot=Ten użytkownik nie jest perspektywa klientów ani dostawcy -VATIntraCheck=Sprawdzić -VATIntraCheckDesc=Link %s pozwala na zwrócenie się do Europejskiego VAT checker usługi. Zewnętrznego dostępu do Internetu z serwera jest wymagany dla tej usługi do pracy. -VATIntraCheckURL=http://ec.europa.eu/taxation_customs/vies/vieshome.do -VATIntraCheckableOnEUSite=Sprawdź Intracomunnautary VAT na stronie Komisji Europejskiej -VATIntraManualCheck=You can also check manually from european web site Webadres %s -ErrorVATCheckMS_UNAVAILABLE=Zameldowanie nie jest możliwe. Sprawdź usługi nie są świadczone przez państwo członkowskie ( %s). -NorProspectNorCustomer=Ani perspektywa, ani klient +ThisUserIsNot=Ten użytkownik nie jest potencjalnym klientem, klientem ani dostawcą +VATIntraCheck=Sprawdź +VATIntraCheckDesc=Kliknij tutaj %s aby sprawdzić NIP Klienta w serwisie Europejskiej Komisji VAT. Wymagany jest dostęp do internetu. +VATIntraCheckURL=http://ec.europa.eu/taxation_customs/vies/vieshome.do?locale=pl +VATIntraCheckableOnEUSite=Sprawdź NIP Klienta w serwisie Europejskiej Komisji VAT +VATIntraManualCheck=Możesz również sprawdzić ręcznie wchodząc na stonie Europejskiej Komisji VAT %s +ErrorVATCheckMS_UNAVAILABLE=Brak możliwości sprawdzenia. Usługa nie jest dostarczana dla wybranego regionu (%s). +NorProspectNorCustomer=Ani potencjalny klient, ani klient JuridicalStatus=Status prawny Staff=Personel -ProspectLevelShort=Potencjalne -ProspectLevel=Prospect potencjał +ProspectLevelShort=Potencjał +ProspectLevel=Potencjał potencjalnego klienta ContactPrivate=Prywatne -ContactPublic=Współużytkowane +ContactPublic=Udostępniane ContactVisibility=Widoczność -OthersNotLinkedToThirdParty=Inni, nie wiąże się z trzecią -ProspectStatus=Prospect statusu -PL_NONE=Aucun +OthersNotLinkedToThirdParty=Inni, nie połączeni z kontahentem +ProspectStatus=Satus potencjalnego klienta +PL_NONE=Żaden PL_UNKNOWN=Nieznany PL_LOW=Niski PL_MEDIUM=Średni PL_HIGH=Wysoki TE_UNKNOWN=- TE_STARTUP=Uruchamianie -TE_GROUP=Duże firmy -TE_MEDIUM=Średnie firmy -TE_ADMIN=Governemental -TE_SMALL=Małe firmy -TE_RETAIL=Detalista +TE_GROUP=Duża firma +TE_MEDIUM=Średnia firma +TE_ADMIN=Rządowy +TE_SMALL=Mała firma +TE_RETAIL=Klient detaliczny TE_WHOLE=Wholetailer -TE_PRIVATE=Prywatnej +TE_PRIVATE=Osoba prywatna TE_OTHER=Inny -StatusProspect-1=Nie kontakt -StatusProspect0=Nigdy nie skontaktował -StatusProspect1=Aby skontaktować się -StatusProspect2=Kontakt w procesie -StatusProspect3=Kontakt zrobić -ChangeDoNotContact=Zmień status "Nie kontaktowe" -ChangeNeverContacted=Zmiana statusu na "Nigdy nie skontaktował" -ChangeToContact=Zmiana statusu na "Kontakt" -ChangeContactInProcess=Zmiana statusu na "Kontakt w procesie" -ChangeContactDone=Zmiana statusu na "Kontakt zrobić" +StatusProspect-1=Nie kontaktować się +StatusProspect0=Kontak nie podjęty +StatusProspect1=Skontaktować się +StatusProspect2=W trakcie kontaktu +StatusProspect3=Skontaktowano +ChangeDoNotContact=Zmień status na "Nie kontaktować się" +ChangeNeverContacted=Zmień status na "Kontak nie podjęty" +ChangeToContact=Zmień status na "Skontaktować się" +ChangeContactInProcess=Zmień status na "W trakcie kontaktu" +ChangeContactDone=Zmień status na "Skontaktowano" ProspectsByStatus=Potencjalni klienci według statusu -BillingContact=Kontakt płatności +BillingContact=Kontakt w sprawie płatności NbOfAttachedFiles=Liczba załączonych plików AttachANewFile=Załącz nowy plik -NoRIB=Nie określono ZAKAZOWI +NoRIB=Nie zdefiniowano numeru IBAN NoParentCompany=Żaden ExportImport=Import-Export -ExportCardToFormat=Eksport do formatu karty -ContactNotLinkedToCompany=Kontakt nie związane z jakąkolwiek osobą trzecią -DolibarrLogin=Dolibarr logowania -NoDolibarrAccess=Nr Dolibarr dostępu -# ExportDataset_company_1=Third parties (Companies/foundations/physical people) and properties -ExportDataset_company_2=Kontakty i nieruchomości -# ImportDataset_company_1=Third parties (Companies/foundations/physical people) and properties -# ImportDataset_company_2=Contacts/Addresses (of thirdparties or not) and attributes -ImportDataset_company_3=Bank -PriceLevel=Poziomu cen +ExportCardToFormat=Eksport karty do formatu +ContactNotLinkedToCompany=Kontakt nie połączony z żadnym kontrahentem +DolibarrLogin=Dolibarr login +NoDolibarrAccess=Brak dostępu do Dolibarr +ExportDataset_company_1=Kontrahenci (Firmy/Fundacje/Osoby fizyczne) oraz nieruchomości +ExportDataset_company_2=Kontakty i właściwości +ImportDataset_company_1=Kontrahenci (Firmy/Fundacje/Osoby fizyczne) oraz nieruchomości +ImportDataset_company_2=Kontakty/Adresy (Kontrahentów lub nie) i atrybuty +ImportDataset_company_3=Szczegóły banku +PriceLevel=Poziom cen DeliveriesAddress=Adresy dostawy DeliveryAddress=Adres dostawy -DeliveryAddressLabel=Dostawy adres etykiety -DeleteDeliveryAddress=Usuwanie adresu dostawy +DeliveryAddressLabel=Etykieta adresu dostawy +DeleteDeliveryAddress=Usuwań adres dostawy ConfirmDeleteDeliveryAddress=Czy na pewno chcesz usunąć ten adres dostawy? NewDeliveryAddress=Nowy adres dostawy AddDeliveryAddress=Dodaj adres AddAddress=Dodaj adres -NoOtherDeliveryAddress=Nr alternatywnego adresu dostawy określono -SupplierCategory=Dostawca kategorii -JuridicalStatus200=Niezależne +NoOtherDeliveryAddress=Nie zdefiniowano alternatywnego adresu dostawy +SupplierCategory=Kategoria dostawcy +JuridicalStatus200=Niezależny DeleteFile=Usuń plik ConfirmDeleteFile=Czy na pewno chcesz usunąć ten plik? -AllocateCommercial=Przydzielenie handlowy +AllocateCommercial=Przypisane do przedstawiciela handlowego SelectCountry=Wybierz kraj -SelectCompany=Wybierz jedna trzecia strona +SelectCompany=Wybierz kontrahenta Organization=Organizacja AutomaticallyGenerated=Automatycznie generowane FiscalYearInformation=Informacje dotyczące roku podatkowego -FiscalMonthStart=Początek miesiąca roku podatkowego -YouMustCreateContactFirst=Musisz stworzyć e-maile, kontakty dla trzeciej pierwszy, aby móc dodać powiadomień e-maile. +FiscalMonthStart=Pierwszy miesiąc roku podatkowego +YouMustCreateContactFirst=Musisz stworzyć e-maile, kontakty dla trzeciej pierwszy, aby móc dodać powiadomień e-maile.\nStwórz kontakty z adresem e-mail dla Kontrahenta, aby móc dodać powiadomienia. ListSuppliersShort=Lista dostawców -ListProspectsShort=Lista perspektyw +ListProspectsShort=Lista potencjalnych klientów ListCustomersShort=Lista klientów -ThirdPartiesArea=Obszar kontrahentów -LastModifiedThirdParties=Ostatnie %s modyfikacji kontrahentów -UniqueThirdParties=Łącznie unikalnych stron trzecich +ThirdPartiesArea=Strona kontrahentów +LastModifiedThirdParties=%s ostatnio modyfikowanych kontrahentów +UniqueThirdParties=Łącznie unikatowych kontrahentów InActivity=Otwarte ActivityCeased=Zamknięte -ActivityStateFilter=Stan aktywny -ProductsIntoElements=Lista produktów w -# CurrentOutstandingBill=Current outstanding bill -# OutstandingBill=Max. for outstanding bill -# OutstandingBillReached=Reached max. for outstanding bill +ActivityStateFilter=Status aktywności +ProductsIntoElements=Lista informacji o produktach +CurrentOutstandingBill=Biężący, niezapłacony rachunek +OutstandingBill=Maksymalna kwota niezapłaconego rachunku +OutstandingBillReached=Osiągnieto maksimum niezapłaconych rachunków # Monkey -MonkeyNumRefModelDesc=Wróć NUMERO z formatu %syymm-nnnn klienta i kod %syymm-nnnn dla dostawcy kod yy gdzie jest rok, mm miesiąc i nnnn jest ciągiem bez przerwy i nie ma powrotu do 0. +MonkeyNumRefModelDesc=Wróć NUMERO z formatu %syymm-nnnn klienta i kod %syymm-nnnn dla dostawcy kod yy gdzie jest rok, mm miesiąc i nnnn jest ciągiem bez przerwy i nie ma powrotu do 0.\nZwraca numer w formacie %syymm-nnnn dla kodu klienta i %syymm-nnnn dla kodu dostawcy, gdzie yy to rok, mm to miesiąc i nnnn jest sekwencją bez przerwy, bez powrotu do 0. # Leopard -LeopardNumRefModelDesc=Klient / dostawcy kod jest bezpłatny. Ten kod może być modyfikowany w dowolnym momencie. +LeopardNumRefModelDesc=Dowolny kod Klienta / Dostawcy. Ten kod może być modyfikowany w dowolnym momencie. diff --git a/htdocs/langs/pl_PL/errors.lang b/htdocs/langs/pl_PL/errors.lang index 57f3c97cc6d..9bb145ffd8c 100644 --- a/htdocs/langs/pl_PL/errors.lang +++ b/htdocs/langs/pl_PL/errors.lang @@ -26,8 +26,11 @@ ErrorFromToAccountsMustDiffers=Źródło i celów rachunków bankowych muszą by ErrorBadThirdPartyName=Zła wartość w trzeciej imię # ErrorProdIdIsMandatory=The %s is mandatory ErrorBadCustomerCodeSyntax=Bad składni kodu klienta +# ErrorBadBarCodeSyntax=Bad syntax for bar code ErrorCustomerCodeRequired=Klient kod wymagane +# ErrorBarCodeRequired=Bar code required ErrorCustomerCodeAlreadyUsed=Klient kod już używane +# ErrorBarCodeAlreadyUsed=Bar code already used ErrorPrefixRequired=Prefiks wymagana ErrorUrlNotValid=Adres strony internetowej jest nieprawidłowy ErrorBadSupplierCodeSyntax=Bad składni kodu dostawcy @@ -63,6 +66,7 @@ ErrorSizeTooLongForVarcharType=Rozmiar zbyt długo typu string (%s znaków maksy # ErrorNoValueForRadioType=Please fill value for radio list # ErrorBadFormatValueList=The list value cannot have more than one come : %s, but need at least one: llave,valores ErrorFieldCanNotContainSpecialCharacters=Pole %s nie zawiera znaki specjalne. +# ErrorFieldCanNotContainSpecialNorUpperCharacters=Field %s must not contains special characters, nor upper case characters. ErrorNoAccountancyModuleLoaded=Nr rachunkowych moduł aktywowany # ErrorExportDuplicateProfil=This profile name already exists for this export set. ErrorLDAPSetupNotComplete=Dolibarr-LDAP dopasowywania nie jest kompletna. diff --git a/htdocs/langs/pl_PL/exports.lang b/htdocs/langs/pl_PL/exports.lang index aed1bcd2a45..66665f22303 100644 --- a/htdocs/langs/pl_PL/exports.lang +++ b/htdocs/langs/pl_PL/exports.lang @@ -123,6 +123,10 @@ BankCode=Kod banku DeskCode=Recepcja kod BankAccountNumber=Numer konta BankAccountNumberKey=Klucz +# SpecialCode=Special code +# ExportStringFilter=%% allows replacing one or more characters in the text +# ExportDateFilter='AAAA' 'AAAAMM' 'AAAAMMJJ': filters by one year/month/day
'AAAA+AAAA' 'AAAAMM+AAAAMM' 'AAAAMMJJ+AAAAMMJJ': filters over a range of years/months/days
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filters on the following years/months/days
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filters on the previous years/months/days +# ExportNumericFilter='NNNNN' filters by one value
'NNNNN+NNNNN' filters over a range of values
'>NNNNN' filters by lower values
'>NNNNN' filters by higher values ## filters # SelectFilterFields=If you want to filter on some values, just input values here. # FilterableFields=Champs Filtrables diff --git a/htdocs/langs/pl_PL/externalsite.lang b/htdocs/langs/pl_PL/externalsite.lang index 3d6ad1981f7..e7b2b8625e8 100644 --- a/htdocs/langs/pl_PL/externalsite.lang +++ b/htdocs/langs/pl_PL/externalsite.lang @@ -1,4 +1,4 @@ # Dolibarr language file - Source file is en_US - externalsite -ExternalSiteSetup=Konfiguracja łącza do zewnętrznej stronie internetowej +ExternalSiteSetup=Skonfiguruj link do zewnętrznej strony internetowej ExternalSiteURL=Zewnętrzny URL strony -# ExternalSiteModuleNotComplete=Module ExternalSite was not configured properly. +ExternalSiteModuleNotComplete=Moduł zewnętrznej strony internetowej nie został skonfigurowany poprawny diff --git a/htdocs/langs/pl_PL/holiday.lang b/htdocs/langs/pl_PL/holiday.lang index fe468490d5f..c1335af1a61 100644 --- a/htdocs/langs/pl_PL/holiday.lang +++ b/htdocs/langs/pl_PL/holiday.lang @@ -81,7 +81,7 @@ UserCP=Użytkownik # PrevSoldeCP=Previous Balance # NewSoldeCP=New Balance # alreadyCPexist=A request for holidays has already been done on this period. -UserName=Imię +UserName=Nazwa użytkownika # Employee=Employee # FirstDayOfHoliday=First day of holiday # LastDayOfHoliday=Last day of holiday diff --git a/htdocs/langs/pl_PL/mails.lang b/htdocs/langs/pl_PL/mails.lang index b4720b544c1..700f31d8519 100644 --- a/htdocs/langs/pl_PL/mails.lang +++ b/htdocs/langs/pl_PL/mails.lang @@ -79,6 +79,13 @@ MailingStatusRead=Czytać # ActivateCheckRead=Allow to use the "Unsubcribe" link # ActivateCheckReadKey=Key use to encrypt URL use for "Read Receipt" and "Unsubcribe" feature # EMailSentToNRecipients=EMail sent to %s recipients. +# EachInvoiceWillBeAttachedToEmail=A document using default invoice document template will be created and attached to each email. +# MailTopicSendRemindUnpaidInvoices=Remind of invoice %s (%s) +# SendRemind=Send remind by EMails +# RemindSent=%S remind(s) sent +# AllRecipientSelectedForRemind=All thirdparties selected and if an email is set (note that one mail per invoice will be sent) +# NoRemindSent=No remind by EMail sent +# ResultOfMassSending=Result of mass remind sending by EMail # Libelle des modules de liste de destinataires mailing MailingModuleDescContactCompanies=Kontakty wszystkich stron trzecich (klienta, perspektywa, dostawca, ...) diff --git a/htdocs/langs/pl_PL/main.lang b/htdocs/langs/pl_PL/main.lang index e4d27509831..4e384187962 100644 --- a/htdocs/langs/pl_PL/main.lang +++ b/htdocs/langs/pl_PL/main.lang @@ -23,7 +23,7 @@ FormatDateHourShort=%d-%m-%Y %H:%M FormatDateHourTextShort=%d %b %Y %H:%M FormatDateHourText=%d %B %Y %H:%M DatabaseConnection=Połączenia z bazą danych -# NoTranslation=No translation +NoTranslation=Brak tłumaczenia # NoRecordFound=No record found NoError=Brak błędów Error=Błąd @@ -149,7 +149,7 @@ Of=z CopyOf=Kopia Show=Pokazać ShowCardHere=Pokaż kartę -Search=Szukać +Search=Wyszukaj SearchOf=Szukaj Valid=Aktualny Approve=Zatwierdź @@ -169,7 +169,7 @@ Groups=Grupy Password=Hasło PasswordRetype=Powtórz hasło NoteSomeFeaturesAreDisabled=Należy pamiętać, że wiele funkcji / modułów są wyłączone w tej demonstracji. -Name=Imię +Name=Nazwa Person=Osoba Parameter=Parametr Parameters=Parametry @@ -370,7 +370,7 @@ Duration=Czas trwania TotalDuration=Łączny czas trwania Summary=Podsumowanie MyBookmarks=Moje zakładki -OtherInformationsBoxes=Inne informacje na polach +OtherInformationsBoxes=Inne informacje DolibarrBoard=Dolibarr pokładzie DolibarrStateBoard=Statystyki DolibarrWorkBoard=Pracy zadań pokładzie @@ -535,7 +535,7 @@ InfoAdmin=Informacje dla administratorów Undo=Cofnij Redo=Powtórz ExpandAll=Rozwiń wszystkie -UndoExpandAll=Cofnij rozwiń +UndoExpandAll=Zwiń Reason=Powód FeatureNotYetSupported=Funkcja nie jest jeszcze obsługiwana CloseWindow=Zamknij okno @@ -572,7 +572,7 @@ TotalWoman=Razem TotalMan=Razem NeverReceived=Nigdy nie otrzymała Canceled=Odwołany -# YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu setup - dictionnary +# YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu setup - dictionary Color=Kolor Documents=Związany plików DocumentsNb=Dołączonych plików (%s) diff --git a/htdocs/langs/pl_PL/opensurvey.lang b/htdocs/langs/pl_PL/opensurvey.lang index 4e53995363e..d8655621d52 100644 --- a/htdocs/langs/pl_PL/opensurvey.lang +++ b/htdocs/langs/pl_PL/opensurvey.lang @@ -35,6 +35,7 @@ # TitleChoice=Choice label # ExportSpreadsheet=Export result spreadsheet ExpireDate=Limit daty +# NbOfSurveys=Number of surveys # NbOfVoters=Nb of voters # SurveyResults=Results # PollAdminDesc=You are allowed to change all vote lines of this poll with button "Edit". You can, as well, remove a column or a line with %s. You can also add a new column with %s. diff --git a/htdocs/langs/pl_PL/orders.lang b/htdocs/langs/pl_PL/orders.lang index f1ae1f35c4b..e0b4afbf64f 100644 --- a/htdocs/langs/pl_PL/orders.lang +++ b/htdocs/langs/pl_PL/orders.lang @@ -55,6 +55,7 @@ DraftOrWaitingShipped=Projekt lub zatwierdzonych jeszcze nie wysłane MenuOrdersToBill=Zamówienia na rachunku # MenuOrdersToBill2=Orders to bill SearchOrder=Szukaj celu +# SearchACustomerOrder=Search a customer order ShipProduct=Statek produktu Discount=Rabat CreateOrder=Tworzenie Zamówienie @@ -164,3 +165,4 @@ OrderByPhone=Telefon # OrderCreated=Your orders have been created # OrderFail=An error happened during your orders creation # CreateOrders=Create orders +# ToBillSeveralOrderSelectCustomer=To create an invoice for several orders, click first onto customer, then choose "%s". diff --git a/htdocs/langs/pl_PL/other.lang b/htdocs/langs/pl_PL/other.lang index 2d9c2a2d333..7ecfda13acd 100644 --- a/htdocs/langs/pl_PL/other.lang +++ b/htdocs/langs/pl_PL/other.lang @@ -45,18 +45,19 @@ TotalSizeOfAttachedFiles=Całkowita wielkość załączonych plików / dokument MaxSize=Maksymalny rozmiar AttachANewFile=Załącz nowy plik / dokument LinkedObject=Związany obiektu -Miscellaneous=Miscellaneous +Miscellaneous=Różne NbOfActiveNotifications=Liczba zgłoszeń PredefinedMailTest=Dette er en test post. \\ NDe to linjer er atskilt med en vognretur. PredefinedMailTestHtml=Dette er en test mail (ordet testen må være i fet skrift).
De to linjene er skilt med en vognretur. -PredefinedMailContentSendInvoice=__CONTACTCIVNAME__ \n\n Znajdziecie tu Państwo faktury __FACREF__ \n\n__PERSONALIZED__ poważaniem \n\n__SIGNATURE__ -PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__ \n\n Pragniemy ostrzec, że faktura __FACREF__ wydaje się nie być wypłacana. Więc to jest faktura w załączniku ponownie, jako przypomnienie. \n\n__PERSONALIZED__ poważaniem \n\n__SIGNATURE__ -PredefinedMailContentSendProposal=__CONTACTCIVNAME__ \n\n Znajdziecie tu komercyjnego propoal __PROPREF__ \n\n__PERSONALIZED__ poważaniem \n\n__SIGNATURE__ -PredefinedMailContentSendOrder=__CONTACTCIVNAME__ \n\n Znajdziecie tutaj aby __ORDERREF__ \n\n__PERSONALIZED__ poważaniem \n\n__SIGNATURE__ -PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__ \n\n Znajdziecie tu nasze zamówienie __ORDERREF__ \n\n__PERSONALIZED__Sincerely \n\n__SIGNATURE__ -PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__ \n\n Znajdziecie tu Państwo fakturę __FACREF__ \n\nSincerely \n\n -PredefinedMailContentSendShipping=__CONTACTCIVNAME__ \n\n Znajdziesz tu wysyłki __SHIPPINGREF__ \n\n__PERSONALIZED__Sincerely \n\n -PredefinedMailContentSendFichInter=__CONTACTCIVNAME__ \n\n Znajdziesz tu interwencji __FICHINTERREF__ \n\n__PERSONALIZED__Sincerely \n\n +# PredefinedMailContentSendInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__\n\nWe would like to warn you that the invoice __FACREF__ seems to not being payed. So this is the invoice in attachment again, as a reminder.\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendProposal=__CONTACTCIVNAME__\n\nYou will find here the commercial proposal __PROPREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendOrder=__CONTACTCIVNAME__\n\nYou will find here the order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__\n\nYou will find here our order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendShipping=__CONTACTCIVNAME__\n\nYou will find here the shipping __SHIPPINGREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendFichInter=__CONTACTCIVNAME__\n\nYou will find here the intervention __FICHINTERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentThirdparty=__CONTACTCIVNAME__\n\n__PERSONALIZED__\n\n__SIGNATURE__ DemoDesc=Dolibarr jest kompaktowym ERP / CRM złożona z kilku modułów funkcjonalnych. A demo, które zawiera wszystkie moduły nie oznacza nic, ponieważ nie występuje. Tak więc, kilka profili są dostępne demo. ChooseYourDemoProfil=Wybierz demo, które pasują do profilu działalności ... DemoFundation=Zarządzanie użytkowników o fundacji diff --git a/htdocs/langs/pl_PL/products.lang b/htdocs/langs/pl_PL/products.lang index 77ec6ddf683..5e6ecbe8953 100644 --- a/htdocs/langs/pl_PL/products.lang +++ b/htdocs/langs/pl_PL/products.lang @@ -13,6 +13,10 @@ NewProduct=Nowy produkt NewService=Nowa usługa ProductCode=Kod produktu ServiceCode=Kod usługi +# ProductVatMassChange=Mass VAT change +# ProductVatMassChangeDesc=This page can be used to modify a VAT rate defined on products or services from a value to another. Warning, this change is done on all database. +# MassBarcodeInit=Mass barcode init +# MassBarcodeInitDesc=This page can be used to initialize a barcode on objects that does not have barcode defined. Check before that setup of module barcode is complete. ProductAccountancyBuyCode=Kod księgowy (zakup) ProductAccountancySellCode=Kod księgowy (sprzedaż) ProductOrService=Produkt lub usługa @@ -173,8 +177,8 @@ CustomCode=Kod taryfy celnej CountryOrigin=Kraj pochodzenia HiddenIntoCombo=Ukryty na listach wyboru Nature=Natura -ProductCodeModel=Szablon kodu produktu -ServiceCodeModel=Szablon kodu usługi +# ProductCodeModel=Product ref template +# ServiceCodeModel=Service ref template AddThisProductCard=Stwórz kartę produktu HelpAddThisProductCard=Ta opcja pozwala na tworzenie lub klonowanie produktu, jeśli on nie istnieje. AddThisServiceCard=Stwórz kartę usługi @@ -216,5 +220,10 @@ Quarter4=4-y Kwartał # DefinitionOfBarCodeForThirdpartyNotComplete=Definition of type or value of bar code non complete for thirdparty %s. # BarCodeDataForProduct=Barcode information of product %s : # BarCodeDataForThirdparty=Barcode information of thirdparty %s : -# BarcodeStickersMask=xxx - +# ResetBarcodeForAllRecords=Define barcode value for all records (this will also reset barcode value already defined with new values) +# PriceByCustomer=Price by customer +# PriceCatalogue=Catalogue Price +# PricingRule=Pricing Rules +# AddCustomerPrice=Add price by customers +# ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +# PriceByCustomerLog=Price by customer log diff --git a/htdocs/langs/pl_PL/projects.lang b/htdocs/langs/pl_PL/projects.lang index 2d18566bd28..10ea7968e98 100644 --- a/htdocs/langs/pl_PL/projects.lang +++ b/htdocs/langs/pl_PL/projects.lang @@ -1,4 +1,6 @@ # Dolibarr language file - Source file is en_US - projects +# RefProject=Ref. project +# ProjectId=Project Id Project=Project Projects=Projekty SharedProject=Współużytkowane projektu @@ -30,11 +32,18 @@ TimeSpent=Czas spędzony TimesSpent=Czas spędzony RefTask=Nr ref. zadanie LabelTask=Wytwórnia zadanie +# TaskTimeSpent=Time spent on tasks +# TaskTimeUser=Task time user +# TaskTimeNote=Task time note +# TaskTimeDate=Task time date NewTimeSpent=Nowy czas spędzony MyTimeSpent=Mój czas spędzony MyTasks=Moje zadania Tasks=Zadania Task=Zadanie +# TaskDateStart=Task start date +# TaskDateEnd=Task end date +# TaskDescription=Task description NewTask=Nowe zadania AddTask=Dodaj zadanie AddDuration=Dodaj czas @@ -100,12 +109,12 @@ IfNeedToUseOhterObjectKeepEmpty=Jeżeli pewne obiekty (faktura, zamówienie, ... ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Kierownik projektu TypeContact_project_external_PROJECTLEADER=Kierownik projektu -TypeContact_project_internal_PROJECTCONTRIBUTOR=Współpracownik -TypeContact_project_external_PROJECTCONTRIBUTOR=Współpracownik +# TypeContact_project_internal_PROJECTCONTRIBUTOR=Contributor +# TypeContact_project_external_PROJECTCONTRIBUTOR=Contributor TypeContact_project_task_internal_TASKEXECUTIVE=zadań wykonawczych TypeContact_project_task_external_TASKEXECUTIVE=zadań wykonawczych -TypeContact_project_task_internal_TASKCONTRIBUTOR=Współpracownik -TypeContact_project_task_external_TASKCONTRIBUTOR=Współpracownik +# TypeContact_project_task_internal_TASKCONTRIBUTOR=Contributor +# TypeContact_project_task_external_TASKCONTRIBUTOR=Contributor # SelectElement=Select element # AddElement=Link to element # Documents models diff --git a/htdocs/langs/pl_PL/shop.lang b/htdocs/langs/pl_PL/shop.lang index 1b23ab2c7f2..cd68d5f0fe0 100644 --- a/htdocs/langs/pl_PL/shop.lang +++ b/htdocs/langs/pl_PL/shop.lang @@ -1,10 +1,10 @@ # Dolibarr language file - Source file is en_US - shop Shop=Sklep -ShopWeb=Web Shop -LastOrders=Ostatnie zlecenia -OnStandBy=W stanie gotowości -TreatmentInProgress=Leczenie w toku -LastCustomers=Ostatnia klientów +ShopWeb=Shop internetowy +LastOrders=Ostatnie zamówienia +OnStandBy=Oczekuje +TreatmentInProgress=W przygotowaniu +LastCustomers=Ostatni klienci OSCommerceShop=Sklep osCommerce OSCommerce=OsCommerce AddProd=Sprzedaż online diff --git a/htdocs/langs/pl_PL/stocks.lang b/htdocs/langs/pl_PL/stocks.lang index df16c4c2c6c..46b31bf0a45 100644 --- a/htdocs/langs/pl_PL/stocks.lang +++ b/htdocs/langs/pl_PL/stocks.lang @@ -94,14 +94,20 @@ SelectWarehouseForStockIncrease=Wybierz magazyn użyć do zwiększenia czas # StockToBuy=To order # Replenishment=Replenishment # ReplenishmentOrders=Replenishment orders -# UseVirtualStock=Use virtual stock instead of physical stock +# VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differs +# UseVirtualStockByDefault=Use virtual stock by default, instead of physical stock, for replenishment feature +# UseVirtualStock=Use virtual stock +# UsePhysicalStock=Use physical stock +# CurentSelectionMode=Curent selection mode +# CurentlyUsingVirtualStock=Virtual stock +# CurentlyUsingPhysicalStock=Physical stock # RuleForStockReplenishment=Rule for stocks replenishment # SelectProductWithNotNullQty=Select at least one product with a qty not null and a supplier # AlertOnly= Alerts only # WarehouseForStockDecrease=The warehouse %s will be used for stock decrease # WarehouseForStockIncrease=The warehouse %s will be used for stock increase # ForThisWarehouse=For this warehouse -# ReplenishmentStatusDesc=This is list of all product with a physical stock lower than desired stock (or alert value if checkbox "alert only" is checked) and suggest you to create supplier orders to fill the difference. +# ReplenishmentStatusDesc=This is list of all product with a stock lower than desired stock (or lower than alert value if checkbox "alert only" is checked), and suggest you to create supplier orders to fill the difference. # ReplenishmentOrdersDesc=This is list of all opened supplier orders # Replenishments=Replenishments # NbOfProductBeforePeriod=Quantity of product %s in stock before selected period (< %s) diff --git a/htdocs/langs/pl_PL/users.lang b/htdocs/langs/pl_PL/users.lang index f8724956c95..ee7f2388f1e 100644 --- a/htdocs/langs/pl_PL/users.lang +++ b/htdocs/langs/pl_PL/users.lang @@ -47,7 +47,7 @@ AdministratorDesc=Administratora podmiot DefaultRights=Domyślne uprawnienia DefaultRightsDesc=Określ tutaj domyślne uprawnienia, które są przyznawane automatycznie utworzony nowy użytkownik. DolibarrUsers=Dolibarr użytkowników -LastName=Imię +LastName=Nazwisko FirstName=Imię ListOfGroups=Lista grup NewGroup=Nowa grupa diff --git a/htdocs/langs/pt_PT/admin.lang b/htdocs/langs/pt_PT/admin.lang index ff098dab72a..4037aab0b0a 100644 --- a/htdocs/langs/pt_PT/admin.lang +++ b/htdocs/langs/pt_PT/admin.lang @@ -287,7 +287,7 @@ CurrentVersion=Versão actual do ERP/CRM CallUpdatePage=Chamar a página de actualização da estrutura da base de dados %s. LastStableVersion=Última Versão estável GenericMaskCodes=Pode introduzir qualquer máscara numérica. Nesta máscara, pode utilizar as seguintes etiquetas:
{000000} corresponde a um número que se incrementa em cada um de %s. Introduza tantos zeros como longitude que deseja mostrar. O contador completar-se-á a partir de zeros pela esquerda com o fim de ter tantos zeros como a máscara.
{000000+000} Igual que o anterior, com uma compensação correspondente ao número da direita do sinal + aplica-se a partir do primeiro %s.
{000000@x} igual que o anterior, mas o contador restablece-se a zero quando se chega a x meses (x entre 1 e 12). Se esta opção se utiliza e x é de 2 ou superior, então a sequência {yy}{mm} ou {yyyy}{mm} também é necessário.
{dd} días (01 a 31).
{mm} mês (01 a 12).
{yy}, {yyyy} ou {e} ano em 2, 4 ou 1 figura.
-# GenericMaskCodes2={cccc} the client code
{cccc000} the client code on n characters is followed by a client's ref counter without offset and zeroized with the global counter.
{tttt} The code of company type on n characters (see dictionary-company types).
+# GenericMaskCodes2={cccc} the client code on n characters
{cccc000} the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.
{tttt} The code of company type on n characters (see dictionary-company types).
GenericMaskCodes3=Qualquer outro caractere na máscara fica sem alterações.
Não são permitidos espaços
GenericMaskCodes4a=Exemplo em 99 ª %s o Terceiro a Empresa realizada em 31/03/2007:
GenericMaskCodes4b=Exemplo sobre um Terceiro criado em 31/03/2007:
@@ -345,8 +345,6 @@ SecurityTokenIsUnique=Use um parâmetro securekey exclusivo para cada URL EnterRefToBuildUrl=Digite referência para %s objeto GetSecuredUrl=Obter URL seguro ButtonHideUnauthorized=Ocultar botões para ações não autorizadas em vez de mostrar os botões desactivados -# ProductVatMassChange=Mass VAT change -# ProductVatMassChangeDesc=This page can be used to modify a VAT rate defined on products or services from a value to another. Warning, this change is done on all database. # OldVATRates=Old VAT rate # NewVATRates=New VAT rate # PriceBaseTypeToChange=Modify on prices with base reference value defined on @@ -381,6 +379,16 @@ KeepEmptyToUseDefault=Deixar em branco para usar o valor por omissão # DefaultLink=Default link # ValueOverwrittenByUserSetup=Warning, this value may be overwritten by user specific setup (each user can set his own clicktodial url) # ExternalModule=External module - Installed into directory %s +# BarcodeInitForThirdparties=Mass barcode init for thirdparties +# BarcodeInitForProductsOrServices=Mass barcode init or reset for products or services +# CurrentlyNWithoutBarCode=Currently, you have %s records on %s %s without barcode defined. +# InitEmptyBarCode=Init value for next %s empty records +# EraseAllCurrentBarCode=Erase all current barcode values +# ConfirmEraseAllCurrentBarCode=Are you sure you want to erase all current barcode values ? +# AllBarcodeReset=All barcode values have been removed +# NoBarcodeNumberingTemplateDefined=No numbering barcode template enabled into barcode module setup. +# NoRecordWithoutBarcodeDefined=No record with no barcode value defined. + # Modules Module0Name=Utilizadores e Grupos @@ -510,6 +518,8 @@ Module59000Name=Margens Module59000Desc=Módulo para gerir as margens Module60000Name=Comissões Module60000Desc=Módulo para gerir comissões +# Module150010Name=Batch number, eat-by date and sell-by date +# Module150010Desc=batch number, eat-by date and sell-by date management for product Permission11=Consultar facturas Permission12=Criar/Modificar facturas Permission13=Facturas não validadas @@ -726,8 +736,8 @@ Permission54001=Imprimir Permission55002=Criar/modificar inquéritos # Permission59001=Read commercial margins # Permission59002=Define commercial margins -# DictionaryCompanyType=Company types -# DictionaryCompanyJuridicalType=Juridical kinds of company +# DictionaryCompanyType=Thirdparties type +# DictionaryCompanyJuridicalType=Juridical kinds of thirdparties # DictionaryProspectLevel=Prospect potential level # DictionaryCanton=State/Cantons # DictionaryRegion=Regions @@ -959,7 +969,7 @@ SimpleNumRefModelDesc=Retorna o número de referência, com o formato nnnn %syym ShowProfIdInAddress=Mostrar ID professionnal com endereços em documentos # ShowVATIntaInAddress=Hide VAT Intra num with addresses on documents TranslationUncomplete=Tradução incompleta -SomeTranslationAreUncomplete=Alguns idiomas podem ser parcialmente traduzidos ou podem conter erros. Se detectar algum, você pode corrigir. Arquivos de texto lang em diretório htdocs/langs e submetê-los no fórum em http://transifex.com/projects/p/dolibarr/. MenuUseLayout=Faça menu vertical (javascript opção não deve ser desativado) MAIN_DISABLE_METEO=Desativar vista de meteorologia TestLoginToAPI=Teste o login para API @@ -985,6 +995,7 @@ ExtraFieldsProject=Atributos complementares (projetos) ExtraFieldsProjectTask=Atributos complementares (tarefas) ExtraFieldHasWrongValue=Atributos complementares %s tem um valor errado. AlphaNumOnlyCharsAndNoSpace=apenas caracteres alfanuméricos sem espaços +# AlphaNumOnlyLowerCharsAndNoSpace=only alphanumericals and lower case characters without space SendingMailSetup=Instalação de envios por e-mail SendmailOptionNotComplete=Aviso, em alguns sistemas Linux, para enviar e-mails, a configuração sendmail deve conter a opção ba-(mail.force_extra_parameters parâmetro em seu arquivo php.ini). Se alguns destinatários não receberem e-mails, tente editar este parâmetro PHP com mail.force_extra_parameters PathToDocuments=Caminhos de acesso a documentos @@ -1269,7 +1280,7 @@ ForANonAnonymousAccess=Para um acesso autentificado # YouMayFindPerfAdviceHere=You will find on this page some checks or advices related to performance. NotInstalled=Não instalado, o servidor não está mais lento por isso. # ApplicativeCache=Applicative cache -# MemcachedNotAvailable=No applicative cache found. You can enhance performance by installing a cache server Memcached and a module able to use this cache server. More information here http://wiki.dolibarr.org/index.php/Module_MemCached_EN. Note that a lot of web hosting provider does not provide such cache server. +# MemcachedNotAvailable=No applicative cache found. You can enhance performance by installing a cache server Memcached and a module able to use this cache server.
More information here http://wiki.dolibarr.org/index.php/Module_MemCached_EN.
Note that a lot of web hosting provider does not provide such cache server. # OPCodeCache=OPCode cache # NoOPCodeCacheFound=No OPCode cache found. May be you use another OPCode cache than XCache or eAccelerator (good), may be you don't have OPCode cache (very bad). HTTPCacheStaticResources=Cache HTTP para recursos estáticos (css, img, javascript) diff --git a/htdocs/langs/pt_PT/agenda.lang b/htdocs/langs/pt_PT/agenda.lang index 91ea5639f49..0338fedd8f9 100644 --- a/htdocs/langs/pt_PT/agenda.lang +++ b/htdocs/langs/pt_PT/agenda.lang @@ -52,6 +52,7 @@ InvoiceSentByEMail=Factura de cliente %s enviada por e-mail SupplierOrderSentByEMail=Encomenda a fornecedor %s enviada por email SupplierInvoiceSentByEMail=Factura de fornecedor %s enviada por e-mail ShippingSentByEMail=Expedição %s enviada por email +# ShippingValidated= Shipping %s validated InterventionSentByEMail=Intervanção %s enviada por e-mail NewCompanyToDolibarr= Nova Empresa Adicionada DateActionPlannedStart= Planeada data de início diff --git a/htdocs/langs/pt_PT/cashdesk.lang b/htdocs/langs/pt_PT/cashdesk.lang index 69127ad3c12..c9b7005f6c3 100644 --- a/htdocs/langs/pt_PT/cashdesk.lang +++ b/htdocs/langs/pt_PT/cashdesk.lang @@ -37,3 +37,4 @@ ShowCompany=Mostrar empresa ShowStock=Mostrar armazém DeleteArticle=Clique para remover este artigo FilterRefOrLabelOrBC=Procurar (Ref/Etiqueta) +# UserNeedPermissionToEditStockToUsePos=You ask to decrease stock on invoice creation, so user that use POS need to have permission to edit stock. diff --git a/htdocs/langs/pt_PT/errors.lang b/htdocs/langs/pt_PT/errors.lang index 69f85f2fa97..36252c7bfd9 100644 --- a/htdocs/langs/pt_PT/errors.lang +++ b/htdocs/langs/pt_PT/errors.lang @@ -26,8 +26,11 @@ ErrorFromToAccountsMustDiffers=A conta origem e destino devem ser diferentes. ErrorBadThirdPartyName=Nome de Terceiro incorrecto ErrorProdIdIsMandatory=O %s é obrigatório ErrorBadCustomerCodeSyntax=A sintaxis do código cliente é incorrecta +# ErrorBadBarCodeSyntax=Bad syntax for bar code ErrorCustomerCodeRequired=Código cliente obrigatório +# ErrorBarCodeRequired=Bar code required ErrorCustomerCodeAlreadyUsed=Código de cliente já utilizado +# ErrorBarCodeAlreadyUsed=Bar code already used ErrorPrefixRequired=Prefixo obrigatório ErrorUrlNotValid=O endereço do sítio está incorreto ErrorBadSupplierCodeSyntax=A sintaxis do código fornecedor é incorrecta @@ -63,6 +66,7 @@ ErrorNoValueForSelectType=Por favor, preencha o valor para lista de selecção # ErrorNoValueForRadioType=Please fill value for radio list # ErrorBadFormatValueList=The list value cannot have more than one come : %s, but need at least one: llave,valores ErrorFieldCanNotContainSpecialCharacters=O campo %s não deve conter carácteres especiais +# ErrorFieldCanNotContainSpecialNorUpperCharacters=Field %s must not contains special characters, nor upper case characters. ErrorNoAccountancyModuleLoaded=Módulo de Contabilidade não activado # ErrorExportDuplicateProfil=This profile name already exists for this export set. ErrorLDAPSetupNotComplete=A configuração Dolibarr-LDAP é incompleta. diff --git a/htdocs/langs/pt_PT/exports.lang b/htdocs/langs/pt_PT/exports.lang index b580758cc24..fb8cc8ba881 100644 --- a/htdocs/langs/pt_PT/exports.lang +++ b/htdocs/langs/pt_PT/exports.lang @@ -123,6 +123,10 @@ BankCode=Código banco DeskCode=Código sucursal BankAccountNumber=Número de conta BankAccountNumberKey=Dígito Control +# SpecialCode=Special code +# ExportStringFilter=%% allows replacing one or more characters in the text +# ExportDateFilter='AAAA' 'AAAAMM' 'AAAAMMJJ': filters by one year/month/day
'AAAA+AAAA' 'AAAAMM+AAAAMM' 'AAAAMMJJ+AAAAMMJJ': filters over a range of years/months/days
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filters on the following years/months/days
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filters on the previous years/months/days +# ExportNumericFilter='NNNNN' filters by one value
'NNNNN+NNNNN' filters over a range of values
'>NNNNN' filters by lower values
'>NNNNN' filters by higher values ## filters # SelectFilterFields=If you want to filter on some values, just input values here. # FilterableFields=Champs Filtrables diff --git a/htdocs/langs/pt_PT/mails.lang b/htdocs/langs/pt_PT/mails.lang index 55aac29b6f7..330bffdaec1 100644 --- a/htdocs/langs/pt_PT/mails.lang +++ b/htdocs/langs/pt_PT/mails.lang @@ -79,6 +79,13 @@ CheckRead=Recibo de Leitura ActivateCheckRead=Permitir usar o link "Cancelar Subscrição" # ActivateCheckReadKey=Key use to encrypt URL use for "Read Receipt" and "Unsubcribe" feature EMailSentToNRecipients=E-mail enviado para %s destinatários. +# EachInvoiceWillBeAttachedToEmail=A document using default invoice document template will be created and attached to each email. +# MailTopicSendRemindUnpaidInvoices=Remind of invoice %s (%s) +# SendRemind=Send remind by EMails +# RemindSent=%S remind(s) sent +# AllRecipientSelectedForRemind=All thirdparties selected and if an email is set (note that one mail per invoice will be sent) +# NoRemindSent=No remind by EMail sent +# ResultOfMassSending=Result of mass remind sending by EMail # Libelle des modules de liste de destinataires mailing MailingModuleDescContactCompanies=Contactos de Terceiros (clientes potenciais, clientes, Fornecedores...) diff --git a/htdocs/langs/pt_PT/main.lang b/htdocs/langs/pt_PT/main.lang index 2fc6a251fcc..d98fd1df74f 100644 --- a/htdocs/langs/pt_PT/main.lang +++ b/htdocs/langs/pt_PT/main.lang @@ -572,7 +572,7 @@ TotalWoman=Total TotalMan=Total NeverReceived=Nunca Recebido Canceled=Cancelado -# YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu setup - dictionnary +# YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu setup - dictionary Color=Cor Documents=Documentos DocumentsNb=arquivos vinculados (%s) diff --git a/htdocs/langs/pt_PT/opensurvey.lang b/htdocs/langs/pt_PT/opensurvey.lang index d19e8d5bce0..9c5633c57b5 100644 --- a/htdocs/langs/pt_PT/opensurvey.lang +++ b/htdocs/langs/pt_PT/opensurvey.lang @@ -35,6 +35,7 @@ AddNewColumn=Adicionar nova coluna # TitleChoice=Choice label ExportSpreadsheet=Exportar resultados para uma folha de cálculo ExpireDate=Data Limite +# NbOfSurveys=Number of surveys NbOfVoters=N.º de Eleitores SurveyResults=Resultados # PollAdminDesc=You are allowed to change all vote lines of this poll with button "Edit". You can, as well, remove a column or a line with %s. You can also add a new column with %s. diff --git a/htdocs/langs/pt_PT/orders.lang b/htdocs/langs/pt_PT/orders.lang index 07d018c6329..a6780fb2fa2 100644 --- a/htdocs/langs/pt_PT/orders.lang +++ b/htdocs/langs/pt_PT/orders.lang @@ -55,6 +55,7 @@ DraftOrWaitingShipped=Rascunho o validado mas ainda não expedido MenuOrdersToBill=Pedidos por Facturar # MenuOrdersToBill2=Orders to bill SearchOrder=Procurar um Pedido +# SearchACustomerOrder=Search a customer order ShipProduct=Enviar Produto Discount=Desconto CreateOrder=Criar Pedido @@ -164,3 +165,4 @@ Ordered=Encomendado OrderCreated=As suas encomendas foram criadas OrderFail=Ocorreu um erro durante a criação das suas encomendas CreateOrders=Criar encomendas +# ToBillSeveralOrderSelectCustomer=To create an invoice for several orders, click first onto customer, then choose "%s". diff --git a/htdocs/langs/pt_PT/other.lang b/htdocs/langs/pt_PT/other.lang index 76874eec822..c1e708a0734 100644 --- a/htdocs/langs/pt_PT/other.lang +++ b/htdocs/langs/pt_PT/other.lang @@ -49,14 +49,15 @@ Miscellaneous=Diversos NbOfActiveNotifications=Número Notificações PredefinedMailTest=Este é um email de teste. \\ NO duas linhas são separadas por um enter. PredefinedMailTestHtml=Este é um email de teste (o teste de palavra deve ser em negrito).
As duas linhas são separadas por um enter. -PredefinedMailContentSendInvoice=__CONTACTCIVNAME__ \n\n Juntamos a factura __FACREF__\n\n__PERSONALIZED__Cordialmente\n\n__SIGNATURE__ -PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__ \n\n Damos conhecimento que a factura __FACREF__ parece não estar paga. Segue em anexo, para que possa rever.\n\n__PERSONALIZED__Cordialmente\n\n__SIGNATURE__ -PredefinedMailContentSendProposal=__CONTACTCIVNAME__ \n\n Juntamos o orçamento __PROPREF__\n\n__PERSONALIZED__Cordialmente\n\n__SIGNATURE__ -PredefinedMailContentSendOrder=__CONTACTCIVNAME__ \n\n Juntamos o pedido __ORDERREF__\n\n__PERSONALIZED__Cordialmente\n\n__SIGNATURE__ -PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__ \n\nVocê vai encontrar aqui o nosso fim __ORDERREF__ \n\n__PERSONALIZED__Sincerely \n\n__SIGNATURE__ -PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__ \n\nVocê vai encontrar aqui a factura __FACREF__ \n\n__PERSONALIZED__ Sinceramente \n\n__SIGNATURE__ -PredefinedMailContentSendShipping=__CONTACTCIVNAME__ \n\nVocê vai encontrar aqui o transporte __SHIPPINGREF__ \n\n__PERSONALIZED__Sincerely \n\n__SIGNATURE__ -PredefinedMailContentSendFichInter=__CONTACTCIVNAME__ \n\nVocê vai encontrar aqui a intervenção __FICHINTERREF__ \n\n__PERSONALIZED__Sincerely \n\n__SIGNATURE__ +# PredefinedMailContentSendInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__\n\nWe would like to warn you that the invoice __FACREF__ seems to not being payed. So this is the invoice in attachment again, as a reminder.\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendProposal=__CONTACTCIVNAME__\n\nYou will find here the commercial proposal __PROPREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendOrder=__CONTACTCIVNAME__\n\nYou will find here the order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__\n\nYou will find here our order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendShipping=__CONTACTCIVNAME__\n\nYou will find here the shipping __SHIPPINGREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendFichInter=__CONTACTCIVNAME__\n\nYou will find here the intervention __FICHINTERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentThirdparty=__CONTACTCIVNAME__\n\n__PERSONALIZED__\n\n__SIGNATURE__ DemoDesc=Dolibarr não é um ERP monolítico, mas está composto de módulos funcionais simples e opcionais. uma demonstração que inclua todos estes módulos não tem sentido, já que nunca mais todos Os módulos são utilizados. De todas maneiras existem disponiveis muitos perfis de demonstração ChooseYourDemoProfil=Quer ver o perfil de demonstração que melhor corresponda e a sua Actividade... DemoFundation=Gestão de Membros de uma associação diff --git a/htdocs/langs/pt_PT/products.lang b/htdocs/langs/pt_PT/products.lang index cd6bd03e1d7..7ed99325f81 100644 --- a/htdocs/langs/pt_PT/products.lang +++ b/htdocs/langs/pt_PT/products.lang @@ -13,6 +13,10 @@ NewProduct=Novo Produto NewService=Novo Serviço ProductCode=Código Produto ServiceCode=Código Serviço +# ProductVatMassChange=Mass VAT change +# ProductVatMassChangeDesc=This page can be used to modify a VAT rate defined on products or services from a value to another. Warning, this change is done on all database. +# MassBarcodeInit=Mass barcode init +# MassBarcodeInitDesc=This page can be used to initialize a barcode on objects that does not have barcode defined. Check before that setup of module barcode is complete. ProductAccountancyBuyCode=Contabilidade (código de compra) ProductAccountancySellCode=Contabilidade (código vender) ProductOrService=Produto ou Serviço @@ -173,8 +177,8 @@ CustomCode=Código alfandega CountryOrigin=País de origem HiddenIntoCombo=Escondido em listas de seleção Nature=Natureza -# ProductCodeModel=Product code template -# ServiceCodeModel=Service code template +# ProductCodeModel=Product ref template +# ServiceCodeModel=Service ref template # AddThisProductCard=Create product card # HelpAddThisProductCard=This option allows you to create or clone a product if it does not exist. # AddThisServiceCard=Create service card @@ -216,5 +220,10 @@ BuildPageToPrint=Gerar página para impressão # DefinitionOfBarCodeForThirdpartyNotComplete=Definition of type or value of bar code non complete for thirdparty %s. BarCodeDataForProduct=Informações de código de barras do produto %s: BarCodeDataForThirdparty=Informações de código de barras do terceiro %s: -# BarcodeStickersMask=xxx - +# ResetBarcodeForAllRecords=Define barcode value for all records (this will also reset barcode value already defined with new values) +# PriceByCustomer=Price by customer +# PriceCatalogue=Catalogue Price +# PricingRule=Pricing Rules +# AddCustomerPrice=Add price by customers +# ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +# PriceByCustomerLog=Price by customer log diff --git a/htdocs/langs/pt_PT/projects.lang b/htdocs/langs/pt_PT/projects.lang index 754f227ad50..5ae5b8c4be3 100644 --- a/htdocs/langs/pt_PT/projects.lang +++ b/htdocs/langs/pt_PT/projects.lang @@ -1,4 +1,6 @@ # Dolibarr language file - Source file is en_US - projects +# RefProject=Ref. project +# ProjectId=Project Id Project=Projeto Projects=Projetos SharedProject=Todos @@ -30,11 +32,18 @@ TimeSpent=Tempo Dispendido TimesSpent=Tempos Dispendidos RefTask=Ref. da Tarefa LabelTask=Etiqueta de Tarefa +# TaskTimeSpent=Time spent on tasks +# TaskTimeUser=Task time user +# TaskTimeNote=Task time note +# TaskTimeDate=Task time date NewTimeSpent=Novo Tempo Dispendido MyTimeSpent=Meu Tempo Dispendido MyTasks=Minhas Tarefas Tasks=Tarefas Task=Tarefa +# TaskDateStart=Task start date +# TaskDateEnd=Task end date +# TaskDescription=Task description NewTask=Nova Tarefa AddTask=Adicionar Tarefa AddDuration=Adicionar Duração @@ -100,12 +109,12 @@ ProjectCreatedInDolibarr=Projeto %s criado ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Líder do projeto TypeContact_project_external_PROJECTLEADER=Líder do projeto -TypeContact_project_internal_PROJECTCONTRIBUTOR=Contribuinte -TypeContact_project_external_PROJECTCONTRIBUTOR=Contribuinte +# TypeContact_project_internal_PROJECTCONTRIBUTOR=Contributor +# TypeContact_project_external_PROJECTCONTRIBUTOR=Contributor TypeContact_project_task_internal_TASKEXECUTIVE=Tarefa executiva TypeContact_project_task_external_TASKEXECUTIVE=Tarefa executiva -TypeContact_project_task_internal_TASKCONTRIBUTOR=Contribuinte -TypeContact_project_task_external_TASKCONTRIBUTOR=Contribuinte +# TypeContact_project_task_internal_TASKCONTRIBUTOR=Contributor +# TypeContact_project_task_external_TASKCONTRIBUTOR=Contributor # SelectElement=Select element # AddElement=Link to element # Documents models diff --git a/htdocs/langs/pt_PT/stocks.lang b/htdocs/langs/pt_PT/stocks.lang index ebb18212baa..f98e102ced3 100644 --- a/htdocs/langs/pt_PT/stocks.lang +++ b/htdocs/langs/pt_PT/stocks.lang @@ -94,14 +94,20 @@ DesiredStock=Stock desejado # StockToBuy=To order # Replenishment=Replenishment # ReplenishmentOrders=Replenishment orders -# UseVirtualStock=Use virtual stock instead of physical stock +# VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differs +# UseVirtualStockByDefault=Use virtual stock by default, instead of physical stock, for replenishment feature +# UseVirtualStock=Use virtual stock +# UsePhysicalStock=Use physical stock +# CurentSelectionMode=Curent selection mode +# CurentlyUsingVirtualStock=Virtual stock +# CurentlyUsingPhysicalStock=Physical stock # RuleForStockReplenishment=Rule for stocks replenishment # SelectProductWithNotNullQty=Select at least one product with a qty not null and a supplier AlertOnly= Só Alertas # WarehouseForStockDecrease=The warehouse %s will be used for stock decrease # WarehouseForStockIncrease=The warehouse %s will be used for stock increase ForThisWarehouse=Para este armazém -# ReplenishmentStatusDesc=This is list of all product with a physical stock lower than desired stock (or alert value if checkbox "alert only" is checked) and suggest you to create supplier orders to fill the difference. +# ReplenishmentStatusDesc=This is list of all product with a stock lower than desired stock (or lower than alert value if checkbox "alert only" is checked), and suggest you to create supplier orders to fill the difference. # ReplenishmentOrdersDesc=This is list of all opened supplier orders # Replenishments=Replenishments # NbOfProductBeforePeriod=Quantity of product %s in stock before selected period (< %s) diff --git a/htdocs/langs/ro_RO/admin.lang b/htdocs/langs/ro_RO/admin.lang index fc1aba94dee..50cccb00413 100644 --- a/htdocs/langs/ro_RO/admin.lang +++ b/htdocs/langs/ro_RO/admin.lang @@ -287,7 +287,7 @@ CurrentVersion=Dolibarr versiunea curentă CallUpdatePage=Du-te la pagina care se actualizează datele şi structura bazei de date %s. LastStableVersion=Ultima versiune stabilă GenericMaskCodes=Puteți introduce orice mască de numerotare. În această mască, ar putea fi folosit următoarele etichete:
{000000} corespunde unui număr care va fi incrementat pe fiecare% s. Introduceți cât mai multe zerouri ca lungimea dorită a contra. Contorul va fi completat cu zerouri la stânga, în scopul de a avea cât mai multe zerouri ca masca.
{000000} +000 fel ca și anterior, dar o compensare corespunzător cu numărul din dreapta semnului + se aplică începând cu prima% s.
{000000 @ x} fel ca și anterior, dar contorul este resetat la zero atunci când se ajunge la o lună x (x între 1 și 12, sau 0 pentru a folosi primele luni ale anului fiscal definite în configurația dvs., sau 99 pentru a reseta la zero în fiecare lună ). Dacă această opțiune este folosită și x este 2 sau mai mare, atunci secvența {aa} {mm} sau {AAAA} {mm} este de asemenea necesară.
{Dd} zi (01 la 31).
{Mm} luni (01 la 12).
{AA}, {AAAA} sau {y} an peste 2, 4 sau 1 numere.
-# GenericMaskCodes2={cccc} the client code
{cccc000} the client code on n characters is followed by a client's ref counter without offset and zeroized with the global counter.
{tttt} The code of company type on n characters (see dictionary-company types).
+# GenericMaskCodes2={cccc} the client code on n characters
{cccc000} the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.
{tttt} The code of company type on n characters (see dictionary-company types).
GenericMaskCodes3=Toate celelalte caractere în masca va rămâne intactă.
Spaţiile nu sunt permise.
GenericMaskCodes4a=Exemplu pe 99th %s de-a treia parte TheCompany făcut 2007-01-31:
GenericMaskCodes4b=Exemplu de la o terţă parte a creat pe 2007-03-01:
@@ -345,8 +345,6 @@ SecurityTokenIsUnique=Utilizaţi un unic parametru securekey pentru fiecare URL EnterRefToBuildUrl=Introduceţi de referinţă pentru %s obiect GetSecuredUrl=Obţineţi URL-ul calculat ButtonHideUnauthorized=Ascunde butoane pentru acțiuni neautorizate în loc să arate butoane dezactivate -ProductVatMassChange=Modificare TVA în masă -ProductVatMassChangeDesc=Această pagină poate fi folosită pentru a modifica o rată TVA definită la produse sau servicii de la o valoare la alta. Atenție, această schimbare se face pe toată bazade date. OldVATRates=Vechea rată TVA NewVATRates=Noua rată TVA PriceBaseTypeToChange=Modifică la prețuri cu valoarea de referință de bază definit pe @@ -381,6 +379,16 @@ KeepEmptyToUseDefault=Lasă gol pentru utilizarea valorii implicite DefaultLink=Link implicit ValueOverwrittenByUserSetup=Atenție, această valoare poate fi suprascrisă de setările specifice utilizatorului (fiecare utilizator poate seta propriul url clicktodial) ExternalModule=Modul extern - instalat în directorul %s +# BarcodeInitForThirdparties=Mass barcode init for thirdparties +# BarcodeInitForProductsOrServices=Mass barcode init or reset for products or services +# CurrentlyNWithoutBarCode=Currently, you have %s records on %s %s without barcode defined. +# InitEmptyBarCode=Init value for next %s empty records +# EraseAllCurrentBarCode=Erase all current barcode values +# ConfirmEraseAllCurrentBarCode=Are you sure you want to erase all current barcode values ? +# AllBarcodeReset=All barcode values have been removed +# NoBarcodeNumberingTemplateDefined=No numbering barcode template enabled into barcode module setup. +# NoRecordWithoutBarcodeDefined=No record with no barcode value defined. + # Modules Module0Name=Utilizatori & grupuri @@ -510,6 +518,8 @@ Module59000Name=Marje Module59000Desc=Modul management marje Module60000Name=Comisioane Module60000Desc=Modul management comisioane +# Module150010Name=Batch number, eat-by date and sell-by date +# Module150010Desc=batch number, eat-by date and sell-by date management for product Permission11=Citeşte facturi Permission12=Creaţi/Modificare facturi Permission13=Unvalidate facturi @@ -726,8 +736,8 @@ Permission55001=Citeşte sondaje Permission55002=Cereare/modificare sondaje # Permission59001=Read commercial margins # Permission59002=Define commercial margins -# DictionaryCompanyType=Company types -# DictionaryCompanyJuridicalType=Juridical kinds of company +# DictionaryCompanyType=Thirdparties type +# DictionaryCompanyJuridicalType=Juridical kinds of thirdparties # DictionaryProspectLevel=Prospect potential level # DictionaryCanton=State/Cantons # DictionaryRegion=Regions @@ -959,7 +969,7 @@ SimpleNumRefModelDesc=Întoarce numărul de referinţă cu formatul %syymm-NNNN ShowProfIdInAddress=Arată id professionnal cu adrese pe documente ShowVATIntaInAddress=Ascunde codul TVA Intra cu adresa pe documente TranslationUncomplete=Parţială traducere -SomeTranslationAreUncomplete=Unele limbi pot fi traduse parţial sau pot conţine erori. Dacă detectaţi ceva, puteţi rezolva lang fişiere text în directorul htdocs / langs. Şi să le prezinte pe forum la http://www.dolibarr.org . +# SomeTranslationAreUncomplete=Some languages may be partially translated or may contains errors. If you detect some, you can fix language files registering to http://transifex.com/projects/p/dolibarr/. MenuUseLayout=Asiguraţi-meniu vertical hidable (JavaScript opţiune nu trebuie să fi dezactivat) MAIN_DISABLE_METEO=Dezactivează meteo vedere TestLoginToAPI=Testaţi logati pentru a API @@ -985,6 +995,7 @@ ExtraFieldsProject=Atribute complementare (proiecte) ExtraFieldsProjectTask=Atribute complementare (sarcini) ExtraFieldHasWrongValue=Fi atribuite %s are o valoare greşită. AlphaNumOnlyCharsAndNoSpace=numai caractere alfanumerice fără spaţiu +# AlphaNumOnlyLowerCharsAndNoSpace=only alphanumericals and lower case characters without space SendingMailSetup=Setup de trimiteri prin e-mail SendmailOptionNotComplete=Atenţie, pe unele sisteme Linux, pentru a trimite e-mail de la e-mail, sendmail configurare execuţie trebuie să conatins optiunea-ba (mail.force_extra_parameters parametri în fişierul php.ini). Dacă nu unor destinatari a primi e-mailuri, încercaţi să editaţi acest parametru PHP cu mail.force_extra_parameters =-BA). PathToDocuments=Cale de acces documente @@ -1269,7 +1280,7 @@ PerfDolibarr=Raport performanţă setări/optimizări YouMayFindPerfAdviceHere=Veți găsi pe această pagină unele verificări sau sfaturi privind performanţa. NotInstalled=Neinstalat, astfel serverul dvs nu este încetinit de acesta. ApplicativeCache=Cache aplicativ -MemcachedNotAvailable=Niciun cache aplicatie găsit. Puteți îmbunătăți performanța prin instalarea unui server de cache memcached și un modul capabil de a utiliza acest server cache. Mai multe informatii aici http://wiki.dolibarr.org/index.php/Module_MemCached_EN. Rețineți că o mulțime de furnizor de web hosting nu oferă astfel de server de cache. +# MemcachedNotAvailable=No applicative cache found. You can enhance performance by installing a cache server Memcached and a module able to use this cache server.
More information here http://wiki.dolibarr.org/index.php/Module_MemCached_EN.
Note that a lot of web hosting provider does not provide such cache server. OPCodeCache=Cache OPCode NoOPCodeCacheFound=Niciun cache Opcode găsit. Puteţi să folosiți un alt cache Opcode decât XCache sau eAccelerator (bun), poate nu ai cache Opcode (foarte rău). HTTPCacheStaticResources=HTTP cache pentru resursele statice (CSS, img, javascript) diff --git a/htdocs/langs/ro_RO/agenda.lang b/htdocs/langs/ro_RO/agenda.lang index d36a6a8555f..c712c49d02c 100644 --- a/htdocs/langs/ro_RO/agenda.lang +++ b/htdocs/langs/ro_RO/agenda.lang @@ -52,6 +52,7 @@ InvoiceSentByEMail=Factura client %s trimisă prin e-mail SupplierOrderSentByEMail=Comanda furnizor %s trimisă prin e-mail SupplierInvoiceSentByEMail=Factura furnizor %s trimise prin e-mail ShippingSentByEMail=Avizul de expediţie %s trimis prin e-mail +# ShippingValidated= Shipping %s validated InterventionSentByEMail=Intervenţia %s trimisă prin e-mail NewCompanyToDolibarr= Terţ creat DateActionPlannedStart= Data planificată a începerii diff --git a/htdocs/langs/ro_RO/cashdesk.lang b/htdocs/langs/ro_RO/cashdesk.lang index e4fa26b76c9..dd4279eaf29 100644 --- a/htdocs/langs/ro_RO/cashdesk.lang +++ b/htdocs/langs/ro_RO/cashdesk.lang @@ -37,3 +37,4 @@ ShowCompany=Afişare companie ShowStock=Arată depozit DeleteArticle=Faceţi clic pentru a elimina acest articol FilterRefOrLabelOrBC=Caută (Ref/Etichetă) +# UserNeedPermissionToEditStockToUsePos=You ask to decrease stock on invoice creation, so user that use POS need to have permission to edit stock. diff --git a/htdocs/langs/ro_RO/errors.lang b/htdocs/langs/ro_RO/errors.lang index 329df79cf53..735cbf4205c 100644 --- a/htdocs/langs/ro_RO/errors.lang +++ b/htdocs/langs/ro_RO/errors.lang @@ -26,8 +26,11 @@ ErrorFromToAccountsMustDiffers=Sursa obiective şi conturi bancare trebuie să f ErrorBadThirdPartyName=Bad valoarea de terţă parte nume ErrorProdIdIsMandatory=%s este obligatoriu ErrorBadCustomerCodeSyntax=Bad sintaxă pentru codul de client +# ErrorBadBarCodeSyntax=Bad syntax for bar code ErrorCustomerCodeRequired=Clientul codul necesar +# ErrorBarCodeRequired=Bar code required ErrorCustomerCodeAlreadyUsed=Clientul codul folosit deja +# ErrorBarCodeAlreadyUsed=Bar code already used ErrorPrefixRequired=Prefix necesare ErrorUrlNotValid=Site-ul este incorect adresa ErrorBadSupplierCodeSyntax=Bad sintaxă pentru furnizor cod @@ -63,6 +66,7 @@ ErrorNoValueForCheckBoxType=Completaţi valorile pentru lista checkbox ErrorNoValueForRadioType=Completaţi valorile pentru lista radio ErrorBadFormatValueList=Valorile din lista nu pot aveae mai mult de o virgulă: % s , dar trebuie să aibă cel puțin una: cheie, valoare ErrorFieldCanNotContainSpecialCharacters=Câmp %s trebuie să nu conţine caractere speciale. +# ErrorFieldCanNotContainSpecialNorUpperCharacters=Field %s must not contains special characters, nor upper case characters. ErrorNoAccountancyModuleLoaded=Nu activat modul de contabilitate # ErrorExportDuplicateProfil=This profile name already exists for this export set. ErrorLDAPSetupNotComplete=Dolibarr-LDAP de potrivire nu este completă. diff --git a/htdocs/langs/ro_RO/exports.lang b/htdocs/langs/ro_RO/exports.lang index 0e37dac33e1..04a36ad929a 100644 --- a/htdocs/langs/ro_RO/exports.lang +++ b/htdocs/langs/ro_RO/exports.lang @@ -123,6 +123,10 @@ BankCode=Cod bancă DeskCode=Cod birou BankAccountNumber=Număr cont BankAccountNumberKey=Cheie +# SpecialCode=Special code +# ExportStringFilter=%% allows replacing one or more characters in the text +# ExportDateFilter='AAAA' 'AAAAMM' 'AAAAMMJJ': filters by one year/month/day
'AAAA+AAAA' 'AAAAMM+AAAAMM' 'AAAAMMJJ+AAAAMMJJ': filters over a range of years/months/days
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filters on the following years/months/days
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filters on the previous years/months/days +# ExportNumericFilter='NNNNN' filters by one value
'NNNNN+NNNNN' filters over a range of values
'>NNNNN' filters by lower values
'>NNNNN' filters by higher values ## filters SelectFilterFields=Dacă doriți să filtrați pe anumite valori, doar introduceţi valorile aici. FilterableFields=Câmpuri filtrabile diff --git a/htdocs/langs/ro_RO/mails.lang b/htdocs/langs/ro_RO/mails.lang index 3f28c3bfcf7..4fee766dc57 100644 --- a/htdocs/langs/ro_RO/mails.lang +++ b/htdocs/langs/ro_RO/mails.lang @@ -79,6 +79,13 @@ MailtoEMail=Hyper link către email ActivateCheckRead=Permite utiliyarea linkului "Dezabonare" ActivateCheckReadKey=Utilizaţi cheia pentru a cripta URL-ul folosit pentru funcţiunile "Confirmare de citire" și "Dezabonare" EMailSentToNRecipients=EMail trimis la %s destinatari. +# EachInvoiceWillBeAttachedToEmail=A document using default invoice document template will be created and attached to each email. +# MailTopicSendRemindUnpaidInvoices=Remind of invoice %s (%s) +# SendRemind=Send remind by EMails +# RemindSent=%S remind(s) sent +# AllRecipientSelectedForRemind=All thirdparties selected and if an email is set (note that one mail per invoice will be sent) +# NoRemindSent=No remind by EMail sent +# ResultOfMassSending=Result of mass remind sending by EMail # Libelle des modules de liste de destinataires mailing MailingModuleDescContactCompanies=De contact ale tuturor părţilor terţe (client, perspectiva, furnizor, ...) diff --git a/htdocs/langs/ro_RO/main.lang b/htdocs/langs/ro_RO/main.lang index d9ce9c0b163..6f5c470b380 100644 --- a/htdocs/langs/ro_RO/main.lang +++ b/htdocs/langs/ro_RO/main.lang @@ -572,7 +572,7 @@ TotalWoman=Total TotalMan=Total NeverReceived=Niciodată primit Canceled=Anulat -# YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu setup - dictionnary +# YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu setup - dictionary Color=Culoare Documents=Fişiere ataşate DocumentsNb=Fişiere ataşate (%s) diff --git a/htdocs/langs/ro_RO/opensurvey.lang b/htdocs/langs/ro_RO/opensurvey.lang index 227ef71ba85..86d62bf50c2 100644 --- a/htdocs/langs/ro_RO/opensurvey.lang +++ b/htdocs/langs/ro_RO/opensurvey.lang @@ -35,6 +35,7 @@ AddNewColumn=Adaugă coloană nouă TitleChoice=Etichetă Alegere ExportSpreadsheet=Exportă rezultatul în foaie de calcul ExpireDate=Data limită +# NbOfSurveys=Number of surveys NbOfVoters=Nr-ul voturilor SurveyResults=Rezultate PollAdminDesc=Vi se permite să schimbaţi toate liniile de vot ale acestui sondaj cu butonul "Editează". Puteți, de asemenea, elimina o coloană sau o linie cu % s. Puteți adăuga, de asemenea, o nouă coloană cu % s. diff --git a/htdocs/langs/ro_RO/orders.lang b/htdocs/langs/ro_RO/orders.lang index f9fa5d40586..91d54bc413e 100644 --- a/htdocs/langs/ro_RO/orders.lang +++ b/htdocs/langs/ro_RO/orders.lang @@ -55,6 +55,7 @@ DraftOrWaitingShipped=Comenzi Schiţe sau validate încă neexpediate MenuOrdersToBill=Comenzi livrate MenuOrdersToBill2=Comenzi de facturat SearchOrder=Caută Comanda +# SearchACustomerOrder=Search a customer order ShipProduct=Expediază produs Discount=Discount CreateOrder=Crează Comanda @@ -164,3 +165,4 @@ Ordered=Comandat OrderCreated=Comenzile dvs au fost generate OrderFail=O eroare întâlnită în timpul creării comezilor dvs CreateOrders=Crează Comenzi +# ToBillSeveralOrderSelectCustomer=To create an invoice for several orders, click first onto customer, then choose "%s". diff --git a/htdocs/langs/ro_RO/other.lang b/htdocs/langs/ro_RO/other.lang index 13f5fd18dcf..043645921c9 100644 --- a/htdocs/langs/ro_RO/other.lang +++ b/htdocs/langs/ro_RO/other.lang @@ -49,14 +49,15 @@ Miscellaneous=Diverse NbOfActiveNotifications=Număr de notificări PredefinedMailTest=Acesta este un e-mail de test. \\ NMesajul două linii sunt separate printr-un retur de car. PredefinedMailTestHtml=Acesta este un e-mail de testare (test de cuvânt trebuie să fie în aldine).
Cele două linii sunt separate printr-un retur de car. -PredefinedMailContentSendInvoice=__CONTACTCIVNAME__ \n\n Veţi găsi aici factura __FACREF__ \n\n__PERSONALIZED__ respect \n\n__SIGNATURE__ -PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__ \n\n Ne-ar dori să vă avertizeze că __FACREF__ factura pare a nu fi platit. Deci, aceasta este factură în ataşamentul din nou, ca un memento. \n\n__PERSONALIZED__ respect \n\n__SIGNATURE__ -PredefinedMailContentSendProposal=__CONTACTCIVNAME__ \n\n Veţi găsi aici comercial propoal __PROPREF__ \n\n__PERSONALIZED__ respect \n\n__SIGNATURE__ -PredefinedMailContentSendOrder=__CONTACTCIVNAME__ \n\n Veţi găsi aici, pentru __ORDERREF__ \n\n__PERSONALIZED__ respect \n\n__SIGNATURE__ -PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__ \n\n Veţi găsi aici noastre pentru __ORDERREF__ \n\n__PERSONALIZED__Sincerely \n\n__SIGNATURE__ -PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__ \n\n Veţi găsi aici factura __FACREF__ \n\n__PERSONALIZED__Sincerely \n\n__SIGNATURE__ -PredefinedMailContentSendShipping=__CONTACTCIVNAME__ \n\n Veţi găsi aici de transport maritim __SHIPPINGREF__ \n\n__PERSONALIZED__ respect \n\n__SIGNATURE__ -PredefinedMailContentSendFichInter=__CONTACTCIVNAME__ \n\n Veţi găsi aici de intervenţie __FICHINTERREF__ \n\n__PERSONALIZED__ respect \n\n__SIGNATURE__ +# PredefinedMailContentSendInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__\n\nWe would like to warn you that the invoice __FACREF__ seems to not being payed. So this is the invoice in attachment again, as a reminder.\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendProposal=__CONTACTCIVNAME__\n\nYou will find here the commercial proposal __PROPREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendOrder=__CONTACTCIVNAME__\n\nYou will find here the order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__\n\nYou will find here our order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendShipping=__CONTACTCIVNAME__\n\nYou will find here the shipping __SHIPPINGREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendFichInter=__CONTACTCIVNAME__\n\nYou will find here the intervention __FICHINTERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentThirdparty=__CONTACTCIVNAME__\n\n__PERSONALIZED__\n\n__SIGNATURE__ DemoDesc=Dolibarr este un compact ERP / CRM compus din mai multe module funcţionale. Un demo care include toate modulele nu înseamnă nimic, deoarece aceasta nu se produce. Deci, mai multe demo-profile sunt disponibile. ChooseYourDemoProfil=Alegeţi demo care se potrivesc cu profilul de activitate ... DemoFundation=Gestionare membrii unui Fundaţia diff --git a/htdocs/langs/ro_RO/products.lang b/htdocs/langs/ro_RO/products.lang index 42cc2e4db01..4d8d45be724 100644 --- a/htdocs/langs/ro_RO/products.lang +++ b/htdocs/langs/ro_RO/products.lang @@ -13,6 +13,10 @@ NewProduct=Produs nou NewService=Serviciu nou ProductCode=Cod produs ServiceCode=Cod serviciu +# ProductVatMassChange=Mass VAT change +# ProductVatMassChangeDesc=This page can be used to modify a VAT rate defined on products or services from a value to another. Warning, this change is done on all database. +# MassBarcodeInit=Mass barcode init +# MassBarcodeInitDesc=This page can be used to initialize a barcode on objects that does not have barcode defined. Check before that setup of module barcode is complete. ProductAccountancyBuyCode=Cont Contabilitate (cumpărare) ProductAccountancySellCode=Cont Contabilitate (vânzare) ProductOrService=Produs sau serviciu @@ -173,8 +177,8 @@ CustomCode=Codul vamal CountryOrigin=Ţara de origine HiddenIntoCombo=Ascuns în liste selectaţi Nature=Natura -ProductCodeModel=Template cod produs -ServiceCodeModel=Template cod serviciu +# ProductCodeModel=Product ref template +# ServiceCodeModel=Service ref template AddThisProductCard=Crează Fişă produs HelpAddThisProductCard=Această opţiune vă permite să creaţi sau clonaţi un produs dacă acesta nu există AddThisServiceCard=Crează Fişă Serviciu @@ -216,5 +220,10 @@ Quarter4=Trimestru 4. # DefinitionOfBarCodeForThirdpartyNotComplete=Definition of type or value of bar code non complete for thirdparty %s. # BarCodeDataForProduct=Barcode information of product %s : # BarCodeDataForThirdparty=Barcode information of thirdparty %s : -# BarcodeStickersMask=xxx - +# ResetBarcodeForAllRecords=Define barcode value for all records (this will also reset barcode value already defined with new values) +# PriceByCustomer=Price by customer +# PriceCatalogue=Catalogue Price +# PricingRule=Pricing Rules +# AddCustomerPrice=Add price by customers +# ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +# PriceByCustomerLog=Price by customer log diff --git a/htdocs/langs/ro_RO/projects.lang b/htdocs/langs/ro_RO/projects.lang index a87be81b54e..f622c6dd22c 100644 --- a/htdocs/langs/ro_RO/projects.lang +++ b/htdocs/langs/ro_RO/projects.lang @@ -1,4 +1,6 @@ # Dolibarr language file - Source file is en_US - projects +# RefProject=Ref. project +# ProjectId=Project Id Project=Proiect Projects=Proiecte SharedProject=Toată lumea @@ -30,11 +32,18 @@ TimeSpent=Timp comsumat TimesSpent=Timpi consumaţi RefTask=Ref. Task LabelTask=Eticheta Task +# TaskTimeSpent=Time spent on tasks +# TaskTimeUser=Task time user +# TaskTimeNote=Task time note +# TaskTimeDate=Task time date NewTimeSpent=Timp nou consumat MyTimeSpent=Timpul meu consumat MyTasks=TAskurile mele Tasks=Taskuri Task=Task +# TaskDateStart=Task start date +# TaskDateEnd=Task end date +# TaskDescription=Task description NewTask=Task nou AddTask=Adaugă Task AddDuration=Adaugă durată @@ -100,12 +109,12 @@ ProjectCreatedInDolibarr=Proiect %s creat ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Şef de Proiect TypeContact_project_external_PROJECTLEADER=Şef de Proiect -TypeContact_project_internal_PROJECTCONTRIBUTOR=Contribuabil -TypeContact_project_external_PROJECTCONTRIBUTOR=Contribuabil +# TypeContact_project_internal_PROJECTCONTRIBUTOR=Contributor +# TypeContact_project_external_PROJECTCONTRIBUTOR=Contributor TypeContact_project_task_internal_TASKEXECUTIVE=Responsabil TypeContact_project_task_external_TASKEXECUTIVE=Responsabil -TypeContact_project_task_internal_TASKCONTRIBUTOR=Contributor -TypeContact_project_task_external_TASKCONTRIBUTOR=Contributor +# TypeContact_project_task_internal_TASKCONTRIBUTOR=Contributor +# TypeContact_project_task_external_TASKCONTRIBUTOR=Contributor SelectElement=Selectați elementul AddElement=Link către element # Documents models diff --git a/htdocs/langs/ro_RO/stocks.lang b/htdocs/langs/ro_RO/stocks.lang index 82f9b1d1fb2..6a407b94efa 100644 --- a/htdocs/langs/ro_RO/stocks.lang +++ b/htdocs/langs/ro_RO/stocks.lang @@ -94,14 +94,20 @@ DesiredStock=Stoc dorit StockToBuy=De comandat Replenishment=Reaprovizionare ReplenishmentOrders=Comenzi reaprovizionare -UseVirtualStock=Utilizaţi stocul virtual in locul stocului fizic +# VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differs +# UseVirtualStockByDefault=Use virtual stock by default, instead of physical stock, for replenishment feature +# UseVirtualStock=Use virtual stock +# UsePhysicalStock=Use physical stock +# CurentSelectionMode=Curent selection mode +# CurentlyUsingVirtualStock=Virtual stock +# CurentlyUsingPhysicalStock=Physical stock RuleForStockReplenishment=Reguli pentru reaprovizionarea stocului SelectProductWithNotNullQty=Selectați cel puțin un produs cu cantitatea nenulă și un furnizor AlertOnly= Numai Alerte WarehouseForStockDecrease=Depozitul %s va fi utilizat pentru scăderea stocului WarehouseForStockIncrease=Depozitul %s va fi utilizat pentru creşterea stocului ForThisWarehouse=Pentru acest depozit -ReplenishmentStatusDesc=Aceasta este lista cu toate produsele având stocul fizic mai mic decât stocul dorit (sau valoarea de alertă dacă casuţa "doar alertă " este bifată) și sugerăm să vă creaţi comenzi furnizor pentru a umple diferența. +# ReplenishmentStatusDesc=This is list of all product with a stock lower than desired stock (or lower than alert value if checkbox "alert only" is checked), and suggest you to create supplier orders to fill the difference. ReplenishmentOrdersDesc=Aceasta este lista cu toate comenzile furnizor deschise Replenishments=Reaprovizionări NbOfProductBeforePeriod=Cantitatea de produs %s în stoc înainte de perioada selectată (< %s) diff --git a/htdocs/langs/ru_RU/admin.lang b/htdocs/langs/ru_RU/admin.lang index b805ffea0e9..ab45b59b6c7 100644 --- a/htdocs/langs/ru_RU/admin.lang +++ b/htdocs/langs/ru_RU/admin.lang @@ -287,7 +287,7 @@ CurrentVersion=Dolibarr текущей версии CallUpdatePage=Зайдите на страницу, которая обновления структуры базы данных и данных %s. LastStableVersion=Последняя стабильная версия # GenericMaskCodes=You may enter any numbering mask. In this mask, the following tags could be used:
{000000} corresponds to a number which will be incremented on each %s. Enter as many zeros as the desired length of the counter. The counter will be completed by zeros from the left in order to have as many zeros as the mask.
{000000+000} same as previous but an offset corresponding to the number to the right of the + sign is applied starting on first %s.
{000000@x} same as previous but the counter is reset to zero when month x is reached (x between 1 and 12, or 0 to use the early months of fiscal year defined in your configuration, or 99 to reset to zero every month). If this option is used and x is 2 or higher, then sequence {yy}{mm} or {yyyy}{mm} is also required.
{dd} day (01 to 31).
{mm} month (01 to 12).
{yy}, {yyyy} or {y} year over 2, 4 or 1 numbers.
-# GenericMaskCodes2={cccc} the client code
{cccc000} the client code on n characters is followed by a client's ref counter without offset and zeroized with the global counter.
{tttt} The code of company type on n characters (see dictionary-company types).
+# GenericMaskCodes2={cccc} the client code on n characters
{cccc000} the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.
{tttt} The code of company type on n characters (see dictionary-company types).
GenericMaskCodes3=Все другие символы в маске останутся нетронутыми.
Пространства, не допускается.
GenericMaskCodes4a=Пример на 99-м% х третья сторона TheCompany сделали 2007-01-31:
GenericMaskCodes4b=Пример на сторонних из 2007-03-01:
@@ -345,8 +345,6 @@ SecurityTokenIsUnique=Используйте уникальный парамет EnterRefToBuildUrl=Введите ссылку на объект %s GetSecuredUrl=Получить рассчитывается URL # ButtonHideUnauthorized=Hide buttons for unauthorized actions instead of showing disabled buttons -# ProductVatMassChange=Mass VAT change -# ProductVatMassChangeDesc=This page can be used to modify a VAT rate defined on products or services from a value to another. Warning, this change is done on all database. # OldVATRates=Old VAT rate # NewVATRates=New VAT rate # PriceBaseTypeToChange=Modify on prices with base reference value defined on @@ -381,6 +379,16 @@ ExtrafieldPrice = Цена # DefaultLink=Default link # ValueOverwrittenByUserSetup=Warning, this value may be overwritten by user specific setup (each user can set his own clicktodial url) # ExternalModule=External module - Installed into directory %s +# BarcodeInitForThirdparties=Mass barcode init for thirdparties +# BarcodeInitForProductsOrServices=Mass barcode init or reset for products or services +# CurrentlyNWithoutBarCode=Currently, you have %s records on %s %s without barcode defined. +# InitEmptyBarCode=Init value for next %s empty records +# EraseAllCurrentBarCode=Erase all current barcode values +# ConfirmEraseAllCurrentBarCode=Are you sure you want to erase all current barcode values ? +# AllBarcodeReset=All barcode values have been removed +# NoBarcodeNumberingTemplateDefined=No numbering barcode template enabled into barcode module setup. +# NoRecordWithoutBarcodeDefined=No record with no barcode value defined. + # Modules Module0Name=И группами пользователей @@ -510,6 +518,8 @@ Module50200Desc= Модуль предлагает онлайн страницу # Module59000Desc=Module to manage margins # Module60000Name=Commissions # Module60000Desc=Module to manage commissions +# Module150010Name=Batch number, eat-by date and sell-by date +# Module150010Desc=batch number, eat-by date and sell-by date management for product Permission11=Читать счета Permission12=Создание/Изменение счета-фактуры Permission13=Unvalidate счетов @@ -726,8 +736,8 @@ Permission50202=Импортных операций # Permission55002=Create/modify surveys # Permission59001=Read commercial margins # Permission59002=Define commercial margins -# DictionaryCompanyType=Company types -# DictionaryCompanyJuridicalType=Juridical kinds of company +# DictionaryCompanyType=Thirdparties type +# DictionaryCompanyJuridicalType=Juridical kinds of thirdparties # DictionaryProspectLevel=Prospect potential level # DictionaryCanton=State/Cantons # DictionaryRegion=Regions @@ -959,7 +969,7 @@ SimpleNumRefModelDesc=Вернуться номер с форматом %syymm-N ShowProfIdInAddress=Показать профессионала идентификатор с адресами на документах # ShowVATIntaInAddress=Hide VAT Intra num with addresses on documents TranslationUncomplete=Частичный перевод -SomeTranslationAreUncomplete=Некоторые языки могут быть частично переведены или могут содержит ошибки. Если вы обнаружили некоторые, вы можете исправить. Lang текстовые файлы в каталоге htdocs/langs и представить их на форуме в http://www.dolibarr.org . +# SomeTranslationAreUncomplete=Some languages may be partially translated or may contains errors. If you detect some, you can fix language files registering to http://transifex.com/projects/p/dolibarr/. MenuUseLayout=Сделайте вертикальные hidable меню (опция JavaScript не должна быть отключена) MAIN_DISABLE_METEO=Отключить метео зрения TestLoginToAPI=Испытание Войти в API @@ -985,6 +995,7 @@ ExtraFields=Дополнительные атрибуты # ExtraFieldsProjectTask=Complementary attributes (tasks) ExtraFieldHasWrongValue=Обуслов %s имеет неверное значение. # AlphaNumOnlyCharsAndNoSpace=only alphanumericals characters without space +# AlphaNumOnlyLowerCharsAndNoSpace=only alphanumericals and lower case characters without space SendingMailSetup=Настройка отправки по электронной почте SendmailOptionNotComplete=Предупреждение, на некоторых системах Linux, для отправки электронной почты из электронной почты, Sendmail выполнения установки должны conatins опцию-ба (параметр mail.force_extra_parameters в файле php.ini). Если некоторые получатели не получают электронные письма, попытке изменить этот параметр с PHP mail.force_extra_parameters =-ба). PathToDocuments=Путь к документам @@ -1269,7 +1280,7 @@ ForANonAnonymousAccess=Для аутентифицированных досту # YouMayFindPerfAdviceHere=You will find on this page some checks or advices related to performance. # NotInstalled=Not installed, so your server is not slow down by this. # ApplicativeCache=Applicative cache -# MemcachedNotAvailable=No applicative cache found. You can enhance performance by installing a cache server Memcached and a module able to use this cache server. More information here http://wiki.dolibarr.org/index.php/Module_MemCached_EN. Note that a lot of web hosting provider does not provide such cache server. +# MemcachedNotAvailable=No applicative cache found. You can enhance performance by installing a cache server Memcached and a module able to use this cache server.
More information here http://wiki.dolibarr.org/index.php/Module_MemCached_EN.
Note that a lot of web hosting provider does not provide such cache server. # OPCodeCache=OPCode cache # NoOPCodeCacheFound=No OPCode cache found. May be you use another OPCode cache than XCache or eAccelerator (good), may be you don't have OPCode cache (very bad). # HTTPCacheStaticResources=HTTP cache for static resources (css, img, javascript) diff --git a/htdocs/langs/ru_RU/agenda.lang b/htdocs/langs/ru_RU/agenda.lang index 28f60754951..22e007d098c 100644 --- a/htdocs/langs/ru_RU/agenda.lang +++ b/htdocs/langs/ru_RU/agenda.lang @@ -52,6 +52,7 @@ InvoiceSentByEMail=Клиенту счет-фактура %s отправлен SupplierOrderSentByEMail=Поставщик порядке %s отправлены по электронной почте SupplierInvoiceSentByEMail=Поставщиком счета %s отправлены по электронной почте ShippingSentByEMail=Доставка %s отправлены по электронной почте +# ShippingValidated= Shipping %s validated InterventionSentByEMail=Вмешательство %s отправлены по электронной почте NewCompanyToDolibarr= Третья группа создала DateActionPlannedStart= Планируемая дата начала diff --git a/htdocs/langs/ru_RU/cashdesk.lang b/htdocs/langs/ru_RU/cashdesk.lang index 92f2d1d8524..221d09fdfc2 100644 --- a/htdocs/langs/ru_RU/cashdesk.lang +++ b/htdocs/langs/ru_RU/cashdesk.lang @@ -37,3 +37,4 @@ ShowCompany=Показать компании ShowStock=Показать склад DeleteArticle=Нажмите, чтобы удалить эту статью # FilterRefOrLabelOrBC=Search (Ref/Label) +# UserNeedPermissionToEditStockToUsePos=You ask to decrease stock on invoice creation, so user that use POS need to have permission to edit stock. diff --git a/htdocs/langs/ru_RU/errors.lang b/htdocs/langs/ru_RU/errors.lang index 53ae9a8eb58..3321e354f72 100644 --- a/htdocs/langs/ru_RU/errors.lang +++ b/htdocs/langs/ru_RU/errors.lang @@ -26,8 +26,11 @@ ErrorFromToAccountsMustDiffers=Источник и цели банковског ErrorBadThirdPartyName=Неправильное значение для сторонних имя # ErrorProdIdIsMandatory=The %s is mandatory ErrorBadCustomerCodeSyntax=Плохо синтаксис для заказчика код +# ErrorBadBarCodeSyntax=Bad syntax for bar code ErrorCustomerCodeRequired=Клиенту требуется код +# ErrorBarCodeRequired=Bar code required ErrorCustomerCodeAlreadyUsed=Клиент код уже используется +# ErrorBarCodeAlreadyUsed=Bar code already used ErrorPrefixRequired=Префикс требуется ErrorUrlNotValid=Адрес веб-сайта, является неверным ErrorBadSupplierCodeSyntax=Плохо синтаксис поставщиком код @@ -63,6 +66,7 @@ ErrorSizeTooLongForVarcharType=Размер слишком долго для с # ErrorNoValueForRadioType=Please fill value for radio list # ErrorBadFormatValueList=The list value cannot have more than one come : %s, but need at least one: llave,valores ErrorFieldCanNotContainSpecialCharacters=Поле %s не содержит специальных символов. +# ErrorFieldCanNotContainSpecialNorUpperCharacters=Field %s must not contains special characters, nor upper case characters. ErrorNoAccountancyModuleLoaded=Нет бухгалтерского модуля активируется # ErrorExportDuplicateProfil=This profile name already exists for this export set. ErrorLDAPSetupNotComplete=Dolibarr-LDAP соответствия не является полной. diff --git a/htdocs/langs/ru_RU/exports.lang b/htdocs/langs/ru_RU/exports.lang index a050af8d75c..99092e47aa0 100644 --- a/htdocs/langs/ru_RU/exports.lang +++ b/htdocs/langs/ru_RU/exports.lang @@ -123,6 +123,10 @@ BankCode=Код банка DeskCode=Код описания BankAccountNumber=Номер счета BankAccountNumberKey=Ключ +# SpecialCode=Special code +# ExportStringFilter=%% allows replacing one or more characters in the text +# ExportDateFilter='AAAA' 'AAAAMM' 'AAAAMMJJ': filters by one year/month/day
'AAAA+AAAA' 'AAAAMM+AAAAMM' 'AAAAMMJJ+AAAAMMJJ': filters over a range of years/months/days
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filters on the following years/months/days
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filters on the previous years/months/days +# ExportNumericFilter='NNNNN' filters by one value
'NNNNN+NNNNN' filters over a range of values
'>NNNNN' filters by lower values
'>NNNNN' filters by higher values ## filters # SelectFilterFields=If you want to filter on some values, just input values here. # FilterableFields=Champs Filtrables diff --git a/htdocs/langs/ru_RU/mails.lang b/htdocs/langs/ru_RU/mails.lang index daa69b11075..2d3b36f35e9 100644 --- a/htdocs/langs/ru_RU/mails.lang +++ b/htdocs/langs/ru_RU/mails.lang @@ -79,6 +79,13 @@ MailingStatusRead=Читать # ActivateCheckRead=Allow to use the "Unsubcribe" link # ActivateCheckReadKey=Key use to encrypt URL use for "Read Receipt" and "Unsubcribe" feature # EMailSentToNRecipients=EMail sent to %s recipients. +# EachInvoiceWillBeAttachedToEmail=A document using default invoice document template will be created and attached to each email. +# MailTopicSendRemindUnpaidInvoices=Remind of invoice %s (%s) +# SendRemind=Send remind by EMails +# RemindSent=%S remind(s) sent +# AllRecipientSelectedForRemind=All thirdparties selected and if an email is set (note that one mail per invoice will be sent) +# NoRemindSent=No remind by EMail sent +# ResultOfMassSending=Result of mass remind sending by EMail # Libelle des modules de liste de destinataires mailing MailingModuleDescContactCompanies=Контакты всех третьих лиц (клиентов, проспект, поставщик, ...) diff --git a/htdocs/langs/ru_RU/main.lang b/htdocs/langs/ru_RU/main.lang index 8c59d9f1ad3..f4f24fa1e3a 100644 --- a/htdocs/langs/ru_RU/main.lang +++ b/htdocs/langs/ru_RU/main.lang @@ -572,7 +572,7 @@ TotalWoman=Всего TotalMan=Всего NeverReceived=Никогда не получено Canceled=Отменено -# YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu setup - dictionnary +# YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu setup - dictionary Color=Цвет Documents=Связанные файлы DocumentsNb=Связанные файлы (%s) diff --git a/htdocs/langs/ru_RU/opensurvey.lang b/htdocs/langs/ru_RU/opensurvey.lang index 81d1263e94e..3883f09e850 100644 --- a/htdocs/langs/ru_RU/opensurvey.lang +++ b/htdocs/langs/ru_RU/opensurvey.lang @@ -35,6 +35,7 @@ # TitleChoice=Choice label # ExportSpreadsheet=Export result spreadsheet ExpireDate=Дата лимита +# NbOfSurveys=Number of surveys # NbOfVoters=Nb of voters # SurveyResults=Results # PollAdminDesc=You are allowed to change all vote lines of this poll with button "Edit". You can, as well, remove a column or a line with %s. You can also add a new column with %s. diff --git a/htdocs/langs/ru_RU/orders.lang b/htdocs/langs/ru_RU/orders.lang index f6f35fc6d80..4ff75fca9fe 100644 --- a/htdocs/langs/ru_RU/orders.lang +++ b/htdocs/langs/ru_RU/orders.lang @@ -55,6 +55,7 @@ DraftOrWaitingShipped=Проект или подтверждены не отгр MenuOrdersToBill=Заказы на законопроект # MenuOrdersToBill2=Orders to bill SearchOrder=Поиск тем +# SearchACustomerOrder=Search a customer order ShipProduct=Судно продукта Discount=Скидка CreateOrder=Создать заказ @@ -164,3 +165,4 @@ OrderByPhone=Телефон # OrderCreated=Your orders have been created # OrderFail=An error happened during your orders creation # CreateOrders=Create orders +# ToBillSeveralOrderSelectCustomer=To create an invoice for several orders, click first onto customer, then choose "%s". diff --git a/htdocs/langs/ru_RU/other.lang b/htdocs/langs/ru_RU/other.lang index b9d4c6e97fd..84f5012ada2 100644 --- a/htdocs/langs/ru_RU/other.lang +++ b/htdocs/langs/ru_RU/other.lang @@ -49,14 +49,15 @@ Miscellaneous=Разное NbOfActiveNotifications=Количество уведомлений PredefinedMailTest=Dette er en test post. \\ NDe to linjer er atskilt med en vognretur. PredefinedMailTestHtml=Dette er en test mail (ordet testen må være i fet skrift).
De to linjene er skilt med en vognretur. -PredefinedMailContentSendInvoice=__CONTACTCIVNAME__ \n\n Здесь вы найдете счет __FACREF__ \n\n__PERSONALIZED__ уважением \n\n__SIGNATURE__ -PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__ \n\n Мы бы хотели предупредить Вас, что счет-фактура __FACREF__, кажется, не оплачиваются. Так что это счета-фактуры в приложении опять же, как напоминание. \n\n__PERSONALIZED__ уважением \n\n__SIGNATURE__ -PredefinedMailContentSendProposal=__CONTACTCIVNAME__ \n\n Здесь вы найдете коммерческие propoal __PROPREF__ \n\n__PERSONALIZED__ уважением \n\n__SIGNATURE__ -PredefinedMailContentSendOrder=__CONTACTCIVNAME__ \n\n Вы найдете здесь порядок __ORDERREF__ \n\n__PERSONALIZED__ уважением \n\n__SIGNATURE__ -PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__ \n\n Вы найдете здесь наш заказ __ORDERREF__ \n\n__PERSONALIZED__Sincerely \n\n__SIGNATURE__ -PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__ \n\n Только здесь вы найдете счета __FACREF__ \n\n__PERSONALIZED__Sincerely \n\n -PredefinedMailContentSendShipping=__CONTACTCIVNAME__ \n\n Здесь вы найдете доставку __SHIPPINGREF__ \n\n__PERSONALIZED__Sincerely \n\n -PredefinedMailContentSendFichInter=__CONTACTCIVNAME__ \n\n Вы найдете здесь вмешательство __FICHINTERREF__ \n\n__PERSONALIZED__Sincerely \n\n +# PredefinedMailContentSendInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__\n\nWe would like to warn you that the invoice __FACREF__ seems to not being payed. So this is the invoice in attachment again, as a reminder.\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendProposal=__CONTACTCIVNAME__\n\nYou will find here the commercial proposal __PROPREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendOrder=__CONTACTCIVNAME__\n\nYou will find here the order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__\n\nYou will find here our order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendShipping=__CONTACTCIVNAME__\n\nYou will find here the shipping __SHIPPINGREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendFichInter=__CONTACTCIVNAME__\n\nYou will find here the intervention __FICHINTERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentThirdparty=__CONTACTCIVNAME__\n\n__PERSONALIZED__\n\n__SIGNATURE__ DemoDesc=Dolibarr является компактным ERP / CRM составе нескольких функциональных модулей. В демо, что включает в себя все модули, не означает ничего, как этого никогда не происходит. Так, несколько демо-профилей доступны. ChooseYourDemoProfil=Выберите демо-профиль, которые соответствуют Вашей деятельности ... DemoFundation=Управление членов Фонда diff --git a/htdocs/langs/ru_RU/products.lang b/htdocs/langs/ru_RU/products.lang index 7369e2ee05f..5a053331072 100644 --- a/htdocs/langs/ru_RU/products.lang +++ b/htdocs/langs/ru_RU/products.lang @@ -13,6 +13,10 @@ NewProduct=Новый продукт NewService=Новая услуга ProductCode=Код продукта ServiceCode=Служба код +# ProductVatMassChange=Mass VAT change +# ProductVatMassChangeDesc=This page can be used to modify a VAT rate defined on products or services from a value to another. Warning, this change is done on all database. +# MassBarcodeInit=Mass barcode init +# MassBarcodeInitDesc=This page can be used to initialize a barcode on objects that does not have barcode defined. Check before that setup of module barcode is complete. ProductAccountancyBuyCode=Бухгалтерия код (купить) ProductAccountancySellCode=Бухгалтерия код (продать) ProductOrService=Продукт или услуга @@ -173,8 +177,8 @@ CustomCode=Пользовательский код CountryOrigin=Страна происхождения HiddenIntoCombo=Скрытые в списках выбора Nature=Природа -# ProductCodeModel=Product code template -# ServiceCodeModel=Service code template +# ProductCodeModel=Product ref template +# ServiceCodeModel=Service ref template # AddThisProductCard=Create product card # HelpAddThisProductCard=This option allows you to create or clone a product if it does not exist. # AddThisServiceCard=Create service card @@ -216,5 +220,10 @@ QtyNeed=Кол-во # DefinitionOfBarCodeForThirdpartyNotComplete=Definition of type or value of bar code non complete for thirdparty %s. # BarCodeDataForProduct=Barcode information of product %s : # BarCodeDataForThirdparty=Barcode information of thirdparty %s : -# BarcodeStickersMask=xxx - +# ResetBarcodeForAllRecords=Define barcode value for all records (this will also reset barcode value already defined with new values) +# PriceByCustomer=Price by customer +# PriceCatalogue=Catalogue Price +# PricingRule=Pricing Rules +# AddCustomerPrice=Add price by customers +# ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +# PriceByCustomerLog=Price by customer log diff --git a/htdocs/langs/ru_RU/projects.lang b/htdocs/langs/ru_RU/projects.lang index 93d6b39abaf..440d4b50735 100644 --- a/htdocs/langs/ru_RU/projects.lang +++ b/htdocs/langs/ru_RU/projects.lang @@ -1,4 +1,6 @@ # Dolibarr language file - Source file is en_US - projects +# RefProject=Ref. project +# ProjectId=Project Id Project=Проект Projects=Проекты SharedProject=Общий проект @@ -30,11 +32,18 @@ TimeSpent=Время, затраченное TimesSpent=Время, проведенное RefTask=Ref. задача LabelTask=Этикетка задачи +# TaskTimeSpent=Time spent on tasks +# TaskTimeUser=Task time user +# TaskTimeNote=Task time note +# TaskTimeDate=Task time date NewTimeSpent=Новое время MyTimeSpent=Мое время MyTasks=Мои задачи Tasks=Задание Task=Задача +# TaskDateStart=Task start date +# TaskDateEnd=Task end date +# TaskDescription=Task description NewTask=Новые задачи AddTask=Добавить задачу AddDuration=Добавить продолжительность @@ -100,12 +109,12 @@ IfNeedToUseOhterObjectKeepEmpty=Если некоторые объекты (сч ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Руководитель проекта TypeContact_project_external_PROJECTLEADER=Руководитель проекта -TypeContact_project_internal_PROJECTCONTRIBUTOR=Участник -TypeContact_project_external_PROJECTCONTRIBUTOR=Участник +# TypeContact_project_internal_PROJECTCONTRIBUTOR=Contributor +# TypeContact_project_external_PROJECTCONTRIBUTOR=Contributor TypeContact_project_task_internal_TASKEXECUTIVE=Целевая исполнительной TypeContact_project_task_external_TASKEXECUTIVE=Целевая исполнительной -TypeContact_project_task_internal_TASKCONTRIBUTOR=Участник -TypeContact_project_task_external_TASKCONTRIBUTOR=Участник +# TypeContact_project_task_internal_TASKCONTRIBUTOR=Contributor +# TypeContact_project_task_external_TASKCONTRIBUTOR=Contributor # SelectElement=Select element # AddElement=Link to element # Documents models diff --git a/htdocs/langs/ru_RU/stocks.lang b/htdocs/langs/ru_RU/stocks.lang index 81c378d7b1a..82224a1e46e 100644 --- a/htdocs/langs/ru_RU/stocks.lang +++ b/htdocs/langs/ru_RU/stocks.lang @@ -94,14 +94,20 @@ SelectWarehouseForStockIncrease=Выберите склад для исполь # StockToBuy=To order # Replenishment=Replenishment # ReplenishmentOrders=Replenishment orders -# UseVirtualStock=Use virtual stock instead of physical stock +# VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differs +# UseVirtualStockByDefault=Use virtual stock by default, instead of physical stock, for replenishment feature +# UseVirtualStock=Use virtual stock +# UsePhysicalStock=Use physical stock +# CurentSelectionMode=Curent selection mode +# CurentlyUsingVirtualStock=Virtual stock +# CurentlyUsingPhysicalStock=Physical stock # RuleForStockReplenishment=Rule for stocks replenishment # SelectProductWithNotNullQty=Select at least one product with a qty not null and a supplier # AlertOnly= Alerts only # WarehouseForStockDecrease=The warehouse %s will be used for stock decrease # WarehouseForStockIncrease=The warehouse %s will be used for stock increase # ForThisWarehouse=For this warehouse -# ReplenishmentStatusDesc=This is list of all product with a physical stock lower than desired stock (or alert value if checkbox "alert only" is checked) and suggest you to create supplier orders to fill the difference. +# ReplenishmentStatusDesc=This is list of all product with a stock lower than desired stock (or lower than alert value if checkbox "alert only" is checked), and suggest you to create supplier orders to fill the difference. # ReplenishmentOrdersDesc=This is list of all opened supplier orders # Replenishments=Replenishments # NbOfProductBeforePeriod=Quantity of product %s in stock before selected period (< %s) diff --git a/htdocs/langs/sk_SK/admin.lang b/htdocs/langs/sk_SK/admin.lang index ac137450d0f..4cc24b6c856 100644 --- a/htdocs/langs/sk_SK/admin.lang +++ b/htdocs/langs/sk_SK/admin.lang @@ -287,7 +287,7 @@ CurrentVersion=Dolibarr aktuálna verzia CallUpdatePage=Prejdite na stránku, ktorá aktualizuje databázovú štruktúru a údaje: %s. LastStableVersion=Posledná stabilná verzia GenericMaskCodes=Môžete zadať akékoľvek masku číslovanie. V tejto maske, by mohli byť použité nasledovné značky:
{000000} zodpovedá množstvu, ktoré sa zvýšia na každej %s. Vložiť počet núl na požadovanú dĺžku pultu. Počítadlo sa vyplní nulami zľava, aby sa čo najviac nuly ako maska.
{000000} 000 rovnako ako predchádzajúce, ale posun zodpovedá číslu na pravej strane znamienko + je aplikovaný začína na prvej %s.
{000000 @ x} rovnaká ako predchádzajúca, ale počítadlo sa resetuje na nulu, keď je mesiac x hodnoty (x medzi 1 a 12 alebo 0, používať prvých mesiacoch fiškálneho roka definované v konfigurácii, alebo 99 pre resetovanie na nulu každý mesiac ). Ak je táto voľba sa používa, a x je 2 alebo vyššia, potom postupnosť {yy} {mm} alebo {yyyy} {} mm je tiež potrebné.
{Dd} deň (01 až 31).
{Mm} mesiac (01 až 12).
{Yy}, {RRRR} alebo {y} ročne po dobu 2, 4 alebo 1 číslice.
-# GenericMaskCodes2={cccc} the client code
{cccc000} the client code on n characters is followed by a client's ref counter without offset and zeroized with the global counter.
{tttt} The code of company type on n characters (see dictionary-company types).
+# GenericMaskCodes2={cccc} the client code on n characters
{cccc000} the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.
{tttt} The code of company type on n characters (see dictionary-company types).
GenericMaskCodes3=Všetky ostatné znaky v maske zostanú nedotknuté.
Medzery nie sú povolené.
GenericMaskCodes4a=Príklad na 99. %s tretej strany Thecompany vykonáva 2007-01-31:
GenericMaskCodes4b=Príklad na tretie osoby vytvorené na 03.1.2007:
@@ -345,8 +345,6 @@ SecurityTokenIsUnique=Používame unikátny securekey parameter pre každú adre EnterRefToBuildUrl=Zadajte odkaz na objekt %s GetSecuredUrl=Získajte vypočítanú URL ButtonHideUnauthorized=Skryť tlačidlá pre neautorizovaným zásahom miesto ukazuje zdravotným tlačidla -ProductVatMassChange=Hmotnostné zmeny DPH -ProductVatMassChangeDesc=Túto stránku možno použiť k úprave sadzby DPH definované na tovary alebo služby od hodnoty na druhú. Pozor, táto zmena sa vykonáva na všetkých databáz. OldVATRates=Staré Sadzba DPH NewVATRates=Nová sadzba DPH PriceBaseTypeToChange=Zmeniť na cenách s hodnotou základného odkazu uvedeného na @@ -381,6 +379,16 @@ KeepEmptyToUseDefault=Majte prázdny použiť predvolené hodnoty DefaultLink=Východiskový odkaz ValueOverwrittenByUserSetup=Pozor, táto hodnota môže byť prepísaná užívateľom špecifické nastavenia (každý užívateľ môže nastaviť vlastné clicktodial url) ExternalModule=Externý modul - inštalovaný do adresára %s +# BarcodeInitForThirdparties=Mass barcode init for thirdparties +# BarcodeInitForProductsOrServices=Mass barcode init or reset for products or services +# CurrentlyNWithoutBarCode=Currently, you have %s records on %s %s without barcode defined. +# InitEmptyBarCode=Init value for next %s empty records +# EraseAllCurrentBarCode=Erase all current barcode values +# ConfirmEraseAllCurrentBarCode=Are you sure you want to erase all current barcode values ? +# AllBarcodeReset=All barcode values have been removed +# NoBarcodeNumberingTemplateDefined=No numbering barcode template enabled into barcode module setup. +# NoRecordWithoutBarcodeDefined=No record with no barcode value defined. + # Modules Module0Name=Používatelia a skupiny @@ -510,6 +518,8 @@ Module59000Name=Okraje Module59000Desc=Modul pre správu marže Module60000Name=Provízie Module60000Desc=Modul pre správu provízie +# Module150010Name=Batch number, eat-by date and sell-by date +# Module150010Desc=batch number, eat-by date and sell-by date management for product Permission11=Prečítajte si zákazníkov faktúry Permission12=Vytvoriť / upraviť zákazníkov faktúr Permission13=Unvalidate zákazníkov faktúry @@ -726,8 +736,8 @@ Permission55001=Prečítajte si prieskumy Permission55002=Vytvoriť / upraviť prieskumy # Permission59001=Read commercial margins # Permission59002=Define commercial margins -# DictionaryCompanyType=Company types -# DictionaryCompanyJuridicalType=Juridical kinds of company +# DictionaryCompanyType=Thirdparties type +# DictionaryCompanyJuridicalType=Juridical kinds of thirdparties # DictionaryProspectLevel=Prospect potential level # DictionaryCanton=State/Cantons # DictionaryRegion=Regions @@ -959,7 +969,7 @@ SimpleNumRefModelDesc=Vracia referenčné číslo vo formáte nnnn-%syymm kde yy ShowProfIdInAddress=Zobraziť professionnal id s adresami na dokumenty ShowVATIntaInAddress=Skryť DPH Intra num s adresami na dokumentoch TranslationUncomplete=Čiastočný preklad -SomeTranslationAreUncomplete=Niektoré jazyky môžu byť čiastočne preložené alebo môžu obsahuje chyby. Ak spozorujete nejaké, môžete opraviť. Lang textové súbory do adresára htdocs / Langsa a predložiť ich na fóre v http://www.dolibarr.org . +# SomeTranslationAreUncomplete=Some languages may be partially translated or may contains errors. If you detect some, you can fix language files registering to http://transifex.com/projects/p/dolibarr/. MenuUseLayout=Preveďte vertikálne menu hidable (možnosť javascript nesmie byť zakázaný) MAIN_DISABLE_METEO=Zakázať meteo názor TestLoginToAPI=Otestujte prihlásiť do API @@ -985,6 +995,7 @@ ExtraFieldsProject=Doplnkové atribúty (projekty) ExtraFieldsProjectTask=Doplnkové atribúty (úlohy) ExtraFieldHasWrongValue=Plynúcich %s má nesprávnu hodnotu. AlphaNumOnlyCharsAndNoSpace=iba alphanumericals znaky bez medzier +# AlphaNumOnlyLowerCharsAndNoSpace=only alphanumericals and lower case characters without space SendingMailSetup=Nastavenie sendings e-mailom SendmailOptionNotComplete=Upozornenie na niektorých operačných systémoch Linux, posielať e-maily z vášho e-mailu, musíte sendmail prevedenie inštalácie obsahuje voľbu-BA (parameter mail.force_extra_parameters do súboru php.ini). Ak niektorí príjemcovia nikdy prijímať e-maily, skúste upraviť tento parameter spoločne s PHP mail.force_extra_parameters =-BA). PathToDocuments=Cesta k dokumentom @@ -1269,7 +1280,7 @@ PerfDolibarr=Výkon Nastavenie / optimalizácia správa YouMayFindPerfAdviceHere=Nájdete na tejto stránke nejaké kontroly alebo rád týkajúcich sa výkonnosti. NotInstalled=Nie, takľe nie je váš server spomaliť tým. ApplicativeCache=Aplikačných medzipamäte -MemcachedNotAvailable=Žiadne aplikačných nájdená keš. Môžete zvýšiť výkon inštaláciou cache memcached server a modul schopní používať túto cache servera. Viac informácií tu http://wiki.dolibarr.org/index.php/Module_MemCached_EN. Všimnite si, že veľa web hosting provider neposkytuje takú cache servera. +# MemcachedNotAvailable=No applicative cache found. You can enhance performance by installing a cache server Memcached and a module able to use this cache server.
More information here http://wiki.dolibarr.org/index.php/Module_MemCached_EN.
Note that a lot of web hosting provider does not provide such cache server. OPCodeCache=OPCODE medzipamäte NoOPCodeCacheFound=Žiadne OPCODE nájdená keš. Môže byť použiť ďalšie OPCODE pamäť než XCache alebo eAccelerator (dobré), môže byť, že nemáte OPCODE cache (veľmi zle). HTTPCacheStaticResources=HTTP cache pre statické zdroje (css, img, javascript) diff --git a/htdocs/langs/sk_SK/agenda.lang b/htdocs/langs/sk_SK/agenda.lang index d2d7afdbd7f..db87f33fa13 100644 --- a/htdocs/langs/sk_SK/agenda.lang +++ b/htdocs/langs/sk_SK/agenda.lang @@ -52,6 +52,7 @@ InvoiceSentByEMail=%s faktúre Zákazníka zaslaná e-mailom SupplierOrderSentByEMail=%s Dodávateľ objednávka zaslaná e-mailom SupplierInvoiceSentByEMail=%s dodávateľskej faktúry zasielané e-mailom ShippingSentByEMail=Prepravné %s zaslaná e-mailom +# ShippingValidated= Shipping %s validated InterventionSentByEMail=Intervenčné %s zaslaná e-mailom NewCompanyToDolibarr= Tretia strana vytvorená DateActionPlannedStart= Plánovaný dátum začatia diff --git a/htdocs/langs/sk_SK/cashdesk.lang b/htdocs/langs/sk_SK/cashdesk.lang index 6654d3d7f20..8435c9b609a 100644 --- a/htdocs/langs/sk_SK/cashdesk.lang +++ b/htdocs/langs/sk_SK/cashdesk.lang @@ -37,3 +37,4 @@ ShowCompany=Zobraziť spoločnosť ShowStock=Zobraziť skladu DeleteArticle=Kliknutím odstránite tento článok FilterRefOrLabelOrBC=Vyhľadávanie (Ref / Label) +# UserNeedPermissionToEditStockToUsePos=You ask to decrease stock on invoice creation, so user that use POS need to have permission to edit stock. diff --git a/htdocs/langs/sk_SK/errors.lang b/htdocs/langs/sk_SK/errors.lang index 66a9f0bbeec..412f8eaa512 100644 --- a/htdocs/langs/sk_SK/errors.lang +++ b/htdocs/langs/sk_SK/errors.lang @@ -26,8 +26,11 @@ ErrorFromToAccountsMustDiffers=Zdrojovej a cieľovej bankové účty musí byť ErrorBadThirdPartyName=Nesprávna hodnota pre tretie strany menom ErrorProdIdIsMandatory=%s je povinné ErrorBadCustomerCodeSyntax=Bad syntaxe pre zákazníka kódu +# ErrorBadBarCodeSyntax=Bad syntax for bar code ErrorCustomerCodeRequired=Zákazník požadoval kód +# ErrorBarCodeRequired=Bar code required ErrorCustomerCodeAlreadyUsed=Zákaznícky kód už používaný +# ErrorBarCodeAlreadyUsed=Bar code already used ErrorPrefixRequired=Prefix nutné ErrorUrlNotValid=Adresa webovej stránky je nesprávna ErrorBadSupplierCodeSyntax=Bad syntaxe pre kód dodávateľa @@ -63,6 +66,7 @@ ErrorNoValueForCheckBoxType=Vyplňte, prosím, hodnotu checkbox zoznamu ErrorNoValueForRadioType=Prosím vyplňte hodnotu pre rozhlasové zoznamu ErrorBadFormatValueList=Zoznam Hodnota nemôže mať viac ako jeden príde: %s, ale potrebujete aspoň jeden: Llave, Valores ErrorFieldCanNotContainSpecialCharacters=Terénne %s nesmie obsahuje špeciálne znaky. +# ErrorFieldCanNotContainSpecialNorUpperCharacters=Field %s must not contains special characters, nor upper case characters. ErrorNoAccountancyModuleLoaded=Nie účtovníctva modul aktivovaný # ErrorExportDuplicateProfil=This profile name already exists for this export set. ErrorLDAPSetupNotComplete=Dolibarr-LDAP zhoda nie je úplná. diff --git a/htdocs/langs/sk_SK/exports.lang b/htdocs/langs/sk_SK/exports.lang index b64ab26ed6f..93608a8bb1e 100644 --- a/htdocs/langs/sk_SK/exports.lang +++ b/htdocs/langs/sk_SK/exports.lang @@ -123,6 +123,10 @@ BankCode=Kód banky DeskCode=Stôl kód BankAccountNumber=Číslo účtu BankAccountNumberKey=Kľúč +# SpecialCode=Special code +# ExportStringFilter=%% allows replacing one or more characters in the text +# ExportDateFilter='AAAA' 'AAAAMM' 'AAAAMMJJ': filters by one year/month/day
'AAAA+AAAA' 'AAAAMM+AAAAMM' 'AAAAMMJJ+AAAAMMJJ': filters over a range of years/months/days
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filters on the following years/months/days
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filters on the previous years/months/days +# ExportNumericFilter='NNNNN' filters by one value
'NNNNN+NNNNN' filters over a range of values
'>NNNNN' filters by lower values
'>NNNNN' filters by higher values ## filters SelectFilterFields=Ak chcete filtrovať niektoré hodnoty, stačí zadať hodnoty tu. FilterableFields=Champs Filtrables diff --git a/htdocs/langs/sk_SK/mails.lang b/htdocs/langs/sk_SK/mails.lang index 39c850d44fa..162c1e0ddb2 100644 --- a/htdocs/langs/sk_SK/mails.lang +++ b/htdocs/langs/sk_SK/mails.lang @@ -79,6 +79,13 @@ MailtoEMail=Hyper odkaz na e-mail ActivateCheckRead=Nechá sa použiť "" Unsubcribe odkaz ActivateCheckReadKey=Tlačidlo slúži pre šifrovanie URL využitie pre "prečítanie" a "Unsubcribe" funkcia EMailSentToNRecipients=Email bol odoslaný na %s príjemcom. +# EachInvoiceWillBeAttachedToEmail=A document using default invoice document template will be created and attached to each email. +# MailTopicSendRemindUnpaidInvoices=Remind of invoice %s (%s) +# SendRemind=Send remind by EMails +# RemindSent=%S remind(s) sent +# AllRecipientSelectedForRemind=All thirdparties selected and if an email is set (note that one mail per invoice will be sent) +# NoRemindSent=No remind by EMail sent +# ResultOfMassSending=Result of mass remind sending by EMail # Libelle des modules de liste de destinataires mailing MailingModuleDescContactCompanies=Kontakty / adresy všetkých tretích strán (zákazník, vyhliadka, dodávateľ, ...) diff --git a/htdocs/langs/sk_SK/main.lang b/htdocs/langs/sk_SK/main.lang index 214b5005fd2..65f28116bff 100644 --- a/htdocs/langs/sk_SK/main.lang +++ b/htdocs/langs/sk_SK/main.lang @@ -572,7 +572,7 @@ TotalWoman=Celkový TotalMan=Celkový NeverReceived=Nikdy nedostal Canceled=Zrušený -# YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu setup - dictionnary +# YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu setup - dictionary Color=Farba Documents=Pripojené súbory DocumentsNb=Pripojené súbory (%s) diff --git a/htdocs/langs/sk_SK/opensurvey.lang b/htdocs/langs/sk_SK/opensurvey.lang index 9ac55eaada2..78d84205d29 100644 --- a/htdocs/langs/sk_SK/opensurvey.lang +++ b/htdocs/langs/sk_SK/opensurvey.lang @@ -35,6 +35,7 @@ AddNewColumn=Pridať nový stĺpec TitleChoice=Voľba štítok ExportSpreadsheet=Export výsledkov tabuľku ExpireDate=Obmedziť dátum +# NbOfSurveys=Number of surveys NbOfVoters=Nb voličov SurveyResults=Výsledky PollAdminDesc=Ste dovolené meniť všetci voliť riadky tejto ankety pomocou tlačidla "Edit". Môžete tiež odstrániť stĺpec alebo riadok s %s. Môžete tiež pridať nový stĺpec s %s. diff --git a/htdocs/langs/sk_SK/orders.lang b/htdocs/langs/sk_SK/orders.lang index b386fcdce99..906a5e2e662 100644 --- a/htdocs/langs/sk_SK/orders.lang +++ b/htdocs/langs/sk_SK/orders.lang @@ -55,6 +55,7 @@ DraftOrWaitingShipped=Návrh alebo overené doposiaľ odoslaný MenuOrdersToBill=Objednávky dodaný MenuOrdersToBill2=Objednávky do účtu SearchOrder=Hľadať účelom +# SearchACustomerOrder=Search a customer order ShipProduct=Loď produkt Discount=Zľava CreateOrder=Vytvoriť objednávku @@ -164,3 +165,4 @@ Ordered=Objednal OrderCreated=Vaše objednávky boli vytvorené OrderFail=Došlo k chybe pri vytváraní objednávky CreateOrders=Vytvorenie objednávky +# ToBillSeveralOrderSelectCustomer=To create an invoice for several orders, click first onto customer, then choose "%s". diff --git a/htdocs/langs/sk_SK/other.lang b/htdocs/langs/sk_SK/other.lang index 106a74541ea..59d024eeed2 100644 --- a/htdocs/langs/sk_SK/other.lang +++ b/htdocs/langs/sk_SK/other.lang @@ -49,14 +49,15 @@ Miscellaneous=Zmiešaný NbOfActiveNotifications=Počet oznámení PredefinedMailTest=Toto je test e-mailom. \\ NAk dva riadky sú oddelené znakom konca riadku. \n\n __ SIGNATURE__ PredefinedMailTestHtml=Toto je test-mail (slovo test musí byť tučne).
Dva riadky sú oddelené znakom konca riadku.

__SIGNATURE__ -PredefinedMailContentSendInvoice=__CONTACTCIVNAME__ \n\n Nájdete tu faktúru __ FACREF__ \n\n __ PERSONALIZED__Sincerely \n\n __ SIGNATURE__ -PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__ \n\n Dovoľujeme si vás upozorniť, že faktúra __ FACREF__ Zdá sa, že nie je platí. Tak toto je faktúra v prílohe opäť ako pripomenutie. \n\n __ PERSONALIZED__Sincerely \n\n __ SIGNATURE__ -PredefinedMailContentSendProposal=__CONTACTCIVNAME__ \n\n Nájdete tu obchodné návrh __ PROPREF__ \n\n __ PERSONALIZED__Sincerely \n\n __ SIGNATURE__ -PredefinedMailContentSendOrder=__CONTACTCIVNAME__ \n\n Nájdete tu poradí __ ORDERREF__ \n\n __ PERSONALIZED__Sincerely \n\n __ SIGNATURE__ -PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__ \n\n Nájdete tu naša objednávka __ ORDERREF__ \n\n __ PERSONALIZED__Sincerely \n\n __ SIGNATURE__ -PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__ \n\n Nájdete tu faktúru __ FACREF__ \n\n __ PERSONALIZED__Sincerely \n\n __ SIGNATURE__ -PredefinedMailContentSendShipping=__CONTACTCIVNAME__ \n\n Nájdete tu lodné __ SHIPPINGREF__ \n\n __ PERSONALIZED__Sincerely \n\n __ SIGNATURE__ -PredefinedMailContentSendFichInter=__CONTACTCIVNAME__ \n\n Nájdete tu zásah __ FICHINTERREF__ \n\n __ PERSONALIZED__Sincerely \n\n __ SIGNATURE__ +# PredefinedMailContentSendInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__\n\nWe would like to warn you that the invoice __FACREF__ seems to not being payed. So this is the invoice in attachment again, as a reminder.\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendProposal=__CONTACTCIVNAME__\n\nYou will find here the commercial proposal __PROPREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendOrder=__CONTACTCIVNAME__\n\nYou will find here the order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__\n\nYou will find here our order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendShipping=__CONTACTCIVNAME__\n\nYou will find here the shipping __SHIPPINGREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendFichInter=__CONTACTCIVNAME__\n\nYou will find here the intervention __FICHINTERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentThirdparty=__CONTACTCIVNAME__\n\n__PERSONALIZED__\n\n__SIGNATURE__ DemoDesc=Dolibarr je kompaktný ERP / CRM skladá z niekoľkých funkčných modulov. Demo, ktoré obsahuje všetky moduly nič neznamená, pretože to nikdy nedošlo. Takže niekoľko demo profily sú k dispozícii. ChooseYourDemoProfil=Vyberte demo profil, ktorý zodpovedal vášmu činnosť ... DemoFundation=Správa členov nadácie diff --git a/htdocs/langs/sk_SK/products.lang b/htdocs/langs/sk_SK/products.lang index daa164cc86c..720f0b1f947 100644 --- a/htdocs/langs/sk_SK/products.lang +++ b/htdocs/langs/sk_SK/products.lang @@ -13,6 +13,10 @@ NewProduct=Nový produkt NewService=Nová služba ProductCode=Kód produktu ServiceCode=Servisný kód +# ProductVatMassChange=Mass VAT change +# ProductVatMassChangeDesc=This page can be used to modify a VAT rate defined on products or services from a value to another. Warning, this change is done on all database. +# MassBarcodeInit=Mass barcode init +# MassBarcodeInitDesc=This page can be used to initialize a barcode on objects that does not have barcode defined. Check before that setup of module barcode is complete. ProductAccountancyBuyCode=Účtovníctvo kód (kúpiť) ProductAccountancySellCode=Účtovníctvo kód (predaj) ProductOrService=Produkt alebo služba @@ -173,8 +177,8 @@ CustomCode=Colné kód CountryOrigin=Krajina pôvodu HiddenIntoCombo=Skryté do vybraných zoznamov Nature=Príroda -ProductCodeModel=Kód šablóny -ServiceCodeModel=Servisný kód šablóny +# ProductCodeModel=Product ref template +# ServiceCodeModel=Service ref template AddThisProductCard=Vytvorte kartu výrobku HelpAddThisProductCard=Táto voľba umožňuje vytvoriť alebo naklonovať výrobok, ak neexistuje. AddThisServiceCard=Vytvorenie služobný preukaz @@ -216,5 +220,10 @@ Quarter4=4.. Štvrťrok # DefinitionOfBarCodeForThirdpartyNotComplete=Definition of type or value of bar code non complete for thirdparty %s. # BarCodeDataForProduct=Barcode information of product %s : # BarCodeDataForThirdparty=Barcode information of thirdparty %s : -# BarcodeStickersMask=xxx - +# ResetBarcodeForAllRecords=Define barcode value for all records (this will also reset barcode value already defined with new values) +# PriceByCustomer=Price by customer +# PriceCatalogue=Catalogue Price +# PricingRule=Pricing Rules +# AddCustomerPrice=Add price by customers +# ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +# PriceByCustomerLog=Price by customer log diff --git a/htdocs/langs/sk_SK/projects.lang b/htdocs/langs/sk_SK/projects.lang index 21ba3463855..bf2052d11e6 100644 --- a/htdocs/langs/sk_SK/projects.lang +++ b/htdocs/langs/sk_SK/projects.lang @@ -1,4 +1,6 @@ # Dolibarr language file - Source file is en_US - projects +# RefProject=Ref. project +# ProjectId=Project Id Project=Projekt Projects=Projekty SharedProject=Všetci @@ -30,11 +32,18 @@ TimeSpent=Čas strávený TimesSpent=Čas strávený RefTask=Ref úloha LabelTask=Label úloha +# TaskTimeSpent=Time spent on tasks +# TaskTimeUser=Task time user +# TaskTimeNote=Task time note +# TaskTimeDate=Task time date NewTimeSpent=Nový čas strávený MyTimeSpent=Môj čas strávený MyTasks=Moje úlohy Tasks=Úlohy Task=Úloha +# TaskDateStart=Task start date +# TaskDateEnd=Task end date +# TaskDescription=Task description NewTask=Nová úloha AddTask=Pridať úloha AddDuration=Pridať trvania @@ -100,12 +109,12 @@ ProjectCreatedInDolibarr=Projekt vytvoril %s ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Vedúci projektu TypeContact_project_external_PROJECTLEADER=Vedúci projektu -TypeContact_project_internal_PROJECTCONTRIBUTOR=Prispievateľ -TypeContact_project_external_PROJECTCONTRIBUTOR=Prispievateľ +# TypeContact_project_internal_PROJECTCONTRIBUTOR=Contributor +# TypeContact_project_external_PROJECTCONTRIBUTOR=Contributor TypeContact_project_task_internal_TASKEXECUTIVE=Úloha výkonný TypeContact_project_task_external_TASKEXECUTIVE=Úloha výkonný -TypeContact_project_task_internal_TASKCONTRIBUTOR=Prispievateľ -TypeContact_project_task_external_TASKCONTRIBUTOR=Prispievateľ +# TypeContact_project_task_internal_TASKCONTRIBUTOR=Contributor +# TypeContact_project_task_external_TASKCONTRIBUTOR=Contributor SelectElement=Vyberte prvok AddElement=Odkaz na elementu # Documents models diff --git a/htdocs/langs/sk_SK/stocks.lang b/htdocs/langs/sk_SK/stocks.lang index b43b91af5db..43a4f35e74a 100644 --- a/htdocs/langs/sk_SK/stocks.lang +++ b/htdocs/langs/sk_SK/stocks.lang @@ -94,14 +94,20 @@ DesiredStock=Požadovaná skladom StockToBuy=Ak chcete objednať Replenishment=Naplnenie ReplenishmentOrders=Doplňovanie objednávky -UseVirtualStock=Použiť virtuálnu zásoby namiesto fyzického skladom +# VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differs +# UseVirtualStockByDefault=Use virtual stock by default, instead of physical stock, for replenishment feature +# UseVirtualStock=Use virtual stock +# UsePhysicalStock=Use physical stock +# CurentSelectionMode=Curent selection mode +# CurentlyUsingVirtualStock=Virtual stock +# CurentlyUsingPhysicalStock=Physical stock RuleForStockReplenishment=Pravidlo pre doplňovanie zásob SelectProductWithNotNullQty=Vyberte aspoň jeden produkt s Množstvo NOT NULL a dodávateľom AlertOnly= Upozornenie iba WarehouseForStockDecrease=Skladová %s budú použité pre zníženie skladom WarehouseForStockIncrease=Skladová %s budú použité pre zvýšenie stavu zásob ForThisWarehouse=Z tohto skladu -ReplenishmentStatusDesc=Toto je zoznam všetkých produktov s fyzickou skladom je nižší ako požadovaný skladom (alebo upozornenie, ak hodnota checkbox "upozornil iba" je začiarknuté), a odporúčam vám vytvoriť dodávateľskej objednávky vyplniť rozdiel. +# ReplenishmentStatusDesc=This is list of all product with a stock lower than desired stock (or lower than alert value if checkbox "alert only" is checked), and suggest you to create supplier orders to fill the difference. ReplenishmentOrdersDesc=Toto je zoznam všetkých otvorených dodávateľských objednávok Replenishments=Splátky NbOfProductBeforePeriod=Množstvo produktov %s na sklade, než zvolené obdobie (<%s) diff --git a/htdocs/langs/sl_SI/admin.lang b/htdocs/langs/sl_SI/admin.lang index aa022144fbc..437d6da2ea2 100644 --- a/htdocs/langs/sl_SI/admin.lang +++ b/htdocs/langs/sl_SI/admin.lang @@ -287,7 +287,7 @@ CurrentVersion=Trenutna različica Dolibarr CallUpdatePage=Pojdite na stran za nadgradnjo strukture in podatkov v podatkovni bazi: %s. LastStableVersion=Zadnja stabilna različica GenericMaskCodes=Vnesete lahko kakršnokoli številčno masko. V tej maski lahko uporabite naslednje oznake:
{000000} ustreza številki, ki se poveča pri vsakem %s. Vnesite toliko ničel, kot je želena dolžina števca. Števec se bo zapolnil z ničlami na levi strani, da bi velikost ustrezala maski.
{000000+000} enako kot prej, vendar je desno od znaka + odmik, ki je uporabljen na prvi %s.
{000000@x} enako kot prej, vendar se števec resetira na 0, ko se doseže mesec x (x je med 1 in 12). Če je uporabljena ta opcija, ,in je x enak ali večji od 2, je zahtevana tudi sekvenca {yy}{mm} ali {yyyy}{mm}.
{dd} dan (01 do 31).
{mm} mesec (01 do 12).
{yy}, {yyyy} ali {y} leto, izraženo z 2, 4 ali 1 številko.
-# GenericMaskCodes2={cccc} the client code
{cccc000} the client code on n characters is followed by a client's ref counter without offset and zeroized with the global counter.
{tttt} The code of company type on n characters (see dictionary-company types).
+# GenericMaskCodes2={cccc} the client code on n characters
{cccc000} the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.
{tttt} The code of company type on n characters (see dictionary-company types).
GenericMaskCodes3=Vsi ostali znaki v maski bodo ostali nedotaknjeni.
Presledki niso dovoljeni.
GenericMaskCodes4a=Primer 99-ega %s partnerja podjetja narejen 2007-01-31:
GenericMaskCodes4b=Primer partnerja 99, kreiranega 2007-03-01:
@@ -345,8 +345,6 @@ SecurityTokenIsUnique=Uporabite edinstven parameter securekey za vsako URL EnterRefToBuildUrl=Vnesite sklic za predmet %s GetSecuredUrl=Get izračuna URL # ButtonHideUnauthorized=Hide buttons for unauthorized actions instead of showing disabled buttons -# ProductVatMassChange=Mass VAT change -# ProductVatMassChangeDesc=This page can be used to modify a VAT rate defined on products or services from a value to another. Warning, this change is done on all database. # OldVATRates=Old VAT rate # NewVATRates=New VAT rate # PriceBaseTypeToChange=Modify on prices with base reference value defined on @@ -381,6 +379,16 @@ ExtrafieldPrice = Cena # DefaultLink=Default link # ValueOverwrittenByUserSetup=Warning, this value may be overwritten by user specific setup (each user can set his own clicktodial url) # ExternalModule=External module - Installed into directory %s +# BarcodeInitForThirdparties=Mass barcode init for thirdparties +# BarcodeInitForProductsOrServices=Mass barcode init or reset for products or services +# CurrentlyNWithoutBarCode=Currently, you have %s records on %s %s without barcode defined. +# InitEmptyBarCode=Init value for next %s empty records +# EraseAllCurrentBarCode=Erase all current barcode values +# ConfirmEraseAllCurrentBarCode=Are you sure you want to erase all current barcode values ? +# AllBarcodeReset=All barcode values have been removed +# NoBarcodeNumberingTemplateDefined=No numbering barcode template enabled into barcode module setup. +# NoRecordWithoutBarcodeDefined=No record with no barcode value defined. + # Modules Module0Name=Uporabniki & skupine @@ -510,6 +518,8 @@ Module50200Desc= Modul za omogočanje strani za spletno plačevanje s kreditno k # Module59000Desc=Module to manage margins # Module60000Name=Commissions # Module60000Desc=Module to manage commissions +# Module150010Name=Batch number, eat-by date and sell-by date +# Module150010Desc=batch number, eat-by date and sell-by date management for product Permission11=Branje računov Permission12=Kreiranje/Spreminjanje računov Permission13=Preklic potrditve računov @@ -726,8 +736,8 @@ Permission50202=Uvoz prenosov # Permission55002=Create/modify surveys # Permission59001=Read commercial margins # Permission59002=Define commercial margins -# DictionaryCompanyType=Company types -# DictionaryCompanyJuridicalType=Juridical kinds of company +# DictionaryCompanyType=Thirdparties type +# DictionaryCompanyJuridicalType=Juridical kinds of thirdparties # DictionaryProspectLevel=Prospect potential level # DictionaryCanton=State/Cantons # DictionaryRegion=Regions @@ -959,7 +969,7 @@ SimpleNumRefModelDesc=Prikaže referenčno številko v formatu %syymm-nnnn pri ShowProfIdInAddress=Prikaži profesionalni ID z naslovi na dokumentih # ShowVATIntaInAddress=Hide VAT Intra num with addresses on documents TranslationUncomplete=Delni prevod -SomeTranslationAreUncomplete=Nekateri jeziki so lahko prevedeni samo delno, ali vsebujejo napake. Če jih najdete, lahko popravite tekstovne datoteke.lang v mapi htdocs/langs in jih pošljete na forum http://www.dolibarr.org. +# SomeTranslationAreUncomplete=Some languages may be partially translated or may contains errors. If you detect some, you can fix language files registering to http://transifex.com/projects/p/dolibarr/. MenuUseLayout=Omogočite skrivanje navpičnega menija (opcija javascript ne sme biti izklopljena) MAIN_DISABLE_METEO=Onemogočen vremenski prikaz TestLoginToAPI=Testna prijava na API @@ -985,6 +995,7 @@ ExtraFields=Koplementarni atributi # ExtraFieldsProjectTask=Complementary attributes (tasks) ExtraFieldHasWrongValue=Pripišejo %s ima napačno vrednost. # AlphaNumOnlyCharsAndNoSpace=only alphanumericals characters without space +# AlphaNumOnlyLowerCharsAndNoSpace=only alphanumericals and lower case characters without space SendingMailSetup=Nastavitev pošiljanja z elektronsko pošto SendmailOptionNotComplete=Pozor, na nekaterih Linux sistemih mora za pošiljanje pošte z vašega naslova nastavitev vsebovati opcijo -ba (parameter mail.force_extra_parameters v vaši datoteki php.ini). Če nekateri prejemniki nikoli ne dobijo pošte, poskusite popraviti PHP parameter z mail.force_extra_parameters = -ba). PathToDocuments=Pot do dokumentov @@ -1269,7 +1280,7 @@ ForANonAnonymousAccess=For an authenticated acces (for a write access for exampl # YouMayFindPerfAdviceHere=You will find on this page some checks or advices related to performance. # NotInstalled=Not installed, so your server is not slow down by this. # ApplicativeCache=Applicative cache -# MemcachedNotAvailable=No applicative cache found. You can enhance performance by installing a cache server Memcached and a module able to use this cache server. More information here http://wiki.dolibarr.org/index.php/Module_MemCached_EN. Note that a lot of web hosting provider does not provide such cache server. +# MemcachedNotAvailable=No applicative cache found. You can enhance performance by installing a cache server Memcached and a module able to use this cache server.
More information here http://wiki.dolibarr.org/index.php/Module_MemCached_EN.
Note that a lot of web hosting provider does not provide such cache server. # OPCodeCache=OPCode cache # NoOPCodeCacheFound=No OPCode cache found. May be you use another OPCode cache than XCache or eAccelerator (good), may be you don't have OPCode cache (very bad). # HTTPCacheStaticResources=HTTP cache for static resources (css, img, javascript) diff --git a/htdocs/langs/sl_SI/agenda.lang b/htdocs/langs/sl_SI/agenda.lang index 8ee92b87f20..9aeef7b6755 100644 --- a/htdocs/langs/sl_SI/agenda.lang +++ b/htdocs/langs/sl_SI/agenda.lang @@ -52,6 +52,7 @@ InvoiceSentByEMail=Račun kupcu %s poslan po elektronski pošti SupplierOrderSentByEMail=Naročilo dobavitelju %s poslano po elektronski pošti SupplierInvoiceSentByEMail=Račun odbavitelja %s poslan po elektronski pošti ShippingSentByEMail=Pošiljka %s poslana po EMailu +# ShippingValidated= Shipping %s validated InterventionSentByEMail=Intervencija %s poslana po EMailu NewCompanyToDolibarr= Kreiran partner DateActionPlannedStart= Planiran začetni datum diff --git a/htdocs/langs/sl_SI/cashdesk.lang b/htdocs/langs/sl_SI/cashdesk.lang index 1dedaeb2c1e..2bcbb81b0a3 100644 --- a/htdocs/langs/sl_SI/cashdesk.lang +++ b/htdocs/langs/sl_SI/cashdesk.lang @@ -37,3 +37,4 @@ ShowCompany=Prikaži podjetje ShowStock=Prikaži skladišče DeleteArticle=Kliknite za izbris tega artikla # FilterRefOrLabelOrBC=Search (Ref/Label) +# UserNeedPermissionToEditStockToUsePos=You ask to decrease stock on invoice creation, so user that use POS need to have permission to edit stock. diff --git a/htdocs/langs/sv_SE/admin.lang b/htdocs/langs/sv_SE/admin.lang index edb97535516..e166e5fa5f8 100644 --- a/htdocs/langs/sv_SE/admin.lang +++ b/htdocs/langs/sv_SE/admin.lang @@ -287,7 +287,7 @@ CurrentVersion=Dolibarr nuvarande version CallUpdatePage=Gå till sidan som uppdaterar databasen struktur och data: %s. LastStableVersion=Senaste stabila version GenericMaskCodes=Du kan ange någon numrering mask. I denna mask skulle följande taggar användas:
(000000) motsvarar ett antal som kommer att ökas på varje %s. Ange så många nollor som den önskade längden på disken. Räknaren kommer att fyllas ut med nollor från vänster för att få så många nollor som masken.
(000000 000) samma som tidigare men en kompensation som motsvarar det antal till höger om tecknet + tillämpas med början den första %s.
(000000 @ x) samma som tidigare, men räknaren återställs till noll när månaden x uppnås (x mellan 1 och 12). Om detta alternativ används och x är 2 eller högre, då sekvensen (yy) (mm) eller (ÅÅÅÅ) (mm) krävs också.
(Dd) dag (01 till 31).
(Mm) månad (01 till 12).
(Yy), (ÅÅÅÅ) eller (y) år under 2, 4 eller ett nummer.
-# GenericMaskCodes2={cccc} the client code
{cccc000} the client code on n characters is followed by a client's ref counter without offset and zeroized with the global counter.
{tttt} The code of company type on n characters (see dictionary-company types).
+# GenericMaskCodes2={cccc} the client code on n characters
{cccc000} the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.
{tttt} The code of company type on n characters (see dictionary-company types).
GenericMaskCodes3=Alla andra tecken i masken förblir intakt.
Blanksteg är inte tillåtna.
GenericMaskCodes4a=Exempel på 99. %s den tredje part TheCompany gjort 2007/01/31:
GenericMaskCodes4b=Exempel på tredje part som har skapats på 2007/03/01:
@@ -345,8 +345,6 @@ SecurityTokenIsUnique=Använd en unik securekey parameter för varje webbadress EnterRefToBuildUrl=Ange referens för objekt %s GetSecuredUrl=Få beräknat URL # ButtonHideUnauthorized=Hide buttons for unauthorized actions instead of showing disabled buttons -# ProductVatMassChange=Mass VAT change -# ProductVatMassChangeDesc=This page can be used to modify a VAT rate defined on products or services from a value to another. Warning, this change is done on all database. # OldVATRates=Old VAT rate # NewVATRates=New VAT rate # PriceBaseTypeToChange=Modify on prices with base reference value defined on @@ -381,6 +379,16 @@ ExtrafieldPrice = Pris # DefaultLink=Default link # ValueOverwrittenByUserSetup=Warning, this value may be overwritten by user specific setup (each user can set his own clicktodial url) # ExternalModule=External module - Installed into directory %s +# BarcodeInitForThirdparties=Mass barcode init for thirdparties +# BarcodeInitForProductsOrServices=Mass barcode init or reset for products or services +# CurrentlyNWithoutBarCode=Currently, you have %s records on %s %s without barcode defined. +# InitEmptyBarCode=Init value for next %s empty records +# EraseAllCurrentBarCode=Erase all current barcode values +# ConfirmEraseAllCurrentBarCode=Are you sure you want to erase all current barcode values ? +# AllBarcodeReset=All barcode values have been removed +# NoBarcodeNumberingTemplateDefined=No numbering barcode template enabled into barcode module setup. +# NoRecordWithoutBarcodeDefined=No record with no barcode value defined. + # Modules Module0Name=Användare & grupper @@ -510,6 +518,8 @@ Module50200Desc= Modul för att erbjuda en online-betalning sidan med kreditkort # Module59000Desc=Module to manage margins # Module60000Name=Commissions # Module60000Desc=Module to manage commissions +# Module150010Name=Batch number, eat-by date and sell-by date +# Module150010Desc=batch number, eat-by date and sell-by date management for product Permission11=Läs fakturor Permission12=Skapa / ändra fakturor Permission13=Unvalidate fakturor @@ -726,8 +736,8 @@ Permission50202=Importera transaktioner # Permission55002=Create/modify surveys # Permission59001=Read commercial margins # Permission59002=Define commercial margins -# DictionaryCompanyType=Company types -# DictionaryCompanyJuridicalType=Juridical kinds of company +# DictionaryCompanyType=Thirdparties type +# DictionaryCompanyJuridicalType=Juridical kinds of thirdparties # DictionaryProspectLevel=Prospect potential level # DictionaryCanton=State/Cantons # DictionaryRegion=Regions @@ -959,7 +969,7 @@ SimpleNumRefModelDesc=Returnera referensnummer format %syymm-nnnn där YY är å ShowProfIdInAddress=Visa branschorganisationer id med adresser på dokument # ShowVATIntaInAddress=Hide VAT Intra num with addresses on documents TranslationUncomplete=Partiell översättning -SomeTranslationAreUncomplete=Vissa språk kan vara delvis översättas eller kan innehåller fel. Om du upptäcker några, kan du fixa. Lang textfiler till katalogen htdocs / langs och lämna dem på forumet på http://www.dolibarr.org . +# SomeTranslationAreUncomplete=Some languages may be partially translated or may contains errors. If you detect some, you can fix language files registering to http://transifex.com/projects/p/dolibarr/. MenuUseLayout=Gör vertikal meny hidable (tillval Javascript måste inte inaktiveras) MAIN_DISABLE_METEO=Inaktivera meteo vy TestLoginToAPI=Testa logga in API @@ -985,6 +995,7 @@ ExtraFields=Komplementära egenskaper # ExtraFieldsProjectTask=Complementary attributes (tasks) ExtraFieldHasWrongValue=Hänförlig %s har ett felaktigt värde. # AlphaNumOnlyCharsAndNoSpace=only alphanumericals characters without space +# AlphaNumOnlyLowerCharsAndNoSpace=only alphanumericals and lower case characters without space SendingMailSetup=Inställning av sändningarna via e-post SendmailOptionNotComplete=Varning, på vissa Linux-system, för att skicka e-post från e-post, sendmail utförande inställning måste conatins Alternativ-ba (parameter mail.force_extra_parameters i din php.ini-fil). Om vissa mottagare inte emot e-post, försök att redigera den här PHP parameter med mail.force_extra_parameters =-BA). PathToDocuments=Sökväg till handlingar @@ -1269,7 +1280,7 @@ ForANonAnonymousAccess=För en bestyrkt tillbehör (för en skrivåtkomst till e # YouMayFindPerfAdviceHere=You will find on this page some checks or advices related to performance. # NotInstalled=Not installed, so your server is not slow down by this. # ApplicativeCache=Applicative cache -# MemcachedNotAvailable=No applicative cache found. You can enhance performance by installing a cache server Memcached and a module able to use this cache server. More information here http://wiki.dolibarr.org/index.php/Module_MemCached_EN. Note that a lot of web hosting provider does not provide such cache server. +# MemcachedNotAvailable=No applicative cache found. You can enhance performance by installing a cache server Memcached and a module able to use this cache server.
More information here http://wiki.dolibarr.org/index.php/Module_MemCached_EN.
Note that a lot of web hosting provider does not provide such cache server. # OPCodeCache=OPCode cache # NoOPCodeCacheFound=No OPCode cache found. May be you use another OPCode cache than XCache or eAccelerator (good), may be you don't have OPCode cache (very bad). # HTTPCacheStaticResources=HTTP cache for static resources (css, img, javascript) diff --git a/htdocs/langs/sv_SE/agenda.lang b/htdocs/langs/sv_SE/agenda.lang index f0318bf600c..f6d871bd6c4 100644 --- a/htdocs/langs/sv_SE/agenda.lang +++ b/htdocs/langs/sv_SE/agenda.lang @@ -52,6 +52,7 @@ InvoiceSentByEMail=Kundfaktura %s via e-post SupplierOrderSentByEMail=Leverantör beställa %s via e-post SupplierInvoiceSentByEMail=Leverantörsfaktura %s via e-post ShippingSentByEMail=Frakt %s via e-post +# ShippingValidated= Shipping %s validated InterventionSentByEMail=Intervention %s via e-post NewCompanyToDolibarr= Tredje part har skapats DateActionPlannedStart= Planerat startdatum diff --git a/htdocs/langs/sv_SE/cashdesk.lang b/htdocs/langs/sv_SE/cashdesk.lang index c5da5d507d7..9dc083d5e44 100644 --- a/htdocs/langs/sv_SE/cashdesk.lang +++ b/htdocs/langs/sv_SE/cashdesk.lang @@ -37,3 +37,4 @@ ShowCompany=Visar företaget ShowStock=Visar lagret DeleteArticle=Klicka här för att ta bort den här artikeln # FilterRefOrLabelOrBC=Search (Ref/Label) +# UserNeedPermissionToEditStockToUsePos=You ask to decrease stock on invoice creation, so user that use POS need to have permission to edit stock. diff --git a/htdocs/langs/sv_SE/errors.lang b/htdocs/langs/sv_SE/errors.lang index d2c7706fb80..9114452caae 100644 --- a/htdocs/langs/sv_SE/errors.lang +++ b/htdocs/langs/sv_SE/errors.lang @@ -26,8 +26,11 @@ ErrorFromToAccountsMustDiffers=Källa och mål bankkonton måste vara olika. ErrorBadThirdPartyName=Felaktigt värde för tredje part namn # ErrorProdIdIsMandatory=The %s is mandatory ErrorBadCustomerCodeSyntax=Dålig syntax för kundkod +# ErrorBadBarCodeSyntax=Bad syntax for bar code ErrorCustomerCodeRequired=Kunden som erfordras +# ErrorBarCodeRequired=Bar code required ErrorCustomerCodeAlreadyUsed=Kund-kod som används redan +# ErrorBarCodeAlreadyUsed=Bar code already used ErrorPrefixRequired=Prefix krävs ErrorUrlNotValid=Webbplatsen adressen är felaktig ErrorBadSupplierCodeSyntax=Bad syntax för leverantör kod @@ -63,6 +66,7 @@ ErrorSizeTooLongForVarcharType=Storlek för lång för sträng typ (%s tecken ma # ErrorNoValueForRadioType=Please fill value for radio list # ErrorBadFormatValueList=The list value cannot have more than one come : %s, but need at least one: llave,valores ErrorFieldCanNotContainSpecialCharacters=Fält %s inte innehåller specialtecken. +# ErrorFieldCanNotContainSpecialNorUpperCharacters=Field %s must not contains special characters, nor upper case characters. ErrorNoAccountancyModuleLoaded=Ingen bokföring modul aktiverad # ErrorExportDuplicateProfil=This profile name already exists for this export set. ErrorLDAPSetupNotComplete=Dolibarr-LDAP matchning inte är fullständig. diff --git a/htdocs/langs/sv_SE/exports.lang b/htdocs/langs/sv_SE/exports.lang index dc8c3f293e3..a7005cabaf1 100644 --- a/htdocs/langs/sv_SE/exports.lang +++ b/htdocs/langs/sv_SE/exports.lang @@ -123,6 +123,10 @@ BankCode=Bankkod DeskCode=Reception kod BankAccountNumber=Kontonummer BankAccountNumberKey=Nyckel +# SpecialCode=Special code +# ExportStringFilter=%% allows replacing one or more characters in the text +# ExportDateFilter='AAAA' 'AAAAMM' 'AAAAMMJJ': filters by one year/month/day
'AAAA+AAAA' 'AAAAMM+AAAAMM' 'AAAAMMJJ+AAAAMMJJ': filters over a range of years/months/days
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filters on the following years/months/days
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filters on the previous years/months/days +# ExportNumericFilter='NNNNN' filters by one value
'NNNNN+NNNNN' filters over a range of values
'>NNNNN' filters by lower values
'>NNNNN' filters by higher values ## filters # SelectFilterFields=If you want to filter on some values, just input values here. # FilterableFields=Champs Filtrables diff --git a/htdocs/langs/sv_SE/mails.lang b/htdocs/langs/sv_SE/mails.lang index 37fd91478ce..988d2fc9246 100644 --- a/htdocs/langs/sv_SE/mails.lang +++ b/htdocs/langs/sv_SE/mails.lang @@ -79,6 +79,13 @@ MailingStatusRead=Läsa # ActivateCheckRead=Allow to use the "Unsubcribe" link # ActivateCheckReadKey=Key use to encrypt URL use for "Read Receipt" and "Unsubcribe" feature # EMailSentToNRecipients=EMail sent to %s recipients. +# EachInvoiceWillBeAttachedToEmail=A document using default invoice document template will be created and attached to each email. +# MailTopicSendRemindUnpaidInvoices=Remind of invoice %s (%s) +# SendRemind=Send remind by EMails +# RemindSent=%S remind(s) sent +# AllRecipientSelectedForRemind=All thirdparties selected and if an email is set (note that one mail per invoice will be sent) +# NoRemindSent=No remind by EMail sent +# ResultOfMassSending=Result of mass remind sending by EMail # Libelle des modules de liste de destinataires mailing MailingModuleDescContactCompanies=Kontakter av alla tredje parter (kund, prospekt, leverantör, ...) diff --git a/htdocs/langs/sv_SE/main.lang b/htdocs/langs/sv_SE/main.lang index 12a2ae76989..51a2889e853 100644 --- a/htdocs/langs/sv_SE/main.lang +++ b/htdocs/langs/sv_SE/main.lang @@ -572,7 +572,7 @@ TotalWoman=Totalt TotalMan=Totalt NeverReceived=Aldrig fick Canceled=Annullerad -# YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu setup - dictionnary +# YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu setup - dictionary Color=Färg Documents=Länkade filer DocumentsNb=Länkade filer (%s) diff --git a/htdocs/langs/sv_SE/opensurvey.lang b/htdocs/langs/sv_SE/opensurvey.lang index 7650107c322..5b1cc4ed400 100644 --- a/htdocs/langs/sv_SE/opensurvey.lang +++ b/htdocs/langs/sv_SE/opensurvey.lang @@ -35,6 +35,7 @@ # TitleChoice=Choice label # ExportSpreadsheet=Export result spreadsheet ExpireDate=Begränsa datum +# NbOfSurveys=Number of surveys # NbOfVoters=Nb of voters # SurveyResults=Results # PollAdminDesc=You are allowed to change all vote lines of this poll with button "Edit". You can, as well, remove a column or a line with %s. You can also add a new column with %s. diff --git a/htdocs/langs/sv_SE/orders.lang b/htdocs/langs/sv_SE/orders.lang index f7a680437ec..6ea791fb212 100644 --- a/htdocs/langs/sv_SE/orders.lang +++ b/htdocs/langs/sv_SE/orders.lang @@ -55,6 +55,7 @@ DraftOrWaitingShipped=Förslag eller godkännas ännu inte sändas MenuOrdersToBill=Order till faktura # MenuOrdersToBill2=Orders to bill SearchOrder=Sök ordning +# SearchACustomerOrder=Search a customer order ShipProduct=Ship produkt Discount=Rabatt CreateOrder=Skapa ordning @@ -164,3 +165,4 @@ OrderByPhone=Telefonen # OrderCreated=Your orders have been created # OrderFail=An error happened during your orders creation # CreateOrders=Create orders +# ToBillSeveralOrderSelectCustomer=To create an invoice for several orders, click first onto customer, then choose "%s". diff --git a/htdocs/langs/sv_SE/other.lang b/htdocs/langs/sv_SE/other.lang index f787fb2430e..2539e04bb7b 100644 --- a/htdocs/langs/sv_SE/other.lang +++ b/htdocs/langs/sv_SE/other.lang @@ -49,14 +49,15 @@ Miscellaneous=Diverse NbOfActiveNotifications=Antal anmälningar PredefinedMailTest=Detta är en test post. \\ NDet två linjerna är åtskilda av en vagnretur. PredefinedMailTestHtml=Detta är en test post (ordet Provningen skall i fetstil).
De två linjerna är åtskilda av en vagnretur. -PredefinedMailContentSendInvoice=__CONTACTCIVNAME__ \n\n Här hittar du fakturan __FACREF__ \n\n__PERSONALIZED__ Sincerely \n\n__SIGNATURE__ -PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__ \n\n Vi vill varna dig för att fakturan __FACREF__ verkar inte betalt. Så detta är fakturan i bilagan igen, som en påminnelse. \n\n__PERSONALIZED__ Sincerely \n\n__SIGNATURE__ -PredefinedMailContentSendProposal=__CONTACTCIVNAME__ \n\n Här hittar du den kommersiella propoal __PROPREF__ \n\n__PERSONALIZED__ Sincerely \n\n__SIGNATURE__ -PredefinedMailContentSendOrder=__CONTACTCIVNAME__ \n\n Här hittar du den ordning __ORDERREF__ \n\n__PERSONALIZED__ Sincerely \n\n__SIGNATURE__ -PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__ \n\n Här hittar du vårt beställningsformulär __ORDERREF__ \n\n__PERSONALIZED__ Sincerely \n\n__SIGNATURE__ -PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__ \n\n Här hittar du fakturan __FACREF__ \n\n__PERSONALIZED__ Sincerely \n\n__SIGNATURE__ -PredefinedMailContentSendShipping=__CONTACTCIVNAME__ \n\n Här hittar du sjöfarten __SHIPPINGREF__ \n\n__PERSONALIZED__ Sincerely \n\n__SIGNATURE__ -PredefinedMailContentSendFichInter=__CONTACTCIVNAME__ \n\n Här hittar du insatsen __FICHINTERREF__ \n\n__PERSONALIZED__ Sincerely \n\n__SIGNATURE__ +# PredefinedMailContentSendInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__\n\nWe would like to warn you that the invoice __FACREF__ seems to not being payed. So this is the invoice in attachment again, as a reminder.\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendProposal=__CONTACTCIVNAME__\n\nYou will find here the commercial proposal __PROPREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendOrder=__CONTACTCIVNAME__\n\nYou will find here the order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__\n\nYou will find here our order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendShipping=__CONTACTCIVNAME__\n\nYou will find here the shipping __SHIPPINGREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendFichInter=__CONTACTCIVNAME__\n\nYou will find here the intervention __FICHINTERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentThirdparty=__CONTACTCIVNAME__\n\n__PERSONALIZED__\n\n__SIGNATURE__ DemoDesc=Dolibarr är en kompakt ERP / CRM består av flera funktionella moduler. En demo som inkluderar alla moduler inte betyder något som detta inträffar aldrig. Så, flera demo profiler finns tillgängliga. ChooseYourDemoProfil=Välj demo profil som matchar din aktivitet ... DemoFundation=Hantera medlemmar av en stiftelse diff --git a/htdocs/langs/sv_SE/products.lang b/htdocs/langs/sv_SE/products.lang index 5ea6d7288a2..59cd39c1080 100644 --- a/htdocs/langs/sv_SE/products.lang +++ b/htdocs/langs/sv_SE/products.lang @@ -13,6 +13,10 @@ NewProduct=Ny produkt NewService=Ny tjänst ProductCode=Produktkod ServiceCode=Service-koden +# ProductVatMassChange=Mass VAT change +# ProductVatMassChangeDesc=This page can be used to modify a VAT rate defined on products or services from a value to another. Warning, this change is done on all database. +# MassBarcodeInit=Mass barcode init +# MassBarcodeInitDesc=This page can be used to initialize a barcode on objects that does not have barcode defined. Check before that setup of module barcode is complete. ProductAccountancyBuyCode=Bokföring kod (köp) ProductAccountancySellCode=Bokföring kod (sälja) ProductOrService=Produkt eller tjänst @@ -173,8 +177,8 @@ CustomCode=Tullkodex CountryOrigin=Ursprungsland HiddenIntoCombo=Dold i vissa utvalda listor Nature=Naturen -# ProductCodeModel=Product code template -# ServiceCodeModel=Service code template +# ProductCodeModel=Product ref template +# ServiceCodeModel=Service ref template # AddThisProductCard=Create product card # HelpAddThisProductCard=This option allows you to create or clone a product if it does not exist. # AddThisServiceCard=Create service card @@ -216,5 +220,10 @@ QtyNeed=Antal # DefinitionOfBarCodeForThirdpartyNotComplete=Definition of type or value of bar code non complete for thirdparty %s. # BarCodeDataForProduct=Barcode information of product %s : # BarCodeDataForThirdparty=Barcode information of thirdparty %s : -# BarcodeStickersMask=xxx - +# ResetBarcodeForAllRecords=Define barcode value for all records (this will also reset barcode value already defined with new values) +# PriceByCustomer=Price by customer +# PriceCatalogue=Catalogue Price +# PricingRule=Pricing Rules +# AddCustomerPrice=Add price by customers +# ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +# PriceByCustomerLog=Price by customer log diff --git a/htdocs/langs/sv_SE/projects.lang b/htdocs/langs/sv_SE/projects.lang index 753b37b07d0..2836048dfdc 100644 --- a/htdocs/langs/sv_SE/projects.lang +++ b/htdocs/langs/sv_SE/projects.lang @@ -1,4 +1,6 @@ # Dolibarr language file - Source file is en_US - projects +# RefProject=Ref. project +# ProjectId=Project Id Project=Projekt Projects=Projekt SharedProject=Alla @@ -30,11 +32,18 @@ TimeSpent=Tid som tillbringas TimesSpent=Tid RefTask=Ref. uppgift LabelTask=Label uppgift +# TaskTimeSpent=Time spent on tasks +# TaskTimeUser=Task time user +# TaskTimeNote=Task time note +# TaskTimeDate=Task time date NewTimeSpent=Ny tid MyTimeSpent=Min tid MyTasks=Mina uppgifter Tasks=Uppgifter Task=Uppgift +# TaskDateStart=Task start date +# TaskDateEnd=Task end date +# TaskDescription=Task description NewTask=Ny uppgift AddTask=Lägg till uppgift AddDuration=Lägg varaktighet @@ -100,12 +109,12 @@ IfNeedToUseOhterObjectKeepEmpty=Om vissa objekt (faktura, order, ...), som tillh ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Projektledare TypeContact_project_external_PROJECTLEADER=Projektledare -TypeContact_project_internal_PROJECTCONTRIBUTOR=Medarbetare -TypeContact_project_external_PROJECTCONTRIBUTOR=Medarbetare +# TypeContact_project_internal_PROJECTCONTRIBUTOR=Contributor +# TypeContact_project_external_PROJECTCONTRIBUTOR=Contributor TypeContact_project_task_internal_TASKEXECUTIVE=Uppgift verkställande TypeContact_project_task_external_TASKEXECUTIVE=Uppgift verkställande -TypeContact_project_task_internal_TASKCONTRIBUTOR=Medarbetare -TypeContact_project_task_external_TASKCONTRIBUTOR=Medarbetare +# TypeContact_project_task_internal_TASKCONTRIBUTOR=Contributor +# TypeContact_project_task_external_TASKCONTRIBUTOR=Contributor # SelectElement=Select element # AddElement=Link to element # Documents models diff --git a/htdocs/langs/sv_SE/stocks.lang b/htdocs/langs/sv_SE/stocks.lang index 9850ee7ad24..bc5dd5aba44 100644 --- a/htdocs/langs/sv_SE/stocks.lang +++ b/htdocs/langs/sv_SE/stocks.lang @@ -94,14 +94,20 @@ SelectWarehouseForStockIncrease=Välj lagret som ska användas för lagerökning # StockToBuy=To order # Replenishment=Replenishment # ReplenishmentOrders=Replenishment orders -# UseVirtualStock=Use virtual stock instead of physical stock +# VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differs +# UseVirtualStockByDefault=Use virtual stock by default, instead of physical stock, for replenishment feature +# UseVirtualStock=Use virtual stock +# UsePhysicalStock=Use physical stock +# CurentSelectionMode=Curent selection mode +# CurentlyUsingVirtualStock=Virtual stock +# CurentlyUsingPhysicalStock=Physical stock # RuleForStockReplenishment=Rule for stocks replenishment # SelectProductWithNotNullQty=Select at least one product with a qty not null and a supplier # AlertOnly= Alerts only # WarehouseForStockDecrease=The warehouse %s will be used for stock decrease # WarehouseForStockIncrease=The warehouse %s will be used for stock increase # ForThisWarehouse=For this warehouse -# ReplenishmentStatusDesc=This is list of all product with a physical stock lower than desired stock (or alert value if checkbox "alert only" is checked) and suggest you to create supplier orders to fill the difference. +# ReplenishmentStatusDesc=This is list of all product with a stock lower than desired stock (or lower than alert value if checkbox "alert only" is checked), and suggest you to create supplier orders to fill the difference. # ReplenishmentOrdersDesc=This is list of all opened supplier orders # Replenishments=Replenishments # NbOfProductBeforePeriod=Quantity of product %s in stock before selected period (< %s) diff --git a/htdocs/langs/th_TH/admin.lang b/htdocs/langs/th_TH/admin.lang index 04f8ead742e..8781e13dd7d 100644 --- a/htdocs/langs/th_TH/admin.lang +++ b/htdocs/langs/th_TH/admin.lang @@ -287,7 +287,7 @@ VersionRecommanded=แนะนำ # CallUpdatePage=Go to the page that updates the database structure and datas: %s. # LastStableVersion=Last stable version # GenericMaskCodes=You may enter any numbering mask. In this mask, the following tags could be used:
{000000} corresponds to a number which will be incremented on each %s. Enter as many zeros as the desired length of the counter. The counter will be completed by zeros from the left in order to have as many zeros as the mask.
{000000+000} same as previous but an offset corresponding to the number to the right of the + sign is applied starting on first %s.
{000000@x} same as previous but the counter is reset to zero when month x is reached (x between 1 and 12, or 0 to use the early months of fiscal year defined in your configuration, or 99 to reset to zero every month). If this option is used and x is 2 or higher, then sequence {yy}{mm} or {yyyy}{mm} is also required.
{dd} day (01 to 31).
{mm} month (01 to 12).
{yy}, {yyyy} or {y} year over 2, 4 or 1 numbers.
-# GenericMaskCodes2={cccc} the client code
{cccc000} the client code on n characters is followed by a client's ref counter without offset and zeroized with the global counter.
{tttt} The code of company type on n characters (see dictionary-company types).
+# GenericMaskCodes2={cccc} the client code on n characters
{cccc000} the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.
{tttt} The code of company type on n characters (see dictionary-company types).
# GenericMaskCodes3=All other characters in the mask will remain intact.
Spaces are not allowed.
# GenericMaskCodes4a=Example on the 99th %s of the third party TheCompany done 2007-01-31:
# GenericMaskCodes4b=Example on third party created on 2007-03-01:
@@ -345,8 +345,6 @@ VersionRecommanded=แนะนำ # EnterRefToBuildUrl=Enter reference for object %s # GetSecuredUrl=Get calculated URL # ButtonHideUnauthorized=Hide buttons for unauthorized actions instead of showing disabled buttons -# ProductVatMassChange=Mass VAT change -# ProductVatMassChangeDesc=This page can be used to modify a VAT rate defined on products or services from a value to another. Warning, this change is done on all database. # OldVATRates=Old VAT rate # NewVATRates=New VAT rate # PriceBaseTypeToChange=Modify on prices with base reference value defined on @@ -381,6 +379,16 @@ VersionRecommanded=แนะนำ # DefaultLink=Default link # ValueOverwrittenByUserSetup=Warning, this value may be overwritten by user specific setup (each user can set his own clicktodial url) # ExternalModule=External module - Installed into directory %s +# BarcodeInitForThirdparties=Mass barcode init for thirdparties +# BarcodeInitForProductsOrServices=Mass barcode init or reset for products or services +# CurrentlyNWithoutBarCode=Currently, you have %s records on %s %s without barcode defined. +# InitEmptyBarCode=Init value for next %s empty records +# EraseAllCurrentBarCode=Erase all current barcode values +# ConfirmEraseAllCurrentBarCode=Are you sure you want to erase all current barcode values ? +# AllBarcodeReset=All barcode values have been removed +# NoBarcodeNumberingTemplateDefined=No numbering barcode template enabled into barcode module setup. +# NoRecordWithoutBarcodeDefined=No record with no barcode value defined. + # Modules # Module0Name=Users & groups @@ -510,6 +518,8 @@ VersionRecommanded=แนะนำ # Module59000Desc=Module to manage margins # Module60000Name=Commissions # Module60000Desc=Module to manage commissions +# Module150010Name=Batch number, eat-by date and sell-by date +# Module150010Desc=batch number, eat-by date and sell-by date management for product # Permission11=Read customer invoices # Permission12=Create/modify customer invoices # Permission13=Unvalidate customer invoices @@ -726,8 +736,8 @@ VersionRecommanded=แนะนำ # Permission55002=Create/modify surveys # Permission59001=Read commercial margins # Permission59002=Define commercial margins -# DictionaryCompanyType=Company types -# DictionaryCompanyJuridicalType=Juridical kinds of company +# DictionaryCompanyType=Thirdparties type +# DictionaryCompanyJuridicalType=Juridical kinds of thirdparties # DictionaryProspectLevel=Prospect potential level # DictionaryCanton=State/Cantons # DictionaryRegion=Regions @@ -959,7 +969,7 @@ LocalTax2IsNotUsedExample= # ShowProfIdInAddress=Show professionnal id with addresses on documents # ShowVATIntaInAddress=Hide VAT Intra num with addresses on documents # TranslationUncomplete=Partial translation -# SomeTranslationAreUncomplete=Some languages may be partially translated or may contains errors. If you detect some, you can fix .lang text files into directory htdocs/langs and submit them on the forum at http://www.dolibarr.org. +# SomeTranslationAreUncomplete=Some languages may be partially translated or may contains errors. If you detect some, you can fix language files registering to http://transifex.com/projects/p/dolibarr/. # MenuUseLayout=Make vertical menu hidable (option javascript must not be disabled) # MAIN_DISABLE_METEO=Disable meteo view # TestLoginToAPI=Test login to API @@ -985,6 +995,7 @@ LocalTax2IsNotUsedExample= # ExtraFieldsProjectTask=Complementary attributes (tasks) # ExtraFieldHasWrongValue=Attribut %s has a wrong value. # AlphaNumOnlyCharsAndNoSpace=only alphanumericals characters without space +# AlphaNumOnlyLowerCharsAndNoSpace=only alphanumericals and lower case characters without space # SendingMailSetup=Setup of sendings by email # SendmailOptionNotComplete=Warning, on some Linux systems, to send email from your email, sendmail execution setup must contains option -ba (parameter mail.force_extra_parameters into your php.ini file). If some recipients never receive emails, try to edit this PHP parameter with mail.force_extra_parameters = -ba). # PathToDocuments=Path to documents @@ -1269,7 +1280,7 @@ LocalTax2IsNotUsedExample= # YouMayFindPerfAdviceHere=You will find on this page some checks or advices related to performance. # NotInstalled=Not installed, so your server is not slow down by this. # ApplicativeCache=Applicative cache -# MemcachedNotAvailable=No applicative cache found. You can enhance performance by installing a cache server Memcached and a module able to use this cache server. More information here http://wiki.dolibarr.org/index.php/Module_MemCached_EN. Note that a lot of web hosting provider does not provide such cache server. +# MemcachedNotAvailable=No applicative cache found. You can enhance performance by installing a cache server Memcached and a module able to use this cache server.
More information here http://wiki.dolibarr.org/index.php/Module_MemCached_EN.
Note that a lot of web hosting provider does not provide such cache server. # OPCodeCache=OPCode cache # NoOPCodeCacheFound=No OPCode cache found. May be you use another OPCode cache than XCache or eAccelerator (good), may be you don't have OPCode cache (very bad). # HTTPCacheStaticResources=HTTP cache for static resources (css, img, javascript) diff --git a/htdocs/langs/th_TH/agenda.lang b/htdocs/langs/th_TH/agenda.lang index 8a78e6c51c8..c5b02c0ecb6 100644 --- a/htdocs/langs/th_TH/agenda.lang +++ b/htdocs/langs/th_TH/agenda.lang @@ -52,6 +52,7 @@ # SupplierOrderSentByEMail=Supplier order %s sent by EMail # SupplierInvoiceSentByEMail=Supplier invoice %s sent by EMail # ShippingSentByEMail=Shipping %s sent by EMail +# ShippingValidated= Shipping %s validated # InterventionSentByEMail=Intervention %s sent by EMail # NewCompanyToDolibarr= Third party created # DateActionPlannedStart= Planned start date diff --git a/htdocs/langs/th_TH/cashdesk.lang b/htdocs/langs/th_TH/cashdesk.lang index 8fd787620f4..5cfb7ea3d6d 100644 --- a/htdocs/langs/th_TH/cashdesk.lang +++ b/htdocs/langs/th_TH/cashdesk.lang @@ -37,3 +37,4 @@ # ShowStock=Show warehouse # DeleteArticle=Click to remove this article # FilterRefOrLabelOrBC=Search (Ref/Label) +# UserNeedPermissionToEditStockToUsePos=You ask to decrease stock on invoice creation, so user that use POS need to have permission to edit stock. diff --git a/htdocs/langs/th_TH/errors.lang b/htdocs/langs/th_TH/errors.lang index f5e6781eb4c..473ab485c97 100644 --- a/htdocs/langs/th_TH/errors.lang +++ b/htdocs/langs/th_TH/errors.lang @@ -26,8 +26,11 @@ # ErrorBadThirdPartyName=Bad value for third party name # ErrorProdIdIsMandatory=The %s is mandatory # ErrorBadCustomerCodeSyntax=Bad syntax for customer code +# ErrorBadBarCodeSyntax=Bad syntax for bar code # ErrorCustomerCodeRequired=Customer code required +# ErrorBarCodeRequired=Bar code required # ErrorCustomerCodeAlreadyUsed=Customer code already used +# ErrorBarCodeAlreadyUsed=Bar code already used # ErrorPrefixRequired=Prefix required # ErrorUrlNotValid=The website address is incorrect # ErrorBadSupplierCodeSyntax=Bad syntax for supplier code @@ -63,6 +66,7 @@ # ErrorNoValueForRadioType=Please fill value for radio list # ErrorBadFormatValueList=The list value cannot have more than one come : %s, but need at least one: llave,valores # ErrorFieldCanNotContainSpecialCharacters=Field %s must not contains special characters. +# ErrorFieldCanNotContainSpecialNorUpperCharacters=Field %s must not contains special characters, nor upper case characters. # ErrorNoAccountancyModuleLoaded=No accountancy module activated # ErrorExportDuplicateProfil=This profile name already exists for this export set. # ErrorLDAPSetupNotComplete=Dolibarr-LDAP matching is not complete. diff --git a/htdocs/langs/th_TH/exports.lang b/htdocs/langs/th_TH/exports.lang index ecb0d4a94ac..082be11736e 100644 --- a/htdocs/langs/th_TH/exports.lang +++ b/htdocs/langs/th_TH/exports.lang @@ -123,6 +123,10 @@ # DeskCode=Desk code # BankAccountNumber=Account number # BankAccountNumberKey=Key +# SpecialCode=Special code +# ExportStringFilter=%% allows replacing one or more characters in the text +# ExportDateFilter='AAAA' 'AAAAMM' 'AAAAMMJJ': filters by one year/month/day
'AAAA+AAAA' 'AAAAMM+AAAAMM' 'AAAAMMJJ+AAAAMMJJ': filters over a range of years/months/days
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filters on the following years/months/days
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filters on the previous years/months/days +# ExportNumericFilter='NNNNN' filters by one value
'NNNNN+NNNNN' filters over a range of values
'>NNNNN' filters by lower values
'>NNNNN' filters by higher values ## filters # SelectFilterFields=If you want to filter on some values, just input values here. # FilterableFields=Champs Filtrables diff --git a/htdocs/langs/th_TH/mails.lang b/htdocs/langs/th_TH/mails.lang index 328fc3ec5d6..313acce4fa1 100644 --- a/htdocs/langs/th_TH/mails.lang +++ b/htdocs/langs/th_TH/mails.lang @@ -79,6 +79,13 @@ # ActivateCheckRead=Allow to use the "Unsubcribe" link # ActivateCheckReadKey=Key use to encrypt URL use for "Read Receipt" and "Unsubcribe" feature # EMailSentToNRecipients=EMail sent to %s recipients. +# EachInvoiceWillBeAttachedToEmail=A document using default invoice document template will be created and attached to each email. +# MailTopicSendRemindUnpaidInvoices=Remind of invoice %s (%s) +# SendRemind=Send remind by EMails +# RemindSent=%S remind(s) sent +# AllRecipientSelectedForRemind=All thirdparties selected and if an email is set (note that one mail per invoice will be sent) +# NoRemindSent=No remind by EMail sent +# ResultOfMassSending=Result of mass remind sending by EMail # Libelle des modules de liste de destinataires mailing # MailingModuleDescContactCompanies=Contacts/addresses of all third parties (customer, prospect, supplier, ...) diff --git a/htdocs/langs/th_TH/main.lang b/htdocs/langs/th_TH/main.lang index 137c7ed533f..ea51e394d3b 100644 --- a/htdocs/langs/th_TH/main.lang +++ b/htdocs/langs/th_TH/main.lang @@ -572,7 +572,7 @@ SeparatorThousand=, # TotalMan=Total # NeverReceived=Never received # Canceled=Canceled -# YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu setup - dictionnary +# YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu setup - dictionary # Color=Color # Documents=Linked files # DocumentsNb=Linked files (%s) diff --git a/htdocs/langs/th_TH/opensurvey.lang b/htdocs/langs/th_TH/opensurvey.lang index fec34d9dbe6..1fbafbdb317 100644 --- a/htdocs/langs/th_TH/opensurvey.lang +++ b/htdocs/langs/th_TH/opensurvey.lang @@ -35,6 +35,7 @@ # TitleChoice=Choice label # ExportSpreadsheet=Export result spreadsheet # ExpireDate=Limit date +# NbOfSurveys=Number of surveys # NbOfVoters=Nb of voters # SurveyResults=Results # PollAdminDesc=You are allowed to change all vote lines of this poll with button "Edit". You can, as well, remove a column or a line with %s. You can also add a new column with %s. diff --git a/htdocs/langs/th_TH/orders.lang b/htdocs/langs/th_TH/orders.lang index 6bbef48cfc9..42444f0ec1c 100644 --- a/htdocs/langs/th_TH/orders.lang +++ b/htdocs/langs/th_TH/orders.lang @@ -55,6 +55,7 @@ # MenuOrdersToBill=Orders delivered # MenuOrdersToBill2=Orders to bill # SearchOrder=Search order +# SearchACustomerOrder=Search a customer order # ShipProduct=Ship product # Discount=Discount # CreateOrder=Create Order @@ -164,3 +165,4 @@ # OrderCreated=Your orders have been created # OrderFail=An error happened during your orders creation # CreateOrders=Create orders +# ToBillSeveralOrderSelectCustomer=To create an invoice for several orders, click first onto customer, then choose "%s". diff --git a/htdocs/langs/th_TH/other.lang b/htdocs/langs/th_TH/other.lang index 3ff4e868d22..1597fb25d24 100644 --- a/htdocs/langs/th_TH/other.lang +++ b/htdocs/langs/th_TH/other.lang @@ -49,14 +49,15 @@ # NbOfActiveNotifications=Number of notifications # PredefinedMailTest=This is a test mail.\nThe two lines are separated by a carriage return.\n\n__SIGNATURE__ # PredefinedMailTestHtml=This is a test mail (the word test must be in bold).
The two lines are separated by a carriage return.

__SIGNATURE__ -# PredefinedMailContentSendInvoice=__CONTACTCIVNAME__ \n\n You will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__ \n\n We would like to warn you that the invoice __FACREF__ seems to not being payed. So this is the invoice in attachment again, as a reminder.\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendProposal=__CONTACTCIVNAME__ \n\n You will find here the commercial proposal __PROPREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendOrder=__CONTACTCIVNAME__ \n\n You will find here the order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__ \n\n You will find here our order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__ \n\n You will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendShipping=__CONTACTCIVNAME__ \n\n You will find here the shipping __SHIPPINGREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendFichInter=__CONTACTCIVNAME__ \n\n You will find here the intervention __FICHINTERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__\n\nWe would like to warn you that the invoice __FACREF__ seems to not being payed. So this is the invoice in attachment again, as a reminder.\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendProposal=__CONTACTCIVNAME__\n\nYou will find here the commercial proposal __PROPREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendOrder=__CONTACTCIVNAME__\n\nYou will find here the order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__\n\nYou will find here our order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendShipping=__CONTACTCIVNAME__\n\nYou will find here the shipping __SHIPPINGREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendFichInter=__CONTACTCIVNAME__\n\nYou will find here the intervention __FICHINTERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentThirdparty=__CONTACTCIVNAME__\n\n__PERSONALIZED__\n\n__SIGNATURE__ # DemoDesc=Dolibarr is a compact ERP/CRM composed by several functional modules. A demo that includes all modules does not mean anything as this never occurs. So, several demo profiles are available. # ChooseYourDemoProfil=Choose the demo profile that match your activity... # DemoFundation=Manage members of a foundation diff --git a/htdocs/langs/th_TH/products.lang b/htdocs/langs/th_TH/products.lang index 9f75dab9917..d91deb78816 100644 --- a/htdocs/langs/th_TH/products.lang +++ b/htdocs/langs/th_TH/products.lang @@ -13,6 +13,10 @@ # NewService=New service # ProductCode=Product code # ServiceCode=Service code +# ProductVatMassChange=Mass VAT change +# ProductVatMassChangeDesc=This page can be used to modify a VAT rate defined on products or services from a value to another. Warning, this change is done on all database. +# MassBarcodeInit=Mass barcode init +# MassBarcodeInitDesc=This page can be used to initialize a barcode on objects that does not have barcode defined. Check before that setup of module barcode is complete. # ProductAccountancyBuyCode=Accountancy code (buy) # ProductAccountancySellCode=Accountancy code (sell) # ProductOrService=Product or Service @@ -173,8 +177,8 @@ # CountryOrigin=Origin country # HiddenIntoCombo=Hidden into select lists # Nature=Nature -# ProductCodeModel=Product code template -# ServiceCodeModel=Service code template +# ProductCodeModel=Product ref template +# ServiceCodeModel=Service ref template # AddThisProductCard=Create product card # HelpAddThisProductCard=This option allows you to create or clone a product if it does not exist. # AddThisServiceCard=Create service card @@ -216,5 +220,10 @@ # DefinitionOfBarCodeForThirdpartyNotComplete=Definition of type or value of bar code non complete for thirdparty %s. # BarCodeDataForProduct=Barcode information of product %s : # BarCodeDataForThirdparty=Barcode information of thirdparty %s : -# BarcodeStickersMask=xxx - +# ResetBarcodeForAllRecords=Define barcode value for all records (this will also reset barcode value already defined with new values) +# PriceByCustomer=Price by customer +# PriceCatalogue=Catalogue Price +# PricingRule=Pricing Rules +# AddCustomerPrice=Add price by customers +# ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +# PriceByCustomerLog=Price by customer log diff --git a/htdocs/langs/th_TH/projects.lang b/htdocs/langs/th_TH/projects.lang index f2c0c2b86c6..2710b95cdf8 100644 --- a/htdocs/langs/th_TH/projects.lang +++ b/htdocs/langs/th_TH/projects.lang @@ -1,4 +1,6 @@ # Dolibarr language file - Source file is en_US - projects +# RefProject=Ref. project +# ProjectId=Project Id # Project=Project # Projects=Projects # SharedProject=Everybody @@ -30,11 +32,18 @@ # TimesSpent=Time spent # RefTask=Ref. task # LabelTask=Label task +# TaskTimeSpent=Time spent on tasks +# TaskTimeUser=Task time user +# TaskTimeNote=Task time note +# TaskTimeDate=Task time date # NewTimeSpent=New time spent # MyTimeSpent=My time spent # MyTasks=My tasks # Tasks=Tasks # Task=Task +# TaskDateStart=Task start date +# TaskDateEnd=Task end date +# TaskDescription=Task description # NewTask=New task # AddTask=Add task # AddDuration=Add duration @@ -100,12 +109,12 @@ ##### Types de contacts ##### # TypeContact_project_internal_PROJECTLEADER=Project leader # TypeContact_project_external_PROJECTLEADER=Project leader -# TypeContact_project_internal_CONTRIBUTOR=Contributor -# TypeContact_project_external_CONTRIBUTOR=Contributor +# TypeContact_project_internal_PROJECTCONTRIBUTOR=Contributor +# TypeContact_project_external_PROJECTCONTRIBUTOR=Contributor # TypeContact_project_task_internal_TASKEXECUTIVE=Task executive # TypeContact_project_task_external_TASKEXECUTIVE=Task executive -# TypeContact_project_task_internal_CONTRIBUTOR=Contributor -# TypeContact_project_task_external_CONTRIBUTOR=Contributor +# TypeContact_project_task_internal_TASKCONTRIBUTOR=Contributor +# TypeContact_project_task_external_TASKCONTRIBUTOR=Contributor # SelectElement=Select element # AddElement=Link to element # Documents models diff --git a/htdocs/langs/th_TH/stocks.lang b/htdocs/langs/th_TH/stocks.lang index d6c87f1062f..be1e333f87c 100644 --- a/htdocs/langs/th_TH/stocks.lang +++ b/htdocs/langs/th_TH/stocks.lang @@ -94,14 +94,20 @@ # StockToBuy=To order # Replenishment=Replenishment # ReplenishmentOrders=Replenishment orders -# UseVirtualStock=Use virtual stock instead of physical stock +# VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differs +# UseVirtualStockByDefault=Use virtual stock by default, instead of physical stock, for replenishment feature +# UseVirtualStock=Use virtual stock +# UsePhysicalStock=Use physical stock +# CurentSelectionMode=Curent selection mode +# CurentlyUsingVirtualStock=Virtual stock +# CurentlyUsingPhysicalStock=Physical stock # RuleForStockReplenishment=Rule for stocks replenishment # SelectProductWithNotNullQty=Select at least one product with a qty not null and a supplier # AlertOnly= Alerts only # WarehouseForStockDecrease=The warehouse %s will be used for stock decrease # WarehouseForStockIncrease=The warehouse %s will be used for stock increase # ForThisWarehouse=For this warehouse -# ReplenishmentStatusDesc=This is list of all product with a physical stock lower than desired stock (or alert value if checkbox "alert only" is checked) and suggest you to create supplier orders to fill the difference. +# ReplenishmentStatusDesc=This is list of all product with a stock lower than desired stock (or lower than alert value if checkbox "alert only" is checked), and suggest you to create supplier orders to fill the difference. # ReplenishmentOrdersDesc=This is list of all opened supplier orders # Replenishments=Replenishments # NbOfProductBeforePeriod=Quantity of product %s in stock before selected period (< %s) diff --git a/htdocs/langs/tr_TR/admin.lang b/htdocs/langs/tr_TR/admin.lang index 0d1addbb423..c81d0936e01 100644 --- a/htdocs/langs/tr_TR/admin.lang +++ b/htdocs/langs/tr_TR/admin.lang @@ -43,8 +43,8 @@ SecuritySetup=Güvenlik ayarları ErrorModuleRequirePHPVersion=Hata, bu modül %s veya daha yüksek PHP sürümü gerektirir. ErrorModuleRequireDolibarrVersion=Hata, bu modül %s veya daha yüksek Dolibarr sürümü gerektirir. ErrorDecimalLargerThanAreForbidden=Hata, %s den daha yüksek hassasiyet desteklenmez. -# DictionarySetup=Dictionary setup -# Dictionary=Dictionaries +DictionarySetup=Sözlük ayarları +Dictionary=Sözlükler ErrorReservedTypeSystemSystemAuto='system' ve 'systemauto' değerleri tür için ayrılmıştır. 'kullanıcı'yı kendi kayıtlarınıza eklemek için değer olarak kullanabilirsiniz ErrorCodeCantContainZero=Kod 0 değeri içeremez DisableJavascript=Javascript ve Ajax fonksiyonlarını engelle @@ -287,7 +287,7 @@ CurrentVersion=Dolibarr geçerli sürümü CallUpdatePage=Veritabanı yapısını ve verileri güncelleyen sayfaya git: %s. LastStableVersion=Son kararlı sürüm GenericMaskCodes=Herhangi bir numaralandırma maskesi girebilirsiniz. Bu maskede alttaki etiketler kullanılabilir:
{000000} her %s te artırılacak bir numaraya karşılık gelir. Sayacın istenilen uzunluğu kadar çok sıfır girin. Sayaç, maskedeki kadar çok sayıda sıfır olacak şekilde soldan sıfırlarla tamamlanacaktır.
{000000+000} önceki ile aynıdır fakat + işaretinin sağındaki sayıya denk gelen bir sapma ilk %s ten itibaren uygulanır.
{000000@x} önceki ile aynıdır fakat sayaç x aya ulaşıldığında sıfırlanır (x= 1 ve 12 arasındadır veya yapılandırmada tanımlanan mali yılın ilk aylarını kullanmak için 0 dır). Bu seçenek kullanılırsa ve x= 2 veya daha yüksekse, {yyyy}{mm} veya {yyyy}{mm} dizisi de gereklidir.
{dd} gün (01 ila 31).
{mm} ay (01 ila 12).
{yy}, {yyyy} veya {y} yıl 2, 4 veya 1 sayıları üzerindedir.
-# GenericMaskCodes2={cccc} the client code
{cccc000} the client code on n characters is followed by a client's ref counter without offset and zeroized with the global counter.
{tttt} The code of company type on n characters (see dictionary-company types).
+# GenericMaskCodes2={cccc} the client code on n characters
{cccc000} the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.
{tttt} The code of company type on n characters (see dictionary-company types).
GenericMaskCodes3=Maskede diğer tüm karakterler olduğu gibi kalır.
Boşluklara izin verilmez.
GenericMaskCodes4a=Üçüncü partinin 99 uncu %s örneği Firma 2007/01/31 de yapıldı:
GenericMaskCodes4b=2007/03/01 tarihinde oluşturulan üçüncü parti örneği:
@@ -345,8 +345,6 @@ SecurityTokenIsUnique=Her URL için eşsiz bir güvenlik anahtarı kullan EnterRefToBuildUrl=Nesen %s için hata referansı GetSecuredUrl=Hesaplanan URL al ButtonHideUnauthorized=Yetkisiz işlemler için düğmeleri engelli göstermek yerine gizleHide buttons for unauthorized actions instead of showing disabled buttons -ProductVatMassChange=Toplu KDV değiştirme -ProductVatMassChangeDesc=Bu sayfa, ürünler ve hizmetler için tanımlanan KDV oranının bir değerden başka bir değere değiştirilmesinde kullanılır. Uyarı, bu değişiklil tüm veritabanına uygulanır. OldVATRates=Eski KDV oranı NewVATRates=Yeni KDV oranı PriceBaseTypeToChange=Buna göre tanımlanan temel referans değerli fiyatları değiştir @@ -381,6 +379,16 @@ KeepEmptyToUseDefault=Varsayılan değeri kullanmak için boş bırak DefaultLink=Varsayılan bağlantı ValueOverwrittenByUserSetup=Uyarı, bu değer kullanıcıya özel kurulum ile üzerine yazılabilir (her kullanıcı kendine ait clicktodial url ayarlayabilir) ExternalModule=Dış modül - %s dizinine kurulmuştur +# BarcodeInitForThirdparties=Mass barcode init for thirdparties +# BarcodeInitForProductsOrServices=Mass barcode init or reset for products or services +# CurrentlyNWithoutBarCode=Currently, you have %s records on %s %s without barcode defined. +# InitEmptyBarCode=Init value for next %s empty records +# EraseAllCurrentBarCode=Erase all current barcode values +# ConfirmEraseAllCurrentBarCode=Are you sure you want to erase all current barcode values ? +# AllBarcodeReset=All barcode values have been removed +# NoBarcodeNumberingTemplateDefined=No numbering barcode template enabled into barcode module setup. +# NoRecordWithoutBarcodeDefined=No record with no barcode value defined. + # Modules Module0Name=Kullanıcılar & gruplar @@ -510,6 +518,8 @@ Module59000Name=Oranlar Module59000Desc=Oran yönetimi modülü Module60000Name=Komisyonlar Module60000Desc=Komisyon yönetimi modülü +# Module150010Name=Batch number, eat-by date and sell-by date +# Module150010Desc=batch number, eat-by date and sell-by date management for product Permission11=Müşteri faturalarını oku Permission12=Müşteri faturaları oluştur/düzenle Permission13=Müşteri faturalarının doğrulamasını kaldır @@ -726,34 +736,34 @@ Permission55001=Araştırma oku Permission55002=Araştırma oluştur/düzenle Permission59001=Ticari oran oku Permission59002=Ticari oran tanımla -# DictionaryCompanyType=Company types -# DictionaryCompanyJuridicalType=Juridical kinds of company -# DictionaryProspectLevel=Prospect potential level -# DictionaryCanton=State/Cantons -# DictionaryRegion=Regions -# DictionaryCountry=Countries -# DictionaryCurrency=Currencies -# DictionaryCivility=Civility title -# DictionaryActions=Type of agenda events -# DictionarySocialContributions=Social contributions types -# DictionaryVAT=VAT Rates or Sales Tax Rates -# DictionaryRevenueStamp=Amount of revenue stamps -# DictionaryPaymentConditions=Payment terms -# DictionaryPaymentModes=Payment modes -# DictionaryTypeContact=Contact/Address types -# DictionaryEcotaxe=Ecotax (WEEE) -# DictionaryPaperFormat=Paper formats -# DictionaryFees=Type of fees -# DictionarySendingMethods=Shipping methods -# DictionaryStaff=Staff -# DictionaryAvailability=Delivery delay -# DictionaryOrderMethods=Ordering methods -# DictionarySource=Origin of proposals/orders -# DictionaryAccountancyplan=Chart of accounts -# DictionaryAccountancysystem=Models for chart of accounts +# DictionaryCompanyType=Thirdparties type +# DictionaryCompanyJuridicalType=Juridical kinds of thirdparties +DictionaryProspectLevel=Aday potansiyel düzeyi +DictionaryCanton=Eyalet/Kanton +DictionaryRegion=Bölgeler +DictionaryCountry=Ülkeler +DictionaryCurrency=Para birimleri +DictionaryCivility=Hitap başlıkları +DictionaryActions=Gündem etkinlik türleri +DictionarySocialContributions=Sosyal katkı türleri +DictionaryVAT=KDV Oranları veya Satış Vergisi Oranları +DictionaryRevenueStamp=Damga vergisi tutarı +DictionaryPaymentConditions=Ödeme koşulları +DictionaryPaymentModes=Ödeme türleri +DictionaryTypeContact=Kişi/Adres türleri +DictionaryEcotaxe=Ecotax (WEEE) +DictionaryPaperFormat=Kağıt biçimleri +DictionaryFees=Ücret türleri +DictionarySendingMethods=Nakliye yöntemleri +DictionaryStaff=Personel +DictionaryAvailability=Teslimat süresi +DictionaryOrderMethods=Sipariş yöntemleri +DictionarySource=Teklifin/siparişin kökeni +DictionaryAccountancyplan=Hesap planı +DictionaryAccountancysystem=Hesap planı modelleri SetupSaved=Kurulum kaydedildi BackToModuleList=Modül listesine geri git -# BackToDictionaryList=Back to dictionaries list +BackToDictionaryList=Sözlük listesine dön VATReceivedOnly=Ücretlendirilmemiş özel oran VATManagement=KDV Yönetimi VATIsUsedDesc=Adaylar, faturalar, siparişler, v.b oluştururken kullanılacak olan varsayılan KDV için etkin standart kuralı izleyin:
Eğer satıcı KDV ne tabiiyse varsayılan KDV=0, kural sonu.
Eğer satıcı ülkesi=alıcı ülkesiyse, varsayılan KDV=satıcı ülkesindeki ürünün KDV dir. Kural sonu.
Eğer satıcı ve alıcı Avrupa Birliğindeyse ve mallar taşıma ürünleriyse (araba, gemi, uçak) varsayılan KDV=0 dır (KDV alıcı tarafından kendi ülkesindeki gümrüğe ödenir, satıcıya değil). Kural sonu.
Eğer satıcı ve alıcı Avrupa Birliğinde ise ve alıcı bir firma değilse, varsayılan KDV=satılan ürünün KDV dir.Kural sonu.
Eğer satıcı ve alıcı Avrupa Birliğindeyse varsayılan KDV=0 dır. Kural sonu.
Yoksa önerilen KDV=0 dır. Kural sonu. @@ -921,7 +931,7 @@ TriggerDisabledAsModuleDisabled=Bu dosyadaki tetikleyiciler %s modülü d TriggerAlwaysActive=Bu dosyadaki tetikleyiciler, etkin Dolibarr modülleri ne olursa olsun her zaman etkindir. TriggerActiveAsModuleActive=Bu dosyadaki tetikleyiciler %s modülü etkinleştirildiğinde etkin olur. GeneratedPasswordDesc=Eğer otomatik olarak yeni bir parola oluşturmak isterseniz burada kullanmak istediğiniz kuralı tanımlayabilirsiniz. -# DictionaryDesc=Define here all reference datas. You can complete predefined value with yours. +DictionaryDesc=Burada tüm referans verileri tanımlayın. Ön tanımlı değerleri kendinizinkilerle tamamlayabilirsiniz. ConstDesc=Bu sayfa, önceki sayfalarda mevcut olmayan diğer tüm parametreleri düzenleme olanağı sağlar. İleri geliştiriciler veya sorunbulma için ayrılmış parametrelerdir. OnceSetupFinishedCreateUsers=Uyarı, siz bir Dolibarr yönetici kullanıcısınız. Yönetici kullanıcılar Dolibarr kurulumu yapabilir. Dolibarr’ın olağan kullanımı için, Kullanıcılar ve Gruplar menüsünden oluşturulan yönetici kullanıcı olmayan bir kullanıcının kullanılması önerilir. MiscellaneousDesc=Burada güvenlik ile ilgili diğer tüm parametreleri tanımlayın. @@ -959,7 +969,7 @@ SimpleNumRefModelDesc=Referans sayısını %syymm-nnnn biçimi ile girin; yy yı ShowProfIdInAddress=Belgelerde uzmanlık kimliğini adresleri ile birlikte göster ShowVATIntaInAddress=Belgelerde adresli KDV Intra numaralarını gizle TranslationUncomplete=Kısmi çeviri -SomeTranslationAreUncomplete=Bazı diller kısmen çevrilmiş ya da hatalar içeriyor olabilir. Eğer bazılarını belirlediyseniz, .lang metin dosyalarını htdocs/langs dizini içinde düzeltebilirsiniz ve http://www.dolibarr.org adresindeki foruma sunabilirsiniz. +# SomeTranslationAreUncomplete=Some languages may be partially translated or may contains errors. If you detect some, you can fix language files registering to http://transifex.com/projects/p/dolibarr/. MenuUseLayout=Dikey menüyü gizlenebilir yap (javascript seçeneği devre dışı olmamalıdır) MAIN_DISABLE_METEO=Meteo görünümünü engelle TestLoginToAPI=API giriş testi @@ -985,6 +995,7 @@ ExtraFieldsProject=Tamamlayıcı öznitelikler (projeler) ExtraFieldsProjectTask=Tamamlayıcı öznitelikler (görevler) ExtraFieldHasWrongValue=Öznitelik %s yanlış bir değerdir. AlphaNumOnlyCharsAndNoSpace=boşluk olmadan yalnızca alfasayısal karakterler +# AlphaNumOnlyLowerCharsAndNoSpace=only alphanumericals and lower case characters without space SendingMailSetup=E-posta gönderilerinin kurulumu SendmailOptionNotComplete=Uyarı, bazı Linux sistemlerinde, epostanızdan eposta göndermek için eposta gönderme uygulaması kurulumu –ba seçeneğini içermelidir (php.ini dosyanızın içine parameter mail.force_extra_parameters). Eğer bazı alıcılar hiç eposta alamazsa, bu PHP parametresini mail.force_extra_parameters = -ba ile düzenleyin. PathToDocuments=Belgelerin yolu @@ -1014,7 +1025,7 @@ FieldEdition=%s Alanının düzenlenmesi FixTZ=Saat Dilimi Farkı FillThisOnlyIfRequired=Örnek: +2 (saat dilimi farkını yalnız zaman farkı sorunları yaşıyorsanız kullanın) GetBarCode=Barkovizyon al -# EmptyNumRefModelDesc=The code is free. This code can be modified at any time. +EmptyNumRefModelDesc=Serbest kod. Bu kod her hangi bir zamanda değiştirilebilir. ##### Module password generation PasswordGenerationStandard=Dolibarr iç algoritmasına göre bir şifre girin: 8 karakterli sayı ve küçük harf içeren. PasswordGenerationNone=Herhangi oluşturulan bir şifre önermeyin. Şifreyi elle girmelisiniz. @@ -1041,8 +1052,8 @@ DocumentModelOdt=OpenDocuments şablonlarından belgeler oluşturun (OpenOffice, WatermarkOnDraft=Taslak belge üzerinde filigran CompanyIdProfChecker=Uzman Kimliği kuralları MustBeUnique=Benzersiz olmalıdır? -# MustBeMandatory=Mandatory to create third parties ? -# MustBeInvoiceMandatory=Mandatory to validate invoices ? +MustBeMandatory=Üçüncü partileri oluşturmak zorunludur ? +MustBeInvoiceMandatory=Faturaları doğrulamak zorunludur ? Miscellaneous=Çeşitli ##### Webcal setup ##### WebCalSetup=WebTakvim bağlantısı kurulumu @@ -1269,7 +1280,7 @@ PerfDolibarr=Performans ayar/optimizasyon raporu YouMayFindPerfAdviceHere=Bu sayfada bazı denetimler veya performans ile ilgili tavsiyeler bulacaksınız. NotInstalled=Yüklü değil, yani sunucu bundan dolayı yavaş değil. ApplicativeCache=\t\nUygulamalı önbellek -MemcachedNotAvailable=Uygulanabilir önbellek bulunamadı. Performansı Memcached önbellek sunucusu ve bu önbellek sunucusunu kullanbilecek bir modül kurarak arttırabilirsiniz. Daha fazla bilgiyi buradan http://wiki.dolibarr.org/index.php/Module_MemCached_EN bulabilirsiniz. Bu tür önbellek sunucusunu çok fazla web barındırıcısının sağlamadığını unutmayın. +# MemcachedNotAvailable=No applicative cache found. You can enhance performance by installing a cache server Memcached and a module able to use this cache server.
More information here http://wiki.dolibarr.org/index.php/Module_MemCached_EN.
Note that a lot of web hosting provider does not provide such cache server. OPCodeCache=OPCode önbelleği NoOPCodeCacheFound=OPCode önbelleği bulunamadı. Belki XCache den başka bir OPCode önbelleği kullanabilirsiniz veya eAccelerator (iyi), belki de OPCode önbelleğiniz yoktur (çok kötü). HTTPCacheStaticResources=Statik kaynaklar (css, img, javascript) için HTTP önbelleği @@ -1426,7 +1437,7 @@ AccountancyCodeBuy=Alış hesap. kodu AgendaSetup=Eylem ve gündem modülü kurulumu PasswordTogetVCalExport=Verme bağlantısı yetki anahtarı PastDelayVCalExport=Daha büyük eylemi dışaaktarma -# AGENDA_USE_EVENT_TYPE=Use events types (managed into Configuration->Dictionary->llx_c_actioncomm) +AGENDA_USE_EVENT_TYPE=Etkinlik türü kullan (Yapılandırma->Sözlük->llx_c_actioncomm menüsünden yönetilir) ##### ClickToDial ##### ClickToDialDesc=Bu modül, telefon numaraları ardına bir simge eklemenizi sağlar. Bu simgeye tıkladığınızda aşağıda tanımladığınız belirli bir URL ile bir sunucuyu arar. Bu Dolibarr’dan bir çağrı merkezi sisteminin aranması için kullanılır, örneğin SIP sistemindeki bir telefon numarası aranır. ##### Point Of Sales (CashDesk) ##### diff --git a/htdocs/langs/tr_TR/agenda.lang b/htdocs/langs/tr_TR/agenda.lang index efe60e3c9e7..94bd282148b 100644 --- a/htdocs/langs/tr_TR/agenda.lang +++ b/htdocs/langs/tr_TR/agenda.lang @@ -52,6 +52,7 @@ InvoiceSentByEMail=%s Müşteri faturası Eposta ile gönderildi SupplierOrderSentByEMail=%s Tedarikçi siparişi Eposta ile gönderildi SupplierInvoiceSentByEMail=%s Tedarikçi faturası Eposta ile gönderildi ShippingSentByEMail=%s Sevkiyatı Eposta ile gönderildi +# ShippingValidated= Shipping %s validated InterventionSentByEMail=%s Müdahalesi Eposta ile gönderildi NewCompanyToDolibarr= Üçüncü parti oluşturuldu DateActionPlannedStart= Planlanan başlangıç tarihi diff --git a/htdocs/langs/tr_TR/cashdesk.lang b/htdocs/langs/tr_TR/cashdesk.lang index d1fdf52ad04..d8257cd86fc 100644 --- a/htdocs/langs/tr_TR/cashdesk.lang +++ b/htdocs/langs/tr_TR/cashdesk.lang @@ -37,3 +37,4 @@ ShowCompany=Firma göster ShowStock=Depo göster DeleteArticle=Bu malı kaldırmak için tıkla FilterRefOrLabelOrBC=Ara (Ref/Etiket) +# UserNeedPermissionToEditStockToUsePos=You ask to decrease stock on invoice creation, so user that use POS need to have permission to edit stock. diff --git a/htdocs/langs/tr_TR/compta.lang b/htdocs/langs/tr_TR/compta.lang index 5985e534743..d2714af6e5e 100644 --- a/htdocs/langs/tr_TR/compta.lang +++ b/htdocs/langs/tr_TR/compta.lang @@ -168,11 +168,11 @@ CalculationRuleDesc=Toplam KDV hesabı için 2 yöntem vardır:
Yöntem 1, he CalculationRuleDescSupplier=tedarikçiye göre, aynı hesaplama kuralını kullanmak üzere uygun yöntemi seçin ve tedarikçiyle aynı sonucu alın. TurnoverPerProductInCommitmentAccountingNotRelevant=Ürüne göre ciro raporu, nakit muhasebesimodu için uygun değildir. Bu rapor yalnızca, tahakkuk muhasebesi modu için uygundur (muhasebe modülü ayarlarına bakın). CalculationMode=Hesaplama modu -# COMPTA_PRODUCT_BUY_ACCOUNT=Default accountancy code to buy products -# COMPTA_PRODUCT_SOLD_ACCOUNT=Default accountancy code to sell products -# COMPTA_SERVICE_BUY_ACCOUNT=Default accountancy code to buy services -# COMPTA_SERVICE_SOLD_ACCOUNT=Default accountancy code to sell services -# COMPTA_VAT_ACCOUNT=Default accountancy code for collecting VAT -# COMPTA_VAT_BUY_ACCOUNT=Default accountancy code for paying VAT +COMPTA_PRODUCT_BUY_ACCOUNT=Alınacak ürünler için varsayılan hesap kodu +COMPTA_PRODUCT_SOLD_ACCOUNT=Satılacak ürünler için varsayılan hesap kodu +COMPTA_SERVICE_BUY_ACCOUNT=Alınacak hizmetler için varsayılan hesap kodu +COMPTA_SERVICE_SOLD_ACCOUNT=Satılacak hizmetler için varsayılan hesap kodu +COMPTA_VAT_ACCOUNT=Alınacak KDV için varsayılan hesap kodu +COMPTA_VAT_BUY_ACCOUNT=Ödenecek KDV için varsayılan hesap kodu COMPTA_ACCOUNT_CUSTOMER=Müşteri üçüncü partler için varsayılan muhasebe kodu COMPTA_ACCOUNT_SUPPLIER=Tedarikçi üçüncü partler için varsayılan muhasebe kodu diff --git a/htdocs/langs/tr_TR/errors.lang b/htdocs/langs/tr_TR/errors.lang index 2487e151bf1..7f5f56f2aa8 100644 --- a/htdocs/langs/tr_TR/errors.lang +++ b/htdocs/langs/tr_TR/errors.lang @@ -26,8 +26,11 @@ ErrorFromToAccountsMustDiffers=Kaynak ve hedef banka hesapları farklı olmalıd ErrorBadThirdPartyName=Üçüncü parti adı için hatalı değer ErrorProdIdIsMandatory=Bu %s zorunludur ErrorBadCustomerCodeSyntax=Hatalı müşteri kodu +# ErrorBadBarCodeSyntax=Bad syntax for bar code ErrorCustomerCodeRequired=Müşteri kodu gereklidir +# ErrorBarCodeRequired=Bar code required ErrorCustomerCodeAlreadyUsed=Müşteri kodu zaten kullanılmış +# ErrorBarCodeAlreadyUsed=Bar code already used ErrorPrefixRequired=Önek gerekli ErrorUrlNotValid=Web sitesi adresi yanlış ErrorBadSupplierCodeSyntax=Tedarikçi kodu için hatalı kod @@ -37,7 +40,7 @@ ErrorBadParameters=Hatalı parametreler ErrorBadValueForParameter=Hatalı '%s' parametresi için yanlış '%s' değeri ErrorBadImageFormat=Görüntü dosyası desteklenen bir biçimde değil. ErrorBadDateFormat=%s değeri yanlış tarih biçiminde -# ErrorWrongDate=Date is not correct! +ErrorWrongDate=Tarih doğru değil! ErrorFailedToWriteInDir=%s dizinine yazılamadı ErrorFoundBadEmailInFile=Dosyada %s satır hatalı e-posta sözdizimi bulundu (örneğin eposta=%s teki satır %s) ErrorUserCannotBeDelete=Kullanıcı silinemez. Belki Dolibarr öğeleri ile ilişkili olabilir. @@ -63,15 +66,16 @@ ErrorNoValueForCheckBoxType=Lütfen onay kutusu listesi için değer girin ErrorNoValueForRadioType=Lütfen onay düğmesi için değer girin ErrorBadFormatValueList=Listedeki değeri birden fazla virgül içeremez: %s, ama en az bir tane olması gerekir: anahtar, değer ErrorFieldCanNotContainSpecialCharacters=%s alanı özel karakterler içermemelidir. +# ErrorFieldCanNotContainSpecialNorUpperCharacters=Field %s must not contains special characters, nor upper case characters. ErrorNoAccountancyModuleLoaded=Etkinleştirilmiş muhasebe modülü yok -# ErrorExportDuplicateProfil=This profile name already exists for this export set. +ErrorExportDuplicateProfil=Bu profil adı bu dışaaktarma seti için zaten var. ErrorLDAPSetupNotComplete=Dolibarr-LDAP eşleşmesi tamamlanmamış. ErrorLDAPMakeManualTest=A. Ldif dosyası %s dizininde oluşturuldu. Hatalar hakkında daha fazla bilgi almak için komut satırından elle yüklemeyi deneyin. ErrorCantSaveADoneUserWithZeroPercentage="Başlamış durumdaki" bir eylem, "yapan" alanı dolu olsa bile kaydedilemez. ErrorRefAlreadyExists=Oluşturulması için kullanılan referans zaten var. ErrorPleaseTypeBankTransactionReportName=Lütfen işlemin banka dekontunun adını yazın (Biçim YYYYAA veya YYYYAAGG) ErrorRecordHasChildren=Bazı alt kayıtları olduğundan kayıtlar silinemedi. -# ErrorRecordIsUsedCantDelete=Can't delete record. It is already used or included into other object. +ErrorRecordIsUsedCantDelete=Kayıt silinemiyor. Zaten kullanılıyor veya başka bir nesne tarafından içeriliyor. ErrorModuleRequireJavascript=Bu özelliğin çalışması için Javascript engellenmiş olmamalıdır. Etkinleştirmek/engellemek için Giriş->Kurulum->Görünüm menüsüne gidin. ErrorPasswordsMustMatch=Her iki yazdığınız şifrenin birbiriyle eşleşmesi gerekir ErrorContactEMail=Teknik bir hata oluştu. Lütfen, aşağıdaki %s Eposta ile yöneticiye danışın, mesajınızda %s hata kodunu belirtin ve hatta bir ekran görünümünü de eklerseniz daha iyi olur. @@ -129,8 +133,8 @@ ErrorPaymentModeDefinedToWithoutSetup=Bir ödeme biçimi %s türüne ayarlanmı ErrorPHPNeedModule=Hata, bu özelliği kulanmak için PHP nizde %s modülü kurulu olmalıdır. ErrorOpenIDSetupNotComplete=Dolibarr yapılandırma dosyasını OpenID kimlik doğrulamaya izin verecek şekilde ayarladınız, ancak OpenID hizmetine ait URL, %s değişmezine tanımlanmamıştır ErrorWarehouseMustDiffers=Kaynak ve hedef depo farklı olmalıdır -# ErrorBadFormat=Bad format! -# ErrorPaymentDateLowerThanInvoiceDate=Payment date (%s) cant' be before invoice date (%s) for invoice %s. +ErrorBadFormat=Hatalı biçim! +ErrorPaymentDateLowerThanInvoiceDate=Ödeme tarihi (%s) fatura tarihinden (%s) önce bu faturada %s olamaz. # Warnings WarningMandatorySetupNotComplete=Zorunlu kurulum parametreleri henüz tanımlanmamış diff --git a/htdocs/langs/tr_TR/exports.lang b/htdocs/langs/tr_TR/exports.lang index 51e176309ce..e9fcdd1d1a1 100644 --- a/htdocs/langs/tr_TR/exports.lang +++ b/htdocs/langs/tr_TR/exports.lang @@ -102,14 +102,14 @@ NbOfLinesImported=Sorunsuz alınan satır sayısı:%s. DataComeFromNoWhere=Eklenecek değer kaynak dosyada hiç bir yerden gelmiyor. DataComeFromFileFieldNb=Eklenecek değer kaynak dosyada %s numaralı alandan geliyor. DataComeFromIdFoundFromRef=Kaynak dosyanın %s numaralı alanından gelen değer, üst nesne kodunun bulunması için kullanılacak (yani kaynak dosyadaki ilgili %s nesnesi önceden Dolibarr içinde bulunmalıdır). -# DataComeFromIdFoundFromCodeId=Code that comes from field number %s of source file will be used to find id of parent object to use (So the code from source file must exists into dictionary %s). Note that if you know id, you can also use it into source file instead of code. Import should work in both cases. +DataComeFromIdFoundFromCodeId=Kaynak dosyanın %s alan numarasından gelen kod, ana öğenin id'inin bulunmasında kullanılacaktır (Yani kaynak dosyadan gelen kod %s sözlüğü içinde mutlaka bulunmalıdır). Id'i biliyorsanız, ayrıca kod yerine kaynak dosyası içinde onu kullanabileceğinizi unutmayın. İçeaktarımın her iki durumda da çalışması gerekir. DataIsInsertedInto=Kaynak dosyadan gelen veri şu alana eklenecek: DataIDSourceIsInsertedInto=Kaynak dosyadaki, veriyi kullanan üst nesne kodu, şu alana eklenecek: DataCodeIDSourceIsInsertedInto=Koddan bulunan üst satır kodu , şu alana eklenecek: SourceRequired=Veri değeri zorunludur SourceExample=Olası veri değeri örneği ExampleAnyRefFoundIntoElement=%s bileşeni için bulunan ilgi -# ExampleAnyCodeOrIdFoundIntoDictionary=Any code (or id) found into dictionary %s +ExampleAnyCodeOrIdFoundIntoDictionary=%s sözlüğünde bulunan herhangi bir kod (veya id) CSVFormatDesc=Virgülle Ayrılmış Değer dosya biçimi (.csv).
Alanların birbirinden ayıraç ile ayrıldığı bir metin dosyası biçimi [ %s ]. Bir alan içeriğinde ayıraç bulunursa, yuvarlatma karakteri ile alan yuvarlanır [ %s ]. Yuvarlatma karakterinden çıkmak için Escape karakteri kullanılır [%s]. Excel95FormatDesc=Excel dosya biçimi (.xls)
Doğal Excel 95 biçimi (BIFF5). Excel2007FormatDesc=Excel dosya biçimi (.xlsx)
Doğal Excel 2007 biçimi (ÇalışmasayfasıML). @@ -123,6 +123,10 @@ BankCode=Banka kodu DeskCode=Sıra kodu BankAccountNumber=Hesap numarası BankAccountNumberKey=Anahtar +# SpecialCode=Special code +# ExportStringFilter=%% allows replacing one or more characters in the text +# ExportDateFilter='AAAA' 'AAAAMM' 'AAAAMMJJ': filters by one year/month/day
'AAAA+AAAA' 'AAAAMM+AAAAMM' 'AAAAMMJJ+AAAAMMJJ': filters over a range of years/months/days
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filters on the following years/months/days
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filters on the previous years/months/days +# ExportNumericFilter='NNNNN' filters by one value
'NNNNN+NNNNN' filters over a range of values
'>NNNNN' filters by lower values
'>NNNNN' filters by higher values ## filters SelectFilterFields=Süzmek istediğiniz değerleri buraya yazın. FilterableFields=Süzülebilir Champs diff --git a/htdocs/langs/tr_TR/mails.lang b/htdocs/langs/tr_TR/mails.lang index 0d5d91855b6..fd724587ac7 100644 --- a/htdocs/langs/tr_TR/mails.lang +++ b/htdocs/langs/tr_TR/mails.lang @@ -79,6 +79,13 @@ MailtoEMail=Eposta hiper bağlantısı ActivateCheckRead="Alıcı oku" izleyicisini ve "Aboneliği kaldır" linkinin kullanılmasına izin ver ActivateCheckReadKey=Key use to encrypt URL use for "Read Receipt" and "Unsubcribe" feature EMailSentToNRecipients=EMail sent to %s recipients. +# EachInvoiceWillBeAttachedToEmail=A document using default invoice document template will be created and attached to each email. +# MailTopicSendRemindUnpaidInvoices=Remind of invoice %s (%s) +# SendRemind=Send remind by EMails +# RemindSent=%S remind(s) sent +# AllRecipientSelectedForRemind=All thirdparties selected and if an email is set (note that one mail per invoice will be sent) +# NoRemindSent=No remind by EMail sent +# ResultOfMassSending=Result of mass remind sending by EMail # Libelle des modules de liste de destinataires mailing MailingModuleDescContactCompanies=Tüm üçüncü partilerin kişileri (müşteri, aday, tedarikçi, ...) diff --git a/htdocs/langs/tr_TR/opensurvey.lang b/htdocs/langs/tr_TR/opensurvey.lang index 05c05965594..94e45619fbe 100644 --- a/htdocs/langs/tr_TR/opensurvey.lang +++ b/htdocs/langs/tr_TR/opensurvey.lang @@ -20,12 +20,12 @@ SelectedDays=Seçilen günler TheBestChoice=Şu anda en iyi seçim budur TheBestChoices=Şu anda en iyi seçimler bunlar with=ile -# OpenSurveyHowTo=If you agree to vote in this poll, you have to give your name, choose the values that fit best for you and validate with the plus button at the end of the line. +OpenSurveyHowTo=Bu ankete oy vermeyi kabul ediyorsanız, adınızı girmelisiniz, size tam uyan değerleri seçin ve satır sonundaki artı işareti ile doğrulayın. CommentsOfVoters=Oylayıcılara açıklamalar ConfirmRemovalOfPoll=Bu anketi kaldırmak istediğinizden emin misiniz (ve tüm oyları) RemovePoll=Anket kaldır UrlForSurvey=Araştırmaya direk erişim almak için iletişim URL si -# PollOnChoice=You are creating a poll to make a multi-choice for a poll. First enter all possible choices for your poll: +PollOnChoice=Çok seçmeli bir anket oluşturuyorsunuz. Önce anketiniz için bütün olası seçenekleri girin: CreateSurveyDate=Bir tarih araştırması oluştur CreateSurveyStandard=Bir standart araştırma oluştur CheckBox=Basit onay kutusu @@ -35,6 +35,7 @@ AddNewColumn=Yeni sütun ekle TitleChoice=Seçim etiketi ExportSpreadsheet=Sonuçları hesap tablosuna aktar ExpireDate=Sınır tarihi +# NbOfSurveys=Number of surveys NbOfVoters=Oylayıcı sayısı SurveyResults=Sonuçlar PollAdminDesc="Düzenle" düğmesi ile bu anketin tüm satırlarını değiştirmenize izin verilecektir. Aynı zamanda bir sütun ya da %s olan bir sütun kaldırabilirsiniz. Ayrıca %s olan yeni bir sütun da eleyebilirsiniz. @@ -52,14 +53,14 @@ AddEndHour=Bitiş saati ekle votes=oy(lar) NoCommentYet=Bu anket için henüz gönderilen açıklama yok CanEditVotes=Başkalarını oyu değiştirilebilir -# CanComment=Voters can comment in the poll -# CanSeeOthersVote=Voters can see other people's vote +CanComment=Oy kullananlar anket içinde yorum yapabilir +CanSeeOthersVote=Oy verenler başkalarının oylarını görebilir SelectDayDesc=Seçilen her gün için, toplantı saatlerini aşağıdaki biçimde seçebilir ya da seçmeyebilirsiniz :
- boş,
- "8h", "8H" or "8:00" toplantı başlama saatleri için,
- "8-11", "8h-11h", "8H-11H" or "8:00-11:00" ttoplantı başlama ve bitiş saatleri için,
- "8h15-11h15", "8H15-11H15" or "8:15-11:15" aynı şeyler için ama dakika olarak. BackToCurrentMonth=Geçerli aya geri dön -# ErrorOpenSurveyFillFirstSection=You haven't filled the first section of the poll creation -# ErrorOpenSurveyOneChoice=Enter at least one choice -# ErrorOpenSurveyDateFormat=Date must have the format YYYY-MM-DD -# ErrorInsertingComment=There was an error while inserting your comment -# MoreChoices=Enter more choices for the voters -# SurveyExpiredInfo=The voting time of this poll has expired. -# EmailSomeoneVoted=%s has filled a line.\nYou can find your poll at the link: \n%s +ErrorOpenSurveyFillFirstSection=Anket oluşturmadaki ilk bölümü henüz doldurmadınız +ErrorOpenSurveyOneChoice=Enaz bir seçenek girin +ErrorOpenSurveyDateFormat=Tarih biçimi böyle olmalı YYYY-MM-DD +ErrorInsertingComment=Yorumunuzu eklerken bir hata oluştu +MoreChoices=Oy kullananlar için daha çok seçenek girin +SurveyExpiredInfo=Bu anket için oylama süresi dolmuştur. +EmailSomeoneVoted=%s bir satır doldurdu.\nAnketi bu bağlantıda bulabilirsiniz: \n%s diff --git a/htdocs/langs/tr_TR/orders.lang b/htdocs/langs/tr_TR/orders.lang index 188078bcc58..9af7e0e6574 100644 --- a/htdocs/langs/tr_TR/orders.lang +++ b/htdocs/langs/tr_TR/orders.lang @@ -55,6 +55,7 @@ DraftOrWaitingShipped=Taslak veya onaylanmış henüz sevkedilmemiş MenuOrdersToBill=Teslim edilen siparişler MenuOrdersToBill2=Faturalanacak siparişler SearchOrder=Sipariş ara +# SearchACustomerOrder=Search a customer order ShipProduct=Ürünü sevket Discount=İndirim CreateOrder=Sipariş oluştur @@ -164,3 +165,4 @@ Ordered=Sipariş verildi OrderCreated=Siparişleriniz oluşturulmuştur OrderFail=Siparişiniz oluşturulması sırasında hata oluştu CreateOrders=Sipariş oluştur +# ToBillSeveralOrderSelectCustomer=To create an invoice for several orders, click first onto customer, then choose "%s". diff --git a/htdocs/langs/tr_TR/other.lang b/htdocs/langs/tr_TR/other.lang index 4b6e156ee54..0dc6ec8de07 100644 --- a/htdocs/langs/tr_TR/other.lang +++ b/htdocs/langs/tr_TR/other.lang @@ -49,14 +49,15 @@ Miscellaneous=Çeşitli NbOfActiveNotifications=Number of notifications PredefinedMailTest=Bu bir deneme postasıdır.\nİki satır enter tuşu ile ayrılmıştır. PredefinedMailTestHtml=Bu bir deneme postası (deneme sözcüğü koyu olmalı).
İki satır enter tuşu ile ayrılmıştır. -PredefinedMailContentSendInvoice=Faturayı burada bulacaksınız __FACREF__\n\n__PERSONALIZED__Saygılarımızla\n\n__SIGNATURE__ -PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__ \n\n __FACREF__ Faturasının ödenmemiş göründüğünün size uyarısını yapmak isteriz. Dolayısı ile fatura yeniden anımsatmak üzere eklenmiştir.\n\n__PERSONALIZED__Saygılarımızla\n\n__SIGNATURE__ -PredefinedMailContentSendProposal=Teklifi burada bulacaksınız __PROPREF__\n\n__PERSONALIZED__Saygılarımızla\n\n__SIGNATURE__ -PredefinedMailContentSendOrder=Burada siparişi bulacaksınız __ORDERREF__\n\n__PERSONALIZED__Saygılarımızla\n\n__SIGNATURE__ -PredefinedMailContentSendSupplierOrder=Burada siparişimizi bulacaksınız __ORDERREF__\n\n__PERSONALIZED__Saygılarımızla\n\n__SIGNATURE__ -PredefinedMailContentSendSupplierInvoice=Burada faturayı bulacaksınız __FACREF__\n\n__PERSONALIZED__Saygılarımızla\n\n__SIGNATURE__ -PredefinedMailContentSendShipping=Burada sevkiyatı bulacaksınız __SHIPPINGREF__\n\n__PERSONALIZED__ Saygılarımızla\n\n__SIGNATURE__ -PredefinedMailContentSendFichInter=Burada müdahaleyi bulacaksınız __FICHINTERREF__\n\n__PERSONALIZED__ Saygılarımızla\n\n__SIGNATURE__ +# PredefinedMailContentSendInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__\n\nWe would like to warn you that the invoice __FACREF__ seems to not being payed. So this is the invoice in attachment again, as a reminder.\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendProposal=__CONTACTCIVNAME__\n\nYou will find here the commercial proposal __PROPREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendOrder=__CONTACTCIVNAME__\n\nYou will find here the order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__\n\nYou will find here our order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendShipping=__CONTACTCIVNAME__\n\nYou will find here the shipping __SHIPPINGREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendFichInter=__CONTACTCIVNAME__\n\nYou will find here the intervention __FICHINTERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentThirdparty=__CONTACTCIVNAME__\n\n__PERSONALIZED__\n\n__SIGNATURE__ DemoDesc=Dolibarr birçok fonksiyonel modülden oluşan derlitoplu bir ERP/CRM programıdır. Bu durumda tüm modülleri içeren bir demo asla hiçbir şey demek değildir. Yani, birçok demo profili vardır. ChooseYourDemoProfil=İşlemlerinize uyan demo profilini seçin... DemoFundation=Bir vakıfın üyelerini yönet diff --git a/htdocs/langs/tr_TR/products.lang b/htdocs/langs/tr_TR/products.lang index 9064b6dd80d..e8066bde359 100644 --- a/htdocs/langs/tr_TR/products.lang +++ b/htdocs/langs/tr_TR/products.lang @@ -13,6 +13,10 @@ NewProduct=Yeni ürün NewService=Yeni hizmet ProductCode=Ürün kodu ServiceCode=Hizmet kodu +# ProductVatMassChange=Mass VAT change +# ProductVatMassChangeDesc=This page can be used to modify a VAT rate defined on products or services from a value to another. Warning, this change is done on all database. +# MassBarcodeInit=Mass barcode init +# MassBarcodeInitDesc=This page can be used to initialize a barcode on objects that does not have barcode defined. Check before that setup of module barcode is complete. ProductAccountancyBuyCode=Muhasebe kodu (alış) ProductAccountancySellCode=Muhasebe kodu (satış) ProductOrService=Ürün veya Hizmet @@ -173,8 +177,8 @@ CustomCode=Özel kod CountryOrigin=Menşei ülke HiddenIntoCombo=Seçme listeleri içine gizle Nature=Niteliği -ProductCodeModel=Ürün kodu modeli -ServiceCodeModel=Hizmet kodu modeli +# ProductCodeModel=Product ref template +# ServiceCodeModel=Service ref template AddThisProductCard=Ürün kartı oluştur HelpAddThisProductCard=Bu seçenek bir ürün mevcut değilse bir tane oluşturmanızı ya da klonlamanızı sağlar. AddThisServiceCard=Hizmet kartı oluştur @@ -204,17 +208,22 @@ Quarter1=1. Çeyrek Quarter2=2. Çeyrek Quarter3=3. Çeyrek Quarter4=4. Çeyrek -# BarCodePrintsheet=Print bar code -# PageToGenerateBarCodeSheets=With this tool, you can print sheets of bar code stickers. Choose format of your sticker page, type of barcode and value of barcode, then click on button %s. -# NumberOfStickers=Number of stickers to print on page -# PrintsheetForOneBarCode=Print several stickers for one barcode -# BuildPageToPrint=Generate page to print -# FillBarCodeTypeAndValueManually=Fill barcode type and value manually. -# FillBarCodeTypeAndValueFromProduct=Fill barcode type and value from barcode of a product. -# FillBarCodeTypeAndValueFromThirdParty=Fill barcode type and value from barcode of a thirdparty. -# DefinitionOfBarCodeForProductNotComplete=Definition of type or value of bar code not complete for product %s. -# DefinitionOfBarCodeForThirdpartyNotComplete=Definition of type or value of bar code non complete for thirdparty %s. -# BarCodeDataForProduct=Barcode information of product %s : -# BarCodeDataForThirdparty=Barcode information of thirdparty %s : -# BarcodeStickersMask=xxx - +BarCodePrintsheet=Bar kodu yazdır +PageToGenerateBarCodeSheets=Bu araçla, sayfalarca barkod etiketleri basabilirsiniz. Etiket sayfası biçimini, barkod türünü ve barkod değerini seçin, sonra %s düğmesine tıklayın. +NumberOfStickers=Bir sayfada yazdırılacak etiket sayısı +PrintsheetForOneBarCode=Bir barkod için birçok etiket yazdır +BuildPageToPrint=Yazdırılacak sayfa oluştur +FillBarCodeTypeAndValueManually=Barkod türünü girin ve el ile değer yazın. +FillBarCodeTypeAndValueFromProduct=Barkod türünü girin ve ürün barkodundan değer girin. +FillBarCodeTypeAndValueFromThirdParty=Barkod türünü girin ve bir üçüncü parti barkodundan deper girin. +DefinitionOfBarCodeForProductNotComplete=Barkod türü tanımı ve değeri %s ürünü için tam değildir. +DefinitionOfBarCodeForThirdpartyNotComplete=Barkod türü tanımı ve değeri %s ürünü için tamamlanmamıştır. +BarCodeDataForProduct=%s Ürünü için barkod bilgisi : +BarCodeDataForThirdparty=%s Üçüncü parti için barkod bilgisi : +# ResetBarcodeForAllRecords=Define barcode value for all records (this will also reset barcode value already defined with new values) +# PriceByCustomer=Price by customer +# PriceCatalogue=Catalogue Price +# PricingRule=Pricing Rules +# AddCustomerPrice=Add price by customers +# ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +# PriceByCustomerLog=Price by customer log diff --git a/htdocs/langs/tr_TR/projects.lang b/htdocs/langs/tr_TR/projects.lang index 31780df9c55..525b6e52b56 100644 --- a/htdocs/langs/tr_TR/projects.lang +++ b/htdocs/langs/tr_TR/projects.lang @@ -1,4 +1,6 @@ # Dolibarr language file - Source file is en_US - projects +# RefProject=Ref. project +# ProjectId=Project Id Project=Proje Projects=Projeler SharedProject=Herkes @@ -30,11 +32,18 @@ TimeSpent=Harcanan süre TimesSpent=Harcanan süre RefTask=Görev ref. LabelTask=Görev etiketi +# TaskTimeSpent=Time spent on tasks +# TaskTimeUser=Task time user +# TaskTimeNote=Task time note +# TaskTimeDate=Task time date NewTimeSpent=Yeni harcanan süre MyTimeSpent=Harcadığım sürelerim MyTasks=Grevlerim Tasks=Görevler Task=Görev +# TaskDateStart=Task start date +# TaskDateEnd=Task end date +# TaskDescription=Task description NewTask=Yeni görev AddTask=Görev ekle AddDuration=Süre ekle @@ -100,12 +109,12 @@ ProjectCreatedInDolibarr=%s projesi oluşturuldu ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Proje önderi TypeContact_project_external_PROJECTLEADER=Proje önderi -TypeContact_project_internal_PROJECTCONTRIBUTOR=Katılımcı -TypeContact_project_external_PROJECTCONTRIBUTOR=Katılımcı +# TypeContact_project_internal_PROJECTCONTRIBUTOR=Contributor +# TypeContact_project_external_PROJECTCONTRIBUTOR=Contributor TypeContact_project_task_internal_TASKEXECUTIVE=Görev yöneticisi TypeContact_project_task_external_TASKEXECUTIVE=Görev yöneticisi -TypeContact_project_task_internal_TASKCONTRIBUTOR=Katılımcı -TypeContact_project_task_external_TASKCONTRIBUTOR=Katılımcı +# TypeContact_project_task_internal_TASKCONTRIBUTOR=Contributor +# TypeContact_project_task_external_TASKCONTRIBUTOR=Contributor SelectElement=Öğe seç AddElement=Öğeye bağlan # Documents models diff --git a/htdocs/langs/tr_TR/stocks.lang b/htdocs/langs/tr_TR/stocks.lang index 90bbf7af7ac..177f99347ba 100644 --- a/htdocs/langs/tr_TR/stocks.lang +++ b/htdocs/langs/tr_TR/stocks.lang @@ -94,14 +94,20 @@ DesiredStock=İstenen stok StockToBuy=Sipariş edilecek Replenishment=İkmal ReplenishmentOrders=İkmal siparişleri -UseVirtualStock=Fiziksel stok yerine sanal stok kullan +VirtualDiffersFromPhysical=Stok arttırma/azaltma seçeneklerine göre fiziksel stok ve sanal stok (fiziksel + mevcut siparişler) farklılık gösterebilir +UseVirtualStockByDefault=Tamamlama özelliği için fiziksel stok yerine varsayıla olarak sanal stok kullanın +UseVirtualStock=Sanal stok kullan +UsePhysicalStock=Fiziksel stok kullan +CurentSelectionMode=Geçerli seçim biçimi +CurentlyUsingVirtualStock=Sanal stok +CurentlyUsingPhysicalStock=Fiziksel stok RuleForStockReplenishment=Stok ikmal kuralı SelectProductWithNotNullQty=Enaz bir tane mik boş olmayan bir ürün ve tedarikçi seçin AlertOnly= Yalnızca uyarılar WarehouseForStockDecrease=%s deposu stok eksiltme için kullanılacaktır WarehouseForStockIncrease=%s deposu stok arttırma için kullanılacaktır ForThisWarehouse=Bu depo için -ReplenishmentStatusDesc=Bu liste istenen stoktan daha az fiziksel stoklu bütün ürünler içindir (ya da eğer onay kutusunda "yalnızca uyarı" işaretliyse, uyarı değeri) ve bu farkı kapatmanız için tedarikçi siparişi oluşturmanızı önerir. +ReplenishmentStatusDesc=Bu liste istenen stoktan daha az stoklu bütün ürünler içindir (ya da eğer onay kutusunda "yalnızca uyarı" işaretliyse, uyarı değerinden az olan) ve bu farkı kapatmanız için tedarikçi siparişi oluşturmanızı önerir. ReplenishmentOrdersDesc=Bu liste tüm açık tedarikçi siparişlerinindir Replenishments=İkmal NbOfProductBeforePeriod=Stoktaki %s ürününün, seçilen dönemden (<%s) önceki miktarıdır diff --git a/htdocs/langs/uk_UA/admin.lang b/htdocs/langs/uk_UA/admin.lang index eecc028d698..d72ed9f4df9 100644 --- a/htdocs/langs/uk_UA/admin.lang +++ b/htdocs/langs/uk_UA/admin.lang @@ -287,7 +287,7 @@ # CallUpdatePage=Go to the page that updates the database structure and datas: %s. # LastStableVersion=Last stable version # GenericMaskCodes=You may enter any numbering mask. In this mask, the following tags could be used:
{000000} corresponds to a number which will be incremented on each %s. Enter as many zeros as the desired length of the counter. The counter will be completed by zeros from the left in order to have as many zeros as the mask.
{000000+000} same as previous but an offset corresponding to the number to the right of the + sign is applied starting on first %s.
{000000@x} same as previous but the counter is reset to zero when month x is reached (x between 1 and 12, or 0 to use the early months of fiscal year defined in your configuration, or 99 to reset to zero every month). If this option is used and x is 2 or higher, then sequence {yy}{mm} or {yyyy}{mm} is also required.
{dd} day (01 to 31).
{mm} month (01 to 12).
{yy}, {yyyy} or {y} year over 2, 4 or 1 numbers.
-# GenericMaskCodes2={cccc} the client code
{cccc000} the client code on n characters is followed by a client's ref counter without offset and zeroized with the global counter.
{tttt} The code of company type on n characters (see dictionary-company types).
+# GenericMaskCodes2={cccc} the client code on n characters
{cccc000} the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.
{tttt} The code of company type on n characters (see dictionary-company types).
# GenericMaskCodes3=All other characters in the mask will remain intact.
Spaces are not allowed.
# GenericMaskCodes4a=Example on the 99th %s of the third party TheCompany done 2007-01-31:
# GenericMaskCodes4b=Example on third party created on 2007-03-01:
@@ -345,8 +345,6 @@ # EnterRefToBuildUrl=Enter reference for object %s # GetSecuredUrl=Get calculated URL # ButtonHideUnauthorized=Hide buttons for unauthorized actions instead of showing disabled buttons -# ProductVatMassChange=Mass VAT change -# ProductVatMassChangeDesc=This page can be used to modify a VAT rate defined on products or services from a value to another. Warning, this change is done on all database. # OldVATRates=Old VAT rate # NewVATRates=New VAT rate # PriceBaseTypeToChange=Modify on prices with base reference value defined on @@ -381,6 +379,16 @@ # DefaultLink=Default link # ValueOverwrittenByUserSetup=Warning, this value may be overwritten by user specific setup (each user can set his own clicktodial url) # ExternalModule=External module - Installed into directory %s +# BarcodeInitForThirdparties=Mass barcode init for thirdparties +# BarcodeInitForProductsOrServices=Mass barcode init or reset for products or services +# CurrentlyNWithoutBarCode=Currently, you have %s records on %s %s without barcode defined. +# InitEmptyBarCode=Init value for next %s empty records +# EraseAllCurrentBarCode=Erase all current barcode values +# ConfirmEraseAllCurrentBarCode=Are you sure you want to erase all current barcode values ? +# AllBarcodeReset=All barcode values have been removed +# NoBarcodeNumberingTemplateDefined=No numbering barcode template enabled into barcode module setup. +# NoRecordWithoutBarcodeDefined=No record with no barcode value defined. + # Modules # Module0Name=Users & groups @@ -510,6 +518,8 @@ # Module59000Desc=Module to manage margins # Module60000Name=Commissions # Module60000Desc=Module to manage commissions +# Module150010Name=Batch number, eat-by date and sell-by date +# Module150010Desc=batch number, eat-by date and sell-by date management for product # Permission11=Read customer invoices # Permission12=Create/modify customer invoices # Permission13=Unvalidate customer invoices @@ -726,8 +736,8 @@ # Permission55002=Create/modify surveys # Permission59001=Read commercial margins # Permission59002=Define commercial margins -# DictionaryCompanyType=Company types -# DictionaryCompanyJuridicalType=Juridical kinds of company +# DictionaryCompanyType=Thirdparties type +# DictionaryCompanyJuridicalType=Juridical kinds of thirdparties # DictionaryProspectLevel=Prospect potential level # DictionaryCanton=State/Cantons # DictionaryRegion=Regions @@ -959,7 +969,7 @@ LocalTax2IsNotUsedExample= # ShowProfIdInAddress=Show professionnal id with addresses on documents # ShowVATIntaInAddress=Hide VAT Intra num with addresses on documents # TranslationUncomplete=Partial translation -# SomeTranslationAreUncomplete=Some languages may be partially translated or may contains errors. If you detect some, you can fix .lang text files into directory htdocs/langs and submit them on the forum at http://www.dolibarr.org. +# SomeTranslationAreUncomplete=Some languages may be partially translated or may contains errors. If you detect some, you can fix language files registering to http://transifex.com/projects/p/dolibarr/. # MenuUseLayout=Make vertical menu hidable (option javascript must not be disabled) # MAIN_DISABLE_METEO=Disable meteo view # TestLoginToAPI=Test login to API @@ -985,6 +995,7 @@ LocalTax2IsNotUsedExample= # ExtraFieldsProjectTask=Complementary attributes (tasks) # ExtraFieldHasWrongValue=Attribut %s has a wrong value. # AlphaNumOnlyCharsAndNoSpace=only alphanumericals characters without space +# AlphaNumOnlyLowerCharsAndNoSpace=only alphanumericals and lower case characters without space # SendingMailSetup=Setup of sendings by email # SendmailOptionNotComplete=Warning, on some Linux systems, to send email from your email, sendmail execution setup must contains option -ba (parameter mail.force_extra_parameters into your php.ini file). If some recipients never receive emails, try to edit this PHP parameter with mail.force_extra_parameters = -ba). # PathToDocuments=Path to documents @@ -1269,7 +1280,7 @@ LocalTax2IsNotUsedExample= # YouMayFindPerfAdviceHere=You will find on this page some checks or advices related to performance. # NotInstalled=Not installed, so your server is not slow down by this. # ApplicativeCache=Applicative cache -# MemcachedNotAvailable=No applicative cache found. You can enhance performance by installing a cache server Memcached and a module able to use this cache server. More information here http://wiki.dolibarr.org/index.php/Module_MemCached_EN. Note that a lot of web hosting provider does not provide such cache server. +# MemcachedNotAvailable=No applicative cache found. You can enhance performance by installing a cache server Memcached and a module able to use this cache server.
More information here http://wiki.dolibarr.org/index.php/Module_MemCached_EN.
Note that a lot of web hosting provider does not provide such cache server. # OPCodeCache=OPCode cache # NoOPCodeCacheFound=No OPCode cache found. May be you use another OPCode cache than XCache or eAccelerator (good), may be you don't have OPCode cache (very bad). # HTTPCacheStaticResources=HTTP cache for static resources (css, img, javascript) diff --git a/htdocs/langs/uk_UA/agenda.lang b/htdocs/langs/uk_UA/agenda.lang index 8a78e6c51c8..c5b02c0ecb6 100644 --- a/htdocs/langs/uk_UA/agenda.lang +++ b/htdocs/langs/uk_UA/agenda.lang @@ -52,6 +52,7 @@ # SupplierOrderSentByEMail=Supplier order %s sent by EMail # SupplierInvoiceSentByEMail=Supplier invoice %s sent by EMail # ShippingSentByEMail=Shipping %s sent by EMail +# ShippingValidated= Shipping %s validated # InterventionSentByEMail=Intervention %s sent by EMail # NewCompanyToDolibarr= Third party created # DateActionPlannedStart= Planned start date diff --git a/htdocs/langs/uk_UA/cashdesk.lang b/htdocs/langs/uk_UA/cashdesk.lang index 8fd787620f4..5cfb7ea3d6d 100644 --- a/htdocs/langs/uk_UA/cashdesk.lang +++ b/htdocs/langs/uk_UA/cashdesk.lang @@ -37,3 +37,4 @@ # ShowStock=Show warehouse # DeleteArticle=Click to remove this article # FilterRefOrLabelOrBC=Search (Ref/Label) +# UserNeedPermissionToEditStockToUsePos=You ask to decrease stock on invoice creation, so user that use POS need to have permission to edit stock. diff --git a/htdocs/langs/uk_UA/errors.lang b/htdocs/langs/uk_UA/errors.lang index f5e6781eb4c..473ab485c97 100644 --- a/htdocs/langs/uk_UA/errors.lang +++ b/htdocs/langs/uk_UA/errors.lang @@ -26,8 +26,11 @@ # ErrorBadThirdPartyName=Bad value for third party name # ErrorProdIdIsMandatory=The %s is mandatory # ErrorBadCustomerCodeSyntax=Bad syntax for customer code +# ErrorBadBarCodeSyntax=Bad syntax for bar code # ErrorCustomerCodeRequired=Customer code required +# ErrorBarCodeRequired=Bar code required # ErrorCustomerCodeAlreadyUsed=Customer code already used +# ErrorBarCodeAlreadyUsed=Bar code already used # ErrorPrefixRequired=Prefix required # ErrorUrlNotValid=The website address is incorrect # ErrorBadSupplierCodeSyntax=Bad syntax for supplier code @@ -63,6 +66,7 @@ # ErrorNoValueForRadioType=Please fill value for radio list # ErrorBadFormatValueList=The list value cannot have more than one come : %s, but need at least one: llave,valores # ErrorFieldCanNotContainSpecialCharacters=Field %s must not contains special characters. +# ErrorFieldCanNotContainSpecialNorUpperCharacters=Field %s must not contains special characters, nor upper case characters. # ErrorNoAccountancyModuleLoaded=No accountancy module activated # ErrorExportDuplicateProfil=This profile name already exists for this export set. # ErrorLDAPSetupNotComplete=Dolibarr-LDAP matching is not complete. diff --git a/htdocs/langs/uk_UA/exports.lang b/htdocs/langs/uk_UA/exports.lang index ecb0d4a94ac..082be11736e 100644 --- a/htdocs/langs/uk_UA/exports.lang +++ b/htdocs/langs/uk_UA/exports.lang @@ -123,6 +123,10 @@ # DeskCode=Desk code # BankAccountNumber=Account number # BankAccountNumberKey=Key +# SpecialCode=Special code +# ExportStringFilter=%% allows replacing one or more characters in the text +# ExportDateFilter='AAAA' 'AAAAMM' 'AAAAMMJJ': filters by one year/month/day
'AAAA+AAAA' 'AAAAMM+AAAAMM' 'AAAAMMJJ+AAAAMMJJ': filters over a range of years/months/days
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filters on the following years/months/days
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filters on the previous years/months/days +# ExportNumericFilter='NNNNN' filters by one value
'NNNNN+NNNNN' filters over a range of values
'>NNNNN' filters by lower values
'>NNNNN' filters by higher values ## filters # SelectFilterFields=If you want to filter on some values, just input values here. # FilterableFields=Champs Filtrables diff --git a/htdocs/langs/uk_UA/mails.lang b/htdocs/langs/uk_UA/mails.lang index 328fc3ec5d6..313acce4fa1 100644 --- a/htdocs/langs/uk_UA/mails.lang +++ b/htdocs/langs/uk_UA/mails.lang @@ -79,6 +79,13 @@ # ActivateCheckRead=Allow to use the "Unsubcribe" link # ActivateCheckReadKey=Key use to encrypt URL use for "Read Receipt" and "Unsubcribe" feature # EMailSentToNRecipients=EMail sent to %s recipients. +# EachInvoiceWillBeAttachedToEmail=A document using default invoice document template will be created and attached to each email. +# MailTopicSendRemindUnpaidInvoices=Remind of invoice %s (%s) +# SendRemind=Send remind by EMails +# RemindSent=%S remind(s) sent +# AllRecipientSelectedForRemind=All thirdparties selected and if an email is set (note that one mail per invoice will be sent) +# NoRemindSent=No remind by EMail sent +# ResultOfMassSending=Result of mass remind sending by EMail # Libelle des modules de liste de destinataires mailing # MailingModuleDescContactCompanies=Contacts/addresses of all third parties (customer, prospect, supplier, ...) diff --git a/htdocs/langs/uk_UA/main.lang b/htdocs/langs/uk_UA/main.lang index 7d8d208fcd7..fb056fd5e45 100644 --- a/htdocs/langs/uk_UA/main.lang +++ b/htdocs/langs/uk_UA/main.lang @@ -572,7 +572,7 @@ SeparatorThousand=None # TotalMan=Total # NeverReceived=Never received # Canceled=Canceled -# YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu setup - dictionnary +# YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu setup - dictionary # Color=Color # Documents=Linked files # DocumentsNb=Linked files (%s) diff --git a/htdocs/langs/uk_UA/opensurvey.lang b/htdocs/langs/uk_UA/opensurvey.lang index fec34d9dbe6..1fbafbdb317 100644 --- a/htdocs/langs/uk_UA/opensurvey.lang +++ b/htdocs/langs/uk_UA/opensurvey.lang @@ -35,6 +35,7 @@ # TitleChoice=Choice label # ExportSpreadsheet=Export result spreadsheet # ExpireDate=Limit date +# NbOfSurveys=Number of surveys # NbOfVoters=Nb of voters # SurveyResults=Results # PollAdminDesc=You are allowed to change all vote lines of this poll with button "Edit". You can, as well, remove a column or a line with %s. You can also add a new column with %s. diff --git a/htdocs/langs/uk_UA/orders.lang b/htdocs/langs/uk_UA/orders.lang index 6bbef48cfc9..42444f0ec1c 100644 --- a/htdocs/langs/uk_UA/orders.lang +++ b/htdocs/langs/uk_UA/orders.lang @@ -55,6 +55,7 @@ # MenuOrdersToBill=Orders delivered # MenuOrdersToBill2=Orders to bill # SearchOrder=Search order +# SearchACustomerOrder=Search a customer order # ShipProduct=Ship product # Discount=Discount # CreateOrder=Create Order @@ -164,3 +165,4 @@ # OrderCreated=Your orders have been created # OrderFail=An error happened during your orders creation # CreateOrders=Create orders +# ToBillSeveralOrderSelectCustomer=To create an invoice for several orders, click first onto customer, then choose "%s". diff --git a/htdocs/langs/uk_UA/other.lang b/htdocs/langs/uk_UA/other.lang index 3ff4e868d22..1597fb25d24 100644 --- a/htdocs/langs/uk_UA/other.lang +++ b/htdocs/langs/uk_UA/other.lang @@ -49,14 +49,15 @@ # NbOfActiveNotifications=Number of notifications # PredefinedMailTest=This is a test mail.\nThe two lines are separated by a carriage return.\n\n__SIGNATURE__ # PredefinedMailTestHtml=This is a test mail (the word test must be in bold).
The two lines are separated by a carriage return.

__SIGNATURE__ -# PredefinedMailContentSendInvoice=__CONTACTCIVNAME__ \n\n You will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__ \n\n We would like to warn you that the invoice __FACREF__ seems to not being payed. So this is the invoice in attachment again, as a reminder.\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendProposal=__CONTACTCIVNAME__ \n\n You will find here the commercial proposal __PROPREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendOrder=__CONTACTCIVNAME__ \n\n You will find here the order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__ \n\n You will find here our order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__ \n\n You will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendShipping=__CONTACTCIVNAME__ \n\n You will find here the shipping __SHIPPINGREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendFichInter=__CONTACTCIVNAME__ \n\n You will find here the intervention __FICHINTERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__\n\nWe would like to warn you that the invoice __FACREF__ seems to not being payed. So this is the invoice in attachment again, as a reminder.\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendProposal=__CONTACTCIVNAME__\n\nYou will find here the commercial proposal __PROPREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendOrder=__CONTACTCIVNAME__\n\nYou will find here the order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__\n\nYou will find here our order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendShipping=__CONTACTCIVNAME__\n\nYou will find here the shipping __SHIPPINGREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendFichInter=__CONTACTCIVNAME__\n\nYou will find here the intervention __FICHINTERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentThirdparty=__CONTACTCIVNAME__\n\n__PERSONALIZED__\n\n__SIGNATURE__ # DemoDesc=Dolibarr is a compact ERP/CRM composed by several functional modules. A demo that includes all modules does not mean anything as this never occurs. So, several demo profiles are available. # ChooseYourDemoProfil=Choose the demo profile that match your activity... # DemoFundation=Manage members of a foundation diff --git a/htdocs/langs/uk_UA/products.lang b/htdocs/langs/uk_UA/products.lang index 9f75dab9917..d91deb78816 100644 --- a/htdocs/langs/uk_UA/products.lang +++ b/htdocs/langs/uk_UA/products.lang @@ -13,6 +13,10 @@ # NewService=New service # ProductCode=Product code # ServiceCode=Service code +# ProductVatMassChange=Mass VAT change +# ProductVatMassChangeDesc=This page can be used to modify a VAT rate defined on products or services from a value to another. Warning, this change is done on all database. +# MassBarcodeInit=Mass barcode init +# MassBarcodeInitDesc=This page can be used to initialize a barcode on objects that does not have barcode defined. Check before that setup of module barcode is complete. # ProductAccountancyBuyCode=Accountancy code (buy) # ProductAccountancySellCode=Accountancy code (sell) # ProductOrService=Product or Service @@ -173,8 +177,8 @@ # CountryOrigin=Origin country # HiddenIntoCombo=Hidden into select lists # Nature=Nature -# ProductCodeModel=Product code template -# ServiceCodeModel=Service code template +# ProductCodeModel=Product ref template +# ServiceCodeModel=Service ref template # AddThisProductCard=Create product card # HelpAddThisProductCard=This option allows you to create or clone a product if it does not exist. # AddThisServiceCard=Create service card @@ -216,5 +220,10 @@ # DefinitionOfBarCodeForThirdpartyNotComplete=Definition of type or value of bar code non complete for thirdparty %s. # BarCodeDataForProduct=Barcode information of product %s : # BarCodeDataForThirdparty=Barcode information of thirdparty %s : -# BarcodeStickersMask=xxx - +# ResetBarcodeForAllRecords=Define barcode value for all records (this will also reset barcode value already defined with new values) +# PriceByCustomer=Price by customer +# PriceCatalogue=Catalogue Price +# PricingRule=Pricing Rules +# AddCustomerPrice=Add price by customers +# ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +# PriceByCustomerLog=Price by customer log diff --git a/htdocs/langs/uk_UA/projects.lang b/htdocs/langs/uk_UA/projects.lang index f2c0c2b86c6..2710b95cdf8 100644 --- a/htdocs/langs/uk_UA/projects.lang +++ b/htdocs/langs/uk_UA/projects.lang @@ -1,4 +1,6 @@ # Dolibarr language file - Source file is en_US - projects +# RefProject=Ref. project +# ProjectId=Project Id # Project=Project # Projects=Projects # SharedProject=Everybody @@ -30,11 +32,18 @@ # TimesSpent=Time spent # RefTask=Ref. task # LabelTask=Label task +# TaskTimeSpent=Time spent on tasks +# TaskTimeUser=Task time user +# TaskTimeNote=Task time note +# TaskTimeDate=Task time date # NewTimeSpent=New time spent # MyTimeSpent=My time spent # MyTasks=My tasks # Tasks=Tasks # Task=Task +# TaskDateStart=Task start date +# TaskDateEnd=Task end date +# TaskDescription=Task description # NewTask=New task # AddTask=Add task # AddDuration=Add duration @@ -100,12 +109,12 @@ ##### Types de contacts ##### # TypeContact_project_internal_PROJECTLEADER=Project leader # TypeContact_project_external_PROJECTLEADER=Project leader -# TypeContact_project_internal_CONTRIBUTOR=Contributor -# TypeContact_project_external_CONTRIBUTOR=Contributor +# TypeContact_project_internal_PROJECTCONTRIBUTOR=Contributor +# TypeContact_project_external_PROJECTCONTRIBUTOR=Contributor # TypeContact_project_task_internal_TASKEXECUTIVE=Task executive # TypeContact_project_task_external_TASKEXECUTIVE=Task executive -# TypeContact_project_task_internal_CONTRIBUTOR=Contributor -# TypeContact_project_task_external_CONTRIBUTOR=Contributor +# TypeContact_project_task_internal_TASKCONTRIBUTOR=Contributor +# TypeContact_project_task_external_TASKCONTRIBUTOR=Contributor # SelectElement=Select element # AddElement=Link to element # Documents models diff --git a/htdocs/langs/uk_UA/stocks.lang b/htdocs/langs/uk_UA/stocks.lang index d6c87f1062f..be1e333f87c 100644 --- a/htdocs/langs/uk_UA/stocks.lang +++ b/htdocs/langs/uk_UA/stocks.lang @@ -94,14 +94,20 @@ # StockToBuy=To order # Replenishment=Replenishment # ReplenishmentOrders=Replenishment orders -# UseVirtualStock=Use virtual stock instead of physical stock +# VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differs +# UseVirtualStockByDefault=Use virtual stock by default, instead of physical stock, for replenishment feature +# UseVirtualStock=Use virtual stock +# UsePhysicalStock=Use physical stock +# CurentSelectionMode=Curent selection mode +# CurentlyUsingVirtualStock=Virtual stock +# CurentlyUsingPhysicalStock=Physical stock # RuleForStockReplenishment=Rule for stocks replenishment # SelectProductWithNotNullQty=Select at least one product with a qty not null and a supplier # AlertOnly= Alerts only # WarehouseForStockDecrease=The warehouse %s will be used for stock decrease # WarehouseForStockIncrease=The warehouse %s will be used for stock increase # ForThisWarehouse=For this warehouse -# ReplenishmentStatusDesc=This is list of all product with a physical stock lower than desired stock (or alert value if checkbox "alert only" is checked) and suggest you to create supplier orders to fill the difference. +# ReplenishmentStatusDesc=This is list of all product with a stock lower than desired stock (or lower than alert value if checkbox "alert only" is checked), and suggest you to create supplier orders to fill the difference. # ReplenishmentOrdersDesc=This is list of all opened supplier orders # Replenishments=Replenishments # NbOfProductBeforePeriod=Quantity of product %s in stock before selected period (< %s) diff --git a/htdocs/langs/uz_UZ/admin.lang b/htdocs/langs/uz_UZ/admin.lang index eecc028d698..d72ed9f4df9 100644 --- a/htdocs/langs/uz_UZ/admin.lang +++ b/htdocs/langs/uz_UZ/admin.lang @@ -287,7 +287,7 @@ # CallUpdatePage=Go to the page that updates the database structure and datas: %s. # LastStableVersion=Last stable version # GenericMaskCodes=You may enter any numbering mask. In this mask, the following tags could be used:
{000000} corresponds to a number which will be incremented on each %s. Enter as many zeros as the desired length of the counter. The counter will be completed by zeros from the left in order to have as many zeros as the mask.
{000000+000} same as previous but an offset corresponding to the number to the right of the + sign is applied starting on first %s.
{000000@x} same as previous but the counter is reset to zero when month x is reached (x between 1 and 12, or 0 to use the early months of fiscal year defined in your configuration, or 99 to reset to zero every month). If this option is used and x is 2 or higher, then sequence {yy}{mm} or {yyyy}{mm} is also required.
{dd} day (01 to 31).
{mm} month (01 to 12).
{yy}, {yyyy} or {y} year over 2, 4 or 1 numbers.
-# GenericMaskCodes2={cccc} the client code
{cccc000} the client code on n characters is followed by a client's ref counter without offset and zeroized with the global counter.
{tttt} The code of company type on n characters (see dictionary-company types).
+# GenericMaskCodes2={cccc} the client code on n characters
{cccc000} the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.
{tttt} The code of company type on n characters (see dictionary-company types).
# GenericMaskCodes3=All other characters in the mask will remain intact.
Spaces are not allowed.
# GenericMaskCodes4a=Example on the 99th %s of the third party TheCompany done 2007-01-31:
# GenericMaskCodes4b=Example on third party created on 2007-03-01:
@@ -345,8 +345,6 @@ # EnterRefToBuildUrl=Enter reference for object %s # GetSecuredUrl=Get calculated URL # ButtonHideUnauthorized=Hide buttons for unauthorized actions instead of showing disabled buttons -# ProductVatMassChange=Mass VAT change -# ProductVatMassChangeDesc=This page can be used to modify a VAT rate defined on products or services from a value to another. Warning, this change is done on all database. # OldVATRates=Old VAT rate # NewVATRates=New VAT rate # PriceBaseTypeToChange=Modify on prices with base reference value defined on @@ -381,6 +379,16 @@ # DefaultLink=Default link # ValueOverwrittenByUserSetup=Warning, this value may be overwritten by user specific setup (each user can set his own clicktodial url) # ExternalModule=External module - Installed into directory %s +# BarcodeInitForThirdparties=Mass barcode init for thirdparties +# BarcodeInitForProductsOrServices=Mass barcode init or reset for products or services +# CurrentlyNWithoutBarCode=Currently, you have %s records on %s %s without barcode defined. +# InitEmptyBarCode=Init value for next %s empty records +# EraseAllCurrentBarCode=Erase all current barcode values +# ConfirmEraseAllCurrentBarCode=Are you sure you want to erase all current barcode values ? +# AllBarcodeReset=All barcode values have been removed +# NoBarcodeNumberingTemplateDefined=No numbering barcode template enabled into barcode module setup. +# NoRecordWithoutBarcodeDefined=No record with no barcode value defined. + # Modules # Module0Name=Users & groups @@ -510,6 +518,8 @@ # Module59000Desc=Module to manage margins # Module60000Name=Commissions # Module60000Desc=Module to manage commissions +# Module150010Name=Batch number, eat-by date and sell-by date +# Module150010Desc=batch number, eat-by date and sell-by date management for product # Permission11=Read customer invoices # Permission12=Create/modify customer invoices # Permission13=Unvalidate customer invoices @@ -726,8 +736,8 @@ # Permission55002=Create/modify surveys # Permission59001=Read commercial margins # Permission59002=Define commercial margins -# DictionaryCompanyType=Company types -# DictionaryCompanyJuridicalType=Juridical kinds of company +# DictionaryCompanyType=Thirdparties type +# DictionaryCompanyJuridicalType=Juridical kinds of thirdparties # DictionaryProspectLevel=Prospect potential level # DictionaryCanton=State/Cantons # DictionaryRegion=Regions @@ -959,7 +969,7 @@ LocalTax2IsNotUsedExample= # ShowProfIdInAddress=Show professionnal id with addresses on documents # ShowVATIntaInAddress=Hide VAT Intra num with addresses on documents # TranslationUncomplete=Partial translation -# SomeTranslationAreUncomplete=Some languages may be partially translated or may contains errors. If you detect some, you can fix .lang text files into directory htdocs/langs and submit them on the forum at http://www.dolibarr.org. +# SomeTranslationAreUncomplete=Some languages may be partially translated or may contains errors. If you detect some, you can fix language files registering to http://transifex.com/projects/p/dolibarr/. # MenuUseLayout=Make vertical menu hidable (option javascript must not be disabled) # MAIN_DISABLE_METEO=Disable meteo view # TestLoginToAPI=Test login to API @@ -985,6 +995,7 @@ LocalTax2IsNotUsedExample= # ExtraFieldsProjectTask=Complementary attributes (tasks) # ExtraFieldHasWrongValue=Attribut %s has a wrong value. # AlphaNumOnlyCharsAndNoSpace=only alphanumericals characters without space +# AlphaNumOnlyLowerCharsAndNoSpace=only alphanumericals and lower case characters without space # SendingMailSetup=Setup of sendings by email # SendmailOptionNotComplete=Warning, on some Linux systems, to send email from your email, sendmail execution setup must contains option -ba (parameter mail.force_extra_parameters into your php.ini file). If some recipients never receive emails, try to edit this PHP parameter with mail.force_extra_parameters = -ba). # PathToDocuments=Path to documents @@ -1269,7 +1280,7 @@ LocalTax2IsNotUsedExample= # YouMayFindPerfAdviceHere=You will find on this page some checks or advices related to performance. # NotInstalled=Not installed, so your server is not slow down by this. # ApplicativeCache=Applicative cache -# MemcachedNotAvailable=No applicative cache found. You can enhance performance by installing a cache server Memcached and a module able to use this cache server. More information here http://wiki.dolibarr.org/index.php/Module_MemCached_EN. Note that a lot of web hosting provider does not provide such cache server. +# MemcachedNotAvailable=No applicative cache found. You can enhance performance by installing a cache server Memcached and a module able to use this cache server.
More information here http://wiki.dolibarr.org/index.php/Module_MemCached_EN.
Note that a lot of web hosting provider does not provide such cache server. # OPCodeCache=OPCode cache # NoOPCodeCacheFound=No OPCode cache found. May be you use another OPCode cache than XCache or eAccelerator (good), may be you don't have OPCode cache (very bad). # HTTPCacheStaticResources=HTTP cache for static resources (css, img, javascript) diff --git a/htdocs/langs/uz_UZ/agenda.lang b/htdocs/langs/uz_UZ/agenda.lang index 8a78e6c51c8..c5b02c0ecb6 100644 --- a/htdocs/langs/uz_UZ/agenda.lang +++ b/htdocs/langs/uz_UZ/agenda.lang @@ -52,6 +52,7 @@ # SupplierOrderSentByEMail=Supplier order %s sent by EMail # SupplierInvoiceSentByEMail=Supplier invoice %s sent by EMail # ShippingSentByEMail=Shipping %s sent by EMail +# ShippingValidated= Shipping %s validated # InterventionSentByEMail=Intervention %s sent by EMail # NewCompanyToDolibarr= Third party created # DateActionPlannedStart= Planned start date diff --git a/htdocs/langs/uz_UZ/cashdesk.lang b/htdocs/langs/uz_UZ/cashdesk.lang index 8fd787620f4..5cfb7ea3d6d 100644 --- a/htdocs/langs/uz_UZ/cashdesk.lang +++ b/htdocs/langs/uz_UZ/cashdesk.lang @@ -37,3 +37,4 @@ # ShowStock=Show warehouse # DeleteArticle=Click to remove this article # FilterRefOrLabelOrBC=Search (Ref/Label) +# UserNeedPermissionToEditStockToUsePos=You ask to decrease stock on invoice creation, so user that use POS need to have permission to edit stock. diff --git a/htdocs/langs/uz_UZ/errors.lang b/htdocs/langs/uz_UZ/errors.lang index f5e6781eb4c..473ab485c97 100644 --- a/htdocs/langs/uz_UZ/errors.lang +++ b/htdocs/langs/uz_UZ/errors.lang @@ -26,8 +26,11 @@ # ErrorBadThirdPartyName=Bad value for third party name # ErrorProdIdIsMandatory=The %s is mandatory # ErrorBadCustomerCodeSyntax=Bad syntax for customer code +# ErrorBadBarCodeSyntax=Bad syntax for bar code # ErrorCustomerCodeRequired=Customer code required +# ErrorBarCodeRequired=Bar code required # ErrorCustomerCodeAlreadyUsed=Customer code already used +# ErrorBarCodeAlreadyUsed=Bar code already used # ErrorPrefixRequired=Prefix required # ErrorUrlNotValid=The website address is incorrect # ErrorBadSupplierCodeSyntax=Bad syntax for supplier code @@ -63,6 +66,7 @@ # ErrorNoValueForRadioType=Please fill value for radio list # ErrorBadFormatValueList=The list value cannot have more than one come : %s, but need at least one: llave,valores # ErrorFieldCanNotContainSpecialCharacters=Field %s must not contains special characters. +# ErrorFieldCanNotContainSpecialNorUpperCharacters=Field %s must not contains special characters, nor upper case characters. # ErrorNoAccountancyModuleLoaded=No accountancy module activated # ErrorExportDuplicateProfil=This profile name already exists for this export set. # ErrorLDAPSetupNotComplete=Dolibarr-LDAP matching is not complete. diff --git a/htdocs/langs/uz_UZ/exports.lang b/htdocs/langs/uz_UZ/exports.lang index ecb0d4a94ac..082be11736e 100644 --- a/htdocs/langs/uz_UZ/exports.lang +++ b/htdocs/langs/uz_UZ/exports.lang @@ -123,6 +123,10 @@ # DeskCode=Desk code # BankAccountNumber=Account number # BankAccountNumberKey=Key +# SpecialCode=Special code +# ExportStringFilter=%% allows replacing one or more characters in the text +# ExportDateFilter='AAAA' 'AAAAMM' 'AAAAMMJJ': filters by one year/month/day
'AAAA+AAAA' 'AAAAMM+AAAAMM' 'AAAAMMJJ+AAAAMMJJ': filters over a range of years/months/days
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filters on the following years/months/days
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filters on the previous years/months/days +# ExportNumericFilter='NNNNN' filters by one value
'NNNNN+NNNNN' filters over a range of values
'>NNNNN' filters by lower values
'>NNNNN' filters by higher values ## filters # SelectFilterFields=If you want to filter on some values, just input values here. # FilterableFields=Champs Filtrables diff --git a/htdocs/langs/uz_UZ/mails.lang b/htdocs/langs/uz_UZ/mails.lang index 328fc3ec5d6..313acce4fa1 100644 --- a/htdocs/langs/uz_UZ/mails.lang +++ b/htdocs/langs/uz_UZ/mails.lang @@ -79,6 +79,13 @@ # ActivateCheckRead=Allow to use the "Unsubcribe" link # ActivateCheckReadKey=Key use to encrypt URL use for "Read Receipt" and "Unsubcribe" feature # EMailSentToNRecipients=EMail sent to %s recipients. +# EachInvoiceWillBeAttachedToEmail=A document using default invoice document template will be created and attached to each email. +# MailTopicSendRemindUnpaidInvoices=Remind of invoice %s (%s) +# SendRemind=Send remind by EMails +# RemindSent=%S remind(s) sent +# AllRecipientSelectedForRemind=All thirdparties selected and if an email is set (note that one mail per invoice will be sent) +# NoRemindSent=No remind by EMail sent +# ResultOfMassSending=Result of mass remind sending by EMail # Libelle des modules de liste de destinataires mailing # MailingModuleDescContactCompanies=Contacts/addresses of all third parties (customer, prospect, supplier, ...) diff --git a/htdocs/langs/uz_UZ/main.lang b/htdocs/langs/uz_UZ/main.lang index 4d19f1e7712..481ed9518c9 100644 --- a/htdocs/langs/uz_UZ/main.lang +++ b/htdocs/langs/uz_UZ/main.lang @@ -572,7 +572,7 @@ FormatDateHourText=%d %B %Y %H:%M # TotalMan=Total # NeverReceived=Never received # Canceled=Canceled -# YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu setup - dictionnary +# YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu setup - dictionary # Color=Color # Documents=Linked files # DocumentsNb=Linked files (%s) diff --git a/htdocs/langs/uz_UZ/opensurvey.lang b/htdocs/langs/uz_UZ/opensurvey.lang index fec34d9dbe6..1fbafbdb317 100644 --- a/htdocs/langs/uz_UZ/opensurvey.lang +++ b/htdocs/langs/uz_UZ/opensurvey.lang @@ -35,6 +35,7 @@ # TitleChoice=Choice label # ExportSpreadsheet=Export result spreadsheet # ExpireDate=Limit date +# NbOfSurveys=Number of surveys # NbOfVoters=Nb of voters # SurveyResults=Results # PollAdminDesc=You are allowed to change all vote lines of this poll with button "Edit". You can, as well, remove a column or a line with %s. You can also add a new column with %s. diff --git a/htdocs/langs/uz_UZ/orders.lang b/htdocs/langs/uz_UZ/orders.lang index 6bbef48cfc9..42444f0ec1c 100644 --- a/htdocs/langs/uz_UZ/orders.lang +++ b/htdocs/langs/uz_UZ/orders.lang @@ -55,6 +55,7 @@ # MenuOrdersToBill=Orders delivered # MenuOrdersToBill2=Orders to bill # SearchOrder=Search order +# SearchACustomerOrder=Search a customer order # ShipProduct=Ship product # Discount=Discount # CreateOrder=Create Order @@ -164,3 +165,4 @@ # OrderCreated=Your orders have been created # OrderFail=An error happened during your orders creation # CreateOrders=Create orders +# ToBillSeveralOrderSelectCustomer=To create an invoice for several orders, click first onto customer, then choose "%s". diff --git a/htdocs/langs/uz_UZ/other.lang b/htdocs/langs/uz_UZ/other.lang index 3ff4e868d22..1597fb25d24 100644 --- a/htdocs/langs/uz_UZ/other.lang +++ b/htdocs/langs/uz_UZ/other.lang @@ -49,14 +49,15 @@ # NbOfActiveNotifications=Number of notifications # PredefinedMailTest=This is a test mail.\nThe two lines are separated by a carriage return.\n\n__SIGNATURE__ # PredefinedMailTestHtml=This is a test mail (the word test must be in bold).
The two lines are separated by a carriage return.

__SIGNATURE__ -# PredefinedMailContentSendInvoice=__CONTACTCIVNAME__ \n\n You will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__ \n\n We would like to warn you that the invoice __FACREF__ seems to not being payed. So this is the invoice in attachment again, as a reminder.\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendProposal=__CONTACTCIVNAME__ \n\n You will find here the commercial proposal __PROPREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendOrder=__CONTACTCIVNAME__ \n\n You will find here the order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__ \n\n You will find here our order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__ \n\n You will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendShipping=__CONTACTCIVNAME__ \n\n You will find here the shipping __SHIPPINGREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendFichInter=__CONTACTCIVNAME__ \n\n You will find here the intervention __FICHINTERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__\n\nWe would like to warn you that the invoice __FACREF__ seems to not being payed. So this is the invoice in attachment again, as a reminder.\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendProposal=__CONTACTCIVNAME__\n\nYou will find here the commercial proposal __PROPREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendOrder=__CONTACTCIVNAME__\n\nYou will find here the order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__\n\nYou will find here our order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendShipping=__CONTACTCIVNAME__\n\nYou will find here the shipping __SHIPPINGREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendFichInter=__CONTACTCIVNAME__\n\nYou will find here the intervention __FICHINTERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentThirdparty=__CONTACTCIVNAME__\n\n__PERSONALIZED__\n\n__SIGNATURE__ # DemoDesc=Dolibarr is a compact ERP/CRM composed by several functional modules. A demo that includes all modules does not mean anything as this never occurs. So, several demo profiles are available. # ChooseYourDemoProfil=Choose the demo profile that match your activity... # DemoFundation=Manage members of a foundation diff --git a/htdocs/langs/uz_UZ/products.lang b/htdocs/langs/uz_UZ/products.lang index 9f75dab9917..d91deb78816 100644 --- a/htdocs/langs/uz_UZ/products.lang +++ b/htdocs/langs/uz_UZ/products.lang @@ -13,6 +13,10 @@ # NewService=New service # ProductCode=Product code # ServiceCode=Service code +# ProductVatMassChange=Mass VAT change +# ProductVatMassChangeDesc=This page can be used to modify a VAT rate defined on products or services from a value to another. Warning, this change is done on all database. +# MassBarcodeInit=Mass barcode init +# MassBarcodeInitDesc=This page can be used to initialize a barcode on objects that does not have barcode defined. Check before that setup of module barcode is complete. # ProductAccountancyBuyCode=Accountancy code (buy) # ProductAccountancySellCode=Accountancy code (sell) # ProductOrService=Product or Service @@ -173,8 +177,8 @@ # CountryOrigin=Origin country # HiddenIntoCombo=Hidden into select lists # Nature=Nature -# ProductCodeModel=Product code template -# ServiceCodeModel=Service code template +# ProductCodeModel=Product ref template +# ServiceCodeModel=Service ref template # AddThisProductCard=Create product card # HelpAddThisProductCard=This option allows you to create or clone a product if it does not exist. # AddThisServiceCard=Create service card @@ -216,5 +220,10 @@ # DefinitionOfBarCodeForThirdpartyNotComplete=Definition of type or value of bar code non complete for thirdparty %s. # BarCodeDataForProduct=Barcode information of product %s : # BarCodeDataForThirdparty=Barcode information of thirdparty %s : -# BarcodeStickersMask=xxx - +# ResetBarcodeForAllRecords=Define barcode value for all records (this will also reset barcode value already defined with new values) +# PriceByCustomer=Price by customer +# PriceCatalogue=Catalogue Price +# PricingRule=Pricing Rules +# AddCustomerPrice=Add price by customers +# ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +# PriceByCustomerLog=Price by customer log diff --git a/htdocs/langs/uz_UZ/projects.lang b/htdocs/langs/uz_UZ/projects.lang index d432ae0110e..2710b95cdf8 100644 --- a/htdocs/langs/uz_UZ/projects.lang +++ b/htdocs/langs/uz_UZ/projects.lang @@ -1,4 +1,6 @@ # Dolibarr language file - Source file is en_US - projects +# RefProject=Ref. project +# ProjectId=Project Id # Project=Project # Projects=Projects # SharedProject=Everybody @@ -30,11 +32,18 @@ # TimesSpent=Time spent # RefTask=Ref. task # LabelTask=Label task +# TaskTimeSpent=Time spent on tasks +# TaskTimeUser=Task time user +# TaskTimeNote=Task time note +# TaskTimeDate=Task time date # NewTimeSpent=New time spent # MyTimeSpent=My time spent # MyTasks=My tasks # Tasks=Tasks # Task=Task +# TaskDateStart=Task start date +# TaskDateEnd=Task end date +# TaskDescription=Task description # NewTask=New task # AddTask=Add task # AddDuration=Add duration diff --git a/htdocs/langs/uz_UZ/stocks.lang b/htdocs/langs/uz_UZ/stocks.lang index d6c87f1062f..be1e333f87c 100644 --- a/htdocs/langs/uz_UZ/stocks.lang +++ b/htdocs/langs/uz_UZ/stocks.lang @@ -94,14 +94,20 @@ # StockToBuy=To order # Replenishment=Replenishment # ReplenishmentOrders=Replenishment orders -# UseVirtualStock=Use virtual stock instead of physical stock +# VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differs +# UseVirtualStockByDefault=Use virtual stock by default, instead of physical stock, for replenishment feature +# UseVirtualStock=Use virtual stock +# UsePhysicalStock=Use physical stock +# CurentSelectionMode=Curent selection mode +# CurentlyUsingVirtualStock=Virtual stock +# CurentlyUsingPhysicalStock=Physical stock # RuleForStockReplenishment=Rule for stocks replenishment # SelectProductWithNotNullQty=Select at least one product with a qty not null and a supplier # AlertOnly= Alerts only # WarehouseForStockDecrease=The warehouse %s will be used for stock decrease # WarehouseForStockIncrease=The warehouse %s will be used for stock increase # ForThisWarehouse=For this warehouse -# ReplenishmentStatusDesc=This is list of all product with a physical stock lower than desired stock (or alert value if checkbox "alert only" is checked) and suggest you to create supplier orders to fill the difference. +# ReplenishmentStatusDesc=This is list of all product with a stock lower than desired stock (or lower than alert value if checkbox "alert only" is checked), and suggest you to create supplier orders to fill the difference. # ReplenishmentOrdersDesc=This is list of all opened supplier orders # Replenishments=Replenishments # NbOfProductBeforePeriod=Quantity of product %s in stock before selected period (< %s) diff --git a/htdocs/langs/vi_VN/admin.lang b/htdocs/langs/vi_VN/admin.lang index 13ed2a8cff1..21706b4b77f 100644 --- a/htdocs/langs/vi_VN/admin.lang +++ b/htdocs/langs/vi_VN/admin.lang @@ -287,7 +287,7 @@ ModuleFamilyBase=Hệ thống # CallUpdatePage=Go to the page that updates the database structure and datas: %s. # LastStableVersion=Last stable version # GenericMaskCodes=You may enter any numbering mask. In this mask, the following tags could be used:
{000000} corresponds to a number which will be incremented on each %s. Enter as many zeros as the desired length of the counter. The counter will be completed by zeros from the left in order to have as many zeros as the mask.
{000000+000} same as previous but an offset corresponding to the number to the right of the + sign is applied starting on first %s.
{000000@x} same as previous but the counter is reset to zero when month x is reached (x between 1 and 12, or 0 to use the early months of fiscal year defined in your configuration, or 99 to reset to zero every month). If this option is used and x is 2 or higher, then sequence {yy}{mm} or {yyyy}{mm} is also required.
{dd} day (01 to 31).
{mm} month (01 to 12).
{yy}, {yyyy} or {y} year over 2, 4 or 1 numbers.
-# GenericMaskCodes2={cccc} the client code
{cccc000} the client code on n characters is followed by a client's ref counter without offset and zeroized with the global counter.
{tttt} The code of company type on n characters (see dictionary-company types).
+# GenericMaskCodes2={cccc} the client code on n characters
{cccc000} the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.
{tttt} The code of company type on n characters (see dictionary-company types).
# GenericMaskCodes3=All other characters in the mask will remain intact.
Spaces are not allowed.
# GenericMaskCodes4a=Example on the 99th %s of the third party TheCompany done 2007-01-31:
# GenericMaskCodes4b=Example on third party created on 2007-03-01:
@@ -345,8 +345,6 @@ ModuleFamilyBase=Hệ thống # EnterRefToBuildUrl=Enter reference for object %s # GetSecuredUrl=Get calculated URL # ButtonHideUnauthorized=Hide buttons for unauthorized actions instead of showing disabled buttons -# ProductVatMassChange=Mass VAT change -# ProductVatMassChangeDesc=This page can be used to modify a VAT rate defined on products or services from a value to another. Warning, this change is done on all database. # OldVATRates=Old VAT rate # NewVATRates=New VAT rate # PriceBaseTypeToChange=Modify on prices with base reference value defined on @@ -381,6 +379,16 @@ ModuleFamilyBase=Hệ thống # DefaultLink=Default link # ValueOverwrittenByUserSetup=Warning, this value may be overwritten by user specific setup (each user can set his own clicktodial url) # ExternalModule=External module - Installed into directory %s +# BarcodeInitForThirdparties=Mass barcode init for thirdparties +# BarcodeInitForProductsOrServices=Mass barcode init or reset for products or services +# CurrentlyNWithoutBarCode=Currently, you have %s records on %s %s without barcode defined. +# InitEmptyBarCode=Init value for next %s empty records +# EraseAllCurrentBarCode=Erase all current barcode values +# ConfirmEraseAllCurrentBarCode=Are you sure you want to erase all current barcode values ? +# AllBarcodeReset=All barcode values have been removed +# NoBarcodeNumberingTemplateDefined=No numbering barcode template enabled into barcode module setup. +# NoRecordWithoutBarcodeDefined=No record with no barcode value defined. + # Modules # Module0Name=Users & groups @@ -510,6 +518,8 @@ Module400Name=Các dự án # Module59000Desc=Module to manage margins # Module60000Name=Commissions # Module60000Desc=Module to manage commissions +# Module150010Name=Batch number, eat-by date and sell-by date +# Module150010Desc=batch number, eat-by date and sell-by date management for product # Permission11=Read customer invoices # Permission12=Create/modify customer invoices # Permission13=Unvalidate customer invoices @@ -726,8 +736,8 @@ Module400Name=Các dự án # Permission55002=Create/modify surveys # Permission59001=Read commercial margins # Permission59002=Define commercial margins -# DictionaryCompanyType=Company types -# DictionaryCompanyJuridicalType=Juridical kinds of company +# DictionaryCompanyType=Thirdparties type +# DictionaryCompanyJuridicalType=Juridical kinds of thirdparties # DictionaryProspectLevel=Prospect potential level # DictionaryCanton=State/Cantons # DictionaryRegion=Regions @@ -959,7 +969,7 @@ PhpModules=Module # ShowProfIdInAddress=Show professionnal id with addresses on documents # ShowVATIntaInAddress=Hide VAT Intra num with addresses on documents # TranslationUncomplete=Partial translation -# SomeTranslationAreUncomplete=Some languages may be partially translated or may contains errors. If you detect some, you can fix .lang text files into directory htdocs/langs and submit them on the forum at http://www.dolibarr.org. +# SomeTranslationAreUncomplete=Some languages may be partially translated or may contains errors. If you detect some, you can fix language files registering to http://transifex.com/projects/p/dolibarr/. # MenuUseLayout=Make vertical menu hidable (option javascript must not be disabled) # MAIN_DISABLE_METEO=Disable meteo view # TestLoginToAPI=Test login to API @@ -985,6 +995,7 @@ PhpModules=Module # ExtraFieldsProjectTask=Complementary attributes (tasks) # ExtraFieldHasWrongValue=Attribut %s has a wrong value. # AlphaNumOnlyCharsAndNoSpace=only alphanumericals characters without space +# AlphaNumOnlyLowerCharsAndNoSpace=only alphanumericals and lower case characters without space # SendingMailSetup=Setup of sendings by email # SendmailOptionNotComplete=Warning, on some Linux systems, to send email from your email, sendmail execution setup must contains option -ba (parameter mail.force_extra_parameters into your php.ini file). If some recipients never receive emails, try to edit this PHP parameter with mail.force_extra_parameters = -ba). # PathToDocuments=Path to documents @@ -1269,7 +1280,7 @@ PhpModules=Module # YouMayFindPerfAdviceHere=You will find on this page some checks or advices related to performance. # NotInstalled=Not installed, so your server is not slow down by this. # ApplicativeCache=Applicative cache -# MemcachedNotAvailable=No applicative cache found. You can enhance performance by installing a cache server Memcached and a module able to use this cache server. More information here http://wiki.dolibarr.org/index.php/Module_MemCached_EN. Note that a lot of web hosting provider does not provide such cache server. +# MemcachedNotAvailable=No applicative cache found. You can enhance performance by installing a cache server Memcached and a module able to use this cache server.
More information here http://wiki.dolibarr.org/index.php/Module_MemCached_EN.
Note that a lot of web hosting provider does not provide such cache server. # OPCodeCache=OPCode cache # NoOPCodeCacheFound=No OPCode cache found. May be you use another OPCode cache than XCache or eAccelerator (good), may be you don't have OPCode cache (very bad). # HTTPCacheStaticResources=HTTP cache for static resources (css, img, javascript) diff --git a/htdocs/langs/vi_VN/agenda.lang b/htdocs/langs/vi_VN/agenda.lang index 8a78e6c51c8..c5b02c0ecb6 100644 --- a/htdocs/langs/vi_VN/agenda.lang +++ b/htdocs/langs/vi_VN/agenda.lang @@ -52,6 +52,7 @@ # SupplierOrderSentByEMail=Supplier order %s sent by EMail # SupplierInvoiceSentByEMail=Supplier invoice %s sent by EMail # ShippingSentByEMail=Shipping %s sent by EMail +# ShippingValidated= Shipping %s validated # InterventionSentByEMail=Intervention %s sent by EMail # NewCompanyToDolibarr= Third party created # DateActionPlannedStart= Planned start date diff --git a/htdocs/langs/vi_VN/cashdesk.lang b/htdocs/langs/vi_VN/cashdesk.lang index 8fd787620f4..5cfb7ea3d6d 100644 --- a/htdocs/langs/vi_VN/cashdesk.lang +++ b/htdocs/langs/vi_VN/cashdesk.lang @@ -37,3 +37,4 @@ # ShowStock=Show warehouse # DeleteArticle=Click to remove this article # FilterRefOrLabelOrBC=Search (Ref/Label) +# UserNeedPermissionToEditStockToUsePos=You ask to decrease stock on invoice creation, so user that use POS need to have permission to edit stock. diff --git a/htdocs/langs/vi_VN/errors.lang b/htdocs/langs/vi_VN/errors.lang index 4e35883cf6a..c7fa0b8f3bc 100644 --- a/htdocs/langs/vi_VN/errors.lang +++ b/htdocs/langs/vi_VN/errors.lang @@ -26,8 +26,11 @@ Error=Lỗi # ErrorBadThirdPartyName=Bad value for third party name # ErrorProdIdIsMandatory=The %s is mandatory # ErrorBadCustomerCodeSyntax=Bad syntax for customer code +# ErrorBadBarCodeSyntax=Bad syntax for bar code # ErrorCustomerCodeRequired=Customer code required +# ErrorBarCodeRequired=Bar code required # ErrorCustomerCodeAlreadyUsed=Customer code already used +# ErrorBarCodeAlreadyUsed=Bar code already used # ErrorPrefixRequired=Prefix required # ErrorUrlNotValid=The website address is incorrect # ErrorBadSupplierCodeSyntax=Bad syntax for supplier code @@ -63,6 +66,7 @@ Error=Lỗi # ErrorNoValueForRadioType=Please fill value for radio list # ErrorBadFormatValueList=The list value cannot have more than one come : %s, but need at least one: llave,valores # ErrorFieldCanNotContainSpecialCharacters=Field %s must not contains special characters. +# ErrorFieldCanNotContainSpecialNorUpperCharacters=Field %s must not contains special characters, nor upper case characters. # ErrorNoAccountancyModuleLoaded=No accountancy module activated # ErrorExportDuplicateProfil=This profile name already exists for this export set. # ErrorLDAPSetupNotComplete=Dolibarr-LDAP matching is not complete. diff --git a/htdocs/langs/vi_VN/exports.lang b/htdocs/langs/vi_VN/exports.lang index 49640c710c0..e52f1bc4689 100644 --- a/htdocs/langs/vi_VN/exports.lang +++ b/htdocs/langs/vi_VN/exports.lang @@ -123,6 +123,10 @@ LibraryVersion=Phiên bản # DeskCode=Desk code # BankAccountNumber=Account number # BankAccountNumberKey=Key +# SpecialCode=Special code +# ExportStringFilter=%% allows replacing one or more characters in the text +# ExportDateFilter='AAAA' 'AAAAMM' 'AAAAMMJJ': filters by one year/month/day
'AAAA+AAAA' 'AAAAMM+AAAAMM' 'AAAAMMJJ+AAAAMMJJ': filters over a range of years/months/days
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filters on the following years/months/days
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filters on the previous years/months/days +# ExportNumericFilter='NNNNN' filters by one value
'NNNNN+NNNNN' filters over a range of values
'>NNNNN' filters by lower values
'>NNNNN' filters by higher values ## filters # SelectFilterFields=If you want to filter on some values, just input values here. # FilterableFields=Champs Filtrables diff --git a/htdocs/langs/vi_VN/mails.lang b/htdocs/langs/vi_VN/mails.lang index 8f9d2183499..02344c50331 100644 --- a/htdocs/langs/vi_VN/mails.lang +++ b/htdocs/langs/vi_VN/mails.lang @@ -79,6 +79,13 @@ MailingStatusError=Lỗi # ActivateCheckRead=Allow to use the "Unsubcribe" link # ActivateCheckReadKey=Key use to encrypt URL use for "Read Receipt" and "Unsubcribe" feature # EMailSentToNRecipients=EMail sent to %s recipients. +# EachInvoiceWillBeAttachedToEmail=A document using default invoice document template will be created and attached to each email. +# MailTopicSendRemindUnpaidInvoices=Remind of invoice %s (%s) +# SendRemind=Send remind by EMails +# RemindSent=%S remind(s) sent +# AllRecipientSelectedForRemind=All thirdparties selected and if an email is set (note that one mail per invoice will be sent) +# NoRemindSent=No remind by EMail sent +# ResultOfMassSending=Result of mass remind sending by EMail # Libelle des modules de liste de destinataires mailing # MailingModuleDescContactCompanies=Contacts/addresses of all third parties (customer, prospect, supplier, ...) diff --git a/htdocs/langs/vi_VN/main.lang b/htdocs/langs/vi_VN/main.lang index 4813acad04d..c370d008141 100644 --- a/htdocs/langs/vi_VN/main.lang +++ b/htdocs/langs/vi_VN/main.lang @@ -572,7 +572,7 @@ Unknown=Chưa rõ # TotalMan=Total # NeverReceived=Never received # Canceled=Canceled -# YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu setup - dictionnary +# YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu setup - dictionary # Color=Color # Documents=Linked files # DocumentsNb=Linked files (%s) diff --git a/htdocs/langs/vi_VN/opensurvey.lang b/htdocs/langs/vi_VN/opensurvey.lang index fec34d9dbe6..1fbafbdb317 100644 --- a/htdocs/langs/vi_VN/opensurvey.lang +++ b/htdocs/langs/vi_VN/opensurvey.lang @@ -35,6 +35,7 @@ # TitleChoice=Choice label # ExportSpreadsheet=Export result spreadsheet # ExpireDate=Limit date +# NbOfSurveys=Number of surveys # NbOfVoters=Nb of voters # SurveyResults=Results # PollAdminDesc=You are allowed to change all vote lines of this poll with button "Edit". You can, as well, remove a column or a line with %s. You can also add a new column with %s. diff --git a/htdocs/langs/vi_VN/orders.lang b/htdocs/langs/vi_VN/orders.lang index ff28deb6282..c1290b8a81a 100644 --- a/htdocs/langs/vi_VN/orders.lang +++ b/htdocs/langs/vi_VN/orders.lang @@ -55,6 +55,7 @@ Order=Trật tự # MenuOrdersToBill=Orders delivered # MenuOrdersToBill2=Orders to bill # SearchOrder=Search order +# SearchACustomerOrder=Search a customer order # ShipProduct=Ship product # Discount=Discount # CreateOrder=Create Order @@ -164,3 +165,4 @@ Order=Trật tự # OrderCreated=Your orders have been created # OrderFail=An error happened during your orders creation # CreateOrders=Create orders +# ToBillSeveralOrderSelectCustomer=To create an invoice for several orders, click first onto customer, then choose "%s". diff --git a/htdocs/langs/vi_VN/other.lang b/htdocs/langs/vi_VN/other.lang index d84b112b6fd..89ae559934d 100644 --- a/htdocs/langs/vi_VN/other.lang +++ b/htdocs/langs/vi_VN/other.lang @@ -49,14 +49,15 @@ # NbOfActiveNotifications=Number of notifications # PredefinedMailTest=This is a test mail.\nThe two lines are separated by a carriage return.\n\n__SIGNATURE__ # PredefinedMailTestHtml=This is a test mail (the word test must be in bold).
The two lines are separated by a carriage return.

__SIGNATURE__ -# PredefinedMailContentSendInvoice=__CONTACTCIVNAME__ \n\n You will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__ \n\n We would like to warn you that the invoice __FACREF__ seems to not being payed. So this is the invoice in attachment again, as a reminder.\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendProposal=__CONTACTCIVNAME__ \n\n You will find here the commercial proposal __PROPREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendOrder=__CONTACTCIVNAME__ \n\n You will find here the order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__ \n\n You will find here our order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__ \n\n You will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendShipping=__CONTACTCIVNAME__ \n\n You will find here the shipping __SHIPPINGREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendFichInter=__CONTACTCIVNAME__ \n\n You will find here the intervention __FICHINTERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__\n\nWe would like to warn you that the invoice __FACREF__ seems to not being payed. So this is the invoice in attachment again, as a reminder.\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendProposal=__CONTACTCIVNAME__\n\nYou will find here the commercial proposal __PROPREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendOrder=__CONTACTCIVNAME__\n\nYou will find here the order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__\n\nYou will find here our order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendShipping=__CONTACTCIVNAME__\n\nYou will find here the shipping __SHIPPINGREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendFichInter=__CONTACTCIVNAME__\n\nYou will find here the intervention __FICHINTERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentThirdparty=__CONTACTCIVNAME__\n\n__PERSONALIZED__\n\n__SIGNATURE__ # DemoDesc=Dolibarr is a compact ERP/CRM composed by several functional modules. A demo that includes all modules does not mean anything as this never occurs. So, several demo profiles are available. # ChooseYourDemoProfil=Choose the demo profile that match your activity... # DemoFundation=Manage members of a foundation diff --git a/htdocs/langs/vi_VN/products.lang b/htdocs/langs/vi_VN/products.lang index 9f75dab9917..d91deb78816 100644 --- a/htdocs/langs/vi_VN/products.lang +++ b/htdocs/langs/vi_VN/products.lang @@ -13,6 +13,10 @@ # NewService=New service # ProductCode=Product code # ServiceCode=Service code +# ProductVatMassChange=Mass VAT change +# ProductVatMassChangeDesc=This page can be used to modify a VAT rate defined on products or services from a value to another. Warning, this change is done on all database. +# MassBarcodeInit=Mass barcode init +# MassBarcodeInitDesc=This page can be used to initialize a barcode on objects that does not have barcode defined. Check before that setup of module barcode is complete. # ProductAccountancyBuyCode=Accountancy code (buy) # ProductAccountancySellCode=Accountancy code (sell) # ProductOrService=Product or Service @@ -173,8 +177,8 @@ # CountryOrigin=Origin country # HiddenIntoCombo=Hidden into select lists # Nature=Nature -# ProductCodeModel=Product code template -# ServiceCodeModel=Service code template +# ProductCodeModel=Product ref template +# ServiceCodeModel=Service ref template # AddThisProductCard=Create product card # HelpAddThisProductCard=This option allows you to create or clone a product if it does not exist. # AddThisServiceCard=Create service card @@ -216,5 +220,10 @@ # DefinitionOfBarCodeForThirdpartyNotComplete=Definition of type or value of bar code non complete for thirdparty %s. # BarCodeDataForProduct=Barcode information of product %s : # BarCodeDataForThirdparty=Barcode information of thirdparty %s : -# BarcodeStickersMask=xxx - +# ResetBarcodeForAllRecords=Define barcode value for all records (this will also reset barcode value already defined with new values) +# PriceByCustomer=Price by customer +# PriceCatalogue=Catalogue Price +# PricingRule=Pricing Rules +# AddCustomerPrice=Add price by customers +# ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +# PriceByCustomerLog=Price by customer log diff --git a/htdocs/langs/vi_VN/projects.lang b/htdocs/langs/vi_VN/projects.lang index c42a2421d60..02adf7276f7 100644 --- a/htdocs/langs/vi_VN/projects.lang +++ b/htdocs/langs/vi_VN/projects.lang @@ -1,4 +1,6 @@ # Dolibarr language file - Source file is en_US - projects +# RefProject=Ref. project +# ProjectId=Project Id Project=Dự án Projects=Các dự án SharedProject=Mọi người @@ -30,11 +32,18 @@ TimeSpent=Thời gian đã qua TimesSpent=Thời gian đã qua RefTask=Tác vụ tham chiếu LabelTask=Nhãn của tác vụ +# TaskTimeSpent=Time spent on tasks +# TaskTimeUser=Task time user +# TaskTimeNote=Task time note +# TaskTimeDate=Task time date NewTimeSpent=Thời gian đã qua mới MyTimeSpent=Thời gian đã qua của tôi MyTasks=Tác vụ của tôi Tasks=Tác vụ Task=Tác vụ +# TaskDateStart=Task start date +# TaskDateEnd=Task end date +# TaskDescription=Task description NewTask=Tác vụ mới AddTask=Thêm tác vụ AddDuration=Thêm độ dài thời gian @@ -100,12 +109,12 @@ ProjectCreatedInDolibarr=Đã tạo dự án %s ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Người lãnh đạo dự án TypeContact_project_external_PROJECTLEADER=Người lãnh đạo dự án -TypeContact_project_internal_PROJECTCONTRIBUTOR=Người đóng góp -TypeContact_project_external_PROJECTCONTRIBUTOR=Người đóng góp +# TypeContact_project_internal_PROJECTCONTRIBUTOR=Contributor +# TypeContact_project_external_PROJECTCONTRIBUTOR=Contributor TypeContact_project_task_internal_TASKEXECUTIVE=Thi hành tác vụ TypeContact_project_task_external_TASKEXECUTIVE=Thi hành tác vụ -TypeContact_project_task_internal_TASKCONTRIBUTOR=Người đóng góp -TypeContact_project_task_external_TASKCONTRIBUTOR=Người đóng góp +# TypeContact_project_task_internal_TASKCONTRIBUTOR=Contributor +# TypeContact_project_task_external_TASKCONTRIBUTOR=Contributor # SelectElement=Select element # AddElement=Link to element # Documents models diff --git a/htdocs/langs/vi_VN/stocks.lang b/htdocs/langs/vi_VN/stocks.lang index d6c87f1062f..be1e333f87c 100644 --- a/htdocs/langs/vi_VN/stocks.lang +++ b/htdocs/langs/vi_VN/stocks.lang @@ -94,14 +94,20 @@ # StockToBuy=To order # Replenishment=Replenishment # ReplenishmentOrders=Replenishment orders -# UseVirtualStock=Use virtual stock instead of physical stock +# VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differs +# UseVirtualStockByDefault=Use virtual stock by default, instead of physical stock, for replenishment feature +# UseVirtualStock=Use virtual stock +# UsePhysicalStock=Use physical stock +# CurentSelectionMode=Curent selection mode +# CurentlyUsingVirtualStock=Virtual stock +# CurentlyUsingPhysicalStock=Physical stock # RuleForStockReplenishment=Rule for stocks replenishment # SelectProductWithNotNullQty=Select at least one product with a qty not null and a supplier # AlertOnly= Alerts only # WarehouseForStockDecrease=The warehouse %s will be used for stock decrease # WarehouseForStockIncrease=The warehouse %s will be used for stock increase # ForThisWarehouse=For this warehouse -# ReplenishmentStatusDesc=This is list of all product with a physical stock lower than desired stock (or alert value if checkbox "alert only" is checked) and suggest you to create supplier orders to fill the difference. +# ReplenishmentStatusDesc=This is list of all product with a stock lower than desired stock (or lower than alert value if checkbox "alert only" is checked), and suggest you to create supplier orders to fill the difference. # ReplenishmentOrdersDesc=This is list of all opened supplier orders # Replenishments=Replenishments # NbOfProductBeforePeriod=Quantity of product %s in stock before selected period (< %s) diff --git a/htdocs/langs/zh_CN/admin.lang b/htdocs/langs/zh_CN/admin.lang index 336e6c4a134..91bd9d0fc2d 100644 --- a/htdocs/langs/zh_CN/admin.lang +++ b/htdocs/langs/zh_CN/admin.lang @@ -287,7 +287,7 @@ CurrentVersion=Dolibarr 当前版本 CallUpdatePage=请到数据库的结构和数据更新页面:%s。 LastStableVersion=最新的稳定版本 GenericMaskCodes=您可自由设置格式掩码。在 %s 格式掩码中, 有如下计数标记可用:
{000000}表示按顺序递增的序号。序号位数与掩码中0的个数相同,不足自动补零,达最大值后自动归零。
{000000+000} 同上但 %s 起始序号从 + 后的数值记起。
{000000@x} 与第一种相同,但序号到X月时自动清零(x=1~12 、0=程序设置中的财年起始月、99=每月清零)。 如果使用此种掩码且 x >= 2 ,则必须同时使用日期掩码 {yy}{mm} 或 {yyyy}{mm}。
{dd} 天 (01~31)。
{mm} 月 (01~12)。
{yy}{yyyy}{y} 代表 2位, 4位 或 1 位年。

-# GenericMaskCodes2={cccc} the client code
{cccc000} the client code on n characters is followed by a client's ref counter without offset and zeroized with the global counter.
{tttt} The code of company type on n characters (see dictionary-company types).
+# GenericMaskCodes2={cccc} the client code on n characters
{cccc000} the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.
{tttt} The code of company type on n characters (see dictionary-company types).
GenericMaskCodes3=其它非标记字符将维持不变。
不允许使用空格
GenericMaskCodes4a=例如: 2007-01-31 第三方“TheCompany”的第99笔 %s :
GenericMaskCodes4b=例如: 2007-03-1 建立的第三方公司:
@@ -345,8 +345,6 @@ SecurityTokenIsUnique=为每个URL使用独特的securekey参数 EnterRefToBuildUrl=输入对象 %s 的编号 GetSecuredUrl=获取算得的URL地址 ButtonHideUnauthorized=隐藏无权限操作的按钮,而非禁用。 -ProductVatMassChange=批量修改增值税(VAT) -ProductVatMassChangeDesc=此页面可用来修改产品或服务的增值税(VAT)。警告,此操作将影响整个数据库。 OldVATRates=以前的增值税率(VAT) NewVATRates=新建增值税率(VAT) PriceBaseTypeToChange=修改设置了基本参考价值的产品的价格/ base reference value @@ -381,6 +379,16 @@ KeepEmptyToUseDefault=不填表示使用默认值 DefaultLink=默认链接 ValueOverwrittenByUserSetup=警告,此设置可能被用户设置所覆盖(用户可以设置各自的click2dial链接) # ExternalModule=External module - Installed into directory %s +# BarcodeInitForThirdparties=Mass barcode init for thirdparties +# BarcodeInitForProductsOrServices=Mass barcode init or reset for products or services +# CurrentlyNWithoutBarCode=Currently, you have %s records on %s %s without barcode defined. +# InitEmptyBarCode=Init value for next %s empty records +# EraseAllCurrentBarCode=Erase all current barcode values +# ConfirmEraseAllCurrentBarCode=Are you sure you want to erase all current barcode values ? +# AllBarcodeReset=All barcode values have been removed +# NoBarcodeNumberingTemplateDefined=No numbering barcode template enabled into barcode module setup. +# NoRecordWithoutBarcodeDefined=No record with no barcode value defined. + # Modules Module0Name=用户和组 @@ -510,6 +518,8 @@ Module59000Name=利润空间 Module59000Desc=利润空间管理模块 Module60000Name=佣金 Module60000Desc=佣金管理模块 +# Module150010Name=Batch number, eat-by date and sell-by date +# Module150010Desc=batch number, eat-by date and sell-by date management for product Permission11=读取销售账单 Permission12=创建修改客户账单 Permission13=重新起草销售账单 @@ -726,8 +736,8 @@ Permission55001=阅读调查 Permission55002=创建/修改调查 # Permission59001=Read commercial margins # Permission59002=Define commercial margins -# DictionaryCompanyType=Company types -# DictionaryCompanyJuridicalType=Juridical kinds of company +# DictionaryCompanyType=Thirdparties type +# DictionaryCompanyJuridicalType=Juridical kinds of thirdparties # DictionaryProspectLevel=Prospect potential level # DictionaryCanton=State/Cantons # DictionaryRegion=Regions @@ -959,7 +969,7 @@ SimpleNumRefModelDesc=依照 %syymm-nnnn 的格式返回引用编号,其中yy ShowProfIdInAddress=文件中显示专业编号及地址 ShowVATIntaInAddress=Hide VAT Intra num with addresses on documents TranslationUncomplete=部分翻译 -SomeTranslationAreUncomplete=一些语言的翻译可能不完整或含有错误百出。如果您发现了错误,请修改 htdocs/langs 目录下的 .lang 文本文件,并将更新后的文件提交至论坛 http://www.dolibarr.org。 +# SomeTranslationAreUncomplete=Some languages may be partially translated or may contains errors. If you detect some, you can fix language files registering to http://transifex.com/projects/p/dolibarr/. MenuUseLayout=可隐藏垂直菜单 (需要开启 JavaScript) MAIN_DISABLE_METEO=禁用天气图标 TestLoginToAPI=测试 API 登录 @@ -985,6 +995,7 @@ ExtraFieldsProject=增补属性 (项目) ExtraFieldsProjectTask=增补属性 (任务) ExtraFieldHasWrongValue=属性 %s 的值有错误。 AlphaNumOnlyCharsAndNoSpace=仅限英文字母 (不包括空格) +# AlphaNumOnlyLowerCharsAndNoSpace=only alphanumericals and lower case characters without space SendingMailSetup=通过电邮发送的设置 SendmailOptionNotComplete=Warning, on some Linux systems, to send email from your email, sendmail execution setup must contains option -ba (parameter mail.force_extra_parameters into your php.ini file). If some recipients never receive emails, try to edit this PHP parameter with mail.force_extra_parameters = -ba). PathToDocuments=文件路径 @@ -1269,7 +1280,7 @@ PerfDolibarr=性能设置/优化报告 YouMayFindPerfAdviceHere=你会发现此页面上的一些性能相关的检查或建议。 NotInstalled=没有安装,所以你的服务器没有减慢。 ApplicativeCache=应用型缓存 -MemcachedNotAvailable=无可用的缓存。您可以通过安装Memcached的缓存服务器能够使用此缓存服务器和模块提高性能。更多信息http://wiki.dolibarr.org/index.php/Module_MemCached_EN。请注意,很多网站托管服务提供商不提供这样的缓存服务器。 +# MemcachedNotAvailable=No applicative cache found. You can enhance performance by installing a cache server Memcached and a module able to use this cache server.
More information here http://wiki.dolibarr.org/index.php/Module_MemCached_EN.
Note that a lot of web hosting provider does not provide such cache server. OPCodeCache=操作码缓存 NoOPCodeCacheFound=操作码缓存。可能是你使用了XCache或eAccelerator的另一个操作码缓存比(好),可能是你没有操作码缓存(非常糟糕)。 HTTPCacheStaticResources=HTTP缓存的静态资源(CSS,JavaScript,IMG) diff --git a/htdocs/langs/zh_CN/agenda.lang b/htdocs/langs/zh_CN/agenda.lang index 8ac0ad8e9ca..b7035d420ec 100644 --- a/htdocs/langs/zh_CN/agenda.lang +++ b/htdocs/langs/zh_CN/agenda.lang @@ -52,6 +52,7 @@ InvoiceSentByEMail=客户发票通过电子邮件发送%s SupplierOrderSentByEMail=供应商的订单通过电子邮件发送%s SupplierInvoiceSentByEMail=供应商的发票通过电子邮件发送%s ShippingSentByEMail=通过电子邮件发送的航运%s +# ShippingValidated= Shipping %s validated InterventionSentByEMail=通过电子邮件发送的干预%s NewCompanyToDolibarr= 第三方创建 DateActionPlannedStart= 计划开始日期 diff --git a/htdocs/langs/zh_CN/boxes.lang b/htdocs/langs/zh_CN/boxes.lang index b9b7fdf34ad..83f5f930638 100644 --- a/htdocs/langs/zh_CN/boxes.lang +++ b/htdocs/langs/zh_CN/boxes.lang @@ -62,7 +62,7 @@ NoRecordedBookmarks=未设置任何书签。 ClickToAdd=点此添加 NoRecordedCustomers=无客户记录 NoRecordedContacts=无联系人记录 -NoActionsToDo=无待办事件记录 +NoActionsToDo=无待办事项 NoRecordedOrders=无销售合同记录 NoRecordedProposals=无报价单记录 NoRecordedInvoices=无销售账单记录 diff --git a/htdocs/langs/zh_CN/cashdesk.lang b/htdocs/langs/zh_CN/cashdesk.lang index fd094f48558..a385e68c8fc 100644 --- a/htdocs/langs/zh_CN/cashdesk.lang +++ b/htdocs/langs/zh_CN/cashdesk.lang @@ -37,3 +37,4 @@ ShowCompany=显示公司 ShowStock=显示仓库 DeleteArticle=点击删除此文章 FilterRefOrLabelOrBC=搜索 (REF /标签) +# UserNeedPermissionToEditStockToUsePos=You ask to decrease stock on invoice creation, so user that use POS need to have permission to edit stock. diff --git a/htdocs/langs/zh_CN/errors.lang b/htdocs/langs/zh_CN/errors.lang index 7a335bc785d..317f2638739 100644 --- a/htdocs/langs/zh_CN/errors.lang +++ b/htdocs/langs/zh_CN/errors.lang @@ -26,8 +26,11 @@ ErrorFromToAccountsMustDiffers=源和目标的银行帐户必须是不同的。 ErrorBadThirdPartyName=坏第三者名义价值 ErrorProdIdIsMandatory=%s 是强制性的 ErrorBadCustomerCodeSyntax=坏客户代码的语法 +# ErrorBadBarCodeSyntax=Bad syntax for bar code ErrorCustomerCodeRequired=客户代码需要 +# ErrorBarCodeRequired=Bar code required ErrorCustomerCodeAlreadyUsed=客户代码已被使用 +# ErrorBarCodeAlreadyUsed=Bar code already used ErrorPrefixRequired=前缀要求 ErrorUrlNotValid=该网站的地址是不正确的 ErrorBadSupplierCodeSyntax=对供应商的语法错误代码 @@ -63,6 +66,7 @@ ErrorNoValueForCheckBoxType=请填写复选框列表值 ErrorNoValueForRadioType=请填写电台列表的值 # ErrorBadFormatValueList=The list value cannot have more than one come : %s, but need at least one: llave,valores ErrorFieldCanNotContainSpecialCharacters=菲尔德%s必须不包含特殊字符。 +# ErrorFieldCanNotContainSpecialNorUpperCharacters=Field %s must not contains special characters, nor upper case characters. ErrorNoAccountancyModuleLoaded=没有一个会计模块激活 # ErrorExportDuplicateProfil=This profile name already exists for this export set. ErrorLDAPSetupNotComplete=Dolibarr - LDAP的匹配是不完整的。 diff --git a/htdocs/langs/zh_CN/exports.lang b/htdocs/langs/zh_CN/exports.lang index ddb6fc2469d..07a3a192f6c 100644 --- a/htdocs/langs/zh_CN/exports.lang +++ b/htdocs/langs/zh_CN/exports.lang @@ -123,6 +123,10 @@ BankCode=银行代码 DeskCode=台代码 BankAccountNumber=帐号 BankAccountNumberKey=关键 +# SpecialCode=Special code +# ExportStringFilter=%% allows replacing one or more characters in the text +# ExportDateFilter='AAAA' 'AAAAMM' 'AAAAMMJJ': filters by one year/month/day
'AAAA+AAAA' 'AAAAMM+AAAAMM' 'AAAAMMJJ+AAAAMMJJ': filters over a range of years/months/days
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filters on the following years/months/days
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filters on the previous years/months/days +# ExportNumericFilter='NNNNN' filters by one value
'NNNNN+NNNNN' filters over a range of values
'>NNNNN' filters by lower values
'>NNNNN' filters by higher values ## filters SelectFilterFields=如果你想过滤一些值,这里只是输入值。 FilterableFields=筛选字段 diff --git a/htdocs/langs/zh_CN/mails.lang b/htdocs/langs/zh_CN/mails.lang index b25727bf77d..3aa4615ad8a 100644 --- a/htdocs/langs/zh_CN/mails.lang +++ b/htdocs/langs/zh_CN/mails.lang @@ -79,6 +79,13 @@ MailtoEMail=超链接的电子邮件 ActivateCheckRead=允许使用“取消订阅”链接 ActivateCheckReadKey=“读回执”和“取消订阅”功能键用于加密URL使用 EMailSentToNRecipients=电子邮件发送到 %s 的收件人。 +# EachInvoiceWillBeAttachedToEmail=A document using default invoice document template will be created and attached to each email. +# MailTopicSendRemindUnpaidInvoices=Remind of invoice %s (%s) +# SendRemind=Send remind by EMails +# RemindSent=%S remind(s) sent +# AllRecipientSelectedForRemind=All thirdparties selected and if an email is set (note that one mail per invoice will be sent) +# NoRemindSent=No remind by EMail sent +# ResultOfMassSending=Result of mass remind sending by EMail # Libelle des modules de liste de destinataires mailing MailingModuleDescContactCompanies=所有第三方(联系客户,潜在客户,供应商,...) diff --git a/htdocs/langs/zh_CN/main.lang b/htdocs/langs/zh_CN/main.lang index 9386096b414..2563fb887ca 100644 --- a/htdocs/langs/zh_CN/main.lang +++ b/htdocs/langs/zh_CN/main.lang @@ -391,7 +391,7 @@ OtherInformations=其它信息 Quantity=数量 Qty=数量 ChangedBy=改变 -# ReCalculate=Recalculate +ReCalculate=重新计算 ResultOk=成功 ResultKo=失败 Reporting=报告 @@ -572,7 +572,7 @@ TotalWoman=总 TotalMan=总 NeverReceived=从未收到 Canceled=取消 -# YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu setup - dictionnary +# YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu setup - dictionary Color=彩色 Documents=链接的文件 DocumentsNb=(%s的链接文件) diff --git a/htdocs/langs/zh_CN/opensurvey.lang b/htdocs/langs/zh_CN/opensurvey.lang index 59a811cacf0..ea989f7d26d 100644 --- a/htdocs/langs/zh_CN/opensurvey.lang +++ b/htdocs/langs/zh_CN/opensurvey.lang @@ -35,6 +35,7 @@ CreateSurveyStandard=创建一个标准的调查 TitleChoice=选择标签 # ExportSpreadsheet=Export result spreadsheet ExpireDate=极限日期 +# NbOfSurveys=Number of surveys # NbOfVoters=Nb of voters SurveyResults=结果 # PollAdminDesc=You are allowed to change all vote lines of this poll with button "Edit". You can, as well, remove a column or a line with %s. You can also add a new column with %s. diff --git a/htdocs/langs/zh_CN/orders.lang b/htdocs/langs/zh_CN/orders.lang index efccca5dfd6..9c4b5e32ee3 100644 --- a/htdocs/langs/zh_CN/orders.lang +++ b/htdocs/langs/zh_CN/orders.lang @@ -55,6 +55,7 @@ DraftOrWaitingShipped=草案或审定尚未运 MenuOrdersToBill=比尔订单 MenuOrdersToBill2=订单票据 SearchOrder=搜索顺序 +# SearchACustomerOrder=Search a customer order ShipProduct=船舶产品 Discount=折扣 CreateOrder=创建订单 @@ -164,3 +165,4 @@ Ordered=有序 OrderCreated=您的订单已创建 OrderFail=您的订单创建期间发生了错误 CreateOrders=创建订单 +# ToBillSeveralOrderSelectCustomer=To create an invoice for several orders, click first onto customer, then choose "%s". diff --git a/htdocs/langs/zh_CN/other.lang b/htdocs/langs/zh_CN/other.lang index 0642a505937..77e88381087 100644 --- a/htdocs/langs/zh_CN/other.lang +++ b/htdocs/langs/zh_CN/other.lang @@ -49,14 +49,15 @@ Miscellaneous=杂项 NbOfActiveNotifications=号码的通知 PredefinedMailTest=这是一个测试邮件。\\ n该两行是由一个回车分隔。 PredefinedMailTestHtml=这是一个测试邮件(单词测试必须大胆)。
这两条线隔开,回车。 -PredefinedMailContentSendInvoice=__CONTACTCIVNAME__ \n\n你会发现这里 invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__ \n\n 我们想提醒你, invoice __FACREF__ seems 不支付。因此,这是再次附件发票,作为提醒。\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -PredefinedMailContentSendProposal=__CONTACTCIVNAME__ \n\n 你会发现这里的商业proposal __PROPREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -PredefinedMailContentSendOrder=__CONTACTCIVNAME__ \n\n你会发现这里 order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__ \n\n在这里你会发现你的 order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__ \n\n 你会发现这里 invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -PredefinedMailContentSendShipping=__CONTACTCIVNAME__ \n\n你会发现这里shipping __SHIPPINGREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -PredefinedMailContentSendFichInter=__CONTACTCIVNAME__ \n\n你会发现这里 intervention __FICHINTERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__\n\nWe would like to warn you that the invoice __FACREF__ seems to not being payed. So this is the invoice in attachment again, as a reminder.\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendProposal=__CONTACTCIVNAME__\n\nYou will find here the commercial proposal __PROPREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendOrder=__CONTACTCIVNAME__\n\nYou will find here the order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__\n\nYou will find here our order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendShipping=__CONTACTCIVNAME__\n\nYou will find here the shipping __SHIPPINGREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendFichInter=__CONTACTCIVNAME__\n\nYou will find here the intervention __FICHINTERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentThirdparty=__CONTACTCIVNAME__\n\n__PERSONALIZED__\n\n__SIGNATURE__ DemoDesc=Dolibarr是紧凑型的ERP / CRM的几个功能模块组成。一个演示,其中包括所有模块并不意味着什么,因为这永远不会发生。因此,一些演示配置文件都可用。 ChooseYourDemoProfil=演示材选择符合您的活动... DemoFundation=一个基金会管理成员 diff --git a/htdocs/langs/zh_CN/products.lang b/htdocs/langs/zh_CN/products.lang index a54b3ad5e98..90b97281b70 100644 --- a/htdocs/langs/zh_CN/products.lang +++ b/htdocs/langs/zh_CN/products.lang @@ -13,6 +13,10 @@ NewProduct=新建产品 NewService=新建服务 ProductCode=产品代码 ServiceCode=服务代码 +# ProductVatMassChange=Mass VAT change +# ProductVatMassChangeDesc=This page can be used to modify a VAT rate defined on products or services from a value to another. Warning, this change is done on all database. +# MassBarcodeInit=Mass barcode init +# MassBarcodeInitDesc=This page can be used to initialize a barcode on objects that does not have barcode defined. Check before that setup of module barcode is complete. ProductAccountancyBuyCode=会计代码 (购买) ProductAccountancySellCode=会计代码 (销售) ProductOrService=产品/服务 @@ -173,8 +177,8 @@ CustomCode=海关编码 CountryOrigin=产地国 HiddenIntoCombo=Hidden into select lists Nature=属性 -ProductCodeModel=产品代码模板 -ServiceCodeModel=服务代码模板 +# ProductCodeModel=Product ref template +# ServiceCodeModel=Service ref template AddThisProductCard=创建产品信息卡 HelpAddThisProductCard=如果所需的产品不存在,此项可以创建或复制并修改其他产品。 AddThisServiceCard=创建服务信息卡 @@ -216,5 +220,10 @@ ProductsMultiPrice=产品多重价格 # DefinitionOfBarCodeForThirdpartyNotComplete=Definition of type or value of bar code non complete for thirdparty %s. # BarCodeDataForProduct=Barcode information of product %s : # BarCodeDataForThirdparty=Barcode information of thirdparty %s : -# BarcodeStickersMask=xxx - +# ResetBarcodeForAllRecords=Define barcode value for all records (this will also reset barcode value already defined with new values) +# PriceByCustomer=Price by customer +# PriceCatalogue=Catalogue Price +# PricingRule=Pricing Rules +# AddCustomerPrice=Add price by customers +# ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +# PriceByCustomerLog=Price by customer log diff --git a/htdocs/langs/zh_CN/projects.lang b/htdocs/langs/zh_CN/projects.lang index a11a7412e4b..39ede18f415 100644 --- a/htdocs/langs/zh_CN/projects.lang +++ b/htdocs/langs/zh_CN/projects.lang @@ -1,4 +1,6 @@ # Dolibarr language file - Source file is en_US - projects +# RefProject=Ref. project +# ProjectId=Project Id Project=项目 Projects=项目 SharedProject=每个人 @@ -30,11 +32,18 @@ TimeSpent=花费的时间 TimesSpent=所花费的时间 RefTask=号。任务 LabelTask=标签任务 +# TaskTimeSpent=Time spent on tasks +# TaskTimeUser=Task time user +# TaskTimeNote=Task time note +# TaskTimeDate=Task time date NewTimeSpent=新的时间 MyTimeSpent=我的时间花 MyTasks=我的任务 Tasks=任务 Task=任务 +# TaskDateStart=Task start date +# TaskDateEnd=Task end date +# TaskDescription=Task description NewTask=新任务 AddTask=新增任务 AddDuration=添加时间 @@ -100,12 +109,12 @@ ProjectCreatedInDolibarr=项目 %s 创建 ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=项目负责人 TypeContact_project_external_PROJECTLEADER=项目负责人 -TypeContact_project_internal_PROJECTCONTRIBUTOR=投稿 -TypeContact_project_external_PROJECTCONTRIBUTOR=投稿 +# TypeContact_project_internal_PROJECTCONTRIBUTOR=Contributor +# TypeContact_project_external_PROJECTCONTRIBUTOR=Contributor TypeContact_project_task_internal_TASKEXECUTIVE=执行任务 TypeContact_project_task_external_TASKEXECUTIVE=执行任务 -TypeContact_project_task_internal_TASKCONTRIBUTOR=投稿 -TypeContact_project_task_external_TASKCONTRIBUTOR=投稿 +# TypeContact_project_task_internal_TASKCONTRIBUTOR=Contributor +# TypeContact_project_task_external_TASKCONTRIBUTOR=Contributor # SelectElement=Select element # AddElement=Link to element # Documents models diff --git a/htdocs/langs/zh_CN/stocks.lang b/htdocs/langs/zh_CN/stocks.lang index ced6a754839..41fef673cf9 100644 --- a/htdocs/langs/zh_CN/stocks.lang +++ b/htdocs/langs/zh_CN/stocks.lang @@ -94,14 +94,20 @@ DesiredStock=所需库存 StockToBuy=要订购 Replenishment=补货 ReplenishmentOrders=补货订单 -UseVirtualStock=使用虚拟库存,而不是实物库存 +# VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differs +# UseVirtualStockByDefault=Use virtual stock by default, instead of physical stock, for replenishment feature +# UseVirtualStock=Use virtual stock +# UsePhysicalStock=Use physical stock +# CurentSelectionMode=Curent selection mode +# CurentlyUsingVirtualStock=Virtual stock +# CurentlyUsingPhysicalStock=Physical stock RuleForStockReplenishment=库存补充规则 SelectProductWithNotNullQty=至少选择一个数量非空的产品和供应商 # AlertOnly= Alerts only # WarehouseForStockDecrease=The warehouse %s will be used for stock decrease # WarehouseForStockIncrease=The warehouse %s will be used for stock increase # ForThisWarehouse=For this warehouse -# ReplenishmentStatusDesc=This is list of all product with a physical stock lower than desired stock (or alert value if checkbox "alert only" is checked) and suggest you to create supplier orders to fill the difference. +# ReplenishmentStatusDesc=This is list of all product with a stock lower than desired stock (or lower than alert value if checkbox "alert only" is checked), and suggest you to create supplier orders to fill the difference. # ReplenishmentOrdersDesc=This is list of all opened supplier orders # Replenishments=Replenishments # NbOfProductBeforePeriod=Quantity of product %s in stock before selected period (< %s) diff --git a/htdocs/langs/zh_TW/admin.lang b/htdocs/langs/zh_TW/admin.lang index 5ee462ba41e..b883298626e 100644 --- a/htdocs/langs/zh_TW/admin.lang +++ b/htdocs/langs/zh_TW/admin.lang @@ -287,7 +287,7 @@ CurrentVersion=此系統軟體(Dolibarr)目前版本 CallUpdatePage=請到 %s 網頁更新資料庫結構及其資料。 LastStableVersion=最新的穩定版本 GenericMaskCodes=這個編碼模組使用方式如下:
1. {000000}表示每個 %s 編碼會依據此參數產生序號字串,且會自動遞增。有多少個0就表示序號字串有多長,滿最大值會自動歸0。
2. {000000+000} 同上面第一條,但是多了 offset 功能,也就第一筆 %s 編碼的起始序號會根據 + 號後面的參數而定。
3. {000000@x} 同上面第一條,但是每當為新的月份時,會將序號歸0。如果使用兩個x 則必需要有 {yy}{mm} 或 {yyyy}{mm} 參數。
{dd} 表示天 (01 to 31).
{mm} 表示月 (01 to 12)
{yy}, {yyyy} or {y} 表示用多少位數顯示年
-# GenericMaskCodes2={cccc} the client code
{cccc000} the client code on n characters is followed by a client's ref counter without offset and zeroized with the global counter.
{tttt} The code of company type on n characters (see dictionary-company types).
+# GenericMaskCodes2={cccc} the client code on n characters
{cccc000} the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.
{tttt} The code of company type on n characters (see dictionary-company types).
GenericMaskCodes3=非遮罩字元的則該字元維持不變,也就是 A 就是 A,Z 就是 Z
注意:不允許空白字元
GenericMaskCodes4a=例如: 第99筆 %s 資訊於 2007-01-31 建立完成:
GenericMaskCodes4b=例如: 於 2007-01-31 建立的客戶/供應商資訊:
@@ -345,8 +345,6 @@ SecurityTokenIsUnique=每個URL使用獨特的securekey參數 EnterRefToBuildUrl=輸入參考對象%s GetSecuredUrl=獲取計算網址 # ButtonHideUnauthorized=Hide buttons for unauthorized actions instead of showing disabled buttons -# ProductVatMassChange=Mass VAT change -# ProductVatMassChangeDesc=This page can be used to modify a VAT rate defined on products or services from a value to another. Warning, this change is done on all database. # OldVATRates=Old VAT rate # NewVATRates=New VAT rate # PriceBaseTypeToChange=Modify on prices with base reference value defined on @@ -381,6 +379,16 @@ ExtrafieldPrice = 價格 # DefaultLink=Default link # ValueOverwrittenByUserSetup=Warning, this value may be overwritten by user specific setup (each user can set his own clicktodial url) # ExternalModule=External module - Installed into directory %s +# BarcodeInitForThirdparties=Mass barcode init for thirdparties +# BarcodeInitForProductsOrServices=Mass barcode init or reset for products or services +# CurrentlyNWithoutBarCode=Currently, you have %s records on %s %s without barcode defined. +# InitEmptyBarCode=Init value for next %s empty records +# EraseAllCurrentBarCode=Erase all current barcode values +# ConfirmEraseAllCurrentBarCode=Are you sure you want to erase all current barcode values ? +# AllBarcodeReset=All barcode values have been removed +# NoBarcodeNumberingTemplateDefined=No numbering barcode template enabled into barcode module setup. +# NoRecordWithoutBarcodeDefined=No record with no barcode value defined. + # Modules Module0Name=用戶和組 @@ -510,6 +518,8 @@ Module50200Desc= 模組提供信用卡與Paypal網上支付頁面 # Module59000Desc=Module to manage margins # Module60000Name=Commissions # Module60000Desc=Module to manage commissions +# Module150010Name=Batch number, eat-by date and sell-by date +# Module150010Desc=batch number, eat-by date and sell-by date management for product Permission11=讀取發票 Permission12=讀取發票 Permission13=Unvalidate發票 @@ -726,8 +736,8 @@ Permission50202=進口交易 # Permission55002=Create/modify surveys # Permission59001=Read commercial margins # Permission59002=Define commercial margins -# DictionaryCompanyType=Company types -# DictionaryCompanyJuridicalType=Juridical kinds of company +# DictionaryCompanyType=Thirdparties type +# DictionaryCompanyJuridicalType=Juridical kinds of thirdparties # DictionaryProspectLevel=Prospect potential level # DictionaryCanton=State/Cantons # DictionaryRegion=Regions @@ -959,7 +969,7 @@ SimpleNumRefModelDesc=編號會依照 %syymm-nnnn 的參數規則產生編號。 ShowProfIdInAddress=文件上顯示professionnal地址ID # ShowVATIntaInAddress=Hide VAT Intra num with addresses on documents TranslationUncomplete=部分翻譯 -SomeTranslationAreUncomplete=有些語言可能被部分翻譯或可能包含錯誤。如果您發現了一些,你可以修復。郎文本文件到目錄的htdocs / langs他們在論壇上提交http://www.dolibarr.org 。 +# SomeTranslationAreUncomplete=Some languages may be partially translated or may contains errors. If you detect some, you can fix language files registering to http://transifex.com/projects/p/dolibarr/. MenuUseLayout=請垂直菜單hidable(選項不能被禁用的JavaScript) MAIN_DISABLE_METEO=禁用氣象局認為 TestLoginToAPI=測試登錄到API @@ -985,6 +995,7 @@ ExtraFields=新增客制化欄位 # ExtraFieldsProjectTask=Complementary attributes (tasks) ExtraFieldHasWrongValue=attribut %s有一個錯誤的值。 # AlphaNumOnlyCharsAndNoSpace=only alphanumericals characters without space +# AlphaNumOnlyLowerCharsAndNoSpace=only alphanumericals and lower case characters without space SendingMailSetup=通過電子郵件的設置sendings SendmailOptionNotComplete=警告,在某些Linux系統,從您的電子郵件發送電子郵件,必須conatins sendmail的執行設置選項-BA(參數mail.force_extra_parameters到你的php.ini文件)。如果收件人沒有收到電子郵件,嘗試編輯mail.force_extra_parameters =-BA)這個PHP參數。 PathToDocuments=文件路徑 @@ -1269,7 +1280,7 @@ ForANonAnonymousAccess=對於一個寫驗證存取權限,例如訪問() # YouMayFindPerfAdviceHere=You will find on this page some checks or advices related to performance. # NotInstalled=Not installed, so your server is not slow down by this. # ApplicativeCache=Applicative cache -# MemcachedNotAvailable=No applicative cache found. You can enhance performance by installing a cache server Memcached and a module able to use this cache server. More information here http://wiki.dolibarr.org/index.php/Module_MemCached_EN. Note that a lot of web hosting provider does not provide such cache server. +# MemcachedNotAvailable=No applicative cache found. You can enhance performance by installing a cache server Memcached and a module able to use this cache server.
More information here http://wiki.dolibarr.org/index.php/Module_MemCached_EN.
Note that a lot of web hosting provider does not provide such cache server. # OPCodeCache=OPCode cache # NoOPCodeCacheFound=No OPCode cache found. May be you use another OPCode cache than XCache or eAccelerator (good), may be you don't have OPCode cache (very bad). # HTTPCacheStaticResources=HTTP cache for static resources (css, img, javascript) diff --git a/htdocs/langs/zh_TW/agenda.lang b/htdocs/langs/zh_TW/agenda.lang index 23921766144..af3887f149d 100644 --- a/htdocs/langs/zh_TW/agenda.lang +++ b/htdocs/langs/zh_TW/agenda.lang @@ -52,6 +52,7 @@ InvoiceSentByEMail=客戶發票通過電子郵件發送%s SupplierOrderSentByEMail=供應商的訂單通過電子郵件發送%s SupplierInvoiceSentByEMail=供應商的發票通過電子郵件發送%s ShippingSentByEMail=通過電子郵件發送的航運%s +# ShippingValidated= Shipping %s validated InterventionSentByEMail=通過電子郵件發送的幹預%s NewCompanyToDolibarr= 第三方創建 DateActionPlannedStart= 計劃開始日期 diff --git a/htdocs/langs/zh_TW/cashdesk.lang b/htdocs/langs/zh_TW/cashdesk.lang index 0dd478ec571..37d57e70e83 100644 --- a/htdocs/langs/zh_TW/cashdesk.lang +++ b/htdocs/langs/zh_TW/cashdesk.lang @@ -37,3 +37,4 @@ ShowCompany=顯示公司 ShowStock=顯示倉庫 DeleteArticle=點擊刪除此文章 # FilterRefOrLabelOrBC=Search (Ref/Label) +# UserNeedPermissionToEditStockToUsePos=You ask to decrease stock on invoice creation, so user that use POS need to have permission to edit stock. diff --git a/htdocs/langs/zh_TW/errors.lang b/htdocs/langs/zh_TW/errors.lang index a885b736450..663cec0e6a6 100644 --- a/htdocs/langs/zh_TW/errors.lang +++ b/htdocs/langs/zh_TW/errors.lang @@ -26,8 +26,11 @@ ErrorFromToAccountsMustDiffers=源和目標的銀行帳戶必須是不同的。 ErrorBadThirdPartyName=錯誤的客戶/供應商名稱 # ErrorProdIdIsMandatory=The %s is mandatory ErrorBadCustomerCodeSyntax=壞客戶代碼的語法 +# ErrorBadBarCodeSyntax=Bad syntax for bar code ErrorCustomerCodeRequired=客戶代碼需要 +# ErrorBarCodeRequired=Bar code required ErrorCustomerCodeAlreadyUsed=客戶代碼已被使用 +# ErrorBarCodeAlreadyUsed=Bar code already used ErrorPrefixRequired=前綴要求 ErrorUrlNotValid=該網站的地址是不正確的 ErrorBadSupplierCodeSyntax=錯誤!錯誤的供應商代碼語法 @@ -63,6 +66,7 @@ ErrorSizeTooLongForVarcharType=尺寸長字符串類型(%s字符最大) # ErrorNoValueForRadioType=Please fill value for radio list # ErrorBadFormatValueList=The list value cannot have more than one come : %s, but need at least one: llave,valores ErrorFieldCanNotContainSpecialCharacters=菲爾德%s必須不包含特殊字符。 +# ErrorFieldCanNotContainSpecialNorUpperCharacters=Field %s must not contains special characters, nor upper case characters. ErrorNoAccountancyModuleLoaded=沒有一個會計模塊激活 # ErrorExportDuplicateProfil=This profile name already exists for this export set. ErrorLDAPSetupNotComplete=Dolibarr - LDAP的匹配是不完整的。 diff --git a/htdocs/langs/zh_TW/exports.lang b/htdocs/langs/zh_TW/exports.lang index fc269212a34..1a1ca98ad6b 100644 --- a/htdocs/langs/zh_TW/exports.lang +++ b/htdocs/langs/zh_TW/exports.lang @@ -123,6 +123,10 @@ BankCode=銀行代碼 DeskCode=臺代碼 BankAccountNumber=帳號 BankAccountNumberKey=關鍵 +# SpecialCode=Special code +# ExportStringFilter=%% allows replacing one or more characters in the text +# ExportDateFilter='AAAA' 'AAAAMM' 'AAAAMMJJ': filters by one year/month/day
'AAAA+AAAA' 'AAAAMM+AAAAMM' 'AAAAMMJJ+AAAAMMJJ': filters over a range of years/months/days
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filters on the following years/months/days
'>AAAA' '>AAAAMM' '>AAAAMMJJ': filters on the previous years/months/days +# ExportNumericFilter='NNNNN' filters by one value
'NNNNN+NNNNN' filters over a range of values
'>NNNNN' filters by lower values
'>NNNNN' filters by higher values ## filters # SelectFilterFields=If you want to filter on some values, just input values here. # FilterableFields=Champs Filtrables diff --git a/htdocs/langs/zh_TW/mails.lang b/htdocs/langs/zh_TW/mails.lang index a588e3c2d52..5bb3e0be3ad 100644 --- a/htdocs/langs/zh_TW/mails.lang +++ b/htdocs/langs/zh_TW/mails.lang @@ -79,6 +79,13 @@ MailingStatusRead=閱讀 # ActivateCheckRead=Allow to use the "Unsubcribe" link # ActivateCheckReadKey=Key use to encrypt URL use for "Read Receipt" and "Unsubcribe" feature # EMailSentToNRecipients=EMail sent to %s recipients. +# EachInvoiceWillBeAttachedToEmail=A document using default invoice document template will be created and attached to each email. +# MailTopicSendRemindUnpaidInvoices=Remind of invoice %s (%s) +# SendRemind=Send remind by EMails +# RemindSent=%S remind(s) sent +# AllRecipientSelectedForRemind=All thirdparties selected and if an email is set (note that one mail per invoice will be sent) +# NoRemindSent=No remind by EMail sent +# ResultOfMassSending=Result of mass remind sending by EMail # Libelle des modules de liste de destinataires mailing MailingModuleDescContactCompanies=所有第三方(聯系客戶,潛在客戶,供應商,...) diff --git a/htdocs/langs/zh_TW/main.lang b/htdocs/langs/zh_TW/main.lang index be0f2ab5d87..d11292bd5d2 100644 --- a/htdocs/langs/zh_TW/main.lang +++ b/htdocs/langs/zh_TW/main.lang @@ -572,7 +572,7 @@ TotalWoman=全部 TotalMan=全部 NeverReceived=從未收到 Canceled=取消 -# YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu setup - dictionnary +# YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu setup - dictionary Color=彩色 Documents=附件(文件) DocumentsNb=(%s的鏈接文件) diff --git a/htdocs/langs/zh_TW/opensurvey.lang b/htdocs/langs/zh_TW/opensurvey.lang index d8b630e689f..f7263c76e8f 100644 --- a/htdocs/langs/zh_TW/opensurvey.lang +++ b/htdocs/langs/zh_TW/opensurvey.lang @@ -35,6 +35,7 @@ # TitleChoice=Choice label # ExportSpreadsheet=Export result spreadsheet ExpireDate=極限日期 +# NbOfSurveys=Number of surveys # NbOfVoters=Nb of voters # SurveyResults=Results # PollAdminDesc=You are allowed to change all vote lines of this poll with button "Edit". You can, as well, remove a column or a line with %s. You can also add a new column with %s. diff --git a/htdocs/langs/zh_TW/orders.lang b/htdocs/langs/zh_TW/orders.lang index b20c91c0fae..8affd74e84e 100644 --- a/htdocs/langs/zh_TW/orders.lang +++ b/htdocs/langs/zh_TW/orders.lang @@ -55,6 +55,7 @@ DraftOrWaitingShipped=草案或審定尚未運 MenuOrdersToBill=訂單To帳單 # MenuOrdersToBill2=Orders to bill SearchOrder=搜尋訂單 +# SearchACustomerOrder=Search a customer order ShipProduct=船舶產品 Discount=折扣 CreateOrder=創建訂單 @@ -164,3 +165,4 @@ OrderByPhone=電話 # OrderCreated=Your orders have been created # OrderFail=An error happened during your orders creation # CreateOrders=Create orders +# ToBillSeveralOrderSelectCustomer=To create an invoice for several orders, click first onto customer, then choose "%s". diff --git a/htdocs/langs/zh_TW/other.lang b/htdocs/langs/zh_TW/other.lang index 418e543746f..365fdee817d 100644 --- a/htdocs/langs/zh_TW/other.lang +++ b/htdocs/langs/zh_TW/other.lang @@ -49,14 +49,15 @@ Miscellaneous=雜項 NbOfActiveNotifications=號碼的通知 PredefinedMailTest=這是一個測試郵件。\\ n該兩行是由一個回車分隔。 PredefinedMailTestHtml=這是一個測試郵件(單詞測試必須大膽)。
這兩條線隔開,回車。 -# PredefinedMailContentSendInvoice=__CONTACTCIVNAME__ \n\n You will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__ \n\n We would like to warn you that the invoice __FACREF__ seems to not being payed. So this is the invoice in attachment again, as a reminder.\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendProposal=__CONTACTCIVNAME__ \n\n You will find here the commercial proposal __PROPREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendOrder=__CONTACTCIVNAME__ \n\n You will find here the order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__ \n\n You will find here our order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__ \n\n You will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendShipping=__CONTACTCIVNAME__ \n\n You will find here the shipping __SHIPPINGREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -# PredefinedMailContentSendFichInter=__CONTACTCIVNAME__ \n\n You will find here the intervention __FICHINTERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__\n\nWe would like to warn you that the invoice __FACREF__ seems to not being payed. So this is the invoice in attachment again, as a reminder.\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendProposal=__CONTACTCIVNAME__\n\nYou will find here the commercial proposal __PROPREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendOrder=__CONTACTCIVNAME__\n\nYou will find here the order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__\n\nYou will find here our order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendShipping=__CONTACTCIVNAME__\n\nYou will find here the shipping __SHIPPINGREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentSendFichInter=__CONTACTCIVNAME__\n\nYou will find here the intervention __FICHINTERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +# PredefinedMailContentThirdparty=__CONTACTCIVNAME__\n\n__PERSONALIZED__\n\n__SIGNATURE__ DemoDesc=Dolibarr是緊湊型的ERP / CRM的幾個功能模塊組成。一個演示,其中包括所有模塊並不意味著什麽,因為這永遠不會發生。因此,一些演示配置文件都可用。 ChooseYourDemoProfil=演示材選擇符合您的活動... DemoFundation=一個基金會管理成員 diff --git a/htdocs/langs/zh_TW/products.lang b/htdocs/langs/zh_TW/products.lang index 1b8af4ca59a..bda9ceb295c 100644 --- a/htdocs/langs/zh_TW/products.lang +++ b/htdocs/langs/zh_TW/products.lang @@ -13,6 +13,10 @@ NewProduct=新建產品/半品/原材 NewService=新服務 ProductCode=產品代碼 ServiceCode=服務代碼 +# ProductVatMassChange=Mass VAT change +# ProductVatMassChangeDesc=This page can be used to modify a VAT rate defined on products or services from a value to another. Warning, this change is done on all database. +# MassBarcodeInit=Mass barcode init +# MassBarcodeInitDesc=This page can be used to initialize a barcode on objects that does not have barcode defined. Check before that setup of module barcode is complete. ProductAccountancyBuyCode=會計代碼(採購) ProductAccountancySellCode=會計代碼(銷售) ProductOrService=產品或服務 @@ -173,8 +177,8 @@ CustomCode=進出口報關海關代碼 CountryOrigin=原產地 HiddenIntoCombo=隱藏選擇列表 Nature=類型 -# ProductCodeModel=Product code template -# ServiceCodeModel=Service code template +# ProductCodeModel=Product ref template +# ServiceCodeModel=Service ref template # AddThisProductCard=Create product card # HelpAddThisProductCard=This option allows you to create or clone a product if it does not exist. # AddThisServiceCard=Create service card @@ -216,5 +220,10 @@ QtyNeed=數量 # DefinitionOfBarCodeForThirdpartyNotComplete=Definition of type or value of bar code non complete for thirdparty %s. # BarCodeDataForProduct=Barcode information of product %s : # BarCodeDataForThirdparty=Barcode information of thirdparty %s : -# BarcodeStickersMask=xxx - +# ResetBarcodeForAllRecords=Define barcode value for all records (this will also reset barcode value already defined with new values) +# PriceByCustomer=Price by customer +# PriceCatalogue=Catalogue Price +# PricingRule=Pricing Rules +# AddCustomerPrice=Add price by customers +# ForceUpdateChildPriceSoc=Set same price on customer subsidiaries +# PriceByCustomerLog=Price by customer log diff --git a/htdocs/langs/zh_TW/projects.lang b/htdocs/langs/zh_TW/projects.lang index 43c0fe1a4d4..1b5f7ff8ec7 100644 --- a/htdocs/langs/zh_TW/projects.lang +++ b/htdocs/langs/zh_TW/projects.lang @@ -1,4 +1,6 @@ # Dolibarr language file - Source file is en_US - projects +# RefProject=Ref. project +# ProjectId=Project Id Project=項目 Projects=項目 SharedProject=每個人 @@ -30,11 +32,18 @@ TimeSpent=花費的時間 TimesSpent=所花費的時間 RefTask=任務編號 LabelTask=標簽任務 +# TaskTimeSpent=Time spent on tasks +# TaskTimeUser=Task time user +# TaskTimeNote=Task time note +# TaskTimeDate=Task time date NewTimeSpent=新的時間 MyTimeSpent=我的時間花 MyTasks=我的任務 Tasks=任務 Task=任務 +# TaskDateStart=Task start date +# TaskDateEnd=Task end date +# TaskDescription=Task description NewTask=新任務 AddTask=新增任務 AddDuration=添加時間 @@ -100,12 +109,12 @@ IfNeedToUseOhterObjectKeepEmpty=如果某些對象(發票,訂單,...), ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=項目負責人 TypeContact_project_external_PROJECTLEADER=項目負責人 -TypeContact_project_internal_PROJECTCONTRIBUTOR=投稿 -TypeContact_project_external_PROJECTCONTRIBUTOR=投稿 +# TypeContact_project_internal_PROJECTCONTRIBUTOR=Contributor +# TypeContact_project_external_PROJECTCONTRIBUTOR=Contributor TypeContact_project_task_internal_TASKEXECUTIVE=執行任務 TypeContact_project_task_external_TASKEXECUTIVE=執行任務 -TypeContact_project_task_internal_TASKCONTRIBUTOR=投稿 -TypeContact_project_task_external_TASKCONTRIBUTOR=投稿 +# TypeContact_project_task_internal_TASKCONTRIBUTOR=Contributor +# TypeContact_project_task_external_TASKCONTRIBUTOR=Contributor # SelectElement=Select element # AddElement=Link to element # Documents models diff --git a/htdocs/langs/zh_TW/stocks.lang b/htdocs/langs/zh_TW/stocks.lang index 5ed6d763a8e..c617b9bbb0e 100644 --- a/htdocs/langs/zh_TW/stocks.lang +++ b/htdocs/langs/zh_TW/stocks.lang @@ -94,14 +94,20 @@ SelectWarehouseForStockIncrease=選擇使用庫存增加的倉庫 # StockToBuy=To order # Replenishment=Replenishment # ReplenishmentOrders=Replenishment orders -# UseVirtualStock=Use virtual stock instead of physical stock +# VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differs +# UseVirtualStockByDefault=Use virtual stock by default, instead of physical stock, for replenishment feature +# UseVirtualStock=Use virtual stock +# UsePhysicalStock=Use physical stock +# CurentSelectionMode=Curent selection mode +# CurentlyUsingVirtualStock=Virtual stock +# CurentlyUsingPhysicalStock=Physical stock # RuleForStockReplenishment=Rule for stocks replenishment # SelectProductWithNotNullQty=Select at least one product with a qty not null and a supplier # AlertOnly= Alerts only # WarehouseForStockDecrease=The warehouse %s will be used for stock decrease # WarehouseForStockIncrease=The warehouse %s will be used for stock increase # ForThisWarehouse=For this warehouse -# ReplenishmentStatusDesc=This is list of all product with a physical stock lower than desired stock (or alert value if checkbox "alert only" is checked) and suggest you to create supplier orders to fill the difference. +# ReplenishmentStatusDesc=This is list of all product with a stock lower than desired stock (or lower than alert value if checkbox "alert only" is checked), and suggest you to create supplier orders to fill the difference. # ReplenishmentOrdersDesc=This is list of all opened supplier orders # Replenishments=Replenishments # NbOfProductBeforePeriod=Quantity of product %s in stock before selected period (< %s) From 774017672f6fb46ceb74c2911ed2603cfce6afe6 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 5 Mar 2014 20:52:27 +0100 Subject: [PATCH 104/293] Fix: Number of day calculation. Add PHPUnit case. --- htdocs/core/db/Database.interface.php | 16 +++++---- htdocs/core/db/mssql.class.php | 30 ++++++++-------- htdocs/core/db/mysql.class.php | 30 ++++++++-------- htdocs/core/db/mysqli.class.php | 14 ++++---- htdocs/core/db/pgsql.class.php | 30 ++++++++-------- htdocs/core/db/sqlite.class.php | 15 ++++---- htdocs/core/lib/date.lib.php | 12 +++---- htdocs/holiday/class/holiday.class.php | 12 +++++-- htdocs/holiday/fiche.php | 48 ++++++++++++++------------ htdocs/holiday/index.php | 6 ++-- htdocs/holiday/month_report.php | 11 ++---- test/phpunit/DateLibTest.php | 12 +++++++ 12 files changed, 134 insertions(+), 102 deletions(-) diff --git a/htdocs/core/db/Database.interface.php b/htdocs/core/db/Database.interface.php index 4be805c379e..2a4fe0b57e8 100644 --- a/htdocs/core/db/Database.interface.php +++ b/htdocs/core/db/Database.interface.php @@ -382,13 +382,15 @@ interface Database ); /** - * Convert (by PHP) a PHP server TZ string date into a GM Timestamps date - * 19700101020000 -> 3600 with TZ+1 - * - * @param string $string Date in a string (YYYYMMDDHHMMSS, YYYYMMDD, YYYY-MM-DD HH:MM:SS) - * @return date Date TMS - */ - function jdate($string); + * Convert (by PHP) a PHP server TZ string date into a Timestamps date (GMT if gm=true) + * 19700101020000 -> 3600 with TZ+1 and gmt=0 + * 19700101020000 -> 7200 whaterver is TZ if gmt=1 + * + * @param string $string Date in a string (YYYYMMDDHHMMSS, YYYYMMDD, YYYY-MM-DD HH:MM:SS) + * @param int $gm 1=Input informations are GMT values, otherwise local to server TZ + * @return date Date TMS + */ + function jdate($string, $gm=false); /** * Encrypt sensitive data in database diff --git a/htdocs/core/db/mssql.class.php b/htdocs/core/db/mssql.class.php index e80c2957088..0e1b1a2ca0c 100644 --- a/htdocs/core/db/mssql.class.php +++ b/htdocs/core/db/mssql.class.php @@ -553,20 +553,22 @@ class DoliDBMssql extends DoliDB return dol_print_date($param,"%Y-%m-%d %H:%M:%S"); } - /** - * Convert (by PHP) a PHP server TZ string date into a GM Timestamps date - * 19700101020000 -> 3600 with TZ+1 - * - * @param string $string Date in a string (YYYYMMDDHHMMSS, YYYYMMDD, YYYY-MM-DD HH:MM:SS) - * @return date Date TMS - */ - function jdate($string) - { - $string=preg_replace('/([^0-9])/i','',$string); - $tmp=$string.'000000'; - $date=dol_mktime(substr($tmp,8,2),substr($tmp,10,2),substr($tmp,12,2),substr($tmp,4,2),substr($tmp,6,2),substr($tmp,0,4)); - return $date; - } + /** + * Convert (by PHP) a PHP server TZ string date into a Timestamps date (GMT if gm=true) + * 19700101020000 -> 3600 with TZ+1 and gmt=0 + * 19700101020000 -> 7200 whaterver is TZ if gmt=1 + * + * @param string $string Date in a string (YYYYMMDDHHMMSS, YYYYMMDD, YYYY-MM-DD HH:MM:SS) + * @param int $gm 1=Input informations are GMT values, otherwise local to server TZ + * @return date Date TMS + */ + function jdate($string, $gm=false) + { + $string=preg_replace('/([^0-9])/i','',$string); + $tmp=$string.'000000'; + $date=dol_mktime(substr($tmp,8,2),substr($tmp,10,2),substr($tmp,12,2),substr($tmp,4,2),substr($tmp,6,2),substr($tmp,0,4),$gm); + return $date; + } /** * Format a SQL IF diff --git a/htdocs/core/db/mysql.class.php b/htdocs/core/db/mysql.class.php index 5ff714cef7b..a0507072056 100644 --- a/htdocs/core/db/mysql.class.php +++ b/htdocs/core/db/mysql.class.php @@ -531,20 +531,22 @@ class DoliDBMysql extends DoliDB return dol_print_date($param,"%Y%m%d%H%M%S"); } - /** - * Convert (by PHP) a PHP server TZ string date into a GM Timestamps date - * 19700101020000 -> 3600 with TZ+1 - * - * @param string $string Date in a string (YYYYMMDDHHMMSS, YYYYMMDD, YYYY-MM-DD HH:MM:SS) - * @return date Date TMS - */ - function jdate($string) - { - $string=preg_replace('/([^0-9])/i','',$string); - $tmp=$string.'000000'; - $date=dol_mktime(substr($tmp,8,2),substr($tmp,10,2),substr($tmp,12,2),substr($tmp,4,2),substr($tmp,6,2),substr($tmp,0,4)); - return $date; - } + /** + * Convert (by PHP) a PHP server TZ string date into a Timestamps date (GMT if gm=true) + * 19700101020000 -> 3600 with TZ+1 and gmt=0 + * 19700101020000 -> 7200 whaterver is TZ if gmt=1 + * + * @param string $string Date in a string (YYYYMMDDHHMMSS, YYYYMMDD, YYYY-MM-DD HH:MM:SS) + * @param int $gm 1=Input informations are GMT values, otherwise local to server TZ + * @return date Date TMS + */ + function jdate($string, $gm=false) + { + $string=preg_replace('/([^0-9])/i','',$string); + $tmp=$string.'000000'; + $date=dol_mktime(substr($tmp,8,2),substr($tmp,10,2),substr($tmp,12,2),substr($tmp,4,2),substr($tmp,6,2),substr($tmp,0,4),$gm); + return $date; + } /** * Format a SQL IF diff --git a/htdocs/core/db/mysqli.class.php b/htdocs/core/db/mysqli.class.php index dc65eddbbd8..5993e31dbd1 100644 --- a/htdocs/core/db/mysqli.class.php +++ b/htdocs/core/db/mysqli.class.php @@ -542,17 +542,19 @@ class DoliDBMysqli extends DoliDB } /** - * Convert (by PHP) a PHP server TZ string date into a GM Timestamps date - * 19700101020000 -> 3600 with TZ+1 + * Convert (by PHP) a PHP server TZ string date into a Timestamps date (GMT if gm=true) + * 19700101020000 -> 3600 with TZ+1 and gmt=0 + * 19700101020000 -> 7200 whaterver is TZ if gmt=1 * - * @param string $string Date in a string (YYYYMMDDHHMMSS, YYYYMMDD, YYYY-MM-DD HH:MM:SS) - * @return date Date TMS + * @param string $string Date in a string (YYYYMMDDHHMMSS, YYYYMMDD, YYYY-MM-DD HH:MM:SS) + * @param int $gm 1=Input informations are GMT values, otherwise local to server TZ + * @return date Date TMS */ - function jdate($string) + function jdate($string, $gm=false) { $string=preg_replace('/([^0-9])/i','',$string); $tmp=$string.'000000'; - $date=dol_mktime(substr($tmp,8,2),substr($tmp,10,2),substr($tmp,12,2),substr($tmp,4,2),substr($tmp,6,2),substr($tmp,0,4)); + $date=dol_mktime(substr($tmp,8,2),substr($tmp,10,2),substr($tmp,12,2),substr($tmp,4,2),substr($tmp,6,2),substr($tmp,0,4),$gm); return $date; } diff --git a/htdocs/core/db/pgsql.class.php b/htdocs/core/db/pgsql.class.php index eb3677b5f6d..aa31f5616c8 100644 --- a/htdocs/core/db/pgsql.class.php +++ b/htdocs/core/db/pgsql.class.php @@ -752,20 +752,22 @@ class DoliDBPgsql extends DoliDB return dol_print_date($param,"%Y-%m-%d %H:%M:%S"); } - /** - * Convert (by PHP) a PHP server TZ string date into a GM Timestamps date - * 19700101020000 -> 3600 with TZ+1 - * - * @param string $string Date in a string (YYYYMMDDHHMMSS, YYYYMMDD, YYYY-MM-DD HH:MM:SS) - * @return date Date TMS - */ - function jdate($string) - { - $string=preg_replace('/([^0-9])/i','',$string); - $tmp=$string.'000000'; - $date=dol_mktime(substr($tmp,8,2),substr($tmp,10,2),substr($tmp,12,2),substr($tmp,4,2),substr($tmp,6,2),substr($tmp,0,4)); - return $date; - } + /** + * Convert (by PHP) a PHP server TZ string date into a Timestamps date (GMT if gm=true) + * 19700101020000 -> 3600 with TZ+1 and gmt=0 + * 19700101020000 -> 7200 whaterver is TZ if gmt=1 + * + * @param string $string Date in a string (YYYYMMDDHHMMSS, YYYYMMDD, YYYY-MM-DD HH:MM:SS) + * @param int $gm 1=Input informations are GMT values, otherwise local to server TZ + * @return date Date TMS + */ + function jdate($string, $gm=false) + { + $string=preg_replace('/([^0-9])/i','',$string); + $tmp=$string.'000000'; + $date=dol_mktime(substr($tmp,8,2),substr($tmp,10,2),substr($tmp,12,2),substr($tmp,4,2),substr($tmp,6,2),substr($tmp,0,4),$gm); + return $date; + } /** * Format a SQL IF diff --git a/htdocs/core/db/sqlite.class.php b/htdocs/core/db/sqlite.class.php index b3a9e35cf1f..84b8742eb75 100644 --- a/htdocs/core/db/sqlite.class.php +++ b/htdocs/core/db/sqlite.class.php @@ -675,20 +675,23 @@ class DoliDBSqlite extends DoliDB } /** - * Convert (by PHP) a PHP server TZ string date into a GM Timestamps date - * 19700101020000 -> 3600 with TZ+1 + * Convert (by PHP) a PHP server TZ string date into a Timestamps date (GMT if gm=true) + * 19700101020000 -> 3600 with TZ+1 and gmt=0 + * 19700101020000 -> 7200 whaterver is TZ if gmt=1 * - * @param string $string Date in a string (YYYYMMDDHHMMSS, YYYYMMDD, YYYY-MM-DD HH:MM:SS) - * @return date Date TMS + * @param string $string Date in a string (YYYYMMDDHHMMSS, YYYYMMDD, YYYY-MM-DD HH:MM:SS) + * @param int $gm 1=Input informations are GMT values, otherwise local to server TZ + * @return date Date TMS */ - function jdate($string) + function jdate($string, $gmt=false) { $string=preg_replace('/([^0-9])/i','',$string); $tmp=$string.'000000'; - $date=dol_mktime(substr($tmp,8,2),substr($tmp,10,2),substr($tmp,12,2),substr($tmp,4,2),substr($tmp,6,2),substr($tmp,0,4)); + $date=dol_mktime(substr($tmp,8,2),substr($tmp,10,2),substr($tmp,12,2),substr($tmp,4,2),substr($tmp,6,2),substr($tmp,0,4),$gm); return $date; } + /** * Format a SQL IF * diff --git a/htdocs/core/lib/date.lib.php b/htdocs/core/lib/date.lib.php index 78551dac105..9e28fda317b 100644 --- a/htdocs/core/lib/date.lib.php +++ b/htdocs/core/lib/date.lib.php @@ -716,11 +716,11 @@ function num_public_holiday($timestampStart, $timestampEnd, $countrycode='FR') } /** - * Fonction retournant le nombre de jour entre deux dates + * Function to return number of days between two dates (date must be UTC date !) * Example: 2012-01-01 2012-01-02 => 1 if lastday=0, 2 if lastday=1 * - * @param timestamp $timestampStart Timestamp de debut - * @param timestamp $timestampEnd Timestamp de fin + * @param timestamp $timestampStart Timestamp start UTC + * @param timestamp $timestampEnd Timestamp end UTC * @param int $lastday Last day is included, 0: non, 1:oui * @return int Number of days */ @@ -745,9 +745,9 @@ function num_between_day($timestampStart, $timestampEnd, $lastday=0) /** * Function to return number of working days (and text of units) between two dates (working days) * - * @param timestamp $timestampStart Timestamp for start date - * @param timestamp $timestampEnd Timestamp for end date - * @param int $inhour 0: return number of days, 1: return number of hours (72h max) + * @param timestamp $timestampStart Timestamp for start date (date must be UTC to avoid calculation errors) + * @param timestamp $timestampEnd Timestamp for end date (date must be UTC to avoid calculation errors) + * @param int $inhour 0: return number of days, 1: return number of hours * @param int $lastday We include last day, 0: no, 1:yes * @param int $halfday Tag to define half day when holiday start and end * @return int Number of days or hours diff --git a/htdocs/holiday/class/holiday.class.php b/htdocs/holiday/class/holiday.class.php index 024ab5c30a9..cb8af8c78b3 100644 --- a/htdocs/holiday/class/holiday.class.php +++ b/htdocs/holiday/class/holiday.class.php @@ -44,8 +44,10 @@ class Holiday extends CommonObject var $fk_user; var $date_create=''; var $description; - var $date_debut=''; - var $date_fin=''; + var $date_debut=''; // Date start in PHP server TZ + var $date_fin=''; // Date end in PHP server TZ + var $date_debut_gmt=''; // Date start in GMT + var $date_fin_gmt=''; // Date end in GMT var $halfday=''; var $statut=''; // 1=draft, 2=validated, 3=approved var $fk_validator; @@ -214,6 +216,8 @@ class Holiday extends CommonObject $this->description = $obj->description; $this->date_debut = $this->db->jdate($obj->date_debut); $this->date_fin = $this->db->jdate($obj->date_fin); + $this->date_debut_gmt = $this->db->jdate($obj->date_debut,1); + $this->date_fin_gmt = $this->db->jdate($obj->date_fin,1); $this->halfday = $obj->halfday; $this->statut = $obj->statut; $this->fk_validator = $obj->fk_validator; @@ -317,6 +321,8 @@ class Holiday extends CommonObject $tab_result[$i]['description'] = $obj->description; $tab_result[$i]['date_debut'] = $this->db->jdate($obj->date_debut); $tab_result[$i]['date_fin'] = $this->db->jdate($obj->date_fin); + $tab_result[$i]['date_debut_gmt'] = $this->db->jdate($obj->date_debut,1); + $tab_result[$i]['date_fin_gmt'] = $this->db->jdate($obj->date_fin,1); $tab_result[$i]['halfday'] = $obj->halfday; $tab_result[$i]['statut'] = $obj->statut; $tab_result[$i]['fk_validator'] = $obj->fk_validator; @@ -426,6 +432,8 @@ class Holiday extends CommonObject $tab_result[$i]['description'] = $obj->description; $tab_result[$i]['date_debut'] = $this->db->jdate($obj->date_debut); $tab_result[$i]['date_fin'] = $this->db->jdate($obj->date_fin); + $tab_result[$i]['date_debut_gmt'] = $this->db->jdate($obj->date_debut,1); + $tab_result[$i]['date_fin_gmt'] = $this->db->jdate($obj->date_fin,1); $tab_result[$i]['halfday'] = $obj->halfday; $tab_result[$i]['statut'] = $obj->statut; $tab_result[$i]['fk_validator'] = $obj->fk_validator; diff --git a/htdocs/holiday/fiche.php b/htdocs/holiday/fiche.php index 01c2e1fb5a1..e921237583a 100644 --- a/htdocs/holiday/fiche.php +++ b/htdocs/holiday/fiche.php @@ -64,6 +64,8 @@ if ($action == 'create') $date_debut = dol_mktime(0, 0, 0, GETPOST('date_debut_month'), GETPOST('date_debut_day'), GETPOST('date_debut_year')); $date_fin = dol_mktime(0, 0, 0, GETPOST('date_fin_month'), GETPOST('date_fin_day'), GETPOST('date_fin_year')); + $date_debut_gmt = dol_mktime(0, 0, 0, GETPOST('date_debut_month'), GETPOST('date_debut_day'), GETPOST('date_debut_year'), 1); + $date_fin_gmt = dol_mktime(0, 0, 0, GETPOST('date_fin_month'), GETPOST('date_fin_day'), GETPOST('date_fin_year'), 1); $starthalfday=GETPOST('starthalfday'); $endhalfday=GETPOST('endhalfday'); $halfday=0; @@ -105,7 +107,7 @@ if ($action == 'create') } // Si aucun jours ouvrés dans la demande - $nbopenedday=num_open_day($date_debut, $date_fin, 0, 1, $halfday); + $nbopenedday=num_open_day($date_debut_gmt, $date_fin_gmt, 0, 1, $halfday); if($nbopenedday < 1) { header('Location: fiche.php?action=request&error=DureeHoliday'); @@ -147,6 +149,8 @@ if ($action == 'update') { $date_debut = dol_mktime(0, 0, 0, GETPOST('date_debut_month'), GETPOST('date_debut_day'), GETPOST('date_debut_year')); $date_fin = dol_mktime(0, 0, 0, GETPOST('date_fin_month'), GETPOST('date_fin_day'), GETPOST('date_fin_year')); + $date_debut_gmt = dol_mktime(0, 0, 0, GETPOST('date_debut_month'), GETPOST('date_debut_day'), GETPOST('date_debut_year'), 1); + $date_fin_gmt = dol_mktime(0, 0, 0, GETPOST('date_fin_month'), GETPOST('date_fin_day'), GETPOST('date_fin_year'), 1); $starthalfday=GETPOST('starthalfday'); $endhalfday=GETPOST('endhalfday'); $halfday=0; @@ -198,7 +202,7 @@ if ($action == 'update') } // Si pas de jours ouvrés dans la demande - $nbopenedday=num_open_day($date_debut, $date_fin, 0, 1, $halfday); + $nbopenedday=num_open_day($date_debut_gmt, $date_fin_gmt, 0, 1, $halfday); if ($nbopenedday < 1) { header('Location: fiche.php?id='.$_POST['holiday_id'].'&action=edit&error=DureeHoliday'); @@ -237,9 +241,9 @@ if ($action == 'confirm_delete' && GETPOST('confirm') == 'yes') if($user->rights->holiday->delete) { $error=0; - + $db->begin(); - + $cp = new Holiday($db); $cp->fetch($id); @@ -251,12 +255,12 @@ if ($action == 'confirm_delete' && GETPOST('confirm') == 'yes') { $result=$cp->delete($id); } - else + else { $error = $langs->trans('ErrorCantDeleteCP'); } } - + if (! $error) { $db->commit(); @@ -265,7 +269,7 @@ if ($action == 'confirm_delete' && GETPOST('confirm') == 'yes') } else { - $db->rollback(); + $db->rollback(); } } } @@ -331,7 +335,7 @@ if ($action == 'confirm_send') // Si l'option pour avertir le valideur en cas de solde inférieur à la demande if ($cp->getConfCP('AlertValidatorSolde')) { - $nbopenedday=num_open_day($cp->date_debut,$cp->date_fin,0,1,$cp->halfday); + $nbopenedday=num_open_day($cp->date_debut_gmt,$cp->date_fin_gmt,0,1,$cp->halfday); if ($nbopenedday > $cp->getCPforUser($cp->fk_user)) { $message.= "\n"; @@ -384,10 +388,10 @@ if($action == 'confirm_valid') $verif = $cp->update($user->id); // Si pas d'erreur SQL on redirige vers la fiche de la demande - if ($verif > 0) + if ($verif > 0) { // Calculcate number of days consummed - $nbopenedday=num_open_day($cp->date_debut,$cp->date_fin,0,1); + $nbopenedday=num_open_day($cp->date_debut_gmt,$cp->date_fin_gmt,0,1); $soldeActuel = $cp->getCpforUser($cp->fk_user); $newSolde = $soldeActuel - ($nbopenedday * $cp->getConfCP('nbHolidayDeducted')); @@ -470,7 +474,7 @@ if ($action == 'confirm_refuse') $verif = $cp->update($user->id); // Si pas d'erreur SQL on redirige vers la fiche de la demande - if ($verif > 0) + if ($verif > 0) { // To $destinataire = new User($db); @@ -541,7 +545,7 @@ if ($action == 'confirm_cancel' && GETPOST('confirm') == 'yes') if (($cp->statut == 2 || $cp->statut == 3) && ($user->id == $cp->fk_validator || $user->id == $cp->fk_user)) { $db->begin(); - + $oldstatus = $cp->statut; $cp->date_cancel = dol_now(); $cp->fk_user_cancel = $user->id; @@ -552,7 +556,7 @@ if ($action == 'confirm_cancel' && GETPOST('confirm') == 'yes') if ($result >= 0 && $oldstatus == 3) // holiday was already validated, status 3, so we must increase back sold { // Calculcate number of days consummed - $nbopenedday=num_open_day($cp->date_debut,$cp->date_fin,0,1,$cp->halfday); + $nbopenedday=num_open_day($cp->date_debut_gmt,$cp->date_fin_gmt,0,1,$cp->halfday); $soldeActuel = $cp->getCpforUser($cp->fk_user); $newSolde = $soldeActuel + ($nbopenedday * $cp->getConfCP('nbHolidayDeducted')); @@ -568,16 +572,16 @@ if ($action == 'confirm_cancel' && GETPOST('confirm') == 'yes') $error = $langs->trans('ErrorCantDeleteCP'); } } - + if (! $error) { - $db->commit(); + $db->commit(); } else { $db->rollback(); } - + // Si pas d'erreur SQL on redirige vers la fiche de la demande if (! $error && $result > 0) { @@ -874,7 +878,7 @@ else if($user->id == $cp->fk_user || $user->rights->holiday->lire_tous) { - if ($action == 'delete') + if ($action == 'delete') { if($user->rights->holiday->delete) { @@ -943,8 +947,8 @@ else print $langs->trans($listhalfday[$starthalfday]); print ''; print '
'; - } - else + } + else { print ''; print ''; @@ -965,8 +969,8 @@ else print $langs->trans($listhalfday[$endhalfday]); print ''; print ''; - } - else + } + else { print ''; print ''; @@ -979,7 +983,7 @@ else } print ''; print ''; - print ''; + print ''; print ''; // Status diff --git a/htdocs/holiday/index.php b/htdocs/holiday/index.php index e7c4b0a3d50..d42b9622ee5 100644 --- a/htdocs/holiday/index.php +++ b/htdocs/holiday/index.php @@ -249,7 +249,7 @@ if ($id > 0) } else { print ''; -} +} print ''."\n"; print '
' . $langs->trans('Type') . ''; print $object->getLibType(); @@ -2573,7 +2598,7 @@ if ($action == 'create') { $facusing->fetch($object->fk_facture_source); print ' (' . $langs->transnoentities("CorrectInvoice", $facusing->getNomUrl(1)) . ')'; } - + $facidavoir = $object->getListIdAvoirFromInvoice(); if (count($facidavoir) > 0) { print ' (' . $langs->transnoentities("InvoiceHasAvoir"); @@ -2595,12 +2620,12 @@ if ($action == 'create') { print ' (' . $langs->transnoentities("ReplacedByInvoice", $facthatreplace->getNomUrl(1)) . ')'; } print '
' . $langs->trans('Discounts'); print ''; if ($soc->remise_percent) @@ -2608,7 +2633,7 @@ if ($action == 'create') { else print $langs->trans("CompanyHasNoRelativeDiscount"); // print ' ('.$addrelativediscount.')'; - + if ($absolute_discount > 0) { print '. '; if ($object->statut > 0 || $object->type == Facture::TYPE_CREDIT_NOTE || $object->type == Facture::TYPE_DEPOSIT) { @@ -2682,7 +2707,7 @@ if ($action == 'create') { // print '   -   '.$addcreditnote; // We disbale link to credit note // } print '
'; print ''; print '
'; @@ -2692,7 +2717,7 @@ if ($action == 'create') { print 'id . '">' . img_edit($langs->trans('SetDate'), 1) . '
'; print '
'; - + if ($object->type != Facture::TYPE_CREDIT_NOTE) { if ($action == 'editinvoicedate') { $form->form_date($_SERVER ['PHP_SELF'] . '?facid=' . $object->id, $object->date, 'invoicedate'); @@ -2703,13 +2728,13 @@ if ($action == 'create') { print dol_print_date($object->date, 'daytext'); } print ''; - + print ''; - + // List of payments already done print ''; print ''; @@ -2737,9 +2762,9 @@ if ($action == 'create') { print ''; print ''; print ''; - + $var = true; - + // Payments already done (from payment on this invoice) $sql = 'SELECT p.datep as dp, p.num_paiement, p.rowid, p.fk_bank,'; $sql .= ' c.code as payment_code, c.libelle as payment_label,'; @@ -2750,12 +2775,12 @@ if ($action == 'create') { $sql .= ' LEFT JOIN ' . MAIN_DB_PREFIX . 'bank_account as ba ON b.fk_account = ba.rowid'; $sql .= ' WHERE pf.fk_facture = ' . $object->id . ' AND p.fk_paiement = c.id AND pf.fk_paiement = p.rowid'; $sql .= ' ORDER BY p.datep, p.tms'; - + $result = $db->query($sql); if ($result) { $num = $db->num_rows($result); $i = 0; - + // if ($object->type != 2) // { if ($num > 0) { @@ -2789,7 +2814,7 @@ if ($action == 'create') { } else { dol_print_error($db); } - + if ($object->type != Facture::TYPE_CREDIT_NOTE) { // Total already paid print ''; - + $resteapayeraffiche = $resteapayer; - + // Loop on each credit note or deposit amount applied $creditnoteamount = 0; $depositamount = 0; @@ -2836,7 +2861,7 @@ if ($action == 'create') { } else { dol_print_error($db); } - + // Paye partiellement 'escompte' if (($object->statut == 2 || $object->statut == 3) && $object->close_code == 'discount_vat') { print ''; $resteapayeraffiche = 0; } - + // Billed print ''; - + // Remainder to pay print ''; - + // Billed print ''; - + // Remainder to pay back print ''; print ''; print ''; - + // Sold credit note // print ''; // print ''; } - + print '
' . ($object->type == Facture::TYPE_CREDIT_NOTE ? $langs->trans("PaymentsBack") : $langs->trans('Payments')) . '' . $langs->trans('Amount') . ' 
'; @@ -2798,9 +2823,9 @@ if ($action == 'create') { else print $langs->trans('AlreadyPaid'); print ' :' . price($totalpaye) . ' 
'; @@ -2868,10 +2893,10 @@ if ($action == 'create') { print '' . price($object->total_ttc - $creditnoteamount - $depositamount - $totalpaye) . ' 
' . $langs->trans("Billed") . ' :' . price($object->total_ttc) . ' 
'; if ($resteapayeraffiche >= 0) @@ -2887,10 +2912,10 @@ if ($action == 'create') { print '
'; print $langs->trans('AlreadyPaidBack'); print ' :' . price($sign * $totalpaye) . ' 
' . $langs->trans("Billed") . ' :' . price($sign * $object->total_ttc) . ' 
'; if ($resteapayeraffiche <= 0) @@ -2900,23 +2925,23 @@ if ($action == 'create') { print ' :' . price($sign * $resteapayeraffiche) . ' 
'.$langs->trans('TotalTTC').' :'.price($sign * // $object->total_ttc).' 
'; - + // Margin Infos if (! empty($conf->margin->enabled)) { print '
'; $object->displayMarginInfos($object->statut > 0); } - + print '
'; print ''; - + // Date payment term print ''; print_liste_field_titre($langs->trans("Ref"), $_SERVER["PHP_SELF"], "p.id_sondage",$param,"","",$sortfield,$sortorder); print_liste_field_titre($langs->trans("Title"), $_SERVER["PHP_SELF"], "p.titre",$param,"","",$sortfield,$sortorder); print ''; -print ''; +print_liste_field_titre($langs->trans("Author"), $_SERVER["PHP_SELF"], "u.".$fieldtosortuser,$param,"","",$sortfield,$sortorder); print_liste_field_titre($langs->trans("ExpireDate"), $_SERVER["PHP_SELF"], "p.date_fin",$param,"",'align="center"',$sortfield,$sortorder); print ''; print ''."\n"; @@ -112,7 +113,7 @@ print ''; print ''."\n"; $sql = "SELECT p.id_sondage, p.fk_user_creat, p.format, p.date_fin, p.titre, p.nom_admin,"; -$sql.= " u.login"; +$sql.= " u.login, u.firstname, u.lastname"; $sql.= " FROM ".MAIN_DB_PREFIX."opensurvey_sondage as p"; $sql.= " LEFT OUTER JOIN ".MAIN_DB_PREFIX."user u ON u.rowid = p.fk_user_creat"; // Count total nb of records @@ -162,7 +163,9 @@ while ($i < min($num,$limit)) if ($obj->fk_user_creat) { $userstatic = new User($db); $userstatic->id = $obj->fk_user_creat; - $userstatic->login = $obj->login; + $userstatic->firstname = $obj->firstname; + $userstatic->lastname = $obj->lastname; + $userstatic->login = $userstatic->getFullName($langs, 0, -1, 48); print $userstatic->getLoginUrl(1); } else { diff --git a/htdocs/product/index.php b/htdocs/product/index.php index daa2ae08854..a9c73f822eb 100644 --- a/htdocs/product/index.php +++ b/htdocs/product/index.php @@ -68,8 +68,6 @@ llxHeader("",$langs->trans("ProductsAndServices"),$helpurl); print_fiche_titre($transAreaType); -//print '
'; @@ -2936,7 +2961,7 @@ if ($action == 'create') { print ' '; } print '
'; print ''; - + // Payment mode print ''; From fd9d0747c8ad50678d68547dec9920f5f89d0fc9 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sun, 2 Mar 2014 16:44:31 +0100 Subject: [PATCH 075/293] Fix: Bad description --- htdocs/core/modules/modFckeditor.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/core/modules/modFckeditor.class.php b/htdocs/core/modules/modFckeditor.class.php index 2b60ea48025..0d2e57be2d3 100644 --- a/htdocs/core/modules/modFckeditor.class.php +++ b/htdocs/core/modules/modFckeditor.class.php @@ -73,7 +73,7 @@ class modFckeditor extends DolibarrModules $this->const[1] = array("FCKEDITOR_ENABLE_PRODUCTDESC","yesno","1","WYSIWIG for products/services description and note"); $this->const[2] = array("FCKEDITOR_ENABLE_MAILING","yesno","1","WYSIWIG for mass emailings"); $this->const[3] = array("FCKEDITOR_ENABLE_DETAILS","yesno","1","WYSIWIG for products details lines for all entities"); - $this->const[4] = array("FCKEDITOR_ENABLE_USERSIGN","yesno","1","WYSIWIG for products details lines for all entities"); + $this->const[4] = array("FCKEDITOR_ENABLE_USERSIGN","yesno","1","WYSIWIG for user signature"); $this->const[5] = array("FCKEDITOR_ENABLE_MAIL","yesno","1","WYSIWIG for products details lines for all entities"); // Boites From c3bc0cc8d1e16ab8b9e70a56d3cc415635182413 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sun, 2 Mar 2014 16:57:37 +0100 Subject: [PATCH 076/293] Add demo sql file for 3.6 --- dev/initdata/mysqldump_dolibarr_3.6.0.sql | 7293 +++++++++++++++++++++ 1 file changed, 7293 insertions(+) create mode 100644 dev/initdata/mysqldump_dolibarr_3.6.0.sql diff --git a/dev/initdata/mysqldump_dolibarr_3.6.0.sql b/dev/initdata/mysqldump_dolibarr_3.6.0.sql new file mode 100644 index 00000000000..be2792d89e7 --- /dev/null +++ b/dev/initdata/mysqldump_dolibarr_3.6.0.sql @@ -0,0 +1,7293 @@ +-- MySQL dump 10.13 Distrib 5.5.35, for debian-linux-gnu (x86_64) +-- +-- Host: localhost Database: dolibarrnew +-- ------------------------------------------------------ +-- Server version 5.5.35-0ubuntu0.12.04.2 + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!40101 SET NAMES utf8 */; +/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; +/*!40103 SET TIME_ZONE='+00:00' */; +/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; +/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; +/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; +/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; + +-- +-- Table structure for table `llx_accounting_system` +-- + +DROP TABLE IF EXISTS `llx_accounting_system`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_accounting_system` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `pcg_version` varchar(12) NOT NULL, + `fk_pays` int(11) NOT NULL, + `label` varchar(128) NOT NULL, + `active` smallint(6) DEFAULT '0', + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_accounting_system_pcg_version` (`pcg_version`) +) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_accounting_system` +-- + +LOCK TABLES `llx_accounting_system` WRITE; +/*!40000 ALTER TABLE `llx_accounting_system` DISABLE KEYS */; +INSERT INTO `llx_accounting_system` VALUES (1,'PCG99-ABREGE',1,'The simple accountancy french plan',1),(2,'PCG99-BASE',1,'The base accountancy french plan',1),(3,'PCMN-BASE',2,'The base accountancy belgium plan',1); +/*!40000 ALTER TABLE `llx_accounting_system` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_accountingaccount` +-- + +DROP TABLE IF EXISTS `llx_accountingaccount`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_accountingaccount` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_pcg_version` varchar(12) NOT NULL, + `pcg_type` varchar(20) NOT NULL, + `pcg_subtype` varchar(20) NOT NULL, + `account_number` varchar(20) NOT NULL, + `account_parent` varchar(20) DEFAULT NULL, + `label` varchar(128) NOT NULL, + `active` tinyint(4) NOT NULL DEFAULT '1', + PRIMARY KEY (`rowid`), + KEY `idx_accountingaccount_fk_pcg_version` (`fk_pcg_version`), + CONSTRAINT `fk_accountingaccount_fk_pcg_version` FOREIGN KEY (`fk_pcg_version`) REFERENCES `llx_accounting_system` (`pcg_version`) +) ENGINE=InnoDB AUTO_INCREMENT=1351 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_accountingaccount` +-- + +LOCK TABLES `llx_accountingaccount` WRITE; +/*!40000 ALTER TABLE `llx_accountingaccount` DISABLE KEYS */; +INSERT INTO `llx_accountingaccount` VALUES (1,'PCG99-ABREGE','CAPIT','CAPITAL','101','1','Capital',1),(2,'PCG99-ABREGE','CAPIT','XXXXXX','105','1','Ecarts de réévaluation',1),(3,'PCG99-ABREGE','CAPIT','XXXXXX','1061','1','Réserve légale',1),(4,'PCG99-ABREGE','CAPIT','XXXXXX','1063','1','Réserves statutaires ou contractuelles',1),(5,'PCG99-ABREGE','CAPIT','XXXXXX','1064','1','Réserves réglementées',1),(6,'PCG99-ABREGE','CAPIT','XXXXXX','1068','1','Autres réserves',1),(7,'PCG99-ABREGE','CAPIT','XXXXXX','108','1','Compte de l\'exploitant',1),(8,'PCG99-ABREGE','CAPIT','XXXXXX','12','1','Résultat de l\'exercice',1),(9,'PCG99-ABREGE','CAPIT','XXXXXX','145','1','Amortissements dérogatoires',1),(10,'PCG99-ABREGE','CAPIT','XXXXXX','146','1','Provision spéciale de réévaluation',1),(11,'PCG99-ABREGE','CAPIT','XXXXXX','147','1','Plus-values réinvesties',1),(12,'PCG99-ABREGE','CAPIT','XXXXXX','148','1','Autres provisions réglementées',1),(13,'PCG99-ABREGE','CAPIT','XXXXXX','15','1','Provisions pour risques et charges',1),(14,'PCG99-ABREGE','CAPIT','XXXXXX','16','1','Emprunts et dettes assimilees',1),(15,'PCG99-ABREGE','IMMO','XXXXXX','20','2','Immobilisations incorporelles',1),(16,'PCG99-ABREGE','IMMO','XXXXXX','201','20','Frais d\'établissement',1),(17,'PCG99-ABREGE','IMMO','XXXXXX','206','20','Droit au bail',1),(18,'PCG99-ABREGE','IMMO','XXXXXX','207','20','Fonds commercial',1),(19,'PCG99-ABREGE','IMMO','XXXXXX','208','20','Autres immobilisations incorporelles',1),(20,'PCG99-ABREGE','IMMO','XXXXXX','21','2','Immobilisations corporelles',1),(21,'PCG99-ABREGE','IMMO','XXXXXX','23','2','Immobilisations en cours',1),(22,'PCG99-ABREGE','IMMO','XXXXXX','27','2','Autres immobilisations financieres',1),(23,'PCG99-ABREGE','IMMO','XXXXXX','280','2','Amortissements des immobilisations incorporelles',1),(24,'PCG99-ABREGE','IMMO','XXXXXX','281','2','Amortissements des immobilisations corporelles',1),(25,'PCG99-ABREGE','IMMO','XXXXXX','290','2','Provisions pour dépréciation des immobilisations incorporelles',1),(26,'PCG99-ABREGE','IMMO','XXXXXX','291','2','Provisions pour dépréciation des immobilisations corporelles',1),(27,'PCG99-ABREGE','IMMO','XXXXXX','297','2','Provisions pour dépréciation des autres immobilisations financières',1),(28,'PCG99-ABREGE','STOCK','XXXXXX','31','3','Matieres premières',1),(29,'PCG99-ABREGE','STOCK','XXXXXX','32','3','Autres approvisionnements',1),(30,'PCG99-ABREGE','STOCK','XXXXXX','33','3','En-cours de production de biens',1),(31,'PCG99-ABREGE','STOCK','XXXXXX','34','3','En-cours de production de services',1),(32,'PCG99-ABREGE','STOCK','XXXXXX','35','3','Stocks de produits',1),(33,'PCG99-ABREGE','STOCK','XXXXXX','37','3','Stocks de marchandises',1),(34,'PCG99-ABREGE','STOCK','XXXXXX','391','3','Provisions pour dépréciation des matières premières',1),(35,'PCG99-ABREGE','STOCK','XXXXXX','392','3','Provisions pour dépréciation des autres approvisionnements',1),(36,'PCG99-ABREGE','STOCK','XXXXXX','393','3','Provisions pour dépréciation des en-cours de production de biens',1),(37,'PCG99-ABREGE','STOCK','XXXXXX','394','3','Provisions pour dépréciation des en-cours de production de services',1),(38,'PCG99-ABREGE','STOCK','XXXXXX','395','3','Provisions pour dépréciation des stocks de produits',1),(39,'PCG99-ABREGE','STOCK','XXXXXX','397','3','Provisions pour dépréciation des stocks de marchandises',1),(40,'PCG99-ABREGE','TIERS','SUPPLIER','400','4','Fournisseurs et Comptes rattachés',1),(41,'PCG99-ABREGE','TIERS','XXXXXX','409','4','Fournisseurs débiteurs',1),(42,'PCG99-ABREGE','TIERS','CUSTOMER','410','4','Clients et Comptes rattachés',1),(43,'PCG99-ABREGE','TIERS','XXXXXX','419','4','Clients créditeurs',1),(44,'PCG99-ABREGE','TIERS','XXXXXX','421','4','Personnel',1),(45,'PCG99-ABREGE','TIERS','XXXXXX','428','4','Personnel',1),(46,'PCG99-ABREGE','TIERS','XXXXXX','43','4','Sécurité sociale et autres organismes sociaux',1),(47,'PCG99-ABREGE','TIERS','XXXXXX','444','4','Etat - impôts sur bénéfice',1),(48,'PCG99-ABREGE','TIERS','XXXXXX','445','4','Etat - Taxes sur chiffre affaires',1),(49,'PCG99-ABREGE','TIERS','XXXXXX','447','4','Autres impôts, taxes et versements assimilés',1),(50,'PCG99-ABREGE','TIERS','XXXXXX','45','4','Groupe et associes',1),(51,'PCG99-ABREGE','TIERS','XXXXXX','455','45','Associés',1),(52,'PCG99-ABREGE','TIERS','XXXXXX','46','4','Débiteurs divers et créditeurs divers',1),(53,'PCG99-ABREGE','TIERS','XXXXXX','47','4','Comptes transitoires ou d\'attente',1),(54,'PCG99-ABREGE','TIERS','XXXXXX','481','4','Charges à répartir sur plusieurs exercices',1),(55,'PCG99-ABREGE','TIERS','XXXXXX','486','4','Charges constatées d\'avance',1),(56,'PCG99-ABREGE','TIERS','XXXXXX','487','4','Produits constatés d\'avance',1),(57,'PCG99-ABREGE','TIERS','XXXXXX','491','4','Provisions pour dépréciation des comptes de clients',1),(58,'PCG99-ABREGE','TIERS','XXXXXX','496','4','Provisions pour dépréciation des comptes de débiteurs divers',1),(59,'PCG99-ABREGE','FINAN','XXXXXX','50','5','Valeurs mobilières de placement',1),(60,'PCG99-ABREGE','FINAN','BANK','51','5','Banques, établissements financiers et assimilés',1),(61,'PCG99-ABREGE','FINAN','CASH','53','5','Caisse',1),(62,'PCG99-ABREGE','FINAN','XXXXXX','54','5','Régies d\'avance et accréditifs',1),(63,'PCG99-ABREGE','FINAN','XXXXXX','58','5','Virements internes',1),(64,'PCG99-ABREGE','FINAN','XXXXXX','590','5','Provisions pour dépréciation des valeurs mobilières de placement',1),(65,'PCG99-ABREGE','CHARGE','PRODUCT','60','6','Achats',1),(66,'PCG99-ABREGE','CHARGE','XXXXXX','603','60','Variations des stocks',1),(67,'PCG99-ABREGE','CHARGE','SERVICE','61','6','Services extérieurs',1),(68,'PCG99-ABREGE','CHARGE','XXXXXX','62','6','Autres services extérieurs',1),(69,'PCG99-ABREGE','CHARGE','XXXXXX','63','6','Impôts, taxes et versements assimiles',1),(70,'PCG99-ABREGE','CHARGE','XXXXXX','641','6','Rémunérations du personnel',1),(71,'PCG99-ABREGE','CHARGE','XXXXXX','644','6','Rémunération du travail de l\'exploitant',1),(72,'PCG99-ABREGE','CHARGE','SOCIAL','645','6','Charges de sécurité sociale et de prévoyance',1),(73,'PCG99-ABREGE','CHARGE','XXXXXX','646','6','Cotisations sociales personnelles de l\'exploitant',1),(74,'PCG99-ABREGE','CHARGE','XXXXXX','65','6','Autres charges de gestion courante',1),(75,'PCG99-ABREGE','CHARGE','XXXXXX','66','6','Charges financières',1),(76,'PCG99-ABREGE','CHARGE','XXXXXX','67','6','Charges exceptionnelles',1),(77,'PCG99-ABREGE','CHARGE','XXXXXX','681','6','Dotations aux amortissements et aux provisions',1),(78,'PCG99-ABREGE','CHARGE','XXXXXX','686','6','Dotations aux amortissements et aux provisions',1),(79,'PCG99-ABREGE','CHARGE','XXXXXX','687','6','Dotations aux amortissements et aux provisions',1),(80,'PCG99-ABREGE','CHARGE','XXXXXX','691','6','Participation des salariés aux résultats',1),(81,'PCG99-ABREGE','CHARGE','XXXXXX','695','6','Impôts sur les bénéfices',1),(82,'PCG99-ABREGE','CHARGE','XXXXXX','697','6','Imposition forfaitaire annuelle des sociétés',1),(83,'PCG99-ABREGE','CHARGE','XXXXXX','699','6','Produits',1),(84,'PCG99-ABREGE','PROD','PRODUCT','701','7','Ventes de produits finis',1),(85,'PCG99-ABREGE','PROD','SERVICE','706','7','Prestations de services',1),(86,'PCG99-ABREGE','PROD','PRODUCT','707','7','Ventes de marchandises',1),(87,'PCG99-ABREGE','PROD','PRODUCT','708','7','Produits des activités annexes',1),(88,'PCG99-ABREGE','PROD','XXXXXX','709','7','Rabais, remises et ristournes accordés par l\'entreprise',1),(89,'PCG99-ABREGE','PROD','XXXXXX','713','7','Variation des stocks',1),(90,'PCG99-ABREGE','PROD','XXXXXX','72','7','Production immobilisée',1),(91,'PCG99-ABREGE','PROD','XXXXXX','73','7','Produits nets partiels sur opérations à long terme',1),(92,'PCG99-ABREGE','PROD','XXXXXX','74','7','Subventions d\'exploitation',1),(93,'PCG99-ABREGE','PROD','XXXXXX','75','7','Autres produits de gestion courante',1),(94,'PCG99-ABREGE','PROD','XXXXXX','753','75','Jetons de présence et rémunérations d\'administrateurs, gérants,...',1),(95,'PCG99-ABREGE','PROD','XXXXXX','754','75','Ristournes perçues des coopératives',1),(96,'PCG99-ABREGE','PROD','XXXXXX','755','75','Quotes-parts de résultat sur opérations faites en commun',1),(97,'PCG99-ABREGE','PROD','XXXXXX','76','7','Produits financiers',1),(98,'PCG99-ABREGE','PROD','XXXXXX','77','7','Produits exceptionnels',1),(99,'PCG99-ABREGE','PROD','XXXXXX','781','7','Reprises sur amortissements et provisions',1),(100,'PCG99-ABREGE','PROD','XXXXXX','786','7','Reprises sur provisions pour risques',1),(101,'PCG99-ABREGE','PROD','XXXXXX','787','7','Reprises sur provisions',1),(102,'PCG99-ABREGE','PROD','XXXXXX','79','7','Transferts de charges',1),(103,'PCG99-BASE','CAPIT','XXXXXX','10','1','Capital et réserves',1),(104,'PCG99-BASE','CAPIT','CAPITAL','101','10','Capital',1),(105,'PCG99-BASE','CAPIT','XXXXXX','104','10','Primes liées au capital social',1),(106,'PCG99-BASE','CAPIT','XXXXXX','105','10','Ecarts de réévaluation',1),(107,'PCG99-BASE','CAPIT','XXXXXX','106','10','Réserves',1),(108,'PCG99-BASE','CAPIT','XXXXXX','107','10','Ecart d\'equivalence',1),(109,'PCG99-BASE','CAPIT','XXXXXX','108','10','Compte de l\'exploitant',1),(110,'PCG99-BASE','CAPIT','XXXXXX','109','10','Actionnaires : capital souscrit - non appelé',1),(111,'PCG99-BASE','CAPIT','XXXXXX','11','1','Report à nouveau (solde créditeur ou débiteur)',1),(112,'PCG99-BASE','CAPIT','XXXXXX','110','11','Report à nouveau (solde créditeur)',1),(113,'PCG99-BASE','CAPIT','XXXXXX','119','11','Report à nouveau (solde débiteur)',1),(114,'PCG99-BASE','CAPIT','XXXXXX','12','1','Résultat de l\'exercice (bénéfice ou perte)',1),(115,'PCG99-BASE','CAPIT','XXXXXX','120','12','Résultat de l\'exercice (bénéfice)',1),(116,'PCG99-BASE','CAPIT','XXXXXX','129','12','Résultat de l\'exercice (perte)',1),(117,'PCG99-BASE','CAPIT','XXXXXX','13','1','Subventions d\'investissement',1),(118,'PCG99-BASE','CAPIT','XXXXXX','131','13','Subventions d\'équipement',1),(119,'PCG99-BASE','CAPIT','XXXXXX','138','13','Autres subventions d\'investissement',1),(120,'PCG99-BASE','CAPIT','XXXXXX','139','13','Subventions d\'investissement inscrites au compte de résultat',1),(121,'PCG99-BASE','CAPIT','XXXXXX','14','1','Provisions réglementées',1),(122,'PCG99-BASE','CAPIT','XXXXXX','142','14','Provisions réglementées relatives aux immobilisations',1),(123,'PCG99-BASE','CAPIT','XXXXXX','143','14','Provisions réglementées relatives aux stocks',1),(124,'PCG99-BASE','CAPIT','XXXXXX','144','14','Provisions réglementées relatives aux autres éléments de l\'actif',1),(125,'PCG99-BASE','CAPIT','XXXXXX','145','14','Amortissements dérogatoires',1),(126,'PCG99-BASE','CAPIT','XXXXXX','146','14','Provision spéciale de réévaluation',1),(127,'PCG99-BASE','CAPIT','XXXXXX','147','14','Plus-values réinvesties',1),(128,'PCG99-BASE','CAPIT','XXXXXX','148','14','Autres provisions réglementées',1),(129,'PCG99-BASE','CAPIT','XXXXXX','15','1','Provisions pour risques et charges',1),(130,'PCG99-BASE','CAPIT','XXXXXX','151','15','Provisions pour risques',1),(131,'PCG99-BASE','CAPIT','XXXXXX','153','15','Provisions pour pensions et obligations similaires',1),(132,'PCG99-BASE','CAPIT','XXXXXX','154','15','Provisions pour restructurations',1),(133,'PCG99-BASE','CAPIT','XXXXXX','155','15','Provisions pour impôts',1),(134,'PCG99-BASE','CAPIT','XXXXXX','156','15','Provisions pour renouvellement des immobilisations (entreprises concessionnaires)',1),(135,'PCG99-BASE','CAPIT','XXXXXX','157','15','Provisions pour charges à répartir sur plusieurs exercices',1),(136,'PCG99-BASE','CAPIT','XXXXXX','158','15','Autres provisions pour charges',1),(137,'PCG99-BASE','CAPIT','XXXXXX','16','1','Emprunts et dettes assimilees',1),(138,'PCG99-BASE','CAPIT','XXXXXX','161','16','Emprunts obligataires convertibles',1),(139,'PCG99-BASE','CAPIT','XXXXXX','163','16','Autres emprunts obligataires',1),(140,'PCG99-BASE','CAPIT','XXXXXX','164','16','Emprunts auprès des établissements de crédit',1),(141,'PCG99-BASE','CAPIT','XXXXXX','165','16','Dépôts et cautionnements reçus',1),(142,'PCG99-BASE','CAPIT','XXXXXX','166','16','Participation des salariés aux résultats',1),(143,'PCG99-BASE','CAPIT','XXXXXX','167','16','Emprunts et dettes assortis de conditions particulières',1),(144,'PCG99-BASE','CAPIT','XXXXXX','168','16','Autres emprunts et dettes assimilées',1),(145,'PCG99-BASE','CAPIT','XXXXXX','169','16','Primes de remboursement des obligations',1),(146,'PCG99-BASE','CAPIT','XXXXXX','17','1','Dettes rattachées à des participations',1),(147,'PCG99-BASE','CAPIT','XXXXXX','171','17','Dettes rattachées à des participations (groupe)',1),(148,'PCG99-BASE','CAPIT','XXXXXX','174','17','Dettes rattachées à des participations (hors groupe)',1),(149,'PCG99-BASE','CAPIT','XXXXXX','178','17','Dettes rattachées à des sociétés en participation',1),(150,'PCG99-BASE','CAPIT','XXXXXX','18','1','Comptes de liaison des établissements et sociétés en participation',1),(151,'PCG99-BASE','CAPIT','XXXXXX','181','18','Comptes de liaison des établissements',1),(152,'PCG99-BASE','CAPIT','XXXXXX','186','18','Biens et prestations de services échangés entre établissements (charges)',1),(153,'PCG99-BASE','CAPIT','XXXXXX','187','18','Biens et prestations de services échangés entre établissements (produits)',1),(154,'PCG99-BASE','CAPIT','XXXXXX','188','18','Comptes de liaison des sociétés en participation',1),(155,'PCG99-BASE','IMMO','XXXXXX','20','2','Immobilisations incorporelles',1),(156,'PCG99-BASE','IMMO','XXXXXX','201','20','Frais d\'établissement',1),(157,'PCG99-BASE','IMMO','XXXXXX','203','20','Frais de recherche et de développement',1),(158,'PCG99-BASE','IMMO','XXXXXX','205','20','Concessions et droits similaires, brevets, licences, marques, procédés, logiciels, droits et valeurs similaires',1),(159,'PCG99-BASE','IMMO','XXXXXX','206','20','Droit au bail',1),(160,'PCG99-BASE','IMMO','XXXXXX','207','20','Fonds commercial',1),(161,'PCG99-BASE','IMMO','XXXXXX','208','20','Autres immobilisations incorporelles',1),(162,'PCG99-BASE','IMMO','XXXXXX','21','2','Immobilisations corporelles',1),(163,'PCG99-BASE','IMMO','XXXXXX','211','21','Terrains',1),(164,'PCG99-BASE','IMMO','XXXXXX','212','21','Agencements et aménagements de terrains',1),(165,'PCG99-BASE','IMMO','XXXXXX','213','21','Constructions',1),(166,'PCG99-BASE','IMMO','XXXXXX','214','21','Constructions sur sol d\'autrui',1),(167,'PCG99-BASE','IMMO','XXXXXX','215','21','Installations techniques, matériels et outillage industriels',1),(168,'PCG99-BASE','IMMO','XXXXXX','218','21','Autres immobilisations corporelles',1),(169,'PCG99-BASE','IMMO','XXXXXX','22','2','Immobilisations mises en concession',1),(170,'PCG99-BASE','IMMO','XXXXXX','23','2','Immobilisations en cours',1),(171,'PCG99-BASE','IMMO','XXXXXX','231','23','Immobilisations corporelles en cours',1),(172,'PCG99-BASE','IMMO','XXXXXX','232','23','Immobilisations incorporelles en cours',1),(173,'PCG99-BASE','IMMO','XXXXXX','237','23','Avances et acomptes versés sur immobilisations incorporelles',1),(174,'PCG99-BASE','IMMO','XXXXXX','238','23','Avances et acomptes versés sur commandes d\'immobilisations corporelles',1),(175,'PCG99-BASE','IMMO','XXXXXX','25','2','Parts dans des entreprises liées et créances sur des entreprises liées',1),(176,'PCG99-BASE','IMMO','XXXXXX','26','2','Participations et créances rattachées à des participations',1),(177,'PCG99-BASE','IMMO','XXXXXX','261','26','Titres de participation',1),(178,'PCG99-BASE','IMMO','XXXXXX','266','26','Autres formes de participation',1),(179,'PCG99-BASE','IMMO','XXXXXX','267','26','Créances rattachées à des participations',1),(180,'PCG99-BASE','IMMO','XXXXXX','268','26','Créances rattachées à des sociétés en participation',1),(181,'PCG99-BASE','IMMO','XXXXXX','269','26','Versements restant à effectuer sur titres de participation non libérés',1),(182,'PCG99-BASE','IMMO','XXXXXX','27','2','Autres immobilisations financieres',1),(183,'PCG99-BASE','IMMO','XXXXXX','271','27','Titres immobilisés autres que les titres immobilisés de l\'activité de portefeuille (droit de propriété)',1),(184,'PCG99-BASE','IMMO','XXXXXX','272','27','Titres immobilisés (droit de créance)',1),(185,'PCG99-BASE','IMMO','XXXXXX','273','27','Titres immobilisés de l\'activité de portefeuille',1),(186,'PCG99-BASE','IMMO','XXXXXX','274','27','Prêts',1),(187,'PCG99-BASE','IMMO','XXXXXX','275','27','Dépôts et cautionnements versés',1),(188,'PCG99-BASE','IMMO','XXXXXX','276','27','Autres créances immobilisées',1),(189,'PCG99-BASE','IMMO','XXXXXX','277','27','(Actions propres ou parts propres)',1),(190,'PCG99-BASE','IMMO','XXXXXX','279','27','Versements restant à effectuer sur titres immobilisés non libérés',1),(191,'PCG99-BASE','IMMO','XXXXXX','28','2','Amortissements des immobilisations',1),(192,'PCG99-BASE','IMMO','XXXXXX','280','28','Amortissements des immobilisations incorporelles',1),(193,'PCG99-BASE','IMMO','XXXXXX','281','28','Amortissements des immobilisations corporelles',1),(194,'PCG99-BASE','IMMO','XXXXXX','282','28','Amortissements des immobilisations mises en concession',1),(195,'PCG99-BASE','IMMO','XXXXXX','29','2','Dépréciations des immobilisations',1),(196,'PCG99-BASE','IMMO','XXXXXX','290','29','Dépréciations des immobilisations incorporelles',1),(197,'PCG99-BASE','IMMO','XXXXXX','291','29','Dépréciations des immobilisations corporelles',1),(198,'PCG99-BASE','IMMO','XXXXXX','292','29','Dépréciations des immobilisations mises en concession',1),(199,'PCG99-BASE','IMMO','XXXXXX','293','29','Dépréciations des immobilisations en cours',1),(200,'PCG99-BASE','IMMO','XXXXXX','296','29','Provisions pour dépréciation des participations et créances rattachées à des participations',1),(201,'PCG99-BASE','IMMO','XXXXXX','297','29','Provisions pour dépréciation des autres immobilisations financières',1),(202,'PCG99-BASE','STOCK','XXXXXX','31','3','Matières premières (et fournitures)',1),(203,'PCG99-BASE','STOCK','XXXXXX','311','31','Matières (ou groupe) A',1),(204,'PCG99-BASE','STOCK','XXXXXX','312','31','Matières (ou groupe) B',1),(205,'PCG99-BASE','STOCK','XXXXXX','317','31','Fournitures A, B, C,',1),(206,'PCG99-BASE','STOCK','XXXXXX','32','3','Autres approvisionnements',1),(207,'PCG99-BASE','STOCK','XXXXXX','321','32','Matières consommables',1),(208,'PCG99-BASE','STOCK','XXXXXX','322','32','Fournitures consommables',1),(209,'PCG99-BASE','STOCK','XXXXXX','326','32','Emballages',1),(210,'PCG99-BASE','STOCK','XXXXXX','33','3','En-cours de production de biens',1),(211,'PCG99-BASE','STOCK','XXXXXX','331','33','Produits en cours',1),(212,'PCG99-BASE','STOCK','XXXXXX','335','33','Travaux en cours',1),(213,'PCG99-BASE','STOCK','XXXXXX','34','3','En-cours de production de services',1),(214,'PCG99-BASE','STOCK','XXXXXX','341','34','Etudes en cours',1),(215,'PCG99-BASE','STOCK','XXXXXX','345','34','Prestations de services en cours',1),(216,'PCG99-BASE','STOCK','XXXXXX','35','3','Stocks de produits',1),(217,'PCG99-BASE','STOCK','XXXXXX','351','35','Produits intermédiaires',1),(218,'PCG99-BASE','STOCK','XXXXXX','355','35','Produits finis',1),(219,'PCG99-BASE','STOCK','XXXXXX','358','35','Produits résiduels (ou matières de récupération)',1),(220,'PCG99-BASE','STOCK','XXXXXX','37','3','Stocks de marchandises',1),(221,'PCG99-BASE','STOCK','XXXXXX','371','37','Marchandises (ou groupe) A',1),(222,'PCG99-BASE','STOCK','XXXXXX','372','37','Marchandises (ou groupe) B',1),(223,'PCG99-BASE','STOCK','XXXXXX','39','3','Provisions pour dépréciation des stocks et en-cours',1),(224,'PCG99-BASE','STOCK','XXXXXX','391','39','Provisions pour dépréciation des matières premières',1),(225,'PCG99-BASE','STOCK','XXXXXX','392','39','Provisions pour dépréciation des autres approvisionnements',1),(226,'PCG99-BASE','STOCK','XXXXXX','393','39','Provisions pour dépréciation des en-cours de production de biens',1),(227,'PCG99-BASE','STOCK','XXXXXX','394','39','Provisions pour dépréciation des en-cours de production de services',1),(228,'PCG99-BASE','STOCK','XXXXXX','395','39','Provisions pour dépréciation des stocks de produits',1),(229,'PCG99-BASE','STOCK','XXXXXX','397','39','Provisions pour dépréciation des stocks de marchandises',1),(230,'PCG99-BASE','TIERS','XXXXXX','40','4','Fournisseurs et Comptes rattachés',1),(231,'PCG99-BASE','TIERS','XXXXXX','400','40','Fournisseurs et Comptes rattachés',1),(232,'PCG99-BASE','TIERS','SUPPLIER','401','40','Fournisseurs',1),(233,'PCG99-BASE','TIERS','XXXXXX','403','40','Fournisseurs - Effets à payer',1),(234,'PCG99-BASE','TIERS','XXXXXX','404','40','Fournisseurs d\'immobilisations',1),(235,'PCG99-BASE','TIERS','XXXXXX','405','40','Fournisseurs d\'immobilisations - Effets à payer',1),(236,'PCG99-BASE','TIERS','XXXXXX','408','40','Fournisseurs - Factures non parvenues',1),(237,'PCG99-BASE','TIERS','XXXXXX','409','40','Fournisseurs débiteurs',1),(238,'PCG99-BASE','TIERS','XXXXXX','41','4','Clients et comptes rattachés',1),(239,'PCG99-BASE','TIERS','XXXXXX','410','41','Clients et Comptes rattachés',1),(240,'PCG99-BASE','TIERS','CUSTOMER','411','41','Clients',1),(241,'PCG99-BASE','TIERS','XXXXXX','413','41','Clients - Effets à recevoir',1),(242,'PCG99-BASE','TIERS','XXXXXX','416','41','Clients douteux ou litigieux',1),(243,'PCG99-BASE','TIERS','XXXXXX','418','41','Clients - Produits non encore facturés',1),(244,'PCG99-BASE','TIERS','XXXXXX','419','41','Clients créditeurs',1),(245,'PCG99-BASE','TIERS','XXXXXX','42','4','Personnel et comptes rattachés',1),(246,'PCG99-BASE','TIERS','XXXXXX','421','42','Personnel - Rémunérations dues',1),(247,'PCG99-BASE','TIERS','XXXXXX','422','42','Comités d\'entreprises, d\'établissement, ...',1),(248,'PCG99-BASE','TIERS','XXXXXX','424','42','Participation des salariés aux résultats',1),(249,'PCG99-BASE','TIERS','XXXXXX','425','42','Personnel - Avances et acomptes',1),(250,'PCG99-BASE','TIERS','XXXXXX','426','42','Personnel - Dépôts',1),(251,'PCG99-BASE','TIERS','XXXXXX','427','42','Personnel - Oppositions',1),(252,'PCG99-BASE','TIERS','XXXXXX','428','42','Personnel - Charges à payer et produits à recevoir',1),(253,'PCG99-BASE','TIERS','XXXXXX','43','4','Sécurité sociale et autres organismes sociaux',1),(254,'PCG99-BASE','TIERS','XXXXXX','431','43','Sécurité sociale',1),(255,'PCG99-BASE','TIERS','XXXXXX','437','43','Autres organismes sociaux',1),(256,'PCG99-BASE','TIERS','XXXXXX','438','43','Organismes sociaux - Charges à payer et produits à recevoir',1),(257,'PCG99-BASE','TIERS','XXXXXX','44','4','État et autres collectivités publiques',1),(258,'PCG99-BASE','TIERS','XXXXXX','441','44','État - Subventions à recevoir',1),(259,'PCG99-BASE','TIERS','XXXXXX','442','44','Etat - Impôts et taxes recouvrables sur des tiers',1),(260,'PCG99-BASE','TIERS','XXXXXX','443','44','Opérations particulières avec l\'Etat, les collectivités publiques, les organismes internationaux',1),(261,'PCG99-BASE','TIERS','XXXXXX','444','44','Etat - Impôts sur les bénéfices',1),(262,'PCG99-BASE','TIERS','XXXXXX','445','44','Etat - Taxes sur le chiffre d\'affaires',1),(263,'PCG99-BASE','TIERS','XXXXXX','446','44','Obligations cautionnées',1),(264,'PCG99-BASE','TIERS','XXXXXX','447','44','Autres impôts, taxes et versements assimilés',1),(265,'PCG99-BASE','TIERS','XXXXXX','448','44','Etat - Charges à payer et produits à recevoir',1),(266,'PCG99-BASE','TIERS','XXXXXX','449','44','Quotas d\'émission à restituer à l\'Etat',1),(267,'PCG99-BASE','TIERS','XXXXXX','45','4','Groupe et associes',1),(268,'PCG99-BASE','TIERS','XXXXXX','451','45','Groupe',1),(269,'PCG99-BASE','TIERS','XXXXXX','455','45','Associés - Comptes courants',1),(270,'PCG99-BASE','TIERS','XXXXXX','456','45','Associés - Opérations sur le capital',1),(271,'PCG99-BASE','TIERS','XXXXXX','457','45','Associés - Dividendes à payer',1),(272,'PCG99-BASE','TIERS','XXXXXX','458','45','Associés - Opérations faites en commun et en G.I.E.',1),(273,'PCG99-BASE','TIERS','XXXXXX','46','4','Débiteurs divers et créditeurs divers',1),(274,'PCG99-BASE','TIERS','XXXXXX','462','46','Créances sur cessions d\'immobilisations',1),(275,'PCG99-BASE','TIERS','XXXXXX','464','46','Dettes sur acquisitions de valeurs mobilières de placement',1),(276,'PCG99-BASE','TIERS','XXXXXX','465','46','Créances sur cessions de valeurs mobilières de placement',1),(277,'PCG99-BASE','TIERS','XXXXXX','467','46','Autres comptes débiteurs ou créditeurs',1),(278,'PCG99-BASE','TIERS','XXXXXX','468','46','Divers - Charges à payer et produits à recevoir',1),(279,'PCG99-BASE','TIERS','XXXXXX','47','4','Comptes transitoires ou d\'attente',1),(280,'PCG99-BASE','TIERS','XXXXXX','471','47','Comptes d\'attente',1),(281,'PCG99-BASE','TIERS','XXXXXX','476','47','Différence de conversion - Actif',1),(282,'PCG99-BASE','TIERS','XXXXXX','477','47','Différences de conversion - Passif',1),(283,'PCG99-BASE','TIERS','XXXXXX','478','47','Autres comptes transitoires',1),(284,'PCG99-BASE','TIERS','XXXXXX','48','4','Comptes de régularisation',1),(285,'PCG99-BASE','TIERS','XXXXXX','481','48','Charges à répartir sur plusieurs exercices',1),(286,'PCG99-BASE','TIERS','XXXXXX','486','48','Charges constatées d\'avance',1),(287,'PCG99-BASE','TIERS','XXXXXX','487','48','Produits constatés d\'avance',1),(288,'PCG99-BASE','TIERS','XXXXXX','488','48','Comptes de répartition périodique des charges et des produits',1),(289,'PCG99-BASE','TIERS','XXXXXX','489','48','Quotas d\'émission alloués par l\'Etat',1),(290,'PCG99-BASE','TIERS','XXXXXX','49','4','Provisions pour dépréciation des comptes de tiers',1),(291,'PCG99-BASE','TIERS','XXXXXX','491','49','Provisions pour dépréciation des comptes de clients',1),(292,'PCG99-BASE','TIERS','XXXXXX','495','49','Provisions pour dépréciation des comptes du groupe et des associés',1),(293,'PCG99-BASE','TIERS','XXXXXX','496','49','Provisions pour dépréciation des comptes de débiteurs divers',1),(294,'PCG99-BASE','FINAN','XXXXXX','50','5','Valeurs mobilières de placement',1),(295,'PCG99-BASE','FINAN','XXXXXX','501','50','Parts dans des entreprises liées',1),(296,'PCG99-BASE','FINAN','XXXXXX','502','50','Actions propres',1),(297,'PCG99-BASE','FINAN','XXXXXX','503','50','Actions',1),(298,'PCG99-BASE','FINAN','XXXXXX','504','50','Autres titres conférant un droit de propriété',1),(299,'PCG99-BASE','FINAN','XXXXXX','505','50','Obligations et bons émis par la société et rachetés par elle',1),(300,'PCG99-BASE','FINAN','XXXXXX','506','50','Obligations',1),(301,'PCG99-BASE','FINAN','XXXXXX','507','50','Bons du Trésor et bons de caisse à court terme',1),(302,'PCG99-BASE','FINAN','XXXXXX','508','50','Autres valeurs mobilières de placement et autres créances assimilées',1),(303,'PCG99-BASE','FINAN','XXXXXX','509','50','Versements restant à effectuer sur valeurs mobilières de placement non libérées',1),(304,'PCG99-BASE','FINAN','XXXXXX','51','5','Banques, établissements financiers et assimilés',1),(305,'PCG99-BASE','FINAN','XXXXXX','511','51','Valeurs à l\'encaissement',1),(306,'PCG99-BASE','FINAN','BANK','512','51','Banques',1),(307,'PCG99-BASE','FINAN','XXXXXX','514','51','Chèques postaux',1),(308,'PCG99-BASE','FINAN','XXXXXX','515','51','\"Caisses\" du Trésor et des établissements publics',1),(309,'PCG99-BASE','FINAN','XXXXXX','516','51','Sociétés de bourse',1),(310,'PCG99-BASE','FINAN','XXXXXX','517','51','Autres organismes financiers',1),(311,'PCG99-BASE','FINAN','XXXXXX','518','51','Intérêts courus',1),(312,'PCG99-BASE','FINAN','XXXXXX','519','51','Concours bancaires courants',1),(313,'PCG99-BASE','FINAN','XXXXXX','52','5','Instruments de trésorerie',1),(314,'PCG99-BASE','FINAN','CASH','53','5','Caisse',1),(315,'PCG99-BASE','FINAN','XXXXXX','531','53','Caisse siège social',1),(316,'PCG99-BASE','FINAN','XXXXXX','532','53','Caisse succursale (ou usine) A',1),(317,'PCG99-BASE','FINAN','XXXXXX','533','53','Caisse succursale (ou usine) B',1),(318,'PCG99-BASE','FINAN','XXXXXX','54','5','Régies d\'avance et accréditifs',1),(319,'PCG99-BASE','FINAN','XXXXXX','58','5','Virements internes',1),(320,'PCG99-BASE','FINAN','XXXXXX','59','5','Provisions pour dépréciation des comptes financiers',1),(321,'PCG99-BASE','FINAN','XXXXXX','590','59','Provisions pour dépréciation des valeurs mobilières de placement',1),(322,'PCG99-BASE','CHARGE','PRODUCT','60','6','Achats',1),(323,'PCG99-BASE','CHARGE','XXXXXX','601','60','Achats stockés - Matières premières (et fournitures)',1),(324,'PCG99-BASE','CHARGE','XXXXXX','602','60','Achats stockés - Autres approvisionnements',1),(325,'PCG99-BASE','CHARGE','XXXXXX','603','60','Variations des stocks (approvisionnements et marchandises)',1),(326,'PCG99-BASE','CHARGE','XXXXXX','604','60','Achats stockés - Matières premières (et fournitures)',1),(327,'PCG99-BASE','CHARGE','XXXXXX','605','60','Achats de matériel, équipements et travaux',1),(328,'PCG99-BASE','CHARGE','XXXXXX','606','60','Achats non stockés de matière et fournitures',1),(329,'PCG99-BASE','CHARGE','XXXXXX','607','60','Achats de marchandises',1),(330,'PCG99-BASE','CHARGE','XXXXXX','608','60','(Compte réservé, le cas échéant, à la récapitulation des frais accessoires incorporés aux achats)',1),(331,'PCG99-BASE','CHARGE','XXXXXX','609','60','Rabais, remises et ristournes obtenus sur achats',1),(332,'PCG99-BASE','CHARGE','SERVICE','61','6','Services extérieurs',1),(333,'PCG99-BASE','CHARGE','XXXXXX','611','61','Sous-traitance générale',1),(334,'PCG99-BASE','CHARGE','XXXXXX','612','61','Redevances de crédit-bail',1),(335,'PCG99-BASE','CHARGE','XXXXXX','613','61','Locations',1),(336,'PCG99-BASE','CHARGE','XXXXXX','614','61','Charges locatives et de copropriété',1),(337,'PCG99-BASE','CHARGE','XXXXXX','615','61','Entretien et réparations',1),(338,'PCG99-BASE','CHARGE','XXXXXX','616','61','Primes d\'assurances',1),(339,'PCG99-BASE','CHARGE','XXXXXX','617','61','Etudes et recherches',1),(340,'PCG99-BASE','CHARGE','XXXXXX','618','61','Divers',1),(341,'PCG99-BASE','CHARGE','XXXXXX','619','61','Rabais, remises et ristournes obtenus sur services extérieurs',1),(342,'PCG99-BASE','CHARGE','XXXXXX','62','6','Autres services extérieurs',1),(343,'PCG99-BASE','CHARGE','XXXXXX','621','62','Personnel extérieur à l\'entreprise',1),(344,'PCG99-BASE','CHARGE','XXXXXX','622','62','Rémunérations d\'intermédiaires et honoraires',1),(345,'PCG99-BASE','CHARGE','XXXXXX','623','62','Publicité, publications, relations publiques',1),(346,'PCG99-BASE','CHARGE','XXXXXX','624','62','Transports de biens et transports collectifs du personnel',1),(347,'PCG99-BASE','CHARGE','XXXXXX','625','62','Déplacements, missions et réceptions',1),(348,'PCG99-BASE','CHARGE','XXXXXX','626','62','Frais postaux et de télécommunications',1),(349,'PCG99-BASE','CHARGE','XXXXXX','627','62','Services bancaires et assimilés',1),(350,'PCG99-BASE','CHARGE','XXXXXX','628','62','Divers',1),(351,'PCG99-BASE','CHARGE','XXXXXX','629','62','Rabais, remises et ristournes obtenus sur autres services extérieurs',1),(352,'PCG99-BASE','CHARGE','XXXXXX','63','6','Impôts, taxes et versements assimilés',1),(353,'PCG99-BASE','CHARGE','XXXXXX','631','63','Impôts, taxes et versements assimilés sur rémunérations (administrations des impôts)',1),(354,'PCG99-BASE','CHARGE','XXXXXX','633','63','Impôts, taxes et versements assimilés sur rémunérations (autres organismes)',1),(355,'PCG99-BASE','CHARGE','XXXXXX','635','63','Autres impôts, taxes et versements assimilés (administrations des impôts)',1),(356,'PCG99-BASE','CHARGE','XXXXXX','637','63','Autres impôts, taxes et versements assimilés (autres organismes)',1),(357,'PCG99-BASE','CHARGE','XXXXXX','64','6','Charges de personnel',1),(358,'PCG99-BASE','CHARGE','XXXXXX','641','64','Rémunérations du personnel',1),(359,'PCG99-BASE','CHARGE','XXXXXX','644','64','Rémunération du travail de l\'exploitant',1),(360,'PCG99-BASE','CHARGE','SOCIAL','645','64','Charges de sécurité sociale et de prévoyance',1),(361,'PCG99-BASE','CHARGE','XXXXXX','646','64','Cotisations sociales personnelles de l\'exploitant',1),(362,'PCG99-BASE','CHARGE','XXXXXX','647','64','Autres charges sociales',1),(363,'PCG99-BASE','CHARGE','XXXXXX','648','64','Autres charges de personnel',1),(364,'PCG99-BASE','CHARGE','XXXXXX','65','6','Autres charges de gestion courante',1),(365,'PCG99-BASE','CHARGE','XXXXXX','651','65','Redevances pour concessions, brevets, licences, marques, procédés, logiciels, droits et valeurs similaires',1),(366,'PCG99-BASE','CHARGE','XXXXXX','653','65','Jetons de présence',1),(367,'PCG99-BASE','CHARGE','XXXXXX','654','65','Pertes sur créances irrécouvrables',1),(368,'PCG99-BASE','CHARGE','XXXXXX','655','65','Quote-part de résultat sur opérations faites en commun',1),(369,'PCG99-BASE','CHARGE','XXXXXX','658','65','Charges diverses de gestion courante',1),(370,'PCG99-BASE','CHARGE','XXXXXX','66','6','Charges financières',1),(371,'PCG99-BASE','CHARGE','XXXXXX','661','66','Charges d\'intérêts',1),(372,'PCG99-BASE','CHARGE','XXXXXX','664','66','Pertes sur créances liées à des participations',1),(373,'PCG99-BASE','CHARGE','XXXXXX','665','66','Escomptes accordés',1),(374,'PCG99-BASE','CHARGE','XXXXXX','666','66','Pertes de change',1),(375,'PCG99-BASE','CHARGE','XXXXXX','667','66','Charges nettes sur cessions de valeurs mobilières de placement',1),(376,'PCG99-BASE','CHARGE','XXXXXX','668','66','Autres charges financières',1),(377,'PCG99-BASE','CHARGE','XXXXXX','67','6','Charges exceptionnelles',1),(378,'PCG99-BASE','CHARGE','XXXXXX','671','67','Charges exceptionnelles sur opérations de gestion',1),(379,'PCG99-BASE','CHARGE','XXXXXX','672','67','(Compte à la disposition des entités pour enregistrer, en cours d\'exercice, les charges sur exercices antérieurs)',1),(380,'PCG99-BASE','CHARGE','XXXXXX','675','67','Valeurs comptables des éléments d\'actif cédés',1),(381,'PCG99-BASE','CHARGE','XXXXXX','678','67','Autres charges exceptionnelles',1),(382,'PCG99-BASE','CHARGE','XXXXXX','68','6','Dotations aux amortissements et aux provisions',1),(383,'PCG99-BASE','CHARGE','XXXXXX','681','68','Dotations aux amortissements et aux provisions - Charges d\'exploitation',1),(384,'PCG99-BASE','CHARGE','XXXXXX','686','68','Dotations aux amortissements et aux provisions - Charges financières',1),(385,'PCG99-BASE','CHARGE','XXXXXX','687','68','Dotations aux amortissements et aux provisions - Charges exceptionnelles',1),(386,'PCG99-BASE','CHARGE','XXXXXX','69','6','Participation des salariés - impôts sur les bénéfices et assimiles',1),(387,'PCG99-BASE','CHARGE','XXXXXX','691','69','Participation des salariés aux résultats',1),(388,'PCG99-BASE','CHARGE','XXXXXX','695','69','Impôts sur les bénéfices',1),(389,'PCG99-BASE','CHARGE','XXXXXX','696','69','Suppléments d\'impôt sur les sociétés liés aux distributions',1),(390,'PCG99-BASE','CHARGE','XXXXXX','697','69','Imposition forfaitaire annuelle des sociétés',1),(391,'PCG99-BASE','CHARGE','XXXXXX','698','69','Intégration fiscale',1),(392,'PCG99-BASE','CHARGE','XXXXXX','699','69','Produits - Reports en arrière des déficits',1),(393,'PCG99-BASE','PROD','XXXXXX','70','7','Ventes de produits fabriqués, prestations de services, marchandises',1),(394,'PCG99-BASE','PROD','PRODUCT','701','70','Ventes de produits finis',1),(395,'PCG99-BASE','PROD','XXXXXX','702','70','Ventes de produits intermédiaires',1),(396,'PCG99-BASE','PROD','XXXXXX','703','70','Ventes de produits résiduels',1),(397,'PCG99-BASE','PROD','XXXXXX','704','70','Travaux',1),(398,'PCG99-BASE','PROD','XXXXXX','705','70','Etudes',1),(399,'PCG99-BASE','PROD','SERVICE','706','70','Prestations de services',1),(400,'PCG99-BASE','PROD','PRODUCT','707','70','Ventes de marchandises',1),(401,'PCG99-BASE','PROD','PRODUCT','708','70','Produits des activités annexes',1),(402,'PCG99-BASE','PROD','XXXXXX','709','70','Rabais, remises et ristournes accordés par l\'entreprise',1),(403,'PCG99-BASE','PROD','XXXXXX','71','7','Production stockée (ou déstockage)',1),(404,'PCG99-BASE','PROD','XXXXXX','713','71','Variation des stocks (en-cours de production, produits)',1),(405,'PCG99-BASE','PROD','XXXXXX','72','7','Production immobilisée',1),(406,'PCG99-BASE','PROD','XXXXXX','721','72','Immobilisations incorporelles',1),(407,'PCG99-BASE','PROD','XXXXXX','722','72','Immobilisations corporelles',1),(408,'PCG99-BASE','PROD','XXXXXX','74','7','Subventions d\'exploitation',1),(409,'PCG99-BASE','PROD','XXXXXX','75','7','Autres produits de gestion courante',1),(410,'PCG99-BASE','PROD','XXXXXX','751','75','Redevances pour concessions, brevets, licences, marques, procédés, logiciels, droits et valeurs similaires',1),(411,'PCG99-BASE','PROD','XXXXXX','752','75','Revenus des immeubles non affectés à des activités professionnelles',1),(412,'PCG99-BASE','PROD','XXXXXX','753','75','Jetons de présence et rémunérations d\'administrateurs, gérants,...',1),(413,'PCG99-BASE','PROD','XXXXXX','754','75','Ristournes perçues des coopératives (provenant des excédents)',1),(414,'PCG99-BASE','PROD','XXXXXX','755','75','Quotes-parts de résultat sur opérations faites en commun',1),(415,'PCG99-BASE','PROD','XXXXXX','758','75','Produits divers de gestion courante',1),(416,'PCG99-BASE','PROD','XXXXXX','76','7','Produits financiers',1),(417,'PCG99-BASE','PROD','XXXXXX','761','76','Produits de participations',1),(418,'PCG99-BASE','PROD','XXXXXX','762','76','Produits des autres immobilisations financières',1),(419,'PCG99-BASE','PROD','XXXXXX','763','76','Revenus des autres créances',1),(420,'PCG99-BASE','PROD','XXXXXX','764','76','Revenus des valeurs mobilières de placement',1),(421,'PCG99-BASE','PROD','XXXXXX','765','76','Escomptes obtenus',1),(422,'PCG99-BASE','PROD','XXXXXX','766','76','Gains de change',1),(423,'PCG99-BASE','PROD','XXXXXX','767','76','Produits nets sur cessions de valeurs mobilières de placement',1),(424,'PCG99-BASE','PROD','XXXXXX','768','76','Autres produits financiers',1),(425,'PCG99-BASE','PROD','XXXXXX','77','7','Produits exceptionnels',1),(426,'PCG99-BASE','PROD','XXXXXX','771','77','Produits exceptionnels sur opérations de gestion',1),(427,'PCG99-BASE','PROD','XXXXXX','772','77','(Compte à la disposition des entités pour enregistrer, en cours d\'exercice, les produits sur exercices antérieurs)',1),(428,'PCG99-BASE','PROD','XXXXXX','775','77','Produits des cessions d\'éléments d\'actif',1),(429,'PCG99-BASE','PROD','XXXXXX','777','77','Quote-part des subventions d\'investissement virée au résultat de l\'exercice',1),(430,'PCG99-BASE','PROD','XXXXXX','778','77','Autres produits exceptionnels',1),(431,'PCG99-BASE','PROD','XXXXXX','78','7','Reprises sur amortissements et provisions',1),(432,'PCG99-BASE','PROD','XXXXXX','781','78','Reprises sur amortissements et provisions (à inscrire dans les produits d\'exploitation)',1),(433,'PCG99-BASE','PROD','XXXXXX','786','78','Reprises sur provisions pour risques (à inscrire dans les produits financiers)',1),(434,'PCG99-BASE','PROD','XXXXXX','787','78','Reprises sur provisions (à inscrire dans les produits exceptionnels)',1),(435,'PCG99-BASE','PROD','XXXXXX','79','7','Transferts de charges',1),(436,'PCG99-BASE','PROD','XXXXXX','791','79','Transferts de charges d\'exploitation ',1),(437,'PCG99-BASE','PROD','XXXXXX','796','79','Transferts de charges financières',1),(438,'PCG99-BASE','PROD','XXXXXX','797','79','Transferts de charges exceptionnelles',1),(439,'PCMN-BASE','CAPIT','XXXXXX','10','1','Capital',1),(440,'PCMN-BASE','CAPIT','XXXXXX','100','10','Capital souscrit ou capital personnel',1),(441,'PCMN-BASE','CAPIT','XXXXXX','1000','100','Capital non amorti',1),(442,'PCMN-BASE','CAPIT','XXXXXX','1001','100','Capital amorti',1),(443,'PCMN-BASE','CAPIT','XXXXXX','101','10','Capital non appelé',1),(444,'PCMN-BASE','CAPIT','XXXXXX','109','10','Compte de l\'exploitant',1),(445,'PCMN-BASE','CAPIT','XXXXXX','1090','109','Opérations courantes',1),(446,'PCMN-BASE','CAPIT','XXXXXX','1091','109','Impôts personnels',1),(447,'PCMN-BASE','CAPIT','XXXXXX','1092','109','Rémunérations et autres avantages',1),(448,'PCMN-BASE','CAPIT','XXXXXX','11','1','Primes d\'émission',1),(449,'PCMN-BASE','CAPIT','XXXXXX','12','1','Plus-values de réévaluation',1),(450,'PCMN-BASE','CAPIT','XXXXXX','120','12','Plus-values de réévaluation sur immobilisations incorporelles',1),(451,'PCMN-BASE','CAPIT','XXXXXX','1200','120','Plus-values de réévaluation',1),(452,'PCMN-BASE','CAPIT','XXXXXX','1201','120','Reprises de réductions de valeur',1),(453,'PCMN-BASE','CAPIT','XXXXXX','121','12','Plus-values de réévaluation sur immobilisations corporelles',1),(454,'PCMN-BASE','CAPIT','XXXXXX','1210','121','Plus-values de réévaluation',1),(455,'PCMN-BASE','CAPIT','XXXXXX','1211','121','Reprises de réductions de valeur',1),(456,'PCMN-BASE','CAPIT','XXXXXX','122','12','Plus-values de réévaluation sur immobilisations financières',1),(457,'PCMN-BASE','CAPIT','XXXXXX','1220','122','Plus-values de réévaluation',1),(458,'PCMN-BASE','CAPIT','XXXXXX','1221','122','Reprises de réductions de valeur',1),(459,'PCMN-BASE','CAPIT','XXXXXX','123','12','Plus-values de réévaluation sur stocks',1),(460,'PCMN-BASE','CAPIT','XXXXXX','124','12','Reprises de réductions de valeur sur placements de trésorerie',1),(461,'PCMN-BASE','CAPIT','XXXXXX','13','1','Réserve',1),(462,'PCMN-BASE','CAPIT','XXXXXX','130','13','Réserve légale',1),(463,'PCMN-BASE','CAPIT','XXXXXX','131','13','Réserves indisponibles',1),(464,'PCMN-BASE','CAPIT','XXXXXX','1310','131','Réserve pour actions propres',1),(465,'PCMN-BASE','CAPIT','XXXXXX','1311','131','Autres réserves indisponibles',1),(466,'PCMN-BASE','CAPIT','XXXXXX','132','13','Réserves immunisées',1),(467,'PCMN-BASE','CAPIT','XXXXXX','133','13','Réserves disponibles',1),(468,'PCMN-BASE','CAPIT','XXXXXX','1330','133','Réserve pour régularisation de dividendes',1),(469,'PCMN-BASE','CAPIT','XXXXXX','1331','133','Réserve pour renouvellement des immobilisations',1),(470,'PCMN-BASE','CAPIT','XXXXXX','1332','133','Réserve pour installations en faveur du personnel 1333 Réserves libres',1),(471,'PCMN-BASE','CAPIT','XXXXXX','14','1','Bénéfice reporté (ou perte reportée)',1),(472,'PCMN-BASE','CAPIT','XXXXXX','15','1','Subsides en capital',1),(473,'PCMN-BASE','CAPIT','XXXXXX','150','15','Montants obtenus',1),(474,'PCMN-BASE','CAPIT','XXXXXX','151','15','Montants transférés aux résultats',1),(475,'PCMN-BASE','CAPIT','XXXXXX','16','1','Provisions pour risques et charges',1),(476,'PCMN-BASE','CAPIT','XXXXXX','160','16','Provisions pour pensions et obligations similaires',1),(477,'PCMN-BASE','CAPIT','XXXXXX','161','16','Provisions pour charges fiscales',1),(478,'PCMN-BASE','CAPIT','XXXXXX','162','16','Provisions pour grosses réparations et gros entretiens',1),(479,'PCMN-BASE','CAPIT','XXXXXX','163','16','à 169 Provisions pour autres risques et charges',1),(480,'PCMN-BASE','CAPIT','XXXXXX','164','16','Provisions pour sûretés personnelles ou réelles constituées à l\'appui de dettes et d\'engagements de tiers',1),(481,'PCMN-BASE','CAPIT','XXXXXX','165','16','Provisions pour engagements relatifs à l\'acquisition ou à la cession d\'immobilisations',1),(482,'PCMN-BASE','CAPIT','XXXXXX','166','16','Provisions pour exécution de commandes passées ou reçues',1),(483,'PCMN-BASE','CAPIT','XXXXXX','167','16','Provisions pour positions et marchés à terme en devises ou positions et marchés à terme en marchandises',1),(484,'PCMN-BASE','CAPIT','XXXXXX','168','16','Provisions pour garanties techniques attachées aux ventes et prestations déjà effectuées par l\'entreprise',1),(485,'PCMN-BASE','CAPIT','XXXXXX','169','16','Provisions pour autres risques et charges',1),(486,'PCMN-BASE','CAPIT','XXXXXX','1690','169','Pour litiges en cours',1),(487,'PCMN-BASE','CAPIT','XXXXXX','1691','169','Pour amendes, doubles droits et pénalités',1),(488,'PCMN-BASE','CAPIT','XXXXXX','1692','169','Pour propre assureur',1),(489,'PCMN-BASE','CAPIT','XXXXXX','1693','169','Pour risques inhérents aux opérations de crédits à moyen ou long terme',1),(490,'PCMN-BASE','CAPIT','XXXXXX','1695','169','Provision pour charge de liquidation',1),(491,'PCMN-BASE','CAPIT','XXXXXX','1696','169','Provision pour départ de personnel',1),(492,'PCMN-BASE','CAPIT','XXXXXX','1699','169','Pour risques divers',1),(493,'PCMN-BASE','CAPIT','XXXXXX','17','1','Dettes à plus d\'un an',1),(494,'PCMN-BASE','CAPIT','XXXXXX','170','17','Emprunts subordonnés',1),(495,'PCMN-BASE','CAPIT','XXXXXX','1700','170','Convertibles',1),(496,'PCMN-BASE','CAPIT','XXXXXX','1701','170','Non convertibles',1),(497,'PCMN-BASE','CAPIT','XXXXXX','171','17','Emprunts obligataires non subordonnés',1),(498,'PCMN-BASE','CAPIT','XXXXXX','1710','171','Convertibles',1),(499,'PCMN-BASE','CAPIT','XXXXXX','1711','171','Non convertibles',1),(500,'PCMN-BASE','CAPIT','XXXXXX','172','17','Dettes de location-financement et assimilés',1),(501,'PCMN-BASE','CAPIT','XXXXXX','1720','172','Dettes de location-financement de biens immobiliers',1),(502,'PCMN-BASE','CAPIT','XXXXXX','1721','172','Dettes de location-financement de biens mobiliers',1),(503,'PCMN-BASE','CAPIT','XXXXXX','1722','172','Dettes sur droits réels sur immeubles',1),(504,'PCMN-BASE','CAPIT','XXXXXX','173','17','Etablissements de crédit',1),(505,'PCMN-BASE','CAPIT','XXXXXX','1730','173','Dettes en compte',1),(506,'PCMN-BASE','CAPIT','XXXXXX','17300','1730','Banque A',1),(507,'PCMN-BASE','CAPIT','XXXXXX','17301','1730','Banque B',1),(508,'PCMN-BASE','CAPIT','XXXXXX','17302','1730','Banque C',1),(509,'PCMN-BASE','CAPIT','XXXXXX','17303','1730','Banque D',1),(510,'PCMN-BASE','CAPIT','XXXXXX','1731','173','Promesses',1),(511,'PCMN-BASE','CAPIT','XXXXXX','17310','1731','Banque A',1),(512,'PCMN-BASE','CAPIT','XXXXXX','17311','1731','Banque B',1),(513,'PCMN-BASE','CAPIT','XXXXXX','17312','1731','Banque C',1),(514,'PCMN-BASE','CAPIT','XXXXXX','17313','1731','Banque D',1),(515,'PCMN-BASE','CAPIT','XXXXXX','1732','173','Crédits d\'acceptation',1),(516,'PCMN-BASE','CAPIT','XXXXXX','17320','1732','Banque A',1),(517,'PCMN-BASE','CAPIT','XXXXXX','17321','1732','Banque B',1),(518,'PCMN-BASE','CAPIT','XXXXXX','17322','1732','Banque C',1),(519,'PCMN-BASE','CAPIT','XXXXXX','17323','1732','Banque D',1),(520,'PCMN-BASE','CAPIT','XXXXXX','174','17','Autres emprunts',1),(521,'PCMN-BASE','CAPIT','XXXXXX','175','17','Dettes commerciales',1),(522,'PCMN-BASE','CAPIT','XXXXXX','1750','175','Fournisseurs : dettes en compte',1),(523,'PCMN-BASE','CAPIT','XXXXXX','17500','1750','Entreprises apparentées',1),(524,'PCMN-BASE','CAPIT','XXXXXX','175000','17500','Entreprises liées',1),(525,'PCMN-BASE','CAPIT','XXXXXX','175001','17500','Entreprises avec lesquelles il existe un lien de participation',1),(526,'PCMN-BASE','CAPIT','XXXXXX','17501','1750','Fournisseurs ordinaires',1),(527,'PCMN-BASE','CAPIT','XXXXXX','175010','17501','Fournisseurs belges',1),(528,'PCMN-BASE','CAPIT','XXXXXX','175011','17501','Fournisseurs C.E.E.',1),(529,'PCMN-BASE','CAPIT','XXXXXX','175012','17501','Fournisseurs importation',1),(530,'PCMN-BASE','CAPIT','XXXXXX','1751','175','Effets à payer',1),(531,'PCMN-BASE','CAPIT','XXXXXX','17510','1751','Entreprises apparentées',1),(532,'PCMN-BASE','CAPIT','XXXXXX','175100','17510','Entreprises liées',1),(533,'PCMN-BASE','CAPIT','XXXXXX','175101','17510','Entreprises avec lesquelles il existe un lien de participation',1),(534,'PCMN-BASE','CAPIT','XXXXXX','17511','1751','Fournisseurs ordinaires',1),(535,'PCMN-BASE','CAPIT','XXXXXX','175110','17511','Fournisseurs belges',1),(536,'PCMN-BASE','CAPIT','XXXXXX','175111','17511','Fournisseurs C.E.E.',1),(537,'PCMN-BASE','CAPIT','XXXXXX','175112','17511','Fournisseurs importation',1),(538,'PCMN-BASE','CAPIT','XXXXXX','176','17','Acomptes reçus sur commandes',1),(539,'PCMN-BASE','CAPIT','XXXXXX','178','17','Cautionnements reçus en numéraires',1),(540,'PCMN-BASE','CAPIT','XXXXXX','179','17','Dettes diverses',1),(541,'PCMN-BASE','CAPIT','XXXXXX','1790','179','Entreprises liées',1),(542,'PCMN-BASE','CAPIT','XXXXXX','1791','179','Autres entreprises avec lesquelles il existe un lien de participation',1),(543,'PCMN-BASE','CAPIT','XXXXXX','1792','179','Administrateurs, gérants et associés',1),(544,'PCMN-BASE','CAPIT','XXXXXX','1794','179','Rentes viagères capitalisées',1),(545,'PCMN-BASE','CAPIT','XXXXXX','1798','179','Dettes envers les coparticipants des associations momentanées et en participation',1),(546,'PCMN-BASE','CAPIT','XXXXXX','1799','179','Autres dettes diverses',1),(547,'PCMN-BASE','CAPIT','XXXXXX','18','1','Comptes de liaison des établissements et succursales',1),(548,'PCMN-BASE','IMMO','XXXXXX','20','2','Frais d\'établissement',1),(549,'PCMN-BASE','IMMO','XXXXXX','200','20','Frais de constitution et d\'augmentation de capital',1),(550,'PCMN-BASE','IMMO','XXXXXX','2000','200','Frais de constitution et d\'augmentation de capital',1),(551,'PCMN-BASE','IMMO','XXXXXX','2009','200','Amortissements sur frais de constitution et d\'augmentation de capital',1),(552,'PCMN-BASE','IMMO','XXXXXX','201','20','Frais d\'émission d\'emprunts et primes de remboursement',1),(553,'PCMN-BASE','IMMO','XXXXXX','2010','201','Agios sur emprunts et frais d\'émission d\'emprunts',1),(554,'PCMN-BASE','IMMO','XXXXXX','2019','201','Amortissements sur agios sur emprunts et frais d\'émission d\'emprunts',1),(555,'PCMN-BASE','IMMO','XXXXXX','202','20','Autres frais d\'établissement',1),(556,'PCMN-BASE','IMMO','XXXXXX','2020','202','Autres frais d\'établissement',1),(557,'PCMN-BASE','IMMO','XXXXXX','2029','202','Amortissements sur autres frais d\'établissement',1),(558,'PCMN-BASE','IMMO','XXXXXX','203','20','Intérêts intercalaires',1),(559,'PCMN-BASE','IMMO','XXXXXX','2030','203','Intérêts intercalaires',1),(560,'PCMN-BASE','IMMO','XXXXXX','2039','203','Amortissements sur intérêts intercalaires',1),(561,'PCMN-BASE','IMMO','XXXXXX','204','20','Frais de restructuration',1),(562,'PCMN-BASE','IMMO','XXXXXX','2040','204','Coût des frais de restructuration',1),(563,'PCMN-BASE','IMMO','XXXXXX','2049','204','Amortissements sur frais de restructuration',1),(564,'PCMN-BASE','IMMO','XXXXXX','21','2','Immobilisations incorporelles',1),(565,'PCMN-BASE','IMMO','XXXXXX','210','21','Frais de recherche et de développement',1),(566,'PCMN-BASE','IMMO','XXXXXX','2100','210','Frais de recherche et de mise au point',1),(567,'PCMN-BASE','IMMO','XXXXXX','2108','210','Plus-values actées sur frais de recherche et de mise au point',1),(568,'PCMN-BASE','IMMO','XXXXXX','2109','210','Amortissements sur frais de recherche et de mise au point',1),(569,'PCMN-BASE','IMMO','XXXXXX','211','21','Concessions, brevets, licences, savoir-faire, marque et droits similaires',1),(570,'PCMN-BASE','IMMO','XXXXXX','2110','211','Concessions, brevets, licences, marques, etc',1),(571,'PCMN-BASE','IMMO','XXXXXX','2118','211','Plus-values actées sur concessions, etc',1),(572,'PCMN-BASE','IMMO','XXXXXX','2119','211','Amortissements sur concessions, etc',1),(573,'PCMN-BASE','IMMO','XXXXXX','212','21','Goodwill',1),(574,'PCMN-BASE','IMMO','XXXXXX','2120','212','Coût d\'acquisition',1),(575,'PCMN-BASE','IMMO','XXXXXX','2128','212','Plus-values actées',1),(576,'PCMN-BASE','IMMO','XXXXXX','2129','212','Amortissements sur goodwill',1),(577,'PCMN-BASE','IMMO','XXXXXX','213','21','Acomptes versés',1),(578,'PCMN-BASE','IMMO','XXXXXX','22','2','Terrains et constructions',1),(579,'PCMN-BASE','IMMO','XXXXXX','220','22','Terrains',1),(580,'PCMN-BASE','IMMO','XXXXXX','2200','220','Terrains',1),(581,'PCMN-BASE','IMMO','XXXXXX','2201','220','Frais d\'acquisition sur terrains',1),(582,'PCMN-BASE','IMMO','XXXXXX','2208','220','Plus-values actées sur terrains',1),(583,'PCMN-BASE','IMMO','XXXXXX','2209','220','Amortissements et réductions de valeur',1),(584,'PCMN-BASE','IMMO','XXXXXX','22090','2209','Amortissements sur frais d\'acquisition',1),(585,'PCMN-BASE','IMMO','XXXXXX','22091','2209','Réductions de valeur sur terrains',1),(586,'PCMN-BASE','IMMO','XXXXXX','221','22','Constructions',1),(587,'PCMN-BASE','IMMO','XXXXXX','2210','221','Bâtiments industriels',1),(588,'PCMN-BASE','IMMO','XXXXXX','2211','221','Bâtiments administratifs et commerciaux',1),(589,'PCMN-BASE','IMMO','XXXXXX','2212','221','Autres bâtiments d\'exploitation',1),(590,'PCMN-BASE','IMMO','XXXXXX','2213','221','Voies de transport et ouvrages d\'art',1),(591,'PCMN-BASE','IMMO','XXXXXX','2215','221','Constructions sur sol d\'autrui',1),(592,'PCMN-BASE','IMMO','XXXXXX','2216','221','Frais d\'acquisition sur constructions',1),(593,'PCMN-BASE','IMMO','XXXXXX','2218','221','Plus-values actées',1),(594,'PCMN-BASE','IMMO','XXXXXX','22180','2218','Sur bâtiments industriels',1),(595,'PCMN-BASE','IMMO','XXXXXX','22181','2218','Sur bâtiments administratifs et commerciaux',1),(596,'PCMN-BASE','IMMO','XXXXXX','22182','2218','Sur autres bâtiments d\'exploitation',1),(597,'PCMN-BASE','IMMO','XXXXXX','22184','2218','Sur voies de transport et ouvrages d\'art',1),(598,'PCMN-BASE','IMMO','XXXXXX','2219','221','Amortissements sur constructions',1),(599,'PCMN-BASE','IMMO','XXXXXX','22190','2219','Sur bâtiments industriels',1),(600,'PCMN-BASE','IMMO','XXXXXX','22191','2219','Sur bâtiments administratifs et commerciaux',1),(601,'PCMN-BASE','IMMO','XXXXXX','22192','2219','Sur autres bâtiments d\'exploitation',1),(602,'PCMN-BASE','IMMO','XXXXXX','22194','2219','Sur voies de transport et ouvrages d\'art',1),(603,'PCMN-BASE','IMMO','XXXXXX','22195','2219','Sur constructions sur sol d\'autrui',1),(604,'PCMN-BASE','IMMO','XXXXXX','22196','2219','Sur frais d\'acquisition sur constructions',1),(605,'PCMN-BASE','IMMO','XXXXXX','222','22','Terrains bâtis',1),(606,'PCMN-BASE','IMMO','XXXXXX','2220','222','Valeur d\'acquisition',1),(607,'PCMN-BASE','IMMO','XXXXXX','22200','2220','Bâtiments industriels',1),(608,'PCMN-BASE','IMMO','XXXXXX','22201','2220','Bâtiments administratifs et commerciaux',1),(609,'PCMN-BASE','IMMO','XXXXXX','22202','2220','Autres bâtiments d\'exploitation',1),(610,'PCMN-BASE','IMMO','XXXXXX','22203','2220','Voies de transport et ouvrages d\'art',1),(611,'PCMN-BASE','IMMO','XXXXXX','22204','2220','Frais d\'acquisition des terrains à bâtir',1),(612,'PCMN-BASE','IMMO','XXXXXX','2228','222','Plus-values actées',1),(613,'PCMN-BASE','IMMO','XXXXXX','22280','2228','Sur bâtiments industriels',1),(614,'PCMN-BASE','IMMO','XXXXXX','22281','2228','Sur bâtiments administratifs et commerciaux',1),(615,'PCMN-BASE','IMMO','XXXXXX','22282','2228','Sur autres bâtiments d\'exploitation',1),(616,'PCMN-BASE','IMMO','XXXXXX','22283','2228','Sur voies de transport et ouvrages d\'art',1),(617,'PCMN-BASE','IMMO','XXXXXX','2229','222','Amortissements sur terrains bâtis',1),(618,'PCMN-BASE','IMMO','XXXXXX','22290','2229','Sur bâtiments industriels',1),(619,'PCMN-BASE','IMMO','XXXXXX','22291','2229','Sur bâtiments administratifs et commerciaux',1),(620,'PCMN-BASE','IMMO','XXXXXX','22292','2229','Sur autres bâtiments d\'exploitation',1),(621,'PCMN-BASE','IMMO','XXXXXX','22293','2229','Sur voies de transport et ouvrages d\'art',1),(622,'PCMN-BASE','IMMO','XXXXXX','22294','2229','Sur frais d\'acquisition des terrains bâtis',1),(623,'PCMN-BASE','IMMO','XXXXXX','223','22','Autres droits réels sur des immeubles',1),(624,'PCMN-BASE','IMMO','XXXXXX','2230','223','Valeur d\'acquisition',1),(625,'PCMN-BASE','IMMO','XXXXXX','2238','223','Plus-values actées',1),(626,'PCMN-BASE','IMMO','XXXXXX','2239','223','Amortissements',1),(627,'PCMN-BASE','IMMO','XXXXXX','23','2','Installations, machines et outillages',1),(628,'PCMN-BASE','IMMO','XXXXXX','230','23','Installations',1),(629,'PCMN-BASE','IMMO','XXXXXX','2300','230','Installations bâtiments industriels',1),(630,'PCMN-BASE','IMMO','XXXXXX','2301','230','Installations bâtiments administratifs et commerciaux',1),(631,'PCMN-BASE','IMMO','XXXXXX','2302','230','Installations bâtiments d\'exploitation',1),(632,'PCMN-BASE','IMMO','XXXXXX','2303','230','Installations voies de transport et ouvrages d\'art',1),(633,'PCMN-BASE','IMMO','XXXXXX','2300','230','Installation d\'eau',1),(634,'PCMN-BASE','IMMO','XXXXXX','2301','230','Installation d\'électricité',1),(635,'PCMN-BASE','IMMO','XXXXXX','2302','230','Installation de vapeur',1),(636,'PCMN-BASE','IMMO','XXXXXX','2303','230','Installation de gaz',1),(637,'PCMN-BASE','IMMO','XXXXXX','2304','230','Installation de chauffage',1),(638,'PCMN-BASE','IMMO','XXXXXX','2305','230','Installation de conditionnement d\'air',1),(639,'PCMN-BASE','IMMO','XXXXXX','2306','230','Installation de chargement',1),(640,'PCMN-BASE','IMMO','XXXXXX','231','23','Machines',1),(641,'PCMN-BASE','IMMO','XXXXXX','2310','231','Division A',1),(642,'PCMN-BASE','IMMO','XXXXXX','2311','231','Division B',1),(643,'PCMN-BASE','IMMO','XXXXXX','2312','231','Division C',1),(644,'PCMN-BASE','IMMO','XXXXXX','237','23','Outillage',1),(645,'PCMN-BASE','IMMO','XXXXXX','2370','237','Division A',1),(646,'PCMN-BASE','IMMO','XXXXXX','2371','237','Division B',1),(647,'PCMN-BASE','IMMO','XXXXXX','2372','237','Division C',1),(648,'PCMN-BASE','IMMO','XXXXXX','238','23','Plus-values actées',1),(649,'PCMN-BASE','IMMO','XXXXXX','2380','238','Sur installations',1),(650,'PCMN-BASE','IMMO','XXXXXX','2381','238','Sur machines',1),(651,'PCMN-BASE','IMMO','XXXXXX','2382','238','Sur outillage',1),(652,'PCMN-BASE','IMMO','XXXXXX','239','23','Amortissements',1),(653,'PCMN-BASE','IMMO','XXXXXX','2390','239','Sur installations',1),(654,'PCMN-BASE','IMMO','XXXXXX','2391','239','Sur machines',1),(655,'PCMN-BASE','IMMO','XXXXXX','2392','239','Sur outillage',1),(656,'PCMN-BASE','IMMO','XXXXXX','24','2','Mobilier et matériel roulant',1),(657,'PCMN-BASE','IMMO','XXXXXX','240','24','Mobilier',1),(658,'PCMN-BASE','IMMO','XXXXXX','2400','240','Mobilier',1),(659,'PCMN-BASE','IMMO','XXXXXX','24000','2400','Mobilier des bâtiments industriels',1),(660,'PCMN-BASE','IMMO','XXXXXX','24001','2400','Mobilier des bâtiments administratifs et commerciaux',1),(661,'PCMN-BASE','IMMO','XXXXXX','24002','2400','Mobilier des autres bâtiments d\'exploitation',1),(662,'PCMN-BASE','IMMO','XXXXXX','24003','2400','Mobilier oeuvres sociales',1),(663,'PCMN-BASE','IMMO','XXXXXX','2401','240','Matériel de bureau et de service social',1),(664,'PCMN-BASE','IMMO','XXXXXX','24010','2401','Des bâtiments industriels',1),(665,'PCMN-BASE','IMMO','XXXXXX','24011','2401','Des bâtiments administratifs et commerciaux',1),(666,'PCMN-BASE','IMMO','XXXXXX','24012','2401','Des autres bâtiments d\'exploitation',1),(667,'PCMN-BASE','IMMO','XXXXXX','24013','2401','Des oeuvres sociales',1),(668,'PCMN-BASE','IMMO','XXXXXX','2408','240','Plus-values actées',1),(669,'PCMN-BASE','IMMO','XXXXXX','24080','2408','Plus-values actées sur mobilier',1),(670,'PCMN-BASE','IMMO','XXXXXX','24081','2408','Plus-values actées sur matériel de bureau et service social',1),(671,'PCMN-BASE','IMMO','XXXXXX','2409','240','Amortissements',1),(672,'PCMN-BASE','IMMO','XXXXXX','24090','2409','Amortissements sur mobilier',1),(673,'PCMN-BASE','IMMO','XXXXXX','24091','2409','Amortissements sur matériel de bureau et service social',1),(674,'PCMN-BASE','IMMO','XXXXXX','241','24','Matériel roulant',1),(675,'PCMN-BASE','IMMO','XXXXXX','2410','241','Matériel automobile',1),(676,'PCMN-BASE','IMMO','XXXXXX','24100','2410','Voitures',1),(677,'PCMN-BASE','IMMO','XXXXXX','24105','2410','Camions',1),(678,'PCMN-BASE','IMMO','XXXXXX','2411','241','Matériel ferroviaire',1),(679,'PCMN-BASE','IMMO','XXXXXX','2412','241','Matériel fluvial',1),(680,'PCMN-BASE','IMMO','XXXXXX','2413','241','Matériel naval',1),(681,'PCMN-BASE','IMMO','XXXXXX','2414','241','Matériel aérien',1),(682,'PCMN-BASE','IMMO','XXXXXX','2418','241','Plus-values sur matériel roulant',1),(683,'PCMN-BASE','IMMO','XXXXXX','24180','2418','Plus-values sur matériel automobile',1),(684,'PCMN-BASE','IMMO','XXXXXX','24181','2418','Idem sur matériel ferroviaire',1),(685,'PCMN-BASE','IMMO','XXXXXX','24182','2418','Idem sur matériel fluvial',1),(686,'PCMN-BASE','IMMO','XXXXXX','24183','2418','Idem sur matériel naval',1),(687,'PCMN-BASE','IMMO','XXXXXX','24184','2418','Idem sur matériel aérien',1),(688,'PCMN-BASE','IMMO','XXXXXX','2419','241','Amortissements sur matériel roulant',1),(689,'PCMN-BASE','IMMO','XXXXXX','24190','2419','Amortissements sur matériel automobile',1),(690,'PCMN-BASE','IMMO','XXXXXX','24191','2419','Idem sur matériel ferroviaire',1),(691,'PCMN-BASE','IMMO','XXXXXX','24192','2419','Idem sur matériel fluvial',1),(692,'PCMN-BASE','IMMO','XXXXXX','24193','2419','Idem sur matériel naval',1),(693,'PCMN-BASE','IMMO','XXXXXX','24194','2419','Idem sur matériel aérien',1),(694,'PCMN-BASE','IMMO','XXXXXX','25','2','Immobilisation détenues en location-financement et droits similaires',1),(695,'PCMN-BASE','IMMO','XXXXXX','250','25','Terrains et constructions',1),(696,'PCMN-BASE','IMMO','XXXXXX','2500','250','Terrains',1),(697,'PCMN-BASE','IMMO','XXXXXX','2501','250','Constructions',1),(698,'PCMN-BASE','IMMO','XXXXXX','2508','250','Plus-values sur emphytéose, leasing et droits similaires : terrains et constructions',1),(699,'PCMN-BASE','IMMO','XXXXXX','2509','250','Amortissements et réductions de valeur sur terrains et constructions en leasing',1),(700,'PCMN-BASE','IMMO','XXXXXX','(','25','Installations, machines et outillage',1),(701,'PCMN-BASE','IMMO','XXXXXX','2510','251','Installations',1),(702,'PCMN-BASE','IMMO','XXXXXX','2511','251','Machines',1),(703,'PCMN-BASE','IMMO','XXXXXX','2512','251','Outillage',1),(704,'PCMN-BASE','IMMO','XXXXXX','2518','251','Plus-values actées sur installations machines et outillage pris en leasing',1),(705,'PCMN-BASE','IMMO','XXXXXX','2519','251','Amortissements sur installations machines et outillage pris en leasing',1),(706,'PCMN-BASE','IMMO','XXXXXX','252','25','Mobilier et matériel roulant',1),(707,'PCMN-BASE','IMMO','XXXXXX','2520','252','Mobilier',1),(708,'PCMN-BASE','IMMO','XXXXXX','2521','252','Matériel roulant',1),(709,'PCMN-BASE','IMMO','XXXXXX','2528','252','Plus-values actées sur mobilier et matériel roulant en leasing',1),(710,'PCMN-BASE','IMMO','XXXXXX','2529','252','Amortissements sur mobilier et matériel roulant en leasing',1),(711,'PCMN-BASE','IMMO','XXXXXX','26','2','Autres immobilisations corporelles',1),(712,'PCMN-BASE','IMMO','XXXXXX','260','26','Frais d\'aménagements de locaux pris en location',1),(713,'PCMN-BASE','IMMO','XXXXXX','261','26','Maison d\'habitation',1),(714,'PCMN-BASE','IMMO','XXXXXX','262','26','Réserve immobilière',1),(715,'PCMN-BASE','IMMO','XXXXXX','263','26','Matériel d\'emballage',1),(716,'PCMN-BASE','IMMO','XXXXXX','264','26','Emballages récupérables',1),(717,'PCMN-BASE','IMMO','XXXXXX','268','26','Plus-values actées sur autres immobilisations corporelles',1),(718,'PCMN-BASE','IMMO','XXXXXX','269','26','Amortissements sur autres immobilisations corporelles',1),(719,'PCMN-BASE','IMMO','XXXXXX','2690','269','Amortissements sur frais d\'aménagement des locaux pris en location',1),(720,'PCMN-BASE','IMMO','XXXXXX','2691','269','Amortissements sur maison d\'habitation',1),(721,'PCMN-BASE','IMMO','XXXXXX','2692','269','Amortissements sur réserve immobilière',1),(722,'PCMN-BASE','IMMO','XXXXXX','2693','269','Amortissements sur matériel d\'emballage',1),(723,'PCMN-BASE','IMMO','XXXXXX','2694','269','Amortissements sur emballages récupérables',1),(724,'PCMN-BASE','IMMO','XXXXXX','27','2','Immobilisations corporelles en cours et acomptes versés',1),(725,'PCMN-BASE','IMMO','XXXXXX','270','27','Immobilisations en cours',1),(726,'PCMN-BASE','IMMO','XXXXXX','2700','270','Constructions',1),(727,'PCMN-BASE','IMMO','XXXXXX','2701','270','Installations machines et outillage',1),(728,'PCMN-BASE','IMMO','XXXXXX','2702','270','Mobilier et matériel roulant',1),(729,'PCMN-BASE','IMMO','XXXXXX','2703','270','Autres immobilisations corporelles',1),(730,'PCMN-BASE','IMMO','XXXXXX','271','27','Avances et acomptes versés sur immobilisations en cours',1),(731,'PCMN-BASE','IMMO','XXXXXX','28','2','Immobilisations financières',1),(732,'PCMN-BASE','IMMO','XXXXXX','280','28','Participations dans des entreprises liées',1),(733,'PCMN-BASE','IMMO','XXXXXX','2800','280','Valeur d\'acquisition (peut être subdivisé par participation)',1),(734,'PCMN-BASE','IMMO','XXXXXX','2801','280','Montants non appelés (idem)',1),(735,'PCMN-BASE','IMMO','XXXXXX','2808','280','Plus-values actées (idem)',1),(736,'PCMN-BASE','IMMO','XXXXXX','2809','280','Réductions de valeurs actées (idem)',1),(737,'PCMN-BASE','IMMO','XXXXXX','281','28','Créances sur des entreprises liées',1),(738,'PCMN-BASE','IMMO','XXXXXX','2810','281','Créances en compte',1),(739,'PCMN-BASE','IMMO','XXXXXX','2811','281','Effets à recevoir',1),(740,'PCMN-BASE','IMMO','XXXXXX','2812','281','Titres à revenu fixes',1),(741,'PCMN-BASE','IMMO','XXXXXX','2817','281','Créances douteuses',1),(742,'PCMN-BASE','IMMO','XXXXXX','2819','281','Réductions de valeurs actées',1),(743,'PCMN-BASE','IMMO','XXXXXX','282','28','Participations dans des entreprises avec lesquelles il existe un lien de participation',1),(744,'PCMN-BASE','IMMO','XXXXXX','2820','282','Valeur d\'acquisition (peut être subdivisé par participation)',1),(745,'PCMN-BASE','IMMO','XXXXXX','2821','282','Montants non appelés (idem)',1),(746,'PCMN-BASE','IMMO','XXXXXX','2828','282','Plus-values actées (idem)',1),(747,'PCMN-BASE','IMMO','XXXXXX','2829','282','Réductions de valeurs actées (idem)',1),(748,'PCMN-BASE','IMMO','XXXXXX','283','28','Créances sur des entreprises avec lesquelles il existe un lien de participation',1),(749,'PCMN-BASE','IMMO','XXXXXX','2830','283','Créances en compte',1),(750,'PCMN-BASE','IMMO','XXXXXX','2831','283','Effets à recevoir',1),(751,'PCMN-BASE','IMMO','XXXXXX','2832','283','Titres à revenu fixe',1),(752,'PCMN-BASE','IMMO','XXXXXX','2837','283','Créances douteuses',1),(753,'PCMN-BASE','IMMO','XXXXXX','2839','283','Réductions de valeurs actées',1),(754,'PCMN-BASE','IMMO','XXXXXX','284','28','Autres actions et parts',1),(755,'PCMN-BASE','IMMO','XXXXXX','2840','284','Valeur d\'acquisition',1),(756,'PCMN-BASE','IMMO','XXXXXX','2841','284','Montants non appelés',1),(757,'PCMN-BASE','IMMO','XXXXXX','2848','284','Plus-values actées',1),(758,'PCMN-BASE','IMMO','XXXXXX','2849','284','Réductions de valeur actées',1),(759,'PCMN-BASE','IMMO','XXXXXX','285','28','Autres créances',1),(760,'PCMN-BASE','IMMO','XXXXXX','2850','285','Créances en compte',1),(761,'PCMN-BASE','IMMO','XXXXXX','2851','285','Effets à recevoir',1),(762,'PCMN-BASE','IMMO','XXXXXX','2852','285','Titres à revenu fixe',1),(763,'PCMN-BASE','IMMO','XXXXXX','2857','285','Créances douteuses',1),(764,'PCMN-BASE','IMMO','XXXXXX','2859','285','Réductions de valeur actées',1),(765,'PCMN-BASE','IMMO','XXXXXX','288','28','Cautionnements versés en numéraires',1),(766,'PCMN-BASE','IMMO','XXXXXX','2880','288','Téléphone, téléfax, télex',1),(767,'PCMN-BASE','IMMO','XXXXXX','2881','288','Gaz',1),(768,'PCMN-BASE','IMMO','XXXXXX','2882','288','Eau',1),(769,'PCMN-BASE','IMMO','XXXXXX','2883','288','Electricité',1),(770,'PCMN-BASE','IMMO','XXXXXX','2887','288','Autres cautionnements versés en numéraires',1),(771,'PCMN-BASE','IMMO','XXXXXX','29','2','Créances à plus d\'un an',1),(772,'PCMN-BASE','IMMO','XXXXXX','290','29','Créances commerciales',1),(773,'PCMN-BASE','IMMO','XXXXXX','2900','290','Clients',1),(774,'PCMN-BASE','IMMO','XXXXXX','29000','2900','Créances en compte sur entreprises liées',1),(775,'PCMN-BASE','IMMO','XXXXXX','29001','2900','Sur entreprises avec lesquelles il existe un lien de participation',1),(776,'PCMN-BASE','IMMO','XXXXXX','29002','2900','Sur clients Belgique',1),(777,'PCMN-BASE','IMMO','XXXXXX','29003','2900','Sur clients C.E.E.',1),(778,'PCMN-BASE','IMMO','XXXXXX','29004','2900','Sur clients exportation hors C.E.E.',1),(779,'PCMN-BASE','IMMO','XXXXXX','29005','2900','Créances sur les coparticipants (associations momentanées)',1),(780,'PCMN-BASE','IMMO','XXXXXX','2901','290','Effets à recevoir',1),(781,'PCMN-BASE','IMMO','XXXXXX','29010','2901','Sur entreprises liées',1),(782,'PCMN-BASE','IMMO','XXXXXX','29011','2901','Sur entreprises avec lesquelles il existe un lien de participation',1),(783,'PCMN-BASE','IMMO','XXXXXX','29012','2901','Sur clients Belgique',1),(784,'PCMN-BASE','IMMO','XXXXXX','29013','2901','Sur clients C.E.E.',1),(785,'PCMN-BASE','IMMO','XXXXXX','29014','2901','Sur clients exportation hors C.E.E.',1),(786,'PCMN-BASE','IMMO','XXXXXX','2905','290','Retenues sur garanties',1),(787,'PCMN-BASE','IMMO','XXXXXX','2906','290','Acomptes versés',1),(788,'PCMN-BASE','IMMO','XXXXXX','2907','290','Créances douteuses (à ventiler comme clients 2900)',1),(789,'PCMN-BASE','IMMO','XXXXXX','2909','290','Réductions de valeur actées (à ventiler comme clients 2900)',1),(790,'PCMN-BASE','IMMO','XXXXXX','291','29','Autres créances',1),(791,'PCMN-BASE','IMMO','XXXXXX','2910','291','Créances en compte',1),(792,'PCMN-BASE','IMMO','XXXXXX','29100','2910','Sur entreprises liées',1),(793,'PCMN-BASE','IMMO','XXXXXX','29101','2910','Sur entreprises avec lesquelles il existe un lien de participation',1),(794,'PCMN-BASE','IMMO','XXXXXX','29102','2910','Sur autres débiteurs',1),(795,'PCMN-BASE','IMMO','XXXXXX','2911','291','Effets à recevoir',1),(796,'PCMN-BASE','IMMO','XXXXXX','29110','2911','Sur entreprises liées',1),(797,'PCMN-BASE','IMMO','XXXXXX','29111','2911','Sur entreprises avec lesquelles il existe un lien de participation',1),(798,'PCMN-BASE','IMMO','XXXXXX','29112','2911','Sur autres débiteurs',1),(799,'PCMN-BASE','IMMO','XXXXXX','2912','291','Créances résultant de la cession d\'immobilisations données en leasing',1),(800,'PCMN-BASE','IMMO','XXXXXX','2917','291','Créances douteuses',1),(801,'PCMN-BASE','IMMO','XXXXXX','2919','291','Réductions de valeur actées',1),(802,'PCMN-BASE','STOCK','XXXXXX','30','3','Approvisionnements - matières premières',1),(803,'PCMN-BASE','STOCK','XXXXXX','300','30','Valeur d\'acquisition',1),(804,'PCMN-BASE','STOCK','XXXXXX','309','30','Réductions de valeur actées',1),(805,'PCMN-BASE','STOCK','XXXXXX','31','3','Approvsionnements et fournitures',1),(806,'PCMN-BASE','STOCK','XXXXXX','310','31','Valeur d\'acquisition',1),(807,'PCMN-BASE','STOCK','XXXXXX','3100','310','Matières d\'approvisionnement',1),(808,'PCMN-BASE','STOCK','XXXXXX','3101','310','Energie, charbon, coke, mazout, essence, propane',1),(809,'PCMN-BASE','STOCK','XXXXXX','3102','310','Produits d\'entretien',1),(810,'PCMN-BASE','STOCK','XXXXXX','3103','310','Fournitures diverses et petit outillage',1),(811,'PCMN-BASE','STOCK','XXXXXX','3104','310','Imprimés et fournitures de bureau',1),(812,'PCMN-BASE','STOCK','XXXXXX','3105','310','Fournitures de services sociaux',1),(813,'PCMN-BASE','STOCK','XXXXXX','3106','310','Emballages commerciaux',1),(814,'PCMN-BASE','STOCK','XXXXXX','31060','3106','Emballages perdus',1),(815,'PCMN-BASE','STOCK','XXXXXX','31061','3106','Emballages récupérables',1),(816,'PCMN-BASE','STOCK','XXXXXX','319','31','Réductions de valeur actées',1),(817,'PCMN-BASE','STOCK','XXXXXX','32','3','En cours de fabrication',1),(818,'PCMN-BASE','STOCK','XXXXXX','320','32','Valeur d\'acquisition',1),(819,'PCMN-BASE','STOCK','XXXXXX','3200','320','Produits semi-ouvrés',1),(820,'PCMN-BASE','STOCK','XXXXXX','3201','320','Produits en cours de fabrication',1),(821,'PCMN-BASE','STOCK','XXXXXX','3202','320','Travaux en cours',1),(822,'PCMN-BASE','STOCK','XXXXXX','3205','320','Déchets',1),(823,'PCMN-BASE','STOCK','XXXXXX','3206','320','Rebuts',1),(824,'PCMN-BASE','STOCK','XXXXXX','3209','320','Travaux en association momentanée',1),(825,'PCMN-BASE','STOCK','XXXXXX','329','32','Réductions de valeur actées',1),(826,'PCMN-BASE','STOCK','XXXXXX','33','3','Produits finis',1),(827,'PCMN-BASE','STOCK','XXXXXX','330','33','Valeur d\'acquisition',1),(828,'PCMN-BASE','STOCK','XXXXXX','3300','330','Produits finis',1),(829,'PCMN-BASE','STOCK','XXXXXX','339','33','Réductions de valeur actées',1),(830,'PCMN-BASE','STOCK','XXXXXX','34','3','Marchandises',1),(831,'PCMN-BASE','STOCK','XXXXXX','340','34','Valeur d\'acquisition',1),(832,'PCMN-BASE','STOCK','XXXXXX','3400','340','Groupe A',1),(833,'PCMN-BASE','STOCK','XXXXXX','3401','340','Groupe B',1),(834,'PCMN-BASE','STOCK','XXXXXX','3402','340','Groupe C',1),(835,'PCMN-BASE','STOCK','XXXXXX','349','34','Réductions de valeur actées',1),(836,'PCMN-BASE','STOCK','XXXXXX','35','3','Immeubles destinés à la vente',1),(837,'PCMN-BASE','STOCK','XXXXXX','350','35','Valeur d\'acquisition',1),(838,'PCMN-BASE','STOCK','XXXXXX','3500','350','Immeuble A',1),(839,'PCMN-BASE','STOCK','XXXXXX','3501','350','Immeuble B',1),(840,'PCMN-BASE','STOCK','XXXXXX','3502','350','Immeuble C',1),(841,'PCMN-BASE','STOCK','XXXXXX','351','35','Immeubles construits en vue de leur revente',1),(842,'PCMN-BASE','STOCK','XXXXXX','3510','351','Immeuble A',1),(843,'PCMN-BASE','STOCK','XXXXXX','3511','351','Immeuble B',1),(844,'PCMN-BASE','STOCK','XXXXXX','3512','351','Immeuble C',1),(845,'PCMN-BASE','STOCK','XXXXXX','359','35','Réductions de valeurs actées',1),(846,'PCMN-BASE','STOCK','XXXXXX','36','3','Acomptes versés sur achats pour stocks',1),(847,'PCMN-BASE','STOCK','XXXXXX','360','36','Acomptes versés (à ventiler éventuellement par catégorie)',1),(848,'PCMN-BASE','STOCK','XXXXXX','369','36','Réductions de valeur actées',1),(849,'PCMN-BASE','STOCK','XXXXXX','37','3','Commandes en cours d\'exécution',1),(850,'PCMN-BASE','STOCK','XXXXXX','370','37','Valeur d\'acquisition',1),(851,'PCMN-BASE','STOCK','XXXXXX','371','37','Bénéfice pris en compte',1),(852,'PCMN-BASE','STOCK','XXXXXX','379','37','Réductions de valeur actées',1),(853,'PCMN-BASE','TIERS','XXXXXX','40','4','Créances commerciales',1),(854,'PCMN-BASE','TIERS','XXXXXX','400','40','Clients',1),(855,'PCMN-BASE','TIERS','XXXXXX','4007','400','Rabais, remises et ristournes à accorder et autres notes de crédit à établir',1),(856,'PCMN-BASE','TIERS','XXXXXX','4008','400','Créances résultant de livraisons de biens (associations momentanées)',1),(857,'PCMN-BASE','TIERS','XXXXXX','401','40','Effets à recevoir',1),(858,'PCMN-BASE','TIERS','XXXXXX','4010','401','Effets à recevoir',1),(859,'PCMN-BASE','TIERS','XXXXXX','4013','401','Effets à l\'encaissement',1),(860,'PCMN-BASE','TIERS','XXXXXX','4015','401','Effets à l\'escompte',1),(861,'PCMN-BASE','TIERS','XXXXXX','402','40','Clients, créances courantes, entreprises apparentées, administrateurs et gérants',1),(862,'PCMN-BASE','TIERS','XXXXXX','4020','402','Entreprises liées',1),(863,'PCMN-BASE','TIERS','XXXXXX','4021','402','Autres entreprises avec lesquelles il existe un lien de participation',1),(864,'PCMN-BASE','TIERS','XXXXXX','4022','402','Administrateurs et gérants d\'entreprise',1),(865,'PCMN-BASE','TIERS','XXXXXX','403','40','Effets à recevoir sur entreprises apparentées et administrateurs et gérants',1),(866,'PCMN-BASE','TIERS','XXXXXX','4030','403','Entreprises liées',1),(867,'PCMN-BASE','TIERS','XXXXXX','4031','403','Autres entreprises avec lesquelles il existe un lien de participation',1),(868,'PCMN-BASE','TIERS','XXXXXX','4032','403','Administrateurs et gérants de l\'entreprise',1),(869,'PCMN-BASE','TIERS','XXXXXX','404','40','Produits à recevoir (factures à établir)',1),(870,'PCMN-BASE','TIERS','XXXXXX','405','40','Clients : retenues sur garanties',1),(871,'PCMN-BASE','TIERS','XXXXXX','406','40','Acomptes versés',1),(872,'PCMN-BASE','TIERS','XXXXXX','407','40','Créances douteuses',1),(873,'PCMN-BASE','TIERS','XXXXXX','408','40','Compensation clients',1),(874,'PCMN-BASE','TIERS','XXXXXX','409','40','Réductions de valeur actées',1),(875,'PCMN-BASE','TIERS','XXXXXX','41','4','Autres créances',1),(876,'PCMN-BASE','TIERS','XXXXXX','410','41','Capital appelé, non versé',1),(877,'PCMN-BASE','TIERS','XXXXXX','4100','410','Appels de fonds',1),(878,'PCMN-BASE','TIERS','XXXXXX','4101','410','Actionnaires défaillants',1),(879,'PCMN-BASE','TIERS','XXXXXX','411','41','T.V.A. à récupérer',1),(880,'PCMN-BASE','TIERS','XXXXXX','4110','411','T.V.A. due',1),(881,'PCMN-BASE','TIERS','XXXXXX','4111','411','T.V.A. déductible',1),(882,'PCMN-BASE','TIERS','XXXXXX','4112','411','Compte courant administration T.V.A.',1),(883,'PCMN-BASE','TIERS','XXXXXX','4118','411','Taxe d\'égalisation due',1),(884,'PCMN-BASE','TIERS','XXXXXX','412','41','Impôts et versements fiscaux à récupérer',1),(885,'PCMN-BASE','TIERS','XXXXXX','4120','412','Impôts belges sur le résultat',1),(886,'PCMN-BASE','TIERS','XXXXXX','4125','412','Autres impôts belges',1),(887,'PCMN-BASE','TIERS','XXXXXX','4128','412','Impôts étrangers',1),(888,'PCMN-BASE','TIERS','XXXXXX','414','41','Produits à recevoir',1),(889,'PCMN-BASE','TIERS','XXXXXX','416','41','Créances diverses',1),(890,'PCMN-BASE','TIERS','XXXXXX','4160','416','Associés (compte d\'apport en société)',1),(891,'PCMN-BASE','TIERS','XXXXXX','4161','416','Avances et prêts au personnel',1),(892,'PCMN-BASE','TIERS','XXXXXX','4162','416','Compte courant des associés en S.P.R.L.',1),(893,'PCMN-BASE','TIERS','XXXXXX','4163','416','Compte courant des administrateurs et gérants',1),(894,'PCMN-BASE','TIERS','XXXXXX','4164','416','Créances sur sociétés apparentées',1),(895,'PCMN-BASE','TIERS','XXXXXX','4166','416','Emballages et matériel à rendre',1),(896,'PCMN-BASE','TIERS','XXXXXX','4167','416','Etat et établissements publics',1),(897,'PCMN-BASE','TIERS','XXXXXX','41670','4167','Subsides à recevoir',1),(898,'PCMN-BASE','TIERS','XXXXXX','41671','4167','Autres créances',1),(899,'PCMN-BASE','TIERS','XXXXXX','4168','416','Rabais, ristournes et remises à obtenir et autres avoirs non encore reçus',1),(900,'PCMN-BASE','TIERS','XXXXXX','417','41','Créances douteuses',1),(901,'PCMN-BASE','TIERS','XXXXXX','418','41','Cautionnements versés en numéraires',1),(902,'PCMN-BASE','TIERS','XXXXXX','419','41','Réductions de valeur actées',1),(903,'PCMN-BASE','TIERS','XXXXXX','42','4','Dettes à plus d\'un an échéant dans l\'année',1),(904,'PCMN-BASE','TIERS','XXXXXX','420','42','Emprunts subordonnés',1),(905,'PCMN-BASE','TIERS','XXXXXX','4200','420','Convertibles',1),(906,'PCMN-BASE','TIERS','XXXXXX','4201','420','Non convertibles',1),(907,'PCMN-BASE','TIERS','XXXXXX','421','42','Emprunts obligataires non subordonnés',1),(908,'PCMN-BASE','TIERS','XXXXXX','4210','421','Convertibles',1),(909,'PCMN-BASE','TIERS','XXXXXX','4211','421','Non convertibles',1),(910,'PCMN-BASE','TIERS','XXXXXX','422','42','Dettes de location-financement et assimilées',1),(911,'PCMN-BASE','TIERS','XXXXXX','4220','422','Financement de biens immobiliers',1),(912,'PCMN-BASE','TIERS','XXXXXX','4221','422','Financement de biens mobiliers',1),(913,'PCMN-BASE','TIERS','XXXXXX','423','42','Etablissements de crédit',1),(914,'PCMN-BASE','TIERS','XXXXXX','4230','423','Dettes en compte',1),(915,'PCMN-BASE','TIERS','XXXXXX','4231','423','Promesses',1),(916,'PCMN-BASE','TIERS','XXXXXX','4232','423','Crédits d\'acceptation',1),(917,'PCMN-BASE','TIERS','XXXXXX','424','42','Autres emprunts',1),(918,'PCMN-BASE','TIERS','XXXXXX','425','42','Dettes commerciales',1),(919,'PCMN-BASE','TIERS','XXXXXX','4250','425','Fournisseurs',1),(920,'PCMN-BASE','TIERS','XXXXXX','4251','425','Effets à payer',1),(921,'PCMN-BASE','TIERS','XXXXXX','426','42','Cautionnements reçus en numéraires',1),(922,'PCMN-BASE','TIERS','XXXXXX','429','42','Dettes diverses',1),(923,'PCMN-BASE','TIERS','XXXXXX','4290','429','Entreprises liées',1),(924,'PCMN-BASE','TIERS','XXXXXX','4291','429','Entreprises avec lesquelles il existe un lien de participation',1),(925,'PCMN-BASE','TIERS','XXXXXX','4292','429','Administrateurs, gérants, associés',1),(926,'PCMN-BASE','TIERS','XXXXXX','4299','429','Autres dettes',1),(927,'PCMN-BASE','TIERS','XXXXXX','43','4','Dettes financières',1),(928,'PCMN-BASE','TIERS','XXXXXX','430','43','Etablissements de crédit. Emprunts en compte à terme fixe',1),(929,'PCMN-BASE','TIERS','XXXXXX','431','43','Etablissements de crédit. Promesses',1),(930,'PCMN-BASE','TIERS','XXXXXX','432','43','Etablissements de crédit. Crédits d\'acceptation',1),(931,'PCMN-BASE','TIERS','XXXXXX','433','43','Etablissements de crédit. Dettes en compte courant',1),(932,'PCMN-BASE','TIERS','XXXXXX','439','43','Autres emprunts',1),(933,'PCMN-BASE','TIERS','XXXXXX','44','4','Dettes commerciales',1),(934,'PCMN-BASE','TIERS','XXXXXX','440','44','Fournisseurs',1),(935,'PCMN-BASE','TIERS','XXXXXX','4400','440','Entreprises apparentées',1),(936,'PCMN-BASE','TIERS','XXXXXX','44000','4400','Entreprises liées',1),(937,'PCMN-BASE','TIERS','XXXXXX','44001','4400','Entreprises avec lesquelles il existe un lien de participation',1),(938,'PCMN-BASE','TIERS','XXXXXX','4401','440','Fournisseurs ordinaires',1),(939,'PCMN-BASE','TIERS','XXXXXX','44010','4401','Fournisseurs belges',1),(940,'PCMN-BASE','TIERS','XXXXXX','44011','4401','Fournisseurs CEE',1),(941,'PCMN-BASE','TIERS','XXXXXX','44012','4401','Fournisseurs importation',1),(942,'PCMN-BASE','TIERS','XXXXXX','4402','440','Dettes envers les coparticipants (associations momentanées)',1),(943,'PCMN-BASE','TIERS','XXXXXX','4403','440','Fournisseurs - retenues de garanties',1),(944,'PCMN-BASE','TIERS','XXXXXX','441','44','Effets à payer',1),(945,'PCMN-BASE','TIERS','XXXXXX','4410','441','Entreprises apparentées',1),(946,'PCMN-BASE','TIERS','XXXXXX','44100','4410','Entreprises liées',1),(947,'PCMN-BASE','TIERS','XXXXXX','44101','4410','Entreprises avec lesquelles il existe un lien de participation',1),(948,'PCMN-BASE','TIERS','XXXXXX','4411','441','Fournisseurs ordinaires',1),(949,'PCMN-BASE','TIERS','XXXXXX','44110','4411','Fournisseurs belges',1),(950,'PCMN-BASE','TIERS','XXXXXX','44111','4411','Fournisseurs CEE',1),(951,'PCMN-BASE','TIERS','XXXXXX','44112','4411','Fournisseurs importation',1),(952,'PCMN-BASE','TIERS','XXXXXX','444','44','Factures à recevoir',1),(953,'PCMN-BASE','TIERS','XXXXXX','446','44','Acomptes reçus',1),(954,'PCMN-BASE','TIERS','XXXXXX','448','44','Compensations fournisseurs',1),(955,'PCMN-BASE','TIERS','XXXXXX','45','4','Dettes fiscales, salariales et sociales',1),(956,'PCMN-BASE','TIERS','XXXXXX','450','45','Dettes fiscales estimées',1),(957,'PCMN-BASE','TIERS','XXXXXX','4501','450','Impôts sur le résultat',1),(958,'PCMN-BASE','TIERS','XXXXXX','4505','450','Autres impôts en Belgique',1),(959,'PCMN-BASE','TIERS','XXXXXX','4508','450','Impôts à l\'étranger',1),(960,'PCMN-BASE','TIERS','XXXXXX','451','45','T.V.A. à payer',1),(961,'PCMN-BASE','TIERS','XXXXXX','4510','451','T.V.A. due',1),(962,'PCMN-BASE','TIERS','XXXXXX','4511','451','T.V.A. déductible',1),(963,'PCMN-BASE','TIERS','XXXXXX','4512','451','Compte courant administration T.V.A.',1),(964,'PCMN-BASE','TIERS','XXXXXX','4518','451','Taxe d\'égalisation due',1),(965,'PCMN-BASE','TIERS','XXXXXX','452','45','Impôts et taxes à payer',1),(966,'PCMN-BASE','TIERS','XXXXXX','4520','452','Autres impôts sur le résultat',1),(967,'PCMN-BASE','TIERS','XXXXXX','4525','452','Autres impôts et taxes en Belgique',1),(968,'PCMN-BASE','TIERS','XXXXXX','45250','4525','Précompte immobilier',1),(969,'PCMN-BASE','TIERS','XXXXXX','45251','4525','Impôts communaux à payer',1),(970,'PCMN-BASE','TIERS','XXXXXX','45252','4525','Impôts provinciaux à payer',1),(971,'PCMN-BASE','TIERS','XXXXXX','45253','4525','Autres impôts et taxes à payer',1),(972,'PCMN-BASE','TIERS','XXXXXX','4528','452','Impôts et taxes à l\'étranger',1),(973,'PCMN-BASE','TIERS','XXXXXX','453','45','Précomptes retenus',1),(974,'PCMN-BASE','TIERS','XXXXXX','4530','453','Précompte professionnel retenu sur rémunérations',1),(975,'PCMN-BASE','TIERS','XXXXXX','4531','453','Précompte professionnel retenu sur tantièmes',1),(976,'PCMN-BASE','TIERS','XXXXXX','4532','453','Précompte mobilier retenu sur dividendes attribués',1),(977,'PCMN-BASE','TIERS','XXXXXX','4533','453','Précompte mobilier retenu sur intérêts payés',1),(978,'PCMN-BASE','TIERS','XXXXXX','4538','453','Autres précomptes retenus',1),(979,'PCMN-BASE','TIERS','XXXXXX','454','45','Office National de la Sécurité Sociale',1),(980,'PCMN-BASE','TIERS','XXXXXX','4540','454','Arriérés',1),(981,'PCMN-BASE','TIERS','XXXXXX','4541','454','1er trimestre',1),(982,'PCMN-BASE','TIERS','XXXXXX','4542','454','2ème trimestre',1),(983,'PCMN-BASE','TIERS','XXXXXX','4543','454','3ème trimestre',1),(984,'PCMN-BASE','TIERS','XXXXXX','4544','454','4ème trimestre',1),(985,'PCMN-BASE','TIERS','XXXXXX','455','45','Rémunérations',1),(986,'PCMN-BASE','TIERS','XXXXXX','4550','455','Administrateurs, gérants et commissaires (non réviseurs)',1),(987,'PCMN-BASE','TIERS','XXXXXX','4551','455','Direction',1),(988,'PCMN-BASE','TIERS','XXXXXX','4552','455','Employés',1),(989,'PCMN-BASE','TIERS','XXXXXX','4553','455','Ouvriers',1),(990,'PCMN-BASE','TIERS','XXXXXX','456','45','Pécules de vacances',1),(991,'PCMN-BASE','TIERS','XXXXXX','4560','456','Direction',1),(992,'PCMN-BASE','TIERS','XXXXXX','4561','456','Employés',1),(993,'PCMN-BASE','TIERS','XXXXXX','4562','456','Ouvriers',1),(994,'PCMN-BASE','TIERS','XXXXXX','459','45','Autres dettes sociales',1),(995,'PCMN-BASE','TIERS','XXXXXX','4590','459','Provision pour gratifications de fin d\'année',1),(996,'PCMN-BASE','TIERS','XXXXXX','4591','459','Départs de personnel',1),(997,'PCMN-BASE','TIERS','XXXXXX','4592','459','Oppositions sur rémunérations',1),(998,'PCMN-BASE','TIERS','XXXXXX','4593','459','Assurances relatives au personnel',1),(999,'PCMN-BASE','TIERS','XXXXXX','45930','4593','Assurance loi',1),(1000,'PCMN-BASE','TIERS','XXXXXX','45931','4593','Assurance salaire garanti',1),(1001,'PCMN-BASE','TIERS','XXXXXX','45932','4593','Assurance groupe',1),(1002,'PCMN-BASE','TIERS','XXXXXX','45933','4593','Assurances individuelles',1),(1003,'PCMN-BASE','TIERS','XXXXXX','4594','459','Caisse d\'assurances sociales pour travailleurs indépendants',1),(1004,'PCMN-BASE','TIERS','XXXXXX','4597','459','Dettes et provisions sociales diverses',1),(1005,'PCMN-BASE','TIERS','XXXXXX','46','4','Acomptes reçus sur commande',1),(1006,'PCMN-BASE','TIERS','XXXXXX','47','4','Dettes découlant de l\'affectation des résultats',1),(1007,'PCMN-BASE','TIERS','XXXXXX','470','47','Dividendes et tantièmes d\'exercices antérieurs',1),(1008,'PCMN-BASE','TIERS','XXXXXX','471','47','Dividendes de l\'exercice',1),(1009,'PCMN-BASE','TIERS','XXXXXX','472','47','Tantièmes de l\'exercice',1),(1010,'PCMN-BASE','TIERS','XXXXXX','473','47','Autres allocataires',1),(1011,'PCMN-BASE','TIERS','XXXXXX','48','4','Dettes diverses',1),(1012,'PCMN-BASE','TIERS','XXXXXX','480','48','Obligations et coupons échus',1),(1013,'PCMN-BASE','TIERS','XXXXXX','481','48','Actionnaires - capital à rembourser',1),(1014,'PCMN-BASE','TIERS','XXXXXX','482','48','Participation du personnel à payer',1),(1015,'PCMN-BASE','TIERS','XXXXXX','483','48','Acomptes reçus d\'autres tiers à moins d\'un an',1),(1016,'PCMN-BASE','TIERS','XXXXXX','486','48','Emballages et matériel consignés',1),(1017,'PCMN-BASE','TIERS','XXXXXX','488','48','Cautionnements reçus en numéraires',1),(1018,'PCMN-BASE','TIERS','XXXXXX','489','48','Autres dettes diverses',1),(1019,'PCMN-BASE','TIERS','XXXXXX','49','4','Comptes de régularisation et compte d\'attente',1),(1020,'PCMN-BASE','TIERS','XXXXXX','490','49','Charges à reporter (à subdiviser par catégorie de charges)',1),(1021,'PCMN-BASE','TIERS','XXXXXX','491','49','Produits acquis',1),(1022,'PCMN-BASE','TIERS','XXXXXX','4910','491','Produits d\'exploitation',1),(1023,'PCMN-BASE','TIERS','XXXXXX','49100','4910','Ristournes et rabais à obtenir',1),(1024,'PCMN-BASE','TIERS','XXXXXX','49101','4910','Commissions à obtenir',1),(1025,'PCMN-BASE','TIERS','XXXXXX','49102','4910','Autres produits d\'exploitation (redevances par exemple)',1),(1026,'PCMN-BASE','TIERS','XXXXXX','4911','491','Produits financiers',1),(1027,'PCMN-BASE','TIERS','XXXXXX','49110','4911','Intérêts courus et non échus sur prêts et débits',1),(1028,'PCMN-BASE','TIERS','XXXXXX','49111','4911','Autres produits financiers',1),(1029,'PCMN-BASE','TIERS','XXXXXX','492','49','Charges à imputer (à subdiviser par catégorie de charges)',1),(1030,'PCMN-BASE','TIERS','XXXXXX','493','49','Produits à reporter',1),(1031,'PCMN-BASE','TIERS','XXXXXX','4930','493','Produits d\'exploitation à reporter',1),(1032,'PCMN-BASE','TIERS','XXXXXX','4931','493','Produits financiers à reporter',1),(1033,'PCMN-BASE','TIERS','XXXXXX','499','49','Comptes d\'attente',1),(1034,'PCMN-BASE','TIERS','XXXXXX','4990','499','Compte d\'attente',1),(1035,'PCMN-BASE','TIERS','XXXXXX','4991','499','Compte de répartition périodique des charges',1),(1036,'PCMN-BASE','TIERS','XXXXXX','4999','499','Transferts d\'exercice',1),(1037,'PCMN-BASE','FINAN','XXXXXX','50','5','Actions propres',1),(1038,'PCMN-BASE','FINAN','XXXXXX','51','5','Actions et parts',1),(1039,'PCMN-BASE','FINAN','XXXXXX','510','51','Valeur d\'acquisition',1),(1040,'PCMN-BASE','FINAN','XXXXXX','511','51','Montants non appelés',1),(1041,'PCMN-BASE','FINAN','XXXXXX','519','51','Réductions de valeur actées',1),(1042,'PCMN-BASE','FINAN','XXXXXX','52','5','Titres à revenus fixes',1),(1043,'PCMN-BASE','FINAN','XXXXXX','520','52','Valeur d\'acquisition',1),(1044,'PCMN-BASE','FINAN','XXXXXX','529','52','Réductions de valeur actées',1),(1045,'PCMN-BASE','FINAN','XXXXXX','53','5','Dépots à terme',1),(1046,'PCMN-BASE','FINAN','XXXXXX','530','53','De plus d\'un an',1),(1047,'PCMN-BASE','FINAN','XXXXXX','531','53','De plus d\'un mois et à un an au plus',1),(1048,'PCMN-BASE','FINAN','XXXXXX','532','53','d\'un mois au plus',1),(1049,'PCMN-BASE','FINAN','XXXXXX','539','53','Réductions de valeur actées',1),(1050,'PCMN-BASE','FINAN','XXXXXX','54','5','Valeurs échues à l\'encaissement',1),(1051,'PCMN-BASE','FINAN','XXXXXX','540','54','Chèques à encaisser',1),(1052,'PCMN-BASE','FINAN','XXXXXX','541','54','Coupons à encaisser',1),(1053,'PCMN-BASE','FINAN','XXXXXX','55','5','Etablissements de crédit - Comptes ouverts auprès des divers établissements.',1),(1054,'PCMN-BASE','FINAN','XXXXXX','550','55','Comptes courants',1),(1055,'PCMN-BASE','FINAN','XXXXXX','551','55','Chèques émis',1),(1056,'PCMN-BASE','FINAN','XXXXXX','559','55','Réductions de valeur actées',1),(1057,'PCMN-BASE','FINAN','XXXXXX','56','5','Office des chèques postaux',1),(1058,'PCMN-BASE','FINAN','XXXXXX','560','56','Compte courant',1),(1059,'PCMN-BASE','FINAN','XXXXXX','561','56','Chèques émis',1),(1060,'PCMN-BASE','FINAN','XXXXXX','57','5','Caisses',1),(1061,'PCMN-BASE','FINAN','XXXXXX','570','57','à 577 Caisses - espèces ( 0 - centrale ; 7 - succursales et agences)',1),(1062,'PCMN-BASE','FINAN','XXXXXX','578','57','Caisses - timbres ( 0 - fiscaux ; 1 - postaux)',1),(1063,'PCMN-BASE','FINAN','XXXXXX','58','5','Virements internes',1),(1064,'PCMN-BASE','CHARGE','XXXXXX','60','6','Approvisionnements et marchandises',1),(1065,'PCMN-BASE','CHARGE','XXXXXX','600','60','Achats de matières premières',1),(1066,'PCMN-BASE','CHARGE','XXXXXX','601','60','Achats de fournitures',1),(1067,'PCMN-BASE','CHARGE','XXXXXX','602','60','Achats de services, travaux et études',1),(1068,'PCMN-BASE','CHARGE','XXXXXX','603','60','Sous-traitances générales',1),(1069,'PCMN-BASE','CHARGE','XXXXXX','604','60','Achats de marchandises',1),(1070,'PCMN-BASE','CHARGE','XXXXXX','605','60','Achats d\'immeubles destinés à la revente',1),(1071,'PCMN-BASE','CHARGE','XXXXXX','608','60','Remises , ristournes et rabais obtenus sur achats',1),(1072,'PCMN-BASE','CHARGE','XXXXXX','609','60','Variations de stocks',1),(1073,'PCMN-BASE','CHARGE','XXXXXX','6090','609','De matières premières',1),(1074,'PCMN-BASE','CHARGE','XXXXXX','6091','609','De fournitures',1),(1075,'PCMN-BASE','CHARGE','XXXXXX','6094','609','De marchandises',1),(1076,'PCMN-BASE','CHARGE','XXXXXX','6095','609','d\'immeubles destinés à la vente',1),(1077,'PCMN-BASE','CHARGE','XXXXXX','61','6','Services et biens divers',1),(1078,'PCMN-BASE','CHARGE','XXXXXX','610','61','Loyers et charges locatives',1),(1079,'PCMN-BASE','CHARGE','XXXXXX','6100','610','Loyers divers',1),(1080,'PCMN-BASE','CHARGE','XXXXXX','6101','610','Charges locatives (assurances, frais de confort,etc)',1),(1081,'PCMN-BASE','CHARGE','XXXXXX','611','61','Entretien et réparation (fournitures et prestations)',1),(1082,'PCMN-BASE','CHARGE','XXXXXX','612','61','Fournitures faites à l\'entreprise',1),(1083,'PCMN-BASE','CHARGE','XXXXXX','6120','612','Eau, gaz, électricité, vapeur',1),(1084,'PCMN-BASE','CHARGE','XXXXXX','61200','6120','Eau',1),(1085,'PCMN-BASE','CHARGE','XXXXXX','61201','6120','Gaz',1),(1086,'PCMN-BASE','CHARGE','XXXXXX','61202','6120','Electricité',1),(1087,'PCMN-BASE','CHARGE','XXXXXX','61203','6120','Vapeur',1),(1088,'PCMN-BASE','CHARGE','XXXXXX','6121','612','Téléphone, télégrammes, télex, téléfax, frais postaux',1),(1089,'PCMN-BASE','CHARGE','XXXXXX','61210','6121','Téléphone',1),(1090,'PCMN-BASE','CHARGE','XXXXXX','61211','6121','Télégrammes',1),(1091,'PCMN-BASE','CHARGE','XXXXXX','61212','6121','Télex et téléfax',1),(1092,'PCMN-BASE','CHARGE','XXXXXX','61213','6121','Frais postaux',1),(1093,'PCMN-BASE','CHARGE','XXXXXX','6122','612','Livres, bibliothèque',1),(1094,'PCMN-BASE','CHARGE','XXXXXX','6123','612','Imprimés et fournitures de bureau (si non comptabilisé au 601)',1),(1095,'PCMN-BASE','CHARGE','XXXXXX','613','61','Rétributions de tiers',1),(1096,'PCMN-BASE','CHARGE','XXXXXX','6130','613','Redevances et royalties',1),(1097,'PCMN-BASE','CHARGE','XXXXXX','61300','6130','Redevances pour brevets, licences, marques et accessoires',1),(1098,'PCMN-BASE','CHARGE','XXXXXX','61301','6130','Autres redevances (procédés de fabrication)',1),(1099,'PCMN-BASE','CHARGE','XXXXXX','6131','613','Assurances non relatives au personnel',1),(1100,'PCMN-BASE','CHARGE','XXXXXX','61310','6131','Assurance incendie',1),(1101,'PCMN-BASE','CHARGE','XXXXXX','61311','6131','Assurance vol',1),(1102,'PCMN-BASE','CHARGE','XXXXXX','61312','6131','Assurance autos',1),(1103,'PCMN-BASE','CHARGE','XXXXXX','61313','6131','Assurance crédit',1),(1104,'PCMN-BASE','CHARGE','XXXXXX','61314','6131','Assurances frais généraux',1),(1105,'PCMN-BASE','CHARGE','XXXXXX','6132','613','Divers',1),(1106,'PCMN-BASE','CHARGE','XXXXXX','61320','6132','Commissions aux tiers',1),(1107,'PCMN-BASE','CHARGE','XXXXXX','61321','6132','Honoraires d\'avocats, d\'experts, etc',1),(1108,'PCMN-BASE','CHARGE','XXXXXX','61322','6132','Cotisations aux groupements professionnels',1),(1109,'PCMN-BASE','CHARGE','XXXXXX','61323','6132','Dons, libéralités, etc',1),(1110,'PCMN-BASE','CHARGE','XXXXXX','61324','6132','Frais de contentieux',1),(1111,'PCMN-BASE','CHARGE','XXXXXX','61325','6132','Publications légales',1),(1112,'PCMN-BASE','CHARGE','XXXXXX','6133','613','Transports et déplacements',1),(1113,'PCMN-BASE','CHARGE','XXXXXX','61330','6133','Transports de personnel',1),(1114,'PCMN-BASE','CHARGE','XXXXXX','61331','6133','Voyages, déplacements et représentations',1),(1115,'PCMN-BASE','CHARGE','XXXXXX','6134','613','Personnel intérimaire',1),(1116,'PCMN-BASE','CHARGE','XXXXXX','614','61','Annonces, publicité, propagande et documentation',1),(1117,'PCMN-BASE','CHARGE','XXXXXX','6140','614','Annonces et insertions',1),(1118,'PCMN-BASE','CHARGE','XXXXXX','6141','614','Catalogues et imprimés',1),(1119,'PCMN-BASE','CHARGE','XXXXXX','6142','614','Echantillons',1),(1120,'PCMN-BASE','CHARGE','XXXXXX','6143','614','Foires et expositions',1),(1121,'PCMN-BASE','CHARGE','XXXXXX','6144','614','Primes',1),(1122,'PCMN-BASE','CHARGE','XXXXXX','6145','614','Cadeaux à la clientèle',1),(1123,'PCMN-BASE','CHARGE','XXXXXX','6146','614','Missions et réceptions',1),(1124,'PCMN-BASE','CHARGE','XXXXXX','6147','614','Documentation',1),(1125,'PCMN-BASE','CHARGE','XXXXXX','615','61','Sous-traitants',1),(1126,'PCMN-BASE','CHARGE','XXXXXX','6150','615','Sous-traitants pour activités propres',1),(1127,'PCMN-BASE','CHARGE','XXXXXX','6151','615','Sous-traitants d\'associations momentanées (coparticipants)',1),(1128,'PCMN-BASE','CHARGE','XXXXXX','6152','615','Quote-part bénéficiaire des coparticipants',1),(1129,'PCMN-BASE','CHARGE','XXXXXX','61700','6170','Personnel intérimaire et personnes mises à la disposition de l\'entreprise',1),(1130,'PCMN-BASE','CHARGE','XXXXXX','61800','6180','Rémunérations, primes pour assurances extralégales, pensions de retraite et de survie des administrateurs, gérants et associés a',1),(1131,'PCMN-BASE','CHARGE','XXXXXX','62','6','Rémunérations, charges sociales et pensions',1),(1132,'PCMN-BASE','CHARGE','XXXXXX','620','62','Rémunérations et avantages sociaux directs',1),(1133,'PCMN-BASE','CHARGE','XXXXXX','6200','620','Administrateurs ou gérants',1),(1134,'PCMN-BASE','CHARGE','XXXXXX','6201','620','Personnel de direction',1),(1135,'PCMN-BASE','CHARGE','XXXXXX','6202','620','Employés',1),(1136,'PCMN-BASE','CHARGE','XXXXXX','6203','620','Ouvriers',1),(1137,'PCMN-BASE','CHARGE','XXXXXX','6204','620','Autres membres du personnel',1),(1138,'PCMN-BASE','CHARGE','XXXXXX','621','62','Cotisations patronales d\'assurances sociales',1),(1139,'PCMN-BASE','CHARGE','XXXXXX','6210','621','Sur salaires',1),(1140,'PCMN-BASE','CHARGE','XXXXXX','6211','621','Sur appointements et commissions',1),(1141,'PCMN-BASE','CHARGE','XXXXXX','622','62','Primes patronales pour assurances extralégales',1),(1142,'PCMN-BASE','CHARGE','XXXXXX','623','62','Autres frais de personnel',1),(1143,'PCMN-BASE','CHARGE','XXXXXX','6230','623','Assurances du personnel',1),(1144,'PCMN-BASE','CHARGE','XXXXXX','62300','6230','Assurances loi, responsabilité civile, chemin du travail',1),(1145,'PCMN-BASE','CHARGE','XXXXXX','62301','6230','Assurance salaire garanti',1),(1146,'PCMN-BASE','CHARGE','XXXXXX','62302','6230','Assurances individuelles',1),(1147,'PCMN-BASE','CHARGE','XXXXXX','6231','623','Charges sociales diverses',1),(1148,'PCMN-BASE','CHARGE','XXXXXX','62310','6231','Jours fériés payés',1),(1149,'PCMN-BASE','CHARGE','XXXXXX','62311','6231','Salaire hebdomadaire garanti',1),(1150,'PCMN-BASE','CHARGE','XXXXXX','62312','6231','Allocations familiales complémentaires',1),(1151,'PCMN-BASE','CHARGE','XXXXXX','6232','623','Charges sociales des administrateurs, gérants et commissaires',1),(1152,'PCMN-BASE','CHARGE','XXXXXX','62320','6232','Allocations familiales complémentaires pour non salariés',1),(1153,'PCMN-BASE','CHARGE','XXXXXX','62321','6232','Lois sociales pour indépendants',1),(1154,'PCMN-BASE','CHARGE','XXXXXX','62322','6232','Divers',1),(1155,'PCMN-BASE','CHARGE','XXXXXX','624','62','Pensions de retraite et de survie',1),(1156,'PCMN-BASE','CHARGE','XXXXXX','6240','624','Administrateurs et gérants',1),(1157,'PCMN-BASE','CHARGE','XXXXXX','6241','624','Personnel',1),(1158,'PCMN-BASE','CHARGE','XXXXXX','625','62','Provision pour pécule de vacances',1),(1159,'PCMN-BASE','CHARGE','XXXXXX','6250','625','Dotations',1),(1160,'PCMN-BASE','CHARGE','XXXXXX','6251','625','Utilisations et reprises',1),(1161,'PCMN-BASE','CHARGE','XXXXXX','63','6','Amortissements, réductions de valeur et provisions pour risques et charges',1),(1162,'PCMN-BASE','CHARGE','XXXXXX','630','63','Dotations aux amortissements et aux réductions de valeur sur immobilisations',1),(1163,'PCMN-BASE','CHARGE','XXXXXX','6300','630','Dotations aux amortissements sur frais d\'établissement',1),(1164,'PCMN-BASE','CHARGE','XXXXXX','6301','630','Dotations aux amortissements sur immobilisations incorporelles',1),(1165,'PCMN-BASE','CHARGE','XXXXXX','6302','630','Dotations aux amortissements sur immobilisations corporelles',1),(1166,'PCMN-BASE','CHARGE','XXXXXX','6308','630','Dotations aux réductions de valeur sur immobilisations incorporelles',1),(1167,'PCMN-BASE','CHARGE','XXXXXX','6309','630','Dotations aux réductions de valeur sur immobilisations corporelles',1),(1168,'PCMN-BASE','CHARGE','XXXXXX','631','63','Réductions de valeur sur stocks',1),(1169,'PCMN-BASE','CHARGE','XXXXXX','6310','631','Dotations',1),(1170,'PCMN-BASE','CHARGE','XXXXXX','6311','631','Reprises',1),(1171,'PCMN-BASE','CHARGE','XXXXXX','632','63','Réductions de valeur sur commandes en cours d\'exécution',1),(1172,'PCMN-BASE','CHARGE','XXXXXX','6320','632','Dotations',1),(1173,'PCMN-BASE','CHARGE','XXXXXX','6321','632','Reprises',1),(1174,'PCMN-BASE','CHARGE','XXXXXX','633','63','Réductions de valeur sur créances commerciales à plus d\'un an',1),(1175,'PCMN-BASE','CHARGE','XXXXXX','6330','633','Dotations',1),(1176,'PCMN-BASE','CHARGE','XXXXXX','6331','633','Reprises',1),(1177,'PCMN-BASE','CHARGE','XXXXXX','634','63','Réductions de valeur sur créances commerciales à un an au plus',1),(1178,'PCMN-BASE','CHARGE','XXXXXX','6340','634','Dotations',1),(1179,'PCMN-BASE','CHARGE','XXXXXX','6341','634','Reprises',1),(1180,'PCMN-BASE','CHARGE','XXXXXX','635','63','Provisions pour pensions et obligations similaires',1),(1181,'PCMN-BASE','CHARGE','XXXXXX','6350','635','Dotations',1),(1182,'PCMN-BASE','CHARGE','XXXXXX','6351','635','Utilisations et reprises',1),(1183,'PCMN-BASE','CHARGE','XXXXXX','636','63','Provisions pour grosses réparations et gros entretiens',1),(1184,'PCMN-BASE','CHARGE','XXXXXX','6360','636','Dotations',1),(1185,'PCMN-BASE','CHARGE','XXXXXX','6361','636','Utilisations et reprises',1),(1186,'PCMN-BASE','CHARGE','XXXXXX','637','63','Provisions pour autres risques et charges',1),(1187,'PCMN-BASE','CHARGE','XXXXXX','6370','637','Dotations',1),(1188,'PCMN-BASE','CHARGE','XXXXXX','6371','637','Utilisations et reprises',1),(1189,'PCMN-BASE','CHARGE','XXXXXX','64','6','Autres charges d\'exploitation',1),(1190,'PCMN-BASE','CHARGE','XXXXXX','640','64','Charges fiscales d\'exploitation',1),(1191,'PCMN-BASE','CHARGE','XXXXXX','6400','640','Taxes et impôts directs',1),(1192,'PCMN-BASE','CHARGE','XXXXXX','64000','6400','Taxes sur autos et camions',1),(1193,'PCMN-BASE','CHARGE','XXXXXX','6401','640','Taxes et impôts indirects',1),(1194,'PCMN-BASE','CHARGE','XXXXXX','64010','6401','Timbres fiscaux pris en charge par la firme',1),(1195,'PCMN-BASE','CHARGE','XXXXXX','64011','6401','Droits d\'enregistrement',1),(1196,'PCMN-BASE','CHARGE','XXXXXX','64012','6401','T.V.A. non déductible',1),(1197,'PCMN-BASE','CHARGE','XXXXXX','6402','640','Impôts provinciaux et communaux',1),(1198,'PCMN-BASE','CHARGE','XXXXXX','64020','6402','Taxe sur la force motrice',1),(1199,'PCMN-BASE','CHARGE','XXXXXX','64021','6402','Taxe sur le personnel occupé',1),(1200,'PCMN-BASE','CHARGE','XXXXXX','6403','640','Taxes diverses',1),(1201,'PCMN-BASE','CHARGE','XXXXXX','641','64','Moins-values sur réalisations courantes d\'immobilisations corporelles',1),(1202,'PCMN-BASE','CHARGE','XXXXXX','642','64','Moins-values sur réalisations de créances commerciales',1),(1203,'PCMN-BASE','CHARGE','XXXXXX','643','64','à 648 Charges d\'exploitations diverses',1),(1204,'PCMN-BASE','CHARGE','XXXXXX','649','64','Charges d\'exploitation portées à l\'actif au titre de restructuration',1),(1205,'PCMN-BASE','CHARGE','XXXXXX','65','6','Charges financières',1),(1206,'PCMN-BASE','CHARGE','XXXXXX','650','65','Charges des dettes',1),(1207,'PCMN-BASE','CHARGE','XXXXXX','6500','650','Intérêts, commissions et frais afférents aux dettes',1),(1208,'PCMN-BASE','CHARGE','XXXXXX','6501','650','Amortissements des agios et frais d\'émission d\'emprunts',1),(1209,'PCMN-BASE','CHARGE','XXXXXX','6502','650','Autres charges de dettes',1),(1210,'PCMN-BASE','CHARGE','XXXXXX','6503','650','Intérêts intercalaires portés à l\'actif',1),(1211,'PCMN-BASE','CHARGE','XXXXXX','651','65','Réductions de valeur sur actifs circulants',1),(1212,'PCMN-BASE','CHARGE','XXXXXX','6510','651','Dotations',1),(1213,'PCMN-BASE','CHARGE','XXXXXX','6511','651','Reprises',1),(1214,'PCMN-BASE','CHARGE','XXXXXX','652','65','Moins-values sur réalisation d\'actifs circulants',1),(1215,'PCMN-BASE','CHARGE','XXXXXX','653','65','Charges d\'escompte de créances',1),(1216,'PCMN-BASE','CHARGE','XXXXXX','654','65','Différences de change',1),(1217,'PCMN-BASE','CHARGE','XXXXXX','655','65','Ecarts de conversion des devises',1),(1218,'PCMN-BASE','CHARGE','XXXXXX','656','65','Frais de banques, de chèques postaux',1),(1219,'PCMN-BASE','CHARGE','XXXXXX','657','65','Commissions sur ouvertures de crédit, cautions et avals',1),(1220,'PCMN-BASE','CHARGE','XXXXXX','658','65','Frais de vente des titres',1),(1221,'PCMN-BASE','CHARGE','XXXXXX','66','6','Charges exceptionnelles',1),(1222,'PCMN-BASE','CHARGE','XXXXXX','660','66','Amortissements et réductions de valeur exceptionnels',1),(1223,'PCMN-BASE','CHARGE','XXXXXX','6600','660','Sur frais d\'établissement',1),(1224,'PCMN-BASE','CHARGE','XXXXXX','6601','660','Sur immobilisations incorporelles',1),(1225,'PCMN-BASE','CHARGE','XXXXXX','6602','660','Sur immobilisations corporelles',1),(1226,'PCMN-BASE','CHARGE','XXXXXX','661','66','Réductions de valeur sur immobilisations financières',1),(1227,'PCMN-BASE','CHARGE','XXXXXX','662','66','Provisions pour risques et charges exceptionnels',1),(1228,'PCMN-BASE','CHARGE','XXXXXX','663','66','Moins-values sur réalisation d\'actifs immobilisés',1),(1229,'PCMN-BASE','CHARGE','XXXXXX','6630','663','Sur immobilisations incorporelles',1),(1230,'PCMN-BASE','CHARGE','XXXXXX','6631','663','Sur immobilisations corporelles',1),(1231,'PCMN-BASE','CHARGE','XXXXXX','6632','663','Sur immobilisations détenues en location-financement et droits similaires',1),(1232,'PCMN-BASE','CHARGE','XXXXXX','6633','663','Sur immobilisations financières',1),(1233,'PCMN-BASE','CHARGE','XXXXXX','6634','663','Sur immeubles acquis ou construits en vue de la revente',1),(1234,'PCMN-BASE','CHARGE','XXXXXX','664','66','à 668 Autres charges exceptionnelles',1),(1235,'PCMN-BASE','CHARGE','XXXXXX','664','66','Pénalités et amendes diverses',1),(1236,'PCMN-BASE','CHARGE','XXXXXX','665','66','Différence de charge',1),(1237,'PCMN-BASE','CHARGE','XXXXXX','669','66','Charges exceptionnelles transférées à l\'actif en frais de restructuration',1),(1238,'PCMN-BASE','CHARGE','XXXXXX','67','6','Impôts sur le résultat',1),(1239,'PCMN-BASE','CHARGE','XXXXXX','670','67','Impôts belges sur le résultat de l\'exercice',1),(1240,'PCMN-BASE','CHARGE','XXXXXX','6700','670','Impôts et précomptes dus ou versés',1),(1241,'PCMN-BASE','CHARGE','XXXXXX','6701','670','Excédent de versements d\'impôts et précomptes porté à l\'actif',1),(1242,'PCMN-BASE','CHARGE','XXXXXX','6702','670','Charges fiscales estimées',1),(1243,'PCMN-BASE','CHARGE','XXXXXX','671','67','Impôts belges sur le résultat d\'exercices antérieurs',1),(1244,'PCMN-BASE','CHARGE','XXXXXX','6710','671','Suppléments d\'impôts dus ou versés',1),(1245,'PCMN-BASE','CHARGE','XXXXXX','6711','671','Suppléments d\'impôts estimés',1),(1246,'PCMN-BASE','CHARGE','XXXXXX','6712','671','Provisions fiscales constituées',1),(1247,'PCMN-BASE','CHARGE','XXXXXX','672','67','Impôts étrangers sur le résultat de l\'exercice',1),(1248,'PCMN-BASE','CHARGE','XXXXXX','673','67','Impôts étrangers sur le résultat d\'exercices antérieurs',1),(1249,'PCMN-BASE','CHARGE','XXXXXX','68','6','Transferts aux réserves immunisées',1),(1250,'PCMN-BASE','CHARGE','XXXXXX','69','6','Affectation des résultats',1),(1251,'PCMN-BASE','CHARGE','XXXXXX','690','69','Perte reportée de l\'exercice précédent',1),(1252,'PCMN-BASE','CHARGE','XXXXXX','691','69','Dotation à la réserve légale',1),(1253,'PCMN-BASE','CHARGE','XXXXXX','692','69','Dotation aux autres réserves',1),(1254,'PCMN-BASE','CHARGE','XXXXXX','693','69','Bénéfice à reporter',1),(1255,'PCMN-BASE','CHARGE','XXXXXX','694','69','Rémunération du capital',1),(1256,'PCMN-BASE','CHARGE','XXXXXX','695','69','Administrateurs ou gérants',1),(1257,'PCMN-BASE','CHARGE','XXXXXX','696','69','Autres allocataires',1),(1258,'PCMN-BASE','PROD','XXXXXX','70','7','Chiffre d\'affaires',1),(1259,'PCMN-BASE','PROD','XXXXXX','700','70','à 707 Ventes et prestations de services',1),(1260,'PCMN-BASE','PROD','XXXXXX','700','70','Ventes de marchandises',1),(1261,'PCMN-BASE','PROD','XXXXXX','7000','700','Ventes en Belgique',1),(1262,'PCMN-BASE','PROD','XXXXXX','7001','700','Ventes dans les pays membres de la C.E.E.',1),(1263,'PCMN-BASE','PROD','XXXXXX','7002','700','Ventes à l\'exportation',1),(1264,'PCMN-BASE','PROD','XXXXXX','701','70','Ventes de produits finis',1),(1265,'PCMN-BASE','PROD','XXXXXX','7010','701','Ventes en Belgique',1),(1266,'PCMN-BASE','PROD','XXXXXX','7011','701','Ventes dans les pays membres de la C.E.E.',1),(1267,'PCMN-BASE','PROD','XXXXXX','7012','701','Ventes à l\'exportation',1),(1268,'PCMN-BASE','PROD','XXXXXX','702','70','Ventes de déchets et rebuts',1),(1269,'PCMN-BASE','PROD','XXXXXX','7020','702','Ventes en Belgique',1),(1270,'PCMN-BASE','PROD','XXXXXX','7021','702','Ventes dans les pays membres de la C.E.E.',1),(1271,'PCMN-BASE','PROD','XXXXXX','7022','702','Ventes à l\'exportation',1),(1272,'PCMN-BASE','PROD','XXXXXX','703','70','Ventes d\'emballages récupérables',1),(1273,'PCMN-BASE','PROD','XXXXXX','704','70','Facturations des travaux en cours (associations momentanées)',1),(1274,'PCMN-BASE','PROD','XXXXXX','705','70','Prestations de services',1),(1275,'PCMN-BASE','PROD','XXXXXX','7050','705','Prestations de services en Belgique',1),(1276,'PCMN-BASE','PROD','XXXXXX','7051','705','Prestations de services dans les pays membres de la C.E.E.',1),(1277,'PCMN-BASE','PROD','XXXXXX','7052','705','Prestations de services en vue de l\'exportation',1),(1278,'PCMN-BASE','PROD','XXXXXX','706','70','Pénalités et dédits obtenus par l\'entreprise',1),(1279,'PCMN-BASE','PROD','XXXXXX','708','70','Remises, ristournes et rabais accordés',1),(1280,'PCMN-BASE','PROD','XXXXXX','7080','708','Sur ventes de marchandises',1),(1281,'PCMN-BASE','PROD','XXXXXX','7081','708','Sur ventes de produits finis',1),(1282,'PCMN-BASE','PROD','XXXXXX','7082','708','Sur ventes de déchets et rebuts',1),(1283,'PCMN-BASE','PROD','XXXXXX','7083','708','Sur prestations de services',1),(1284,'PCMN-BASE','PROD','XXXXXX','7084','708','Mali sur travaux facturés aux associations momentanées',1),(1285,'PCMN-BASE','PROD','XXXXXX','71','7','Variation des stocks et des commandes en cours d\'exécution',1),(1286,'PCMN-BASE','PROD','XXXXXX','712','71','Des en cours de fabrication',1),(1287,'PCMN-BASE','PROD','XXXXXX','713','71','Des produits finis',1),(1288,'PCMN-BASE','PROD','XXXXXX','715','71','Des immeubles construits destinés à la vente',1),(1289,'PCMN-BASE','PROD','XXXXXX','717','71','Des commandes en cours d\'exécution',1),(1290,'PCMN-BASE','PROD','XXXXXX','7170','717','Commandes en cours - Coût de revient',1),(1291,'PCMN-BASE','PROD','XXXXXX','71700','7170','Coût des commandes en cours d\'exécution',1),(1292,'PCMN-BASE','PROD','XXXXXX','71701','7170','Coût des travaux en cours des associations momentanées',1),(1293,'PCMN-BASE','PROD','XXXXXX','7171','717','Bénéfices portés en compte sur commandes en cours',1),(1294,'PCMN-BASE','PROD','XXXXXX','71710','7171','Sur commandes en cours d\'exécution',1),(1295,'PCMN-BASE','PROD','XXXXXX','71711','7171','Sur travaux en cours des associations momentanées',1),(1296,'PCMN-BASE','PROD','XXXXXX','72','7','Production immobilisée',1),(1297,'PCMN-BASE','PROD','XXXXXX','720','72','En frais d\'établissement',1),(1298,'PCMN-BASE','PROD','XXXXXX','721','72','En immobilisations incorporelles',1),(1299,'PCMN-BASE','PROD','XXXXXX','722','72','En immobilisations corporelles',1),(1300,'PCMN-BASE','PROD','XXXXXX','723','72','En immobilisations en cours',1),(1301,'PCMN-BASE','PROD','XXXXXX','74','7','Autres produits d\'exploitation',1),(1302,'PCMN-BASE','PROD','XXXXXX','740','74','Subsides d\'exploitation et montants compensatoires',1),(1303,'PCMN-BASE','PROD','XXXXXX','741','74','Plus-values sur réalisations courantes d\'immobilisations corporelles',1),(1304,'PCMN-BASE','PROD','XXXXXX','742','74','Plus-values sur réalisations de créances commerciales',1),(1305,'PCMN-BASE','PROD','XXXXXX','743','74','à 749 Produits d\'exploitation divers',1),(1306,'PCMN-BASE','PROD','XXXXXX','743','74','Produits de services exploités dans l\'intérêt du personnel',1),(1307,'PCMN-BASE','PROD','XXXXXX','744','74','Commissions et courtages',1),(1308,'PCMN-BASE','PROD','XXXXXX','745','74','Redevances pour brevets et licences',1),(1309,'PCMN-BASE','PROD','XXXXXX','746','74','Prestations de services (transports, études, etc)',1),(1310,'PCMN-BASE','PROD','XXXXXX','747','74','Revenus des immeubles affectés aux activités non professionnelles',1),(1311,'PCMN-BASE','PROD','XXXXXX','748','74','Locations diverses à caractère professionnel',1),(1312,'PCMN-BASE','PROD','XXXXXX','749','74','Produits divers',1),(1313,'PCMN-BASE','PROD','XXXXXX','7490','749','Bonis sur reprises d\'emballages consignés',1),(1314,'PCMN-BASE','PROD','XXXXXX','7491','749','Bonis sur travaux en associations momentanées',1),(1315,'PCMN-BASE','PROD','XXXXXX','75','7','Produits financiers',1),(1316,'PCMN-BASE','PROD','XXXXXX','750','75','Produits des immobilisations financières',1),(1317,'PCMN-BASE','PROD','XXXXXX','7500','750','Revenus des actions',1),(1318,'PCMN-BASE','PROD','XXXXXX','7501','750','Revenus des obligations',1),(1319,'PCMN-BASE','PROD','XXXXXX','7502','750','Revenus des créances à plus d\'un an',1),(1320,'PCMN-BASE','PROD','XXXXXX','751','75','Produits des actifs circulants',1),(1321,'PCMN-BASE','PROD','XXXXXX','752','75','Plus-values sur réalisations d\'actifs circulants',1),(1322,'PCMN-BASE','PROD','XXXXXX','753','75','Subsides en capital et en intérêts',1),(1323,'PCMN-BASE','PROD','XXXXXX','754','75','Différences de change',1),(1324,'PCMN-BASE','PROD','XXXXXX','755','75','Ecarts de conversion des devises',1),(1325,'PCMN-BASE','PROD','XXXXXX','756','75','à 759 Produits financiers divers',1),(1326,'PCMN-BASE','PROD','XXXXXX','756','75','Produits des autres créances',1),(1327,'PCMN-BASE','PROD','XXXXXX','757','75','Escomptes obtenus',1),(1328,'PCMN-BASE','PROD','XXXXXX','76','7','Produits exceptionnels',1),(1329,'PCMN-BASE','PROD','XXXXXX','760','76','Reprises d\'amortissements et de réductions de valeur',1),(1330,'PCMN-BASE','PROD','XXXXXX','7600','760','Sur immobilisations incorporelles',1),(1331,'PCMN-BASE','PROD','XXXXXX','7601','760','Sur immobilisations corporelles',1),(1332,'PCMN-BASE','PROD','XXXXXX','761','76','Reprises de réductions de valeur sur immobilisations financières',1),(1333,'PCMN-BASE','PROD','XXXXXX','762','76','Reprises de provisions pour risques et charges exceptionnelles',1),(1334,'PCMN-BASE','PROD','XXXXXX','763','76','Plus-values sur réalisation d\'actifs immobilisés',1),(1335,'PCMN-BASE','PROD','XXXXXX','7630','763','Sur immobilisations incorporelles',1),(1336,'PCMN-BASE','PROD','XXXXXX','7631','763','Sur immobilisations corporelles',1),(1337,'PCMN-BASE','PROD','XXXXXX','7632','763','Sur immobilisations financières',1),(1338,'PCMN-BASE','PROD','XXXXXX','764','76','Autres produits exceptionnels',1),(1339,'PCMN-BASE','PROD','XXXXXX','77','7','Régularisations d\'impôts et reprises de provisions fiscales',1),(1340,'PCMN-BASE','PROD','XXXXXX','771','77','Impôts belges sur le résultat',1),(1341,'PCMN-BASE','PROD','XXXXXX','7710','771','Régularisations d\'impôts dus ou versés',1),(1342,'PCMN-BASE','PROD','XXXXXX','7711','771','Régularisations d\'impôts estimés',1),(1343,'PCMN-BASE','PROD','XXXXXX','7712','771','Reprises de provisions fiscales',1),(1344,'PCMN-BASE','PROD','XXXXXX','773','77','Impôts étrangers sur le résultat',1),(1345,'PCMN-BASE','PROD','XXXXXX','79','7','Affectation aux résultats',1),(1346,'PCMN-BASE','PROD','XXXXXX','790','79','Bénéfice reporté de l\'exercice précédent',1),(1347,'PCMN-BASE','PROD','XXXXXX','791','79','Prélèvement sur le capital et les primes d\'émission',1),(1348,'PCMN-BASE','PROD','XXXXXX','792','79','Prélèvement sur les réserves',1),(1349,'PCMN-BASE','PROD','XXXXXX','793','79','Perte à reporter',1),(1350,'PCMN-BASE','PROD','XXXXXX','794','79','Intervention d\'associés (ou du propriétaire) dans la perte',1); +/*!40000 ALTER TABLE `llx_accountingaccount` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_accountingdebcred` +-- + +DROP TABLE IF EXISTS `llx_accountingdebcred`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_accountingdebcred` ( + `fk_transaction` int(11) NOT NULL, + `fk_account` int(11) NOT NULL, + `amount` double NOT NULL, + `direction` varchar(1) NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_accountingdebcred` +-- + +LOCK TABLES `llx_accountingdebcred` WRITE; +/*!40000 ALTER TABLE `llx_accountingdebcred` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_accountingdebcred` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_accountingtransaction` +-- + +DROP TABLE IF EXISTS `llx_accountingtransaction`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_accountingtransaction` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `label` varchar(128) NOT NULL, + `datec` date NOT NULL, + `fk_author` varchar(20) NOT NULL, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_facture` int(11) DEFAULT NULL, + `fk_facture_fourn` int(11) DEFAULT NULL, + `fk_paiement` int(11) DEFAULT NULL, + `fk_paiement_fourn` int(11) DEFAULT NULL, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_accountingtransaction` +-- + +LOCK TABLES `llx_accountingtransaction` WRITE; +/*!40000 ALTER TABLE `llx_accountingtransaction` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_accountingtransaction` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_actioncomm` +-- + +DROP TABLE IF EXISTS `llx_actioncomm`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_actioncomm` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `ref_ext` varchar(128) DEFAULT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + `datep` datetime DEFAULT NULL, + `datep2` datetime DEFAULT NULL, + `datea` datetime DEFAULT NULL, + `datea2` datetime DEFAULT NULL, + `fk_action` int(11) DEFAULT NULL, + `code` varchar(32) DEFAULT NULL, + `label` varchar(128) NOT NULL, + `datec` datetime DEFAULT NULL, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_user_author` int(11) DEFAULT NULL, + `fk_user_mod` int(11) DEFAULT NULL, + `fk_project` int(11) DEFAULT NULL, + `fk_soc` int(11) DEFAULT NULL, + `fk_contact` int(11) DEFAULT NULL, + `fk_parent` int(11) NOT NULL DEFAULT '0', + `fk_user_action` int(11) DEFAULT NULL, + `transparency` int(11) DEFAULT NULL, + `fk_user_done` int(11) DEFAULT NULL, + `priority` smallint(6) DEFAULT NULL, + `fulldayevent` smallint(6) NOT NULL DEFAULT '0', + `punctual` smallint(6) NOT NULL DEFAULT '1', + `percent` smallint(6) NOT NULL DEFAULT '0', + `location` varchar(128) DEFAULT NULL, + `durationp` double DEFAULT NULL, + `durationa` double DEFAULT NULL, + `note` text, + `fk_element` int(11) DEFAULT NULL, + `elementtype` varchar(32) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `idx_actioncomm_datea` (`datea`), + KEY `idx_actioncomm_fk_soc` (`fk_soc`), + KEY `idx_actioncomm_fk_contact` (`fk_contact`) +) ENGINE=InnoDB AUTO_INCREMENT=220 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_actioncomm` +-- + +LOCK TABLES `llx_actioncomm` WRITE; +/*!40000 ALTER TABLE `llx_actioncomm` DISABLE KEYS */; +INSERT INTO `llx_actioncomm` VALUES (1,NULL,1,'2010-07-08 14:21:44','2010-07-08 14:21:44',NULL,NULL,50,NULL,'Company AAA and Co added into Dolibarr','2010-07-08 14:21:44','2010-07-08 12:21:44',1,NULL,NULL,1,NULL,0,NULL,NULL,1,0,0,1,100,'',NULL,NULL,'Company AAA and Co added into Dolibarr\nAuthor: admin',NULL,NULL),(2,NULL,1,'2010-07-08 14:23:48','2010-07-08 14:23:48',NULL,NULL,50,NULL,'Company Belin SARL added into Dolibarr','2010-07-08 14:23:48','2010-07-08 12:23:48',1,NULL,NULL,2,NULL,0,NULL,NULL,1,0,0,1,100,'',NULL,NULL,'Company Belin SARL added into Dolibarr\nAuthor: admin',NULL,NULL),(3,NULL,1,'2010-07-08 22:42:12','2010-07-08 22:42:12',NULL,NULL,50,NULL,'Company Spanish Comp added into Dolibarr','2010-07-08 22:42:12','2010-07-08 20:42:12',1,NULL,NULL,3,NULL,0,NULL,NULL,1,0,0,1,100,'',NULL,NULL,'Company Spanish Comp added into Dolibarr\nAuthor: admin',NULL,NULL),(4,NULL,1,'2010-07-08 22:48:18','2010-07-08 22:48:18',NULL,NULL,50,NULL,'Company Prospector Vaalen added into Dolibarr','2010-07-08 22:48:18','2010-07-08 20:48:18',1,NULL,NULL,4,NULL,0,NULL,NULL,1,0,0,1,100,'',NULL,NULL,'Company Prospector Vaalen added into Dolibarr\nAuthor: admin',NULL,NULL),(5,NULL,1,'2010-07-08 23:22:57','2010-07-08 23:22:57',NULL,NULL,50,NULL,'Company NoCountry Co added into Dolibarr','2010-07-08 23:22:57','2010-07-08 21:22:57',1,NULL,NULL,5,NULL,0,NULL,NULL,1,0,0,1,100,'',NULL,NULL,'Company NoCountry Co added into Dolibarr\nAuthor: admin',NULL,NULL),(6,NULL,1,'2010-07-09 00:15:09','2010-07-09 00:15:09',NULL,NULL,50,NULL,'Company Swiss customer added into Dolibarr','2010-07-09 00:15:09','2010-07-08 22:15:09',1,NULL,NULL,6,NULL,0,NULL,NULL,1,0,0,1,100,'',NULL,NULL,'Company Swiss customer added into Dolibarr\nAuthor: admin',NULL,NULL),(7,NULL,1,'2010-07-09 01:24:26','2010-07-09 01:24:26',NULL,NULL,50,NULL,'Company Generic customer added into Dolibarr','2010-07-09 01:24:26','2010-07-08 23:24:26',1,NULL,NULL,7,NULL,0,NULL,NULL,1,0,0,1,100,'',NULL,NULL,'Company Generic customer added into Dolibarr\nAuthor: admin',NULL,NULL),(8,NULL,1,'2010-07-10 14:54:27','2010-07-10 14:54:27',NULL,NULL,50,NULL,'Société Client salon ajoutée dans Dolibarr','2010-07-10 14:54:27','2010-07-10 12:54:27',1,NULL,NULL,8,NULL,0,NULL,NULL,1,0,0,1,100,'',NULL,NULL,'Société Client salon ajoutée dans Dolibarr\nAuteur: admin',NULL,NULL),(9,NULL,1,'2010-07-10 14:54:44','2010-07-10 14:54:44',NULL,NULL,50,NULL,'Société Client salon invidivdu ajoutée dans Doliba','2010-07-10 14:54:44','2010-07-10 12:54:44',1,NULL,NULL,9,NULL,0,NULL,NULL,1,0,0,1,100,'',NULL,NULL,'Société Client salon invidivdu ajoutée dans Dolibarr\nAuteur: admin',NULL,NULL),(10,NULL,1,'2010-07-10 14:56:10','2010-07-10 14:56:10',NULL,NULL,50,NULL,'Facture FA1007-0001 validée dans Dolibarr','2010-07-10 14:56:10','2011-07-18 17:29:22',1,NULL,NULL,9,NULL,0,NULL,NULL,1,0,0,1,100,'',NULL,NULL,'Facture FA1007-0001 validée dans Dolibarr\nAuteur: admin',1,'invoice'),(11,NULL,1,'2010-07-10 14:58:53','2010-07-10 14:58:53',NULL,NULL,50,NULL,'Facture FA1007-0001 validée dans Dolibarr','2010-07-10 14:58:53','2011-07-18 17:29:22',1,NULL,NULL,9,NULL,0,NULL,NULL,1,0,0,1,100,'',NULL,NULL,'Facture FA1007-0001 validée dans Dolibarr\nAuteur: admin',1,'invoice'),(12,NULL,1,'2010-07-10 15:00:55','2010-07-10 15:00:55',NULL,NULL,50,NULL,'Facture FA1007-0001 passée à payée dans Dolibarr','2010-07-10 15:00:55','2011-07-18 17:29:22',1,NULL,NULL,9,NULL,0,NULL,NULL,1,0,0,1,100,'',NULL,NULL,'Facture FA1007-0001 passée à payée dans Dolibarr\nAuteur: admin',1,'invoice'),(13,NULL,1,'2010-07-10 15:13:08','2010-07-10 15:13:08',NULL,NULL,50,NULL,'Société Smith Vick ajoutée dans Dolibarr','2010-07-10 15:13:08','2010-07-10 13:13:08',1,NULL,NULL,10,NULL,0,NULL,NULL,1,0,0,1,100,'',NULL,NULL,'Société Smith Vick ajoutée dans Dolibarr\nAuteur: admin',NULL,NULL),(14,NULL,1,'2010-07-10 15:21:00','2010-07-10 16:21:00',NULL,NULL,5,NULL,'RDV avec mon chef','2010-07-10 15:21:48','2010-07-10 13:21:48',1,NULL,NULL,NULL,NULL,0,1,NULL,NULL,0,0,1,0,'',3600,NULL,'',NULL,NULL),(15,NULL,1,'2010-07-10 18:18:16','2010-07-10 18:18:16',NULL,NULL,50,NULL,'Contrat CONTRAT1 validé dans Dolibarr','2010-07-10 18:18:16','2010-07-10 16:18:16',1,NULL,NULL,2,NULL,0,NULL,NULL,1,0,0,1,100,'',NULL,NULL,'Contrat CONTRAT1 validé dans Dolibarr\nAuteur: admin',NULL,NULL),(16,NULL,1,'2010-07-10 18:35:57','2010-07-10 18:35:57',NULL,NULL,50,NULL,'Société Mon client ajoutée dans Dolibarr','2010-07-10 18:35:57','2010-07-10 16:35:57',1,NULL,NULL,11,NULL,0,NULL,NULL,1,0,0,1,100,'',NULL,NULL,'Société Mon client ajoutée dans Dolibarr\nAuteur: admin',NULL,NULL),(17,NULL,1,'2010-07-11 16:18:08','2010-07-11 16:18:08',NULL,NULL,50,NULL,'Société Dupont Alain ajoutée dans Dolibarr','2010-07-11 16:18:08','2010-07-11 14:18:08',1,NULL,NULL,12,NULL,0,NULL,NULL,1,0,0,1,100,'',NULL,NULL,'Société Dupont Alain ajoutée dans Dolibarr\nAuteur: admin',NULL,NULL),(18,NULL,1,'2010-07-11 17:11:00','2010-07-11 17:17:00',NULL,NULL,5,NULL,'Rendez-vous','2010-07-11 17:11:22','2010-07-11 15:11:22',1,NULL,NULL,NULL,NULL,0,1,NULL,NULL,0,0,1,0,'gfgdfgdf',360,NULL,'',NULL,NULL),(19,NULL,1,'2010-07-11 17:13:20','2010-07-11 17:13:20',NULL,NULL,50,NULL,'Société Vendeur de chips ajoutée dans Dolibarr','2010-07-11 17:13:20','2010-07-11 15:13:20',1,NULL,NULL,13,NULL,0,NULL,NULL,1,0,0,1,100,'',NULL,NULL,'Société Vendeur de chips ajoutée dans Dolibarr\nAuteur: admin',NULL,NULL),(20,NULL,1,'2010-07-11 17:15:42','2010-07-11 17:15:42',NULL,NULL,50,NULL,'Commande CF1007-0001 validée','2010-07-11 17:15:42','2010-07-11 15:15:42',1,NULL,NULL,13,NULL,0,NULL,NULL,1,0,0,1,100,'',NULL,NULL,'Commande CF1007-0001 validée\nAuteur: admin',NULL,NULL),(21,NULL,1,'2010-07-11 18:47:33','2010-07-11 18:47:33',NULL,NULL,50,NULL,'Commande CF1007-0002 validée','2010-07-11 18:47:33','2010-07-11 16:47:33',1,NULL,NULL,1,NULL,0,NULL,NULL,1,0,0,1,100,'',NULL,NULL,'Commande CF1007-0002 validée\nAuteur: admin',NULL,NULL),(22,NULL,1,'2010-07-18 11:36:18','2010-07-18 11:36:18',NULL,NULL,50,NULL,'Proposition PR1007-0003 validée','2010-07-18 11:36:18','2011-07-18 17:29:22',1,NULL,NULL,4,NULL,0,NULL,NULL,1,0,0,1,100,'',NULL,NULL,'Proposition PR1007-0003 validée\nAuteur: admin',3,'propal'),(23,NULL,1,'2011-07-18 20:49:58','2011-07-18 20:49:58',NULL,NULL,50,NULL,'Invoice FA1007-0002 validated in Dolibarr','2011-07-18 20:49:58','2011-07-18 18:49:58',1,NULL,NULL,2,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1007-0002 validated in Dolibarr\nAuthor: admin',2,'invoice'),(24,NULL,1,'2011-07-28 01:37:00',NULL,NULL,NULL,1,NULL,'Phone call','2011-07-28 01:37:48','2011-07-27 23:37:48',1,NULL,NULL,NULL,2,0,1,NULL,NULL,0,0,1,-1,'',NULL,NULL,'',NULL,NULL),(25,NULL,1,'2011-08-01 02:31:24','2011-08-01 02:31:24',NULL,NULL,50,NULL,'Company mmm added into Dolibarr','2011-08-01 02:31:24','2011-08-01 00:31:24',1,NULL,NULL,15,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Company mmm added into Dolibarr\nAuthor: admin',15,'societe'),(26,NULL,1,'2011-08-01 02:31:43','2011-08-01 02:31:43',NULL,NULL,50,NULL,'Company ppp added into Dolibarr','2011-08-01 02:31:43','2011-08-01 00:31:43',1,NULL,NULL,16,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Company ppp added into Dolibarr\nAuthor: admin',16,'societe'),(27,NULL,1,'2011-08-01 02:41:26','2011-08-01 02:41:26',NULL,NULL,50,NULL,'Company aaa added into Dolibarr','2011-08-01 02:41:26','2011-08-01 00:41:26',1,NULL,NULL,17,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Company aaa added into Dolibarr\nAuthor: admin',17,'societe'),(28,NULL,1,'2011-08-01 03:34:11','2011-08-01 03:34:11',NULL,NULL,50,NULL,'Invoice FA1108-0003 validated in Dolibarr','2011-08-01 03:34:11','2011-08-01 01:34:11',1,NULL,NULL,7,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1108-0003 validated in Dolibarr\nAuthor: admin',5,'invoice'),(29,NULL,1,'2011-08-01 03:34:11','2011-08-01 03:34:11',NULL,NULL,50,NULL,'Invoice FA1108-0003 validated in Dolibarr','2011-08-01 03:34:11','2011-08-01 01:34:11',1,NULL,NULL,7,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1108-0003 changed to paid in Dolibarr\nAuthor: admin',5,'invoice'),(30,NULL,1,'2011-08-06 20:33:54','2011-08-06 20:33:54',NULL,NULL,50,NULL,'Invoice FA1108-0004 validated in Dolibarr','2011-08-06 20:33:54','2011-08-06 18:33:54',1,NULL,NULL,7,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1108-0004 validated in Dolibarr\nAuthor: admin',6,'invoice'),(31,NULL,1,'2011-08-06 20:33:54','2011-08-06 20:33:54',NULL,NULL,50,NULL,'Invoice FA1108-0004 validated in Dolibarr','2011-08-06 20:33:54','2011-08-06 18:33:54',1,NULL,NULL,7,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1108-0004 changed to paid in Dolibarr\nAuthor: admin',6,'invoice'),(38,NULL,1,'2011-08-08 02:41:55','2011-08-08 02:41:55',NULL,NULL,50,NULL,'Invoice FA1108-0005 validated in Dolibarr','2011-08-08 02:41:55','2011-08-08 00:41:55',1,NULL,NULL,2,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1108-0005 validated in Dolibarr\nAuthor: admin',8,'invoice'),(40,NULL,1,'2011-08-08 02:53:40','2011-08-08 02:53:40',NULL,NULL,50,NULL,'Invoice FA1108-0005 changed to paid in Dolibarr','2011-08-08 02:53:40','2011-08-08 00:53:40',1,NULL,NULL,2,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1108-0005 changed to paid in Dolibarr\nAuthor: admin',8,'invoice'),(41,NULL,1,'2011-08-08 02:54:05','2011-08-08 02:54:05',NULL,NULL,50,NULL,'Invoice FA1007-0002 changed to paid in Dolibarr','2011-08-08 02:54:05','2011-08-08 00:54:05',1,NULL,NULL,2,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1007-0002 changed to paid in Dolibarr\nAuthor: admin',2,'invoice'),(42,NULL,1,'2011-08-08 02:55:04','2011-08-08 02:55:04',NULL,NULL,50,NULL,'Invoice FA1107-0006 validated in Dolibarr','2011-08-08 02:55:04','2011-08-08 00:55:04',1,NULL,NULL,10,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1107-0006 validated in Dolibarr\nAuthor: admin',3,'invoice'),(43,NULL,1,'2011-08-08 02:55:26','2011-08-08 02:55:26',NULL,NULL,50,NULL,'Invoice FA1108-0007 validated in Dolibarr','2011-08-08 02:55:26','2011-08-08 00:55:26',1,NULL,NULL,10,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1108-0007 validated in Dolibarr\nAuthor: admin',9,'invoice'),(44,NULL,1,'2011-08-08 02:55:58','2011-08-08 02:55:58',NULL,NULL,50,NULL,'Invoice FA1107-0006 changed to paid in Dolibarr','2011-08-08 02:55:58','2011-08-08 00:55:58',1,NULL,NULL,10,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1107-0006 changed to paid in Dolibarr\nAuthor: admin',3,'invoice'),(45,NULL,1,'2011-08-08 03:04:22','2011-08-08 03:04:22',NULL,NULL,50,NULL,'Order CO1108-0001 validated','2011-08-08 03:04:22','2011-08-08 01:04:22',1,NULL,NULL,1,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Order CO1108-0001 validated\nAuthor: admin',5,'order'),(46,NULL,1,'2011-08-08 13:59:09','2011-08-08 13:59:09',NULL,NULL,50,NULL,'Order CO1107-0002 validated','2011-08-08 13:59:10','2011-08-08 11:59:10',1,NULL,NULL,1,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Order CO1107-0002 validated\nAuthor: admin',1,'order'),(47,NULL,1,'2011-08-08 14:24:18','2011-08-08 14:24:18',NULL,NULL,50,NULL,'Proposal PR1007-0001 validated','2011-08-08 14:24:18','2011-08-08 12:24:18',1,NULL,NULL,2,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Proposal PR1007-0001 validated\nAuthor: admin',1,'propal'),(48,NULL,1,'2011-08-08 14:24:24','2011-08-08 14:24:24',NULL,NULL,50,NULL,'Proposal PR1108-0004 validated','2011-08-08 14:24:24','2011-08-08 12:24:24',1,NULL,NULL,17,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Proposal PR1108-0004 validated\nAuthor: admin',4,'propal'),(49,NULL,1,'2011-08-08 15:04:37','2011-08-08 15:04:37',NULL,NULL,50,NULL,'Order CF1108-0003 validated','2011-08-08 15:04:37','2011-08-08 13:04:37',1,NULL,NULL,17,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Order CF1108-0003 validated\nAuthor: admin',6,'order_supplier'),(50,NULL,1,'2012-12-08 17:56:47','2012-12-08 17:56:47',NULL,NULL,40,NULL,'Facture AV1212-0001 validée dans Dolibarr','2012-12-08 17:56:47','2012-12-08 16:56:47',1,NULL,NULL,10,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture AV1212-0001 validée dans Dolibarr\nAuteur: admin',10,'invoice'),(51,NULL,1,'2012-12-08 17:57:11','2012-12-08 17:57:11',NULL,NULL,40,NULL,'Facture AV1212-0001 validée dans Dolibarr','2012-12-08 17:57:11','2012-12-08 16:57:11',1,NULL,NULL,10,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture AV1212-0001 validée dans Dolibarr\nAuteur: admin',10,'invoice'),(52,NULL,1,'2012-12-08 17:58:27','2012-12-08 17:58:27',NULL,NULL,40,NULL,'Facture FA1212-0008 validée dans Dolibarr','2012-12-08 17:58:27','2012-12-08 16:58:27',1,NULL,NULL,10,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA1212-0008 validée dans Dolibarr\nAuteur: admin',11,'invoice'),(53,NULL,1,'2012-12-08 18:20:49','2012-12-08 18:20:49',NULL,NULL,40,NULL,'Facture AV1212-0002 validée dans Dolibarr','2012-12-08 18:20:49','2012-12-08 17:20:49',1,NULL,NULL,10,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture AV1212-0002 validée dans Dolibarr\nAuteur: admin',12,'invoice'),(54,NULL,1,'2012-12-09 18:35:07','2012-12-09 18:35:07',NULL,NULL,40,NULL,'Facture AV1212-0002 passée à payée dans Dolibarr','2012-12-09 18:35:07','2012-12-09 17:35:07',1,NULL,NULL,10,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture AV1212-0002 passée à payée dans Dolibarr\nAuteur: admin',12,'invoice'),(55,NULL,1,'2012-12-09 20:14:42','2012-12-09 20:14:42',NULL,NULL,40,NULL,'Société doe john ajoutée dans Dolibarr','2012-12-09 20:14:42','2012-12-09 19:14:42',1,NULL,NULL,18,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Société doe john ajoutée dans Dolibarr\nAuteur: admin',18,'societe'),(56,NULL,1,'2012-12-12 18:54:19','2012-12-12 18:54:19',NULL,NULL,40,NULL,'Facture FA1212-0009 validée dans Dolibarr','2012-12-12 18:54:19','2012-12-12 17:54:19',1,NULL,NULL,1,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA1212-0009 validée dans Dolibarr\nAuteur: admin',55,'invoice'),(121,NULL,1,'2012-12-06 10:00:00',NULL,NULL,NULL,50,NULL,'aaab','2012-12-21 17:48:08','2012-12-21 16:54:07',3,1,NULL,NULL,NULL,0,3,NULL,NULL,1,0,1,-1,NULL,NULL,NULL,NULL,NULL,NULL),(122,NULL,1,'2012-12-21 18:09:52','2012-12-21 18:09:52',NULL,NULL,40,NULL,'Facture client FA1007-0001 envoyée par EMail','2012-12-21 18:09:52','2012-12-21 17:09:52',1,NULL,NULL,9,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Mail envoyé par Firstname SuperAdminName à laurent@destailleur.fr.\nSujet du mail: Envoi facture FA1007-0001\nCorps du mail:\nVeuillez trouver ci-joint la facture FA1007-0001\r\n\r\nVous pouvez cliquer sur le lien sécurisé ci-dessous pour effectuer votre paiement via Paypal\r\n\r\nhttp://localhost/dolibarrnew/public/paypal/newpayment.php?source=invoice&ref=FA1007-0001&securekey=50c82fab36bb3b6aa83e2a50691803b2\r\n\r\nCordialement',1,'invoice'),(123,NULL,1,'2013-01-06 13:13:57','2013-01-06 13:13:57',NULL,NULL,40,NULL,'Facture 16 validée dans Dolibarr','2013-01-06 13:13:57','2013-01-06 12:13:57',1,NULL,NULL,1,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture 16 validée dans Dolibarr\nAuteur: admin',16,'invoice_supplier'),(124,NULL,1,'2013-01-12 12:23:05','2013-01-12 12:23:05',NULL,NULL,40,NULL,'Patient aaa ajouté','2013-01-12 12:23:05','2013-01-12 11:23:05',1,NULL,NULL,19,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Patient aaa ajouté\nAuteur: admin',19,'societe'),(125,NULL,1,'2013-01-12 12:52:20','2013-01-12 12:52:20',NULL,NULL,40,NULL,'Patient pppoo ajouté','2013-01-12 12:52:20','2013-01-12 11:52:20',1,NULL,NULL,20,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Patient pppoo ajouté\nAuteur: admin',20,'societe'),(127,NULL,1,'2013-01-19 18:22:48','2013-01-19 18:22:48',NULL,NULL,40,NULL,'Facture FS1301-0001 validée dans Dolibarr','2013-01-19 18:22:48','2013-01-19 17:22:48',1,NULL,NULL,1,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FS1301-0001 validée dans Dolibarr\nAuteur: admin',148,'invoice'),(128,NULL,1,'2013-01-19 18:31:10','2013-01-19 18:31:10',NULL,NULL,40,NULL,'Facture FA6801-0010 validée dans Dolibarr','2013-01-19 18:31:10','2013-01-19 17:31:10',1,NULL,NULL,1,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA6801-0010 validée dans Dolibarr\nAuteur: admin',150,'invoice'),(129,NULL,1,'2013-01-19 18:31:10','2013-01-19 18:31:10',NULL,NULL,40,NULL,'Facture FA6801-0010 passée à payée dans Dolibarr','2013-01-19 18:31:10','2013-01-19 17:31:10',1,NULL,NULL,1,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA6801-0010 passée à payée dans Dolibarr\nAuteur: admin',150,'invoice'),(130,NULL,1,'2013-01-19 18:31:58','2013-01-19 18:31:58',NULL,NULL,40,NULL,'Facture FS1301-0002 validée dans Dolibarr','2013-01-19 18:31:58','2013-01-19 17:31:58',1,NULL,NULL,1,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FS1301-0002 validée dans Dolibarr\nAuteur: admin',151,'invoice'),(131,NULL,1,'2013-01-19 18:31:58','2013-01-19 18:31:58',NULL,NULL,40,NULL,'Facture FS1301-0002 passée à payée dans Dolibarr','2013-01-19 18:31:58','2013-01-19 17:31:58',1,NULL,NULL,1,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FS1301-0002 passée à payée dans Dolibarr\nAuteur: admin',151,'invoice'),(132,NULL,1,'2013-01-23 15:07:54','2013-01-23 15:07:54',NULL,NULL,50,NULL,'Consultation 24 saisie (aaa)','2013-01-23 15:07:54','2013-01-23 14:07:54',1,NULL,NULL,19,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Consultation 24 saisie (aaa)\nAuteur: admin',24,'cabinetmed_cons'),(133,NULL,1,'2013-01-23 16:56:58','2013-01-23 16:56:58',NULL,NULL,40,NULL,'Patient pa ajouté','2013-01-23 16:56:58','2013-01-23 15:56:58',1,NULL,NULL,21,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Patient pa ajouté\nAuteur: admin',21,'societe'),(134,NULL,1,'2013-01-23 17:34:00',NULL,NULL,NULL,50,NULL,'bbcv','2013-01-23 17:35:21','2013-01-23 16:35:21',1,NULL,1,2,NULL,0,1,NULL,NULL,0,0,1,-1,'',NULL,NULL,'',NULL,NULL),(135,NULL,1,'2013-02-12 15:54:00','2013-02-12 15:54:00',NULL,NULL,40,NULL,'Facture FA1212-0011 validée dans Dolibarr','2013-02-12 15:54:37','2013-02-20 20:11:54',1,1,NULL,7,NULL,0,NULL,NULL,1,0,0,1,50,NULL,NULL,NULL,'Facture FA1212-0011 validée dans Dolibarr
\r\nAuteur: admin',13,'invoice'),(136,NULL,1,'2013-02-12 17:06:51','2013-02-12 17:06:51',NULL,NULL,40,NULL,'Commande CO1107-0003 validée','2013-02-12 17:06:51','2013-02-12 16:06:51',1,NULL,NULL,1,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Commande CO1107-0003 validée\nAuteur: admin',2,'order'),(137,NULL,1,'2013-02-17 16:22:10','2013-02-17 16:22:10',NULL,NULL,40,NULL,'Proposition PR1302-0009 validée','2013-02-17 16:22:10','2013-02-17 15:22:10',1,NULL,NULL,19,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Proposition PR1302-0009 validée\nAuteur: admin',9,'propal'),(138,NULL,1,'2013-02-17 16:27:00','2013-02-17 16:27:00',NULL,NULL,40,NULL,'Facture FA1302-0012 validée dans Dolibarr','2013-02-17 16:27:00','2013-02-17 15:27:00',1,NULL,NULL,18,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA1302-0012 validée dans Dolibarr\nAuteur: admin',152,'invoice'),(139,NULL,1,'2013-02-17 16:27:29','2013-02-17 16:27:29',NULL,NULL,40,NULL,'Proposition PR1302-0010 validée','2013-02-17 16:27:29','2013-02-17 15:27:29',1,NULL,NULL,18,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Proposition PR1302-0010 validée\nAuteur: admin',11,'propal'),(140,NULL,1,'2013-02-17 18:27:56','2013-02-17 18:27:56',NULL,NULL,40,NULL,'Commande CO1107-0004 validée','2013-02-17 18:27:56','2013-02-17 17:27:56',1,NULL,NULL,1,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Commande CO1107-0004 validée\nAuteur: admin',3,'order'),(141,NULL,1,'2013-02-17 18:38:14','2013-02-17 18:38:14',NULL,NULL,40,NULL,'Commande CO1302-0005 validée','2013-02-17 18:38:14','2013-02-17 17:38:14',1,NULL,NULL,18,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Commande CO1302-0005 validée\nAuteur: admin',7,'order'),(142,NULL,1,'2013-02-26 22:57:50','2013-02-26 22:57:50',NULL,NULL,40,NULL,'Company pppp added into Dolibarr','2013-02-26 22:57:50','2013-02-26 21:57:50',1,NULL,NULL,22,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Company pppp added into Dolibarr\nAuthor: admin',22,'societe'),(143,NULL,1,'2013-02-26 22:58:13','2013-02-26 22:58:13',NULL,NULL,40,NULL,'Company ttttt added into Dolibarr','2013-02-26 22:58:13','2013-02-26 21:58:13',1,NULL,NULL,23,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Company ttttt added into Dolibarr\nAuthor: admin',23,'societe'),(144,NULL,1,'2013-02-27 10:00:00','2013-02-27 19:20:00',NULL,NULL,5,NULL,'Rendez-vous','2013-02-27 19:20:53','2013-02-27 18:20:53',1,NULL,NULL,NULL,NULL,0,1,NULL,1,0,0,1,-1,'',33600,NULL,'',NULL,NULL),(145,NULL,1,'2013-02-27 19:28:00',NULL,NULL,NULL,2,NULL,'fdsfsd','2013-02-27 19:28:48','2013-02-27 18:29:53',1,1,NULL,NULL,NULL,0,1,NULL,1,0,0,1,-1,NULL,NULL,NULL,NULL,NULL,NULL),(146,NULL,1,'2013-03-06 10:05:07','2013-03-06 10:05:07',NULL,NULL,40,NULL,'Contrat (PROV3) validé dans Dolibarr','2013-03-06 10:05:07','2013-03-06 09:05:07',1,NULL,NULL,19,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Contrat (PROV3) validé dans Dolibarr\nAuteur: admin',3,'contract'),(147,NULL,1,'2013-03-06 16:43:37','2013-03-06 16:43:37',NULL,NULL,40,NULL,'Facture FA1307-0013 validée dans Dolibarr','2013-03-06 16:43:37','2013-03-06 15:43:37',1,NULL,NULL,12,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA1307-0013 validée dans Dolibarr\nAuteur: admin',158,'invoice'),(148,NULL,1,'2013-03-06 16:44:12','2013-03-06 16:44:12',NULL,NULL,40,NULL,'Facture FA1407-0014 validée dans Dolibarr','2013-03-06 16:44:12','2013-03-06 15:44:12',1,NULL,NULL,12,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA1407-0014 validée dans Dolibarr\nAuteur: admin',159,'invoice'),(149,NULL,1,'2013-03-06 16:47:48','2013-03-06 16:47:48',NULL,NULL,40,NULL,'Facture FA1507-0015 validée dans Dolibarr','2013-03-06 16:47:48','2013-03-06 15:47:48',1,NULL,NULL,12,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA1507-0015 validée dans Dolibarr\nAuteur: admin',160,'invoice'),(150,NULL,1,'2013-03-06 16:48:16','2013-03-06 16:48:16',NULL,NULL,40,NULL,'Facture FA1607-0016 validée dans Dolibarr','2013-03-06 16:48:16','2013-03-06 15:48:16',1,NULL,NULL,12,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA1607-0016 validée dans Dolibarr\nAuteur: admin',161,'invoice'),(151,NULL,1,'2013-03-06 17:13:59','2013-03-06 17:13:59',NULL,NULL,40,NULL,'Société smith smith ajoutée dans Dolibarr','2013-03-06 17:13:59','2013-03-06 16:13:59',1,NULL,NULL,24,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Société smith smith ajoutée dans Dolibarr\nAuteur: admin',24,'societe'),(152,NULL,1,'2013-03-08 10:02:22','2013-03-08 10:02:22',NULL,NULL,40,NULL,'Proposition (PROV12) validée dans Dolibarr','2013-03-08 10:02:22','2013-03-08 09:02:22',1,NULL,NULL,23,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Proposition (PROV12) validée dans Dolibarr\nAuteur: admin',12,'propal'),(203,NULL,1,'2013-03-09 19:39:27','2013-03-09 19:39:27',NULL,NULL,40,'AC_ORDER_SUPPLIER_VALIDATE','Commande CF1303-0004 validée','2013-03-09 19:39:27','2013-03-09 18:39:27',1,NULL,NULL,1,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Commande CF1303-0004 validée\nAuteur: admin',13,'order_supplier'),(204,NULL,1,'2013-03-10 15:47:37','2013-03-10 15:47:37',NULL,NULL,40,'AC_COMPANY_CREATE','Patient créé','2013-03-10 15:47:37','2013-03-10 14:47:37',1,NULL,NULL,25,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Patient créé\nAuteur: admin',25,'societe'),(205,NULL,1,'2013-03-10 15:57:32','2013-03-10 15:57:32',NULL,NULL,40,'AC_COMPANY_CREATE','Tiers créé','2013-03-10 15:57:32','2013-03-10 14:57:32',1,NULL,NULL,26,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Tiers créé\nAuteur: admin',26,'societe'),(206,NULL,1,'2013-03-10 15:58:28','2013-03-10 15:58:28',NULL,NULL,40,'AC_BILL_VALIDATE','Facture FA1303-0017 validée','2013-03-10 15:58:28','2013-03-10 14:58:28',1,NULL,NULL,26,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA1303-0017 validée\nAuteur: admin',208,'invoice'),(207,NULL,1,'2013-03-19 09:38:10','2013-03-19 09:38:10',NULL,NULL,40,'AC_BILL_VALIDATE','Facture FA1303-0018 validée','2013-03-19 09:38:10','2013-03-19 08:38:10',1,NULL,NULL,19,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA1303-0018 validée\nAuteur: admin',209,'invoice'),(208,NULL,1,'2013-03-20 14:30:11','2013-03-20 14:30:11',NULL,NULL,40,'AC_BILL_VALIDATE','Facture FA1107-0019 validée','2013-03-20 14:30:11','2013-03-20 13:30:11',1,NULL,NULL,10,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA1107-0019 validée\nAuteur: admin',210,'invoice'),(209,NULL,1,'2013-03-22 09:40:25','2013-03-22 09:40:25',NULL,NULL,40,'AC_BILL_VALIDATE','Facture FA1303-0020 validée','2013-03-22 09:40:25','2013-03-22 08:40:25',1,NULL,NULL,19,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA1303-0020 validée\nAuteur: admin',211,'invoice'),(210,NULL,1,'2013-03-23 17:16:25','2013-03-23 17:16:25',NULL,NULL,40,'AC_BILL_VALIDATE','Facture FA1303-0020 validée','2013-03-23 17:16:25','2013-03-23 16:16:25',1,NULL,NULL,19,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA1303-0020 validée\nAuteur: admin',211,'invoice'),(211,NULL,1,'2013-03-23 18:08:27','2013-03-23 18:08:27',NULL,NULL,40,'AC_BILL_VALIDATE','Facture FA1307-0013 validée','2013-03-23 18:08:27','2013-03-23 17:08:27',1,NULL,NULL,12,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA1307-0013 validée\nAuteur: admin',158,'invoice'),(212,NULL,1,'2013-03-24 15:54:00','2013-03-24 15:54:00',NULL,NULL,40,'AC_BILL_VALIDATE','Facture FA1212-0021 validée','2013-03-24 15:54:00','2013-03-24 14:54:00',1,NULL,NULL,1,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA1212-0021 validée\nAuteur: admin',32,'invoice'),(213,NULL,1,'2013-11-07 01:02:39','2013-11-07 01:02:39',NULL,NULL,40,'AC_COMPANY_CREATE','Third party created','2013-11-07 01:02:39','2013-11-07 00:02:39',1,NULL,NULL,27,NULL,0,NULL,0,1,0,0,1,-1,'',NULL,NULL,'Third party created\nAuthor: admin',27,'societe'),(214,NULL,1,'2013-11-07 01:05:22','2013-11-07 01:05:22',NULL,NULL,40,'AC_COMPANY_CREATE','Third party created','2013-11-07 01:05:22','2013-11-07 00:05:22',1,NULL,NULL,28,NULL,0,NULL,0,1,0,0,1,-1,'',NULL,NULL,'Third party created\nAuthor: admin',28,'societe'),(215,NULL,1,'2013-11-07 01:07:07','2013-11-07 01:07:07',NULL,NULL,40,'AC_COMPANY_CREATE','Third party created','2013-11-07 01:07:07','2013-11-07 00:07:07',1,NULL,NULL,29,NULL,0,NULL,0,1,0,0,1,-1,'',NULL,NULL,'Third party created\nAuthor: admin',29,'societe'),(216,NULL,1,'2013-11-07 01:07:58','2013-11-07 01:07:58',NULL,NULL,40,'AC_COMPANY_CREATE','Third party created','2013-11-07 01:07:58','2013-11-07 00:07:58',1,NULL,NULL,30,NULL,0,NULL,0,1,0,0,1,-1,'',NULL,NULL,'Third party created\nAuthor: admin',30,'societe'),(217,NULL,1,'2013-11-07 01:10:09','2013-11-07 01:10:09',NULL,NULL,40,'AC_COMPANY_CREATE','Third party created','2013-11-07 01:10:09','2013-11-07 00:10:09',1,NULL,NULL,31,NULL,0,NULL,0,1,0,0,1,-1,'',NULL,NULL,'Third party created\nAuthor: admin',31,'societe'),(218,NULL,1,'2013-11-07 01:15:57','2013-11-07 01:15:57',NULL,NULL,40,'AC_COMPANY_CREATE','Third party created','2013-11-07 01:15:57','2013-11-07 00:15:57',1,NULL,NULL,32,NULL,0,NULL,0,1,0,0,1,-1,'',NULL,NULL,'Third party created\nAuthor: admin',32,'societe'),(219,NULL,1,'2013-11-07 01:16:51','2013-11-07 01:16:51',NULL,NULL,40,'AC_COMPANY_CREATE','Third party created','2013-11-07 01:16:51','2013-11-07 00:16:51',1,NULL,NULL,33,NULL,0,NULL,0,1,0,0,1,-1,'',NULL,NULL,'Third party created\nAuthor: admin',33,'societe'); +/*!40000 ALTER TABLE `llx_actioncomm` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_actioncomm_extrafields` +-- + +DROP TABLE IF EXISTS `llx_actioncomm_extrafields`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_actioncomm_extrafields` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_object` int(11) NOT NULL, + `import_key` varchar(14) DEFAULT NULL, + PRIMARY KEY (`rowid`), + KEY `idx_actioncomm_extrafields` (`fk_object`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_actioncomm_extrafields` +-- + +LOCK TABLES `llx_actioncomm_extrafields` WRITE; +/*!40000 ALTER TABLE `llx_actioncomm_extrafields` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_actioncomm_extrafields` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_actioncomm_resources` +-- + +DROP TABLE IF EXISTS `llx_actioncomm_resources`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_actioncomm_resources` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_actioncomm` int(11) NOT NULL, + `element_type` varchar(50) NOT NULL, + `fk_element` int(11) NOT NULL, + `answer_status` varchar(50) DEFAULT NULL, + `mandatory` smallint(6) DEFAULT NULL, + `transparent` smallint(6) DEFAULT NULL, + PRIMARY KEY (`rowid`), + UNIQUE KEY `idx_actioncomm_resources_idx1` (`fk_actioncomm`,`element_type`,`fk_element`), + KEY `idx_actioncomm_resources_fk_element` (`fk_element`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_actioncomm_resources` +-- + +LOCK TABLES `llx_actioncomm_resources` WRITE; +/*!40000 ALTER TABLE `llx_actioncomm_resources` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_actioncomm_resources` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_adherent` +-- + +DROP TABLE IF EXISTS `llx_adherent`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_adherent` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `entity` int(11) NOT NULL DEFAULT '1', + `ref_ext` varchar(128) DEFAULT NULL, + `civilite` varchar(6) DEFAULT NULL, + `lastname` varchar(50) DEFAULT NULL, + `firstname` varchar(50) DEFAULT NULL, + `login` varchar(50) DEFAULT NULL, + `pass` varchar(50) DEFAULT NULL, + `fk_adherent_type` int(11) NOT NULL, + `morphy` varchar(3) NOT NULL, + `societe` varchar(50) DEFAULT NULL, + `fk_soc` int(11) DEFAULT NULL, + `address` text, + `zip` varchar(10) DEFAULT NULL, + `town` varchar(50) DEFAULT NULL, + `state_id` varchar(50) DEFAULT NULL, + `country` varchar(50) DEFAULT NULL, + `email` varchar(255) DEFAULT NULL, + `skype` varchar(255) DEFAULT NULL, + `phone` varchar(30) DEFAULT NULL, + `phone_perso` varchar(30) DEFAULT NULL, + `phone_mobile` varchar(30) DEFAULT NULL, + `birth` date DEFAULT NULL, + `photo` varchar(255) DEFAULT NULL, + `statut` smallint(6) NOT NULL DEFAULT '0', + `public` smallint(6) NOT NULL DEFAULT '0', + `datefin` datetime DEFAULT NULL, + `note` text, + `datevalid` datetime DEFAULT NULL, + `datec` datetime DEFAULT NULL, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_user_author` int(11) DEFAULT NULL, + `fk_user_mod` int(11) DEFAULT NULL, + `fk_user_valid` int(11) DEFAULT NULL, + `canvas` varchar(32) DEFAULT NULL, + `import_key` varchar(14) DEFAULT NULL, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_adherent_login` (`login`,`entity`), + UNIQUE KEY `uk_adherent_fk_soc` (`fk_soc`), + KEY `idx_adherent_fk_adherent_type` (`fk_adherent_type`), + CONSTRAINT `adherent_fk_soc` FOREIGN KEY (`fk_soc`) REFERENCES `llx_societe` (`rowid`), + CONSTRAINT `fk_adherent_adherent_type` FOREIGN KEY (`fk_adherent_type`) REFERENCES `llx_adherent_type` (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_adherent` +-- + +LOCK TABLES `llx_adherent` WRITE; +/*!40000 ALTER TABLE `llx_adherent` DISABLE KEYS */; +INSERT INTO `llx_adherent` VALUES (1,1,NULL,NULL,'Smith','Vick','vsmith','vsx1n8tf',2,'phy',NULL,10,NULL,NULL,NULL,NULL,'102','vsmith@email.com',NULL,NULL,NULL,NULL,'1960-07-07',NULL,1,0,'2012-07-09 00:00:00',NULL,'2010-07-10 15:12:56','2010-07-08 23:50:00','2013-03-20 13:30:11',1,1,1,NULL,NULL),(2,1,NULL,NULL,'Dupont','Alain','adupont','adupont',2,'phy',NULL,12,NULL,NULL,NULL,NULL,'1','toto@aa.com',NULL,NULL,NULL,NULL,'1972-07-08',NULL,1,1,'2017-07-17 00:00:00',NULL,'2010-07-10 15:03:32','2010-07-10 15:03:09','2013-03-06 15:48:16',1,1,1,NULL,NULL),(3,1,NULL,NULL,'john','doe','john','8bs6gty5',2,'phy',NULL,18,NULL,NULL,NULL,NULL,'1','johndoe@email.com',NULL,NULL,NULL,NULL,NULL,NULL,1,0,NULL,NULL,'2011-07-18 21:28:00','2011-07-18 21:10:09','2012-12-09 19:14:42',1,1,1,NULL,NULL),(4,1,NULL,NULL,'smith','smith','Smith','s6hjp10f',2,'phy',NULL,24,NULL,NULL,NULL,NULL,'11','smith@email.com',NULL,NULL,NULL,NULL,NULL,NULL,1,0,NULL,NULL,'2011-07-18 21:27:52','2011-07-18 21:27:44','2013-03-06 16:13:59',1,1,1,NULL,NULL); +/*!40000 ALTER TABLE `llx_adherent` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_adherent_extrafields` +-- + +DROP TABLE IF EXISTS `llx_adherent_extrafields`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_adherent_extrafields` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_object` int(11) NOT NULL, + `zzz` varchar(125) DEFAULT NULL, + `aaa` varchar(255) DEFAULT NULL, + `sssss` varchar(255) DEFAULT NULL, + `import_key` varchar(14) DEFAULT NULL, + PRIMARY KEY (`rowid`), + KEY `idx_adherent_options` (`fk_object`), + KEY `idx_adherent_extrafields` (`fk_object`) +) ENGINE=InnoDB AUTO_INCREMENT=64 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_adherent_extrafields` +-- + +LOCK TABLES `llx_adherent_extrafields` WRITE; +/*!40000 ALTER TABLE `llx_adherent_extrafields` DISABLE KEYS */; +INSERT INTO `llx_adherent_extrafields` VALUES (2,'2011-06-19 12:03:23',12,'aaa',NULL,NULL,NULL),(3,'2011-06-19 14:19:32',13,NULL,NULL,NULL,NULL),(8,'2011-06-19 18:08:09',7,'zzz',NULL,NULL,NULL),(34,'2011-06-22 10:06:51',14,'moo',NULL,NULL,NULL),(37,'2011-06-22 10:43:55',16,'z',NULL,NULL,NULL),(40,'2011-06-22 10:55:37',17,NULL,NULL,NULL,NULL),(41,'2011-06-22 10:56:07',18,'l',NULL,NULL,NULL),(43,'2011-06-23 07:40:56',19,NULL,NULL,NULL,NULL),(44,'2011-06-26 18:13:20',20,'gdfgdf',NULL,NULL,NULL),(46,'2011-06-26 19:29:23',22,'gdfgdf',NULL,NULL,NULL),(47,'2011-07-03 16:17:56',23,NULL,NULL,NULL,NULL),(48,'2011-07-03 16:21:05',24,NULL,NULL,NULL,NULL),(49,'2011-07-03 16:30:54',25,NULL,NULL,NULL,NULL),(50,'2011-07-03 16:48:13',26,NULL,NULL,NULL,NULL),(51,'2011-07-03 16:51:36',27,NULL,NULL,NULL,NULL),(52,'2011-07-03 16:53:37',28,NULL,NULL,NULL,NULL),(53,'2011-07-03 16:54:24',29,NULL,NULL,NULL,NULL),(54,'2011-07-05 08:21:35',30,NULL,NULL,NULL,NULL),(55,'2011-07-05 08:26:15',31,NULL,NULL,NULL,NULL),(59,'2011-07-13 11:18:55',46,NULL,NULL,NULL,NULL),(61,'2011-07-13 11:50:36',47,NULL,NULL,NULL,NULL),(62,'2011-07-18 19:10:09',3,NULL,NULL,NULL,NULL),(63,'2011-07-18 19:27:44',4,NULL,NULL,NULL,NULL); +/*!40000 ALTER TABLE `llx_adherent_extrafields` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_adherent_type` +-- + +DROP TABLE IF EXISTS `llx_adherent_type`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_adherent_type` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `entity` int(11) NOT NULL DEFAULT '1', + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `statut` smallint(6) NOT NULL DEFAULT '0', + `libelle` varchar(50) NOT NULL, + `cotisation` varchar(3) NOT NULL DEFAULT 'yes', + `vote` varchar(3) NOT NULL DEFAULT 'yes', + `note` text, + `mail_valid` text, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_adherent_type_libelle` (`libelle`,`entity`) +) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_adherent_type` +-- + +LOCK TABLES `llx_adherent_type` WRITE; +/*!40000 ALTER TABLE `llx_adherent_type` DISABLE KEYS */; +INSERT INTO `llx_adherent_type` VALUES (1,1,'2010-07-08 21:41:55',1,'Board members','1','1','','
'),(2,1,'2010-07-08 21:41:43',1,'Standard members','1','0','','
'); +/*!40000 ALTER TABLE `llx_adherent_type` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_adherent_type_extrafields` +-- + +DROP TABLE IF EXISTS `llx_adherent_type_extrafields`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_adherent_type_extrafields` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_object` int(11) NOT NULL, + `import_key` varchar(14) DEFAULT NULL, + PRIMARY KEY (`rowid`), + KEY `idx_adherent_type_extrafields` (`fk_object`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_adherent_type_extrafields` +-- + +LOCK TABLES `llx_adherent_type_extrafields` WRITE; +/*!40000 ALTER TABLE `llx_adherent_type_extrafields` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_adherent_type_extrafields` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_advanced_extrafields` +-- + +DROP TABLE IF EXISTS `llx_advanced_extrafields`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_advanced_extrafields` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `entity` int(11) NOT NULL DEFAULT '1', + `elementtype` varchar(64) NOT NULL, + `name` varchar(64) NOT NULL, + `label` varchar(64) NOT NULL, + `format` varchar(8) NOT NULL, + `fieldsize` int(11) DEFAULT NULL, + `maxlength` int(11) DEFAULT NULL, + `options` varchar(255) DEFAULT NULL, + `rang` int(11) DEFAULT NULL, + PRIMARY KEY (`rowid`), + UNIQUE KEY `idx_advanced_extrafields_name` (`elementtype`,`entity`,`name`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_advanced_extrafields` +-- + +LOCK TABLES `llx_advanced_extrafields` WRITE; +/*!40000 ALTER TABLE `llx_advanced_extrafields` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_advanced_extrafields` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_advanced_extrafields_options` +-- + +DROP TABLE IF EXISTS `llx_advanced_extrafields_options`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_advanced_extrafields_options` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_extrafields` int(11) NOT NULL, + `value` varchar(255) NOT NULL, + `rang` int(11) DEFAULT NULL, + PRIMARY KEY (`rowid`), + KEY `idx_advanced_extrafields_options_fk_advanced_extrafields` (`fk_extrafields`), + CONSTRAINT `fk_advanced_extrafields_options_fk_advanced_extrafields` FOREIGN KEY (`fk_extrafields`) REFERENCES `llx_advanced_extrafields` (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_advanced_extrafields_options` +-- + +LOCK TABLES `llx_advanced_extrafields_options` WRITE; +/*!40000 ALTER TABLE `llx_advanced_extrafields_options` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_advanced_extrafields_options` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_advanced_extrafields_values` +-- + +DROP TABLE IF EXISTS `llx_advanced_extrafields_values`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_advanced_extrafields_values` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `entity` int(11) NOT NULL DEFAULT '1', + `datec` datetime DEFAULT NULL, + `datem` datetime DEFAULT NULL, + `fk_element` int(11) NOT NULL, + `fk_extrafields` int(11) NOT NULL, + `value` varchar(255) DEFAULT NULL, + `fk_user_create` int(11) DEFAULT NULL, + `fk_user_modif` int(11) DEFAULT NULL, + PRIMARY KEY (`rowid`), + KEY `idx_advanced_extrafields_values_fk_advanced_extrafields` (`fk_extrafields`,`entity`), + CONSTRAINT `fk_advanced_extrafields_values_fk_advanced_extrafields` FOREIGN KEY (`fk_extrafields`) REFERENCES `llx_advanced_extrafields` (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_advanced_extrafields_values` +-- + +LOCK TABLES `llx_advanced_extrafields_values` WRITE; +/*!40000 ALTER TABLE `llx_advanced_extrafields_values` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_advanced_extrafields_values` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_bank` +-- + +DROP TABLE IF EXISTS `llx_bank`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_bank` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `datec` datetime DEFAULT NULL, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `datev` date DEFAULT NULL, + `dateo` date DEFAULT NULL, + `amount` double(24,8) NOT NULL DEFAULT '0.00000000', + `label` varchar(255) DEFAULT NULL, + `fk_account` int(11) DEFAULT NULL, + `fk_user_author` int(11) DEFAULT NULL, + `fk_user_rappro` int(11) DEFAULT NULL, + `fk_type` varchar(6) DEFAULT NULL, + `num_releve` varchar(50) DEFAULT NULL, + `num_chq` varchar(50) DEFAULT NULL, + `rappro` tinyint(4) DEFAULT '0', + `note` text, + `fk_bordereau` int(11) DEFAULT '0', + `banque` varchar(255) DEFAULT NULL, + `emetteur` varchar(255) DEFAULT NULL, + `author` varchar(40) DEFAULT NULL, + PRIMARY KEY (`rowid`), + KEY `idx_bank_datev` (`datev`), + KEY `idx_bank_dateo` (`dateo`), + KEY `idx_bank_fk_account` (`fk_account`), + KEY `idx_bank_rappro` (`rappro`) +) ENGINE=InnoDB AUTO_INCREMENT=24 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_bank` +-- + +LOCK TABLES `llx_bank` WRITE; +/*!40000 ALTER TABLE `llx_bank` DISABLE KEYS */; +INSERT INTO `llx_bank` VALUES (1,'2010-07-08 23:56:14','2013-03-07 21:28:51','2010-07-08','2010-07-08',2000.00000000,'(Initial balance)',1,NULL,1,'SOLD','201210',NULL,1,NULL,0,NULL,NULL,NULL),(2,'2010-07-09 00:00:24','0000-00-00 00:00:00','2010-07-09','2010-07-09',500.00000000,'(Initial balance)',2,NULL,NULL,'SOLD',NULL,NULL,0,NULL,0,NULL,NULL,NULL),(3,'2010-07-10 13:33:42','0000-00-00 00:00:00','2010-07-10','2010-07-10',0.00000000,'(Solde initial)',3,NULL,NULL,'SOLD',NULL,NULL,0,NULL,0,NULL,NULL,NULL),(4,'2010-07-10 14:59:41','0000-00-00 00:00:00','2010-07-10','2010-07-10',0.02000000,'(CustomerInvoicePayment)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,'Client salon invidivdu',NULL),(5,'2011-07-18 20:50:24','0000-00-00 00:00:00','2011-07-08','2011-07-08',20.00000000,'(CustomerInvoicePayment)',1,1,NULL,'CB','201107',NULL,1,NULL,0,NULL,NULL,NULL),(6,'2011-07-18 20:50:47','0000-00-00 00:00:00','2011-07-08','2011-07-08',10.00000000,'(CustomerInvoicePayment)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL),(8,'2011-08-01 03:34:11','2013-03-07 21:28:51','2011-08-01','2011-08-01',5.63000000,'(CustomerInvoicePayment)',1,1,1,'CB','201210',NULL,1,NULL,0,NULL,NULL,NULL),(12,'2011-08-05 23:11:37','2013-03-07 21:33:57','2011-08-05','2011-08-05',-10.00000000,'(SocialContributionPayment)',1,1,1,'VIR','201210',NULL,1,NULL,0,NULL,NULL,NULL),(13,'2011-08-06 20:33:54','0000-00-00 00:00:00','2011-08-06','2011-08-06',5.98000000,'(CustomerInvoicePayment)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL),(14,'2011-08-08 02:53:40','0000-00-00 00:00:00','2011-08-08','2011-08-08',26.10000000,'(CustomerInvoicePayment)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL),(15,'2011-08-08 02:55:58','2013-03-07 21:39:20','2011-08-08','2011-08-08',26.96000000,'(CustomerInvoicePayment)',1,1,1,'TIP','201211',NULL,1,NULL,0,NULL,NULL,NULL),(16,'2012-12-09 15:28:44','2012-12-09 14:28:44','2012-12-09','2012-12-09',2.00000000,'(CustomerInvoicePayment)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL),(17,'2012-12-09 15:28:53','2012-12-09 14:33:07','2012-12-09','2012-12-09',-2.00000000,'(CustomerInvoicePaymentBack)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL),(18,'2012-12-09 17:35:55','2012-12-09 16:35:55','2012-12-09','2012-12-09',-2.00000000,'(CustomerInvoicePaymentBack)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL),(19,'2012-12-09 17:37:02','2012-12-09 16:37:02','2012-12-09','2012-12-09',2.00000000,'(CustomerInvoicePayment)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL),(20,'2012-12-09 18:35:07','2012-12-09 17:35:07','2012-12-09','2012-12-09',-2.00000000,'(CustomerInvoicePaymentBack)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL),(21,'2012-12-12 18:54:33','2013-03-07 21:28:51','2012-12-12','2012-12-12',1.00000000,'(CustomerInvoicePayment)',1,1,1,'TIP','201210',NULL,1,NULL,0,NULL,NULL,NULL),(22,'2013-03-06 16:48:16','2013-03-06 15:48:16','2013-03-06','2013-03-06',20.00000000,'(SubscriptionPayment)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL),(23,'2013-03-20 14:30:11','2013-03-20 13:30:11','2013-03-20','2013-03-20',10.00000000,'(SubscriptionPayment)',1,1,NULL,'VIR',NULL,NULL,0,NULL,0,NULL,NULL,NULL); +/*!40000 ALTER TABLE `llx_bank` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_bank_account` +-- + +DROP TABLE IF EXISTS `llx_bank_account`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_bank_account` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `datec` datetime DEFAULT NULL, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `ref` varchar(12) NOT NULL, + `label` varchar(30) NOT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + `bank` varchar(60) DEFAULT NULL, + `code_banque` varchar(8) DEFAULT NULL, + `code_guichet` varchar(6) DEFAULT NULL, + `number` varchar(255) DEFAULT NULL, + `cle_rib` varchar(5) DEFAULT NULL, + `bic` varchar(11) DEFAULT NULL, + `iban_prefix` varchar(34) DEFAULT NULL, + `country_iban` varchar(2) DEFAULT NULL, + `cle_iban` varchar(2) DEFAULT NULL, + `domiciliation` varchar(255) DEFAULT NULL, + `state_id` varchar(50) DEFAULT NULL, + `fk_pays` int(11) NOT NULL, + `proprio` varchar(60) DEFAULT NULL, + `owner_address` text, + `courant` smallint(6) NOT NULL DEFAULT '0', + `clos` smallint(6) NOT NULL DEFAULT '0', + `rappro` smallint(6) DEFAULT '1', + `url` varchar(128) DEFAULT NULL, + `account_number` varchar(8) DEFAULT NULL, + `currency_code` varchar(3) NOT NULL, + `min_allowed` int(11) DEFAULT '0', + `min_desired` int(11) DEFAULT '0', + `comment` text, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_bank_account_label` (`label`,`entity`) +) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_bank_account` +-- + +LOCK TABLES `llx_bank_account` WRITE; +/*!40000 ALTER TABLE `llx_bank_account` DISABLE KEYS */; +INSERT INTO `llx_bank_account` VALUES (1,'2010-07-08 23:56:14','2014-03-02 15:39:52','SWIBAC','Swiss bank account',1,'TresorGold Bank','','','123456789','','','',NULL,NULL,'21 jum street',NULL,169,'Mac Golder','11 big road,\r\nSan Francisco',1,0,1,NULL,'','EUR',1500,1500,''),(2,'2010-07-09 00:00:24','2013-03-24 14:50:40','SWIBAC2','Swiss bank account 2',1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,169,NULL,NULL,1,1,1,NULL,'','EUR',200,400,''),(3,'2010-07-10 13:33:42','2010-07-10 11:33:42','ACCOUNTCASH','Account for cash',1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3',1,NULL,NULL,2,0,1,NULL,'','EUR',0,0,'
'); +/*!40000 ALTER TABLE `llx_bank_account` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_bank_categ` +-- + +DROP TABLE IF EXISTS `llx_bank_categ`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_bank_categ` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `label` varchar(255) DEFAULT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_bank_categ` +-- + +LOCK TABLES `llx_bank_categ` WRITE; +/*!40000 ALTER TABLE `llx_bank_categ` DISABLE KEYS */; +INSERT INTO `llx_bank_categ` VALUES (1,'Bank category one',1),(2,'Bank category two',1); +/*!40000 ALTER TABLE `llx_bank_categ` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_bank_class` +-- + +DROP TABLE IF EXISTS `llx_bank_class`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_bank_class` ( + `lineid` int(11) NOT NULL, + `fk_categ` int(11) NOT NULL, + UNIQUE KEY `uk_bank_class_lineid` (`lineid`,`fk_categ`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_bank_class` +-- + +LOCK TABLES `llx_bank_class` WRITE; +/*!40000 ALTER TABLE `llx_bank_class` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_bank_class` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_bank_url` +-- + +DROP TABLE IF EXISTS `llx_bank_url`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_bank_url` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_bank` int(11) DEFAULT NULL, + `url_id` int(11) DEFAULT NULL, + `url` varchar(255) DEFAULT NULL, + `label` varchar(255) DEFAULT NULL, + `type` varchar(20) NOT NULL, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_bank_url` (`fk_bank`,`type`) +) ENGINE=InnoDB AUTO_INCREMENT=41 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_bank_url` +-- + +LOCK TABLES `llx_bank_url` WRITE; +/*!40000 ALTER TABLE `llx_bank_url` DISABLE KEYS */; +INSERT INTO `llx_bank_url` VALUES (1,4,1,'/dolibarrnew/compta/paiement/fiche.php?id=','(paiement)','payment'),(2,4,9,'/dolibarrnew/compta/fiche.php?socid=','Client salon invidivdu','company'),(3,5,2,'/compta/paiement/fiche.php?id=','(paiement)','payment'),(4,5,2,'/comm/fiche.php?socid=','Belin SARL','company'),(5,6,3,'/compta/paiement/fiche.php?id=','(paiement)','payment'),(6,6,2,'/comm/fiche.php?socid=','Belin SARL','company'),(9,8,5,'/compta/paiement/fiche.php?id=','(paiement)','payment'),(10,8,7,'/comm/fiche.php?socid=','Generic customer','company'),(17,12,4,'/compta/payment_sc/fiche.php?id=','(paiement)','payment_sc'),(18,12,4,'/compta/charges.php?id=','Assurance Chomage (fff)','sc'),(19,13,6,'/dolibarrnew/compta/paiement/fiche.php?id=','(paiement)','payment'),(20,13,7,'/dolibarrnew/comm/fiche.php?socid=','Generic customer','company'),(21,14,8,'/compta/paiement/fiche.php?id=','(paiement)','payment'),(22,14,2,'/comm/fiche.php?socid=','Belin SARL','company'),(23,15,9,'/compta/paiement/fiche.php?id=','(paiement)','payment'),(24,15,10,'/comm/fiche.php?socid=','Smith Vick','company'),(25,16,17,'/dolibarrnew/compta/paiement/fiche.php?id=','(paiement)','payment'),(26,16,10,'/dolibarrnew/comm/fiche.php?socid=','Smith Vick','company'),(27,17,18,'/dolibarrnew/compta/paiement/fiche.php?id=','(paiement)','payment'),(28,17,10,'/dolibarrnew/comm/fiche.php?socid=','Smith Vick','company'),(29,18,19,'/dolibarrnew/compta/paiement/fiche.php?id=','(paiement)','payment'),(30,18,10,'/dolibarrnew/comm/fiche.php?socid=','Smith Vick','company'),(31,19,20,'/dolibarrnew/compta/paiement/fiche.php?id=','(paiement)','payment'),(32,19,10,'/dolibarrnew/comm/fiche.php?socid=','Smith Vick','company'),(33,20,21,'/dolibarrnew/compta/paiement/fiche.php?id=','(paiement)','payment'),(34,20,10,'/dolibarrnew/comm/fiche.php?socid=','Smith Vick','company'),(35,21,23,'/compta/paiement/fiche.php?id=','(paiement)','payment'),(36,21,1,'/comm/fiche.php?socid=','ABC and Co','company'),(37,22,24,'/dolibarrnew/compta/paiement/fiche.php?id=','(paiement)','payment'),(38,22,12,'/dolibarrnew/comm/fiche.php?socid=','Dupont Alain','company'),(39,23,25,'/dolibarrnew/compta/paiement/fiche.php?id=','(paiement)','payment'),(40,23,10,'/dolibarrnew/comm/fiche.php?socid=','Smith Vick','company'); +/*!40000 ALTER TABLE `llx_bank_url` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_bookkeeping` +-- + +DROP TABLE IF EXISTS `llx_bookkeeping`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_bookkeeping` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `doc_date` date NOT NULL, + `doc_type` varchar(30) NOT NULL, + `doc_ref` varchar(30) NOT NULL, + `fk_doc` int(11) NOT NULL, + `fk_docdet` int(11) NOT NULL, + `code_tiers` varchar(24) DEFAULT NULL, + `numero_compte` varchar(50) DEFAULT NULL, + `label_compte` varchar(128) NOT NULL, + `debit` double NOT NULL, + `credit` double NOT NULL, + `montant` double NOT NULL, + `sens` varchar(1) DEFAULT NULL, + `fk_user_author` int(11) NOT NULL, + `import_key` varchar(14) DEFAULT NULL, + `code_journal` varchar(10) DEFAULT NULL, + `piece_num` int(11) NOT NULL, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_bookkeeping` +-- + +LOCK TABLES `llx_bookkeeping` WRITE; +/*!40000 ALTER TABLE `llx_bookkeeping` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_bookkeeping` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_bookmark` +-- + +DROP TABLE IF EXISTS `llx_bookmark`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_bookmark` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_soc` int(11) DEFAULT NULL, + `fk_user` int(11) NOT NULL, + `dateb` datetime DEFAULT NULL, + `url` varchar(255) NOT NULL, + `target` varchar(16) DEFAULT NULL, + `title` varchar(64) DEFAULT NULL, + `favicon` varchar(24) DEFAULT NULL, + `position` int(11) DEFAULT '0', + `entity` int(11) NOT NULL DEFAULT '1', + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_bookmark_url` (`fk_user`,`url`), + UNIQUE KEY `uk_bookmark_title` (`fk_user`,`title`) +) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_bookmark` +-- + +LOCK TABLES `llx_bookmark` WRITE; +/*!40000 ALTER TABLE `llx_bookmark` DISABLE KEYS */; +INSERT INTO `llx_bookmark` VALUES (1,NULL,0,'2010-07-09 01:29:03','http://wiki.dolibarr.org','1','Online documentation','none',1,1),(2,NULL,0,'2010-07-09 01:30:15','http://www.dolibarr.org','1','Official portal','none',2,1),(3,NULL,0,'2010-07-09 01:30:53','http://www.dolistore.com','1','DoliStore','none',10,1),(4,NULL,0,'2010-07-09 01:31:35','http://asso.dolibarr.org/index.php/Main_Page','1','The foundation','none',0,1),(5,NULL,0,'2014-03-02 16:40:41','http://www.facebook.com/dolibarr','1','Facebook page','none',50,1),(6,NULL,0,'2014-03-02 16:41:12','http://www.twitter.com/dolibarr','1','Twitter channel','none',60,1),(7,NULL,0,'2014-03-02 16:42:08','http://plus.google.com/+DolibarrOrg','1','Google+ page','none',55,1); +/*!40000 ALTER TABLE `llx_bookmark` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_bootstrap` +-- + +DROP TABLE IF EXISTS `llx_bootstrap`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_bootstrap` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `entity` int(11) NOT NULL DEFAULT '1', + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `label` varchar(255) NOT NULL, + `description` text, + `datec` datetime DEFAULT NULL, + `fk_user_creat` int(11) DEFAULT NULL, + `options` text, + `active` tinyint(4) NOT NULL DEFAULT '1', + PRIMARY KEY (`rowid`), + KEY `idx_bootstrap_label` (`fk_user_creat`), + CONSTRAINT `fk_bootstrap_fk_user_creat` FOREIGN KEY (`fk_user_creat`) REFERENCES `llx_user` (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_bootstrap` +-- + +LOCK TABLES `llx_bootstrap` WRITE; +/*!40000 ALTER TABLE `llx_bootstrap` DISABLE KEYS */; +INSERT INTO `llx_bootstrap` VALUES (1,1,'2014-01-12 17:51:42','Modèle maître','C'est le modèle par défaut','2014-01-12 18:51:42',1,NULL,1); +/*!40000 ALTER TABLE `llx_bootstrap` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_bordereau_cheque` +-- + +DROP TABLE IF EXISTS `llx_bordereau_cheque`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_bordereau_cheque` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `datec` datetime NOT NULL, + `date_bordereau` date DEFAULT NULL, + `number` varchar(16) NOT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + `amount` double(24,8) NOT NULL, + `nbcheque` smallint(6) NOT NULL, + `fk_bank_account` int(11) DEFAULT NULL, + `fk_user_author` int(11) DEFAULT NULL, + `note` text, + `statut` smallint(6) NOT NULL DEFAULT '0', + `ref_ext` varchar(255) DEFAULT NULL, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_bordereau_cheque` (`number`,`entity`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_bordereau_cheque` +-- + +LOCK TABLES `llx_bordereau_cheque` WRITE; +/*!40000 ALTER TABLE `llx_bordereau_cheque` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_bordereau_cheque` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_boxes` +-- + +DROP TABLE IF EXISTS `llx_boxes`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_boxes` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `entity` int(11) NOT NULL DEFAULT '1', + `box_id` int(11) NOT NULL, + `position` smallint(6) NOT NULL, + `box_order` varchar(3) NOT NULL, + `fk_user` int(11) NOT NULL DEFAULT '0', + `maxline` int(11) DEFAULT NULL, + `params` varchar(255) DEFAULT NULL, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_boxes` (`entity`,`box_id`,`position`,`fk_user`), + KEY `idx_boxes_boxid` (`box_id`), + KEY `idx_boxes_fk_user` (`fk_user`), + CONSTRAINT `fk_boxes_box_id` FOREIGN KEY (`box_id`) REFERENCES `llx_boxes_def` (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=724 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_boxes` +-- + +LOCK TABLES `llx_boxes` WRITE; +/*!40000 ALTER TABLE `llx_boxes` DISABLE KEYS */; +INSERT INTO `llx_boxes` VALUES (12,1,20,0,'A09',0,NULL,NULL),(73,1,21,0,'B16',0,NULL,NULL),(153,1,288,0,'A21',0,NULL,NULL),(154,1,289,0,'A07',0,NULL,NULL),(155,1,290,0,'A17',0,NULL,NULL),(160,1,295,0,'A13',0,NULL,NULL),(161,1,296,0,'A15',0,NULL,NULL),(162,1,297,0,'B12',0,NULL,NULL),(163,1,298,0,'B20',0,NULL,NULL),(164,1,299,0,'B10',0,NULL,NULL),(177,1,309,0,'B18',0,NULL,NULL),(240,1,316,0,'A05',0,NULL,NULL),(241,1,317,0,'B04',0,NULL,NULL),(253,2,323,0,'0',0,NULL,NULL),(304,2,324,0,'0',0,NULL,NULL),(305,2,325,0,'0',0,NULL,NULL),(306,2,326,0,'0',0,NULL,NULL),(307,2,327,0,'0',0,NULL,NULL),(308,2,328,0,'0',0,NULL,NULL),(309,2,329,0,'0',0,NULL,NULL),(310,2,330,0,'0',0,NULL,NULL),(311,2,331,0,'0',0,NULL,NULL),(312,2,332,0,'0',0,NULL,NULL),(313,2,333,0,'0',0,NULL,NULL),(372,1,334,0,'0',0,NULL,NULL),(373,1,335,0,'0',0,NULL,NULL),(374,1,336,0,'0',0,NULL,NULL),(439,1,337,0,'0',0,NULL,NULL),(440,1,338,0,'0',0,NULL,NULL),(441,1,339,0,'0',0,NULL,NULL),(442,1,340,0,'0',0,NULL,NULL),(531,1,341,0,'0',0,NULL,NULL),(532,1,342,0,'0',0,NULL,NULL),(533,1,343,0,'0',0,NULL,NULL),(534,1,344,0,'0',0,NULL,NULL),(535,1,345,0,'0',0,NULL,NULL),(708,1,344,0,'A01',1,NULL,NULL),(709,1,345,0,'A02',1,NULL,NULL),(710,1,335,0,'A03',1,NULL,NULL),(711,1,339,0,'A04',1,NULL,NULL),(712,1,317,0,'A05',1,NULL,NULL),(713,1,299,0,'A06',1,NULL,NULL),(714,1,289,0,'A07',1,NULL,NULL),(715,1,336,0,'B01',1,NULL,NULL),(716,1,341,0,'B02',1,NULL,NULL),(717,1,342,0,'B03',1,NULL,NULL),(718,1,340,0,'B04',1,NULL,NULL),(719,1,298,0,'B05',1,NULL,NULL),(720,1,295,0,'B06',1,NULL,NULL),(721,1,290,0,'B07',1,NULL,NULL),(722,1,297,0,'B08',1,NULL,NULL),(723,1,20,0,'B09',1,NULL,NULL); +/*!40000 ALTER TABLE `llx_boxes` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_boxes_def` +-- + +DROP TABLE IF EXISTS `llx_boxes_def`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_boxes_def` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `file` varchar(200) NOT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `note` varchar(130) DEFAULT NULL, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_boxes_def` (`file`,`entity`,`note`) +) ENGINE=InnoDB AUTO_INCREMENT=347 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_boxes_def` +-- + +LOCK TABLES `llx_boxes_def` WRITE; +/*!40000 ALTER TABLE `llx_boxes_def` DISABLE KEYS */; +INSERT INTO `llx_boxes_def` VALUES (20,'box_actions.php',1,'2010-07-08 11:29:29',NULL),(21,'box_bookmarks.php',1,'2010-07-08 11:30:03',NULL),(188,'box_services_vendus.php',1,'2011-08-05 20:40:27',NULL),(288,'box_clients.php',1,'2012-12-21 17:08:59',NULL),(289,'box_prospect.php',1,'2012-12-21 17:08:59',NULL),(290,'box_contacts.php',1,'2012-12-21 17:08:59',NULL),(295,'box_propales.php',1,'2013-01-02 20:33:16',NULL),(296,'box_contracts.php',1,'2013-01-02 20:33:17',NULL),(297,'box_services_expired.php',1,'2013-01-02 20:33:17',NULL),(298,'box_services_contracts.php',1,'2013-01-02 20:33:17',NULL),(299,'box_commandes.php',1,'2013-01-02 20:33:19',NULL),(309,'box_activity.php',1,'2013-01-16 15:37:16','(WarningUsingThisBoxSlowDown)'),(316,'box_produits.php',1,'2013-01-19 17:16:10',NULL),(317,'box_produits_alerte_stock.php',1,'2013-01-19 17:16:10',NULL),(323,'box_actions.php',2,'2013-03-13 15:29:19',NULL),(324,'box_clients.php',2,'2013-03-13 20:21:35',NULL),(325,'box_prospect.php',2,'2013-03-13 20:21:35',NULL),(326,'box_contacts.php',2,'2013-03-13 20:21:35',NULL),(327,'box_activity.php',2,'2013-03-13 20:21:35','(WarningUsingThisBoxSlowDown)'),(328,'box_propales.php',2,'2013-03-13 20:32:38',NULL),(329,'box_comptes.php',2,'2013-03-13 20:33:09',NULL),(330,'box_factures_imp.php',2,'2013-03-13 20:33:09',NULL),(331,'box_factures.php',2,'2013-03-13 20:33:09',NULL),(332,'box_produits.php',2,'2013-03-13 20:33:09',NULL),(333,'box_produits_alerte_stock.php',2,'2013-03-13 20:33:09',NULL),(334,'box_factures_imp.php',1,'2013-03-20 20:04:28',NULL),(335,'box_factures.php',1,'2013-03-20 20:04:28',NULL),(336,'box_comptes.php',1,'2013-03-20 20:04:28',NULL),(337,'box_fournisseurs.php',1,'2013-03-22 09:24:29',NULL),(338,'box_factures_fourn_imp.php',1,'2013-03-22 09:24:29',NULL),(339,'box_factures_fourn.php',1,'2013-03-22 09:24:29',NULL),(340,'box_supplier_orders.php',1,'2013-03-22 09:24:29',NULL),(341,'box_graph_product_distribution.php',1,'2013-11-06 23:35:12',NULL),(342,'box_graph_orders_permonth.php',1,'2013-11-06 23:35:12',NULL),(343,'box_graph_invoices_permonth.php',1,'2013-11-06 23:35:12',NULL),(344,'box_graph_invoices_supplier_permonth.php',1,'2013-11-06 23:35:12',NULL),(345,'box_graph_orders_supplier_permonth.php',1,'2013-11-06 23:35:12',NULL),(346,'box_googlemaps@google',1,'2013-11-07 00:01:39',NULL); +/*!40000 ALTER TABLE `llx_boxes_def` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_c_action_trigger` +-- + +DROP TABLE IF EXISTS `llx_c_action_trigger`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_c_action_trigger` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `code` varchar(32) NOT NULL, + `label` varchar(128) NOT NULL, + `description` varchar(255) DEFAULT NULL, + `elementtype` varchar(16) NOT NULL, + `rang` int(11) DEFAULT '0', + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_action_trigger_code` (`code`), + KEY `idx_action_trigger_rang` (`rang`) +) ENGINE=InnoDB AUTO_INCREMENT=31 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_c_action_trigger` +-- + +LOCK TABLES `llx_c_action_trigger` WRITE; +/*!40000 ALTER TABLE `llx_c_action_trigger` DISABLE KEYS */; +INSERT INTO `llx_c_action_trigger` VALUES (1,'FICHINTER_VALIDATE','Validation fiche intervention','Executed when a intervention is validated','ficheinter',18),(2,'BILL_VALIDATE','Validation facture client','Executed when a customer invoice is approved','facture',6),(3,'ORDER_SUPPLIER_APPROVE','Approbation commande fournisseur','Executed when a supplier order is approved','order_supplier',11),(4,'ORDER_SUPPLIER_REFUSE','Refus commande fournisseur','Executed when a supplier order is refused','order_supplier',12),(5,'ORDER_VALIDATE','Validation commande client','Executed when a customer order is validated','commande',4),(6,'PROPAL_VALIDATE','Validation proposition client','Executed when a commercial proposal is validated','propal',2),(9,'COMPANY_SENTBYMAIL','Mails sent from third party card','Executed when you send email from third party card','societe',1),(10,'COMPANY_CREATE','Third party created','Executed when a third party is created','societe',1),(11,'CONTRACT_VALIDATE','Contract validated','Executed when a contract is validated','contrat',17),(12,'PROPAL_SENTBYMAIL','Commercial proposal sent by mail','Executed when a commercial proposal is sent by mail','propal',3),(13,'ORDER_SENTBYMAIL','Customer order sent by mail','Executed when a customer order is sent by mail ','commande',5),(14,'BILL_PAYED','Customer invoice payed','Executed when a customer invoice is payed','facture',7),(15,'BILL_CANCEL','Customer invoice canceled','Executed when a customer invoice is conceled','facture',8),(16,'BILL_SENTBYMAIL','Customer invoice sent by mail','Executed when a customer invoice is sent by mail','facture',9),(17,'ORDER_SUPPLIER_VALIDATE','Supplier order validated','Executed when a supplier order is validated','order_supplier',10),(18,'ORDER_SUPPLIER_SENTBYMAIL','Supplier order sent by mail','Executed when a supplier order is sent by mail','order_supplier',13),(19,'BILL_SUPPLIER_VALIDATE','Supplier invoice validated','Executed when a supplier invoice is validated','invoice_supplier',14),(20,'BILL_SUPPLIER_PAYED','Supplier invoice payed','Executed when a supplier invoice is payed','invoice_supplier',15),(21,'BILL_SUPPLIER_SENTBYMAIL','Supplier invoice sent by mail','Executed when a supplier invoice is sent by mail','invoice_supplier',16),(22,'SHIPPING_VALIDATE','Shipping validated','Executed when a shipping is validated','shipping',19),(23,'SHIPPING_SENTBYMAIL','Shipping sent by mail','Executed when a shipping is sent by mail','shipping',20),(24,'MEMBER_VALIDATE','Member validated','Executed when a member is validated','member',21),(25,'MEMBER_SUBSCRIPTION','Member subscribed','Executed when a member is subscribed','member',22),(26,'MEMBER_RESILIATE','Member resiliated','Executed when a member is resiliated','member',23),(27,'MEMBER_DELETE','Member deleted','Executed when a member is deleted','member',24),(28,'BILL_UNVALIDATE','Customer invoice unvalidated','Executed when a customer invoice status set back to draft','facture',10),(29,'FICHINTER_SENTBYMAIL','Intervention sent by mail','Executed when a intervention is sent by mail','ficheinter',29),(30,'PROJECT_CREATE','Project creation','Executed when a project is created','project',30); +/*!40000 ALTER TABLE `llx_c_action_trigger` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_c_actioncomm` +-- + +DROP TABLE IF EXISTS `llx_c_actioncomm`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_c_actioncomm` ( + `id` int(11) NOT NULL, + `code` varchar(12) NOT NULL, + `type` varchar(10) NOT NULL DEFAULT 'system', + `libelle` varchar(48) NOT NULL, + `module` varchar(16) DEFAULT NULL, + `active` tinyint(4) NOT NULL DEFAULT '1', + `todo` tinyint(4) DEFAULT NULL, + `position` int(11) NOT NULL DEFAULT '0', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_c_actioncomm` (`code`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_c_actioncomm` +-- + +LOCK TABLES `llx_c_actioncomm` WRITE; +/*!40000 ALTER TABLE `llx_c_actioncomm` DISABLE KEYS */; +INSERT INTO `llx_c_actioncomm` VALUES (1,'AC_TEL','system','Phone call',NULL,1,NULL,2),(2,'AC_FAX','system','Send Fax',NULL,1,NULL,3),(3,'AC_PROP','systemauto','Send commercial proposal by email','propal',0,NULL,10),(4,'AC_EMAIL','system','Send Email',NULL,1,NULL,4),(5,'AC_RDV','system','Rendez-vous',NULL,1,NULL,1),(8,'AC_COM','systemauto','Send customer order by email','order',0,NULL,8),(9,'AC_FAC','systemauto','Send customer invoice by email','invoice',0,NULL,6),(10,'AC_SHIP','systemauto','Send shipping by email','shipping',0,NULL,11),(30,'AC_SUP_ORD','systemauto','Send supplier order by email','order_supplier',0,NULL,9),(31,'AC_SUP_INV','systemauto','Send supplier invoice by email','invoice_supplier',0,NULL,7),(40,'AC_OTH_AUTO','systemauto','Other (automatically inserted events)',NULL,1,NULL,20),(50,'AC_OTH','system','Other (manually inserted events)',NULL,1,NULL,5),(100700,'AC_CABMED','module','Send document by email','cabinetmed',0,NULL,100); +/*!40000 ALTER TABLE `llx_c_actioncomm` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_c_availability` +-- + +DROP TABLE IF EXISTS `llx_c_availability`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_c_availability` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `code` varchar(30) NOT NULL, + `label` varchar(60) NOT NULL, + `active` tinyint(4) NOT NULL DEFAULT '1', + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_c_availability` (`code`) +) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_c_availability` +-- + +LOCK TABLES `llx_c_availability` WRITE; +/*!40000 ALTER TABLE `llx_c_availability` DISABLE KEYS */; +INSERT INTO `llx_c_availability` VALUES (1,'AV_NOW','Immediate',1),(2,'AV_1W','1 week',1),(3,'AV_2W','2 weeks',1),(4,'AV_3W','3 weeks',1); +/*!40000 ALTER TABLE `llx_c_availability` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_c_barcode_type` +-- + +DROP TABLE IF EXISTS `llx_c_barcode_type`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_c_barcode_type` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `code` varchar(16) NOT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + `libelle` varchar(50) NOT NULL, + `coder` varchar(16) NOT NULL, + `example` varchar(16) NOT NULL, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_c_barcode_type` (`code`,`entity`) +) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_c_barcode_type` +-- + +LOCK TABLES `llx_c_barcode_type` WRITE; +/*!40000 ALTER TABLE `llx_c_barcode_type` DISABLE KEYS */; +INSERT INTO `llx_c_barcode_type` VALUES (1,'EAN8',1,'EAN8','0','1234567'),(2,'EAN13',1,'EAN13','0','123456789012'),(3,'UPC',1,'UPC','0','123456789012'),(4,'ISBN',1,'ISBN','0','123456789'),(5,'C39',1,'Code 39','0','1234567890'),(6,'C128',1,'Code 128','0','ABCD1234567890'); +/*!40000 ALTER TABLE `llx_c_barcode_type` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_c_chargesociales` +-- + +DROP TABLE IF EXISTS `llx_c_chargesociales`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_c_chargesociales` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `libelle` varchar(80) DEFAULT NULL, + `deductible` smallint(6) NOT NULL DEFAULT '0', + `active` tinyint(4) NOT NULL DEFAULT '1', + `code` varchar(12) NOT NULL, + `fk_pays` int(11) NOT NULL DEFAULT '1', + `module` varchar(32) DEFAULT NULL, + `accountancy_code` varchar(24) DEFAULT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=231 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_c_chargesociales` +-- + +LOCK TABLES `llx_c_chargesociales` WRITE; +/*!40000 ALTER TABLE `llx_c_chargesociales` DISABLE KEYS */; +INSERT INTO `llx_c_chargesociales` VALUES (1,'Allocations familiales',1,1,'TAXFAM',1,NULL,NULL),(2,'CSG Deductible',1,1,'TAXCSGD',1,NULL,NULL),(3,'CSG/CRDS NON Deductible',0,1,'TAXCSGND',1,NULL,NULL),(10,'Taxe apprentissage',0,1,'TAXAPP',1,NULL,NULL),(11,'Taxe professionnelle',0,1,'TAXPRO',1,NULL,NULL),(12,'Cotisation foncière des entreprises',0,1,'TAXCFE',1,NULL,NULL),(13,'Cotisation sur la valeur ajoutée des entreprises',0,1,'TAXCVAE',1,NULL,NULL),(20,'Impots locaux/fonciers',0,1,'TAXFON',1,NULL,NULL),(25,'Impots revenus',0,1,'TAXREV',1,NULL,NULL),(30,'Assurance Sante',0,1,'TAXSECU',1,NULL,NULL),(40,'Mutuelle',0,1,'TAXMUT',1,NULL,NULL),(50,'Assurance vieillesse',0,1,'TAXRET',1,NULL,NULL),(60,'Assurance Chomage',0,1,'TAXCHOM',1,NULL,NULL),(201,'ONSS',1,1,'TAXBEONSS',2,NULL,NULL),(210,'Precompte professionnel',1,1,'TAXBEPREPRO',2,NULL,NULL),(220,'Prime d\'existence',1,1,'TAXBEPRIEXI',2,NULL,NULL),(230,'Precompte immobilier',1,1,'TAXBEPREIMMO',2,NULL,NULL); +/*!40000 ALTER TABLE `llx_c_chargesociales` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_c_civilite` +-- + +DROP TABLE IF EXISTS `llx_c_civilite`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_c_civilite` ( + `rowid` int(11) NOT NULL, + `code` varchar(6) NOT NULL, + `civilite` varchar(50) DEFAULT NULL, + `active` tinyint(4) NOT NULL DEFAULT '1', + `module` varchar(32) DEFAULT NULL, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_c_civilite` (`code`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_c_civilite` +-- + +LOCK TABLES `llx_c_civilite` WRITE; +/*!40000 ALTER TABLE `llx_c_civilite` DISABLE KEYS */; +INSERT INTO `llx_c_civilite` VALUES (1,'MME','Madame',1,NULL),(3,'MR','Monsieur',1,NULL),(5,'MLE','Mademoiselle',1,NULL),(7,'MTRE','Maître',1,NULL),(8,'DR','Docteur',1,NULL); +/*!40000 ALTER TABLE `llx_c_civilite` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_c_currencies` +-- + +DROP TABLE IF EXISTS `llx_c_currencies`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_c_currencies` ( + `code_iso` varchar(3) NOT NULL, + `label` varchar(64) NOT NULL, + `unicode` varchar(32) DEFAULT NULL, + `active` tinyint(4) NOT NULL DEFAULT '1', + PRIMARY KEY (`code_iso`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_c_currencies` +-- + +LOCK TABLES `llx_c_currencies` WRITE; +/*!40000 ALTER TABLE `llx_c_currencies` DISABLE KEYS */; +INSERT INTO `llx_c_currencies` VALUES ('AED','United Arab Emirates Dirham',NULL,1),('AFN','Afghanistan Afghani','[1547]',1),('ALL','Albania Leklll','[76,101,107]',1),('ANG','Netherlands Antilles Guilder','[402]',1),('ARP','Pesos argentins',NULL,0),('ARS','Argentino Peso','[36]',1),('ATS','Shiliing autrichiens',NULL,0),('AUD','Australia Dollar','[36]',1),('AWG','Aruba Guilder','[402]',1),('AZN','Azerbaijan New Manat','[1084,1072,1085]',1),('BAM','Bosnia and Herzegovina Convertible Marka','[75,77]',1),('BBD','Barbados Dollar','[36]',1),('BEF','Francs belges',NULL,0),('BGN','Bulgaria Lev','[1083,1074]',1),('BMD','Bermuda Dollar','[36]',1),('BND','Brunei Darussalam Dollar','[36]',1),('BOB','Bolivia Boliviano','[36,98]',1),('BRL','Brazil Real','[82,36]',1),('BSD','Bahamas Dollar','[36]',1),('BWP','Botswana Pula','[80]',1),('BYR','Belarus Ruble','[112,46]',1),('BZD','Belize Dollar','[66,90,36]',1),('CAD','Canada Dollar','[36]',1),('CHF','Switzerland Franc','[67,72,70]',1),('CLP','Chile Peso','[36]',1),('CNY','China Yuan Renminbi','[165]',1),('COP','Colombia Peso','[36]',1),('CRC','Costa Rica Colon','[8353]',1),('CUP','Cuba Peso','[8369]',1),('CZK','Czech Republic Koruna','[75,269]',1),('DEM','Deutsch mark',NULL,0),('DKK','Denmark Krone','[107,114]',1),('DOP','Dominican Republic Peso','[82,68,36]',1),('DZD','Algeria Dinar',NULL,1),('EEK','Estonia Kroon','[107,114]',1),('EGP','Egypt Pound','[163]',1),('ESP','Pesete',NULL,0),('EUR','Euro Member Countries','[8364]',1),('FIM','Mark finlandais',NULL,0),('FJD','Fiji Dollar','[36]',1),('FKP','Falkland Islands (Malvinas) Pound','[163]',1),('FRF','Francs francais',NULL,0),('GBP','United Kingdom Pound','[163]',1),('GGP','Guernsey Pound','[163]',1),('GHC','Ghana Cedis','[162]',1),('GIP','Gibraltar Pound','[163]',1),('GRD','Drachme (grece)',NULL,0),('GTQ','Guatemala Quetzal','[81]',1),('GYD','Guyana Dollar','[36]',1),('hhh','ddd','[]',1),('HKD','Hong Kong Dollar','[36]',1),('HNL','Honduras Lempira','[76]',1),('HRK','Croatia Kuna','[107,110]',1),('HUF','Hungary Forint','[70,116]',1),('IDR','Indonesia Rupiah','[82,112]',1),('IEP','Livres irlandaises',NULL,0),('ILS','Israel Shekel','[8362]',1),('IMP','Isle of Man Pound','[163]',1),('INR','India Rupee',NULL,1),('IRR','Iran Rial','[65020]',1),('ISK','Iceland Krona','[107,114]',1),('ITL','Lires',NULL,0),('JEP','Jersey Pound','[163]',1),('JMD','Jamaica Dollar','[74,36]',1),('JPY','Japan Yen','[165]',1),('KGS','Kyrgyzstan Som','[1083,1074]',1),('KHR','Cambodia Riel','[6107]',1),('KPW','Korea (North) Won','[8361]',1),('KRW','Korea (South) Won','[8361]',1),('KYD','Cayman Islands Dollar','[36]',1),('KZT','Kazakhstan Tenge','[1083,1074]',1),('LAK','Laos Kip','[8365]',1),('LBP','Lebanon Pound','[163]',1),('LKR','Sri Lanka Rupee','[8360]',1),('LRD','Liberia Dollar','[36]',1),('LTL','Lithuania Litas','[76,116]',1),('LUF','Francs luxembourgeois',NULL,0),('LVL','Latvia Lat','[76,115]',1),('MAD','Morocco Dirham',NULL,1),('MKD','Macedonia Denar','[1076,1077,1085]',1),('MNT','Mongolia Tughrik','[8366]',1),('MRO','Mauritania Ouguiya',NULL,1),('MUR','Mauritius Rupee','[8360]',1),('MXN','Mexico Peso','[36]',1),('MXP','Pesos Mexicans',NULL,0),('MYR','Malaysia Ringgit','[82,77]',1),('MZN','Mozambique Metical','[77,84]',1),('NAD','Namibia Dollar','[36]',1),('NGN','Nigeria Naira','[8358]',1),('NIO','Nicaragua Cordoba','[67,36]',1),('NLG','Florins',NULL,0),('NOK','Norway Krone','[107,114]',1),('NPR','Nepal Rupee','[8360]',1),('NZD','New Zealand Dollar','[36]',1),('OMR','Oman Rial','[65020]',1),('PAB','Panama Balboa','[66,47,46]',1),('PEN','Peru Nuevo Sol','[83,47,46]',1),('PHP','Philippines Peso','[8369]',1),('PKR','Pakistan Rupee','[8360]',1),('PLN','Poland Zloty','[122,322]',1),('PTE','Escudos',NULL,0),('PYG','Paraguay Guarani','[71,115]',1),('QAR','Qatar Riyal','[65020]',1),('RON','Romania New Leu','[108,101,105]',1),('RSD','Serbia Dinar','[1044,1080,1085,46]',1),('RUB','Russia Ruble','[1088,1091,1073]',1),('SAR','Saudi Arabia Riyal','[65020]',1),('SBD','Solomon Islands Dollar','[36]',1),('SCR','Seychelles Rupee','[8360]',1),('SEK','Sweden Krona','[107,114]',1),('SGD','Singapore Dollar','[36]',1),('SHP','Saint Helena Pound','[163]',1),('SKK','Couronnes slovaques',NULL,0),('SOS','Somalia Shilling','[83]',1),('SRD','Suriname Dollar','[36]',1),('SUR','Rouble',NULL,0),('SVC','El Salvador Colon','[36]',1),('SYP','Syria Pound','[163]',1),('THB','Thailand Baht','[3647]',1),('TND','Tunisia Dinar',NULL,1),('TRL','Turkey Lira','[84,76]',1),('TRY','Turkey Lira','[8356]',1),('TTD','Trinidad and Tobago Dollar','[84,84,36]',1),('TVD','Tuvalu Dollar','[36]',1),('TWD','Taiwan New Dollar','[78,84,36]',1),('UAH','Ukraine Hryvna','[8372]',1),('USD','United States Dollar','[36]',1),('UYU','Uruguay Peso','[36,85]',1),('UZS','Uzbekistan Som','[1083,1074]',1),('VEF','Venezuela Bolivar Fuerte','[66,115]',1),('VND','Viet Nam Dong','[8363]',1),('XAF','Communaute Financiere Africaine (BEAC) CFA Franc',NULL,1),('XCD','East Caribbean Dollar','[36]',1),('XEU','Ecus',NULL,0),('XOF','Communaute Financiere Africaine (BCEAO) Franc',NULL,1),('YER','Yemen Rial','[65020]',1),('ZAR','South Africa Rand','[82]',1),('ZWD','Zimbabwe Dollar','[90,36]',1); +/*!40000 ALTER TABLE `llx_c_currencies` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_c_departements` +-- + +DROP TABLE IF EXISTS `llx_c_departements`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_c_departements` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `code_departement` varchar(6) NOT NULL, + `fk_region` int(11) DEFAULT NULL, + `cheflieu` varchar(50) DEFAULT NULL, + `tncc` int(11) DEFAULT NULL, + `ncc` varchar(50) DEFAULT NULL, + `nom` varchar(50) DEFAULT NULL, + `active` tinyint(4) NOT NULL DEFAULT '1', + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_departements` (`code_departement`,`fk_region`), + KEY `idx_departements_fk_region` (`fk_region`) +) ENGINE=InnoDB AUTO_INCREMENT=2052 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_c_departements` +-- + +LOCK TABLES `llx_c_departements` WRITE; +/*!40000 ALTER TABLE `llx_c_departements` DISABLE KEYS */; +INSERT INTO `llx_c_departements` VALUES (1,'0',0,'0',0,'-','-',1),(2,'01',82,'01053',5,'AIN','Ain',1),(3,'02',22,'02408',5,'AISNE','Aisne',1),(4,'03',83,'03190',5,'ALLIER','Allier',1),(5,'04',93,'04070',4,'ALPES-DE-HAUTE-PROVENCE','Alpes-de-Haute-Provence',1),(6,'05',93,'05061',4,'HAUTES-ALPES','Hautes-Alpes',1),(7,'06',93,'06088',4,'ALPES-MARITIMES','Alpes-Maritimes',1),(8,'07',82,'07186',5,'ARDECHE','Ardèche',1),(9,'08',21,'08105',4,'ARDENNES','Ardennes',1),(10,'09',73,'09122',5,'ARIEGE','Ariège',1),(11,'10',21,'10387',5,'AUBE','Aube',1),(12,'11',91,'11069',5,'AUDE','Aude',1),(13,'12',73,'12202',5,'AVEYRON','Aveyron',1),(14,'13',93,'13055',4,'BOUCHES-DU-RHONE','Bouches-du-Rhône',1),(15,'14',25,'14118',2,'CALVADOS','Calvados',1),(16,'15',83,'15014',2,'CANTAL','Cantal',1),(17,'16',54,'16015',3,'CHARENTE','Charente',1),(18,'17',54,'17300',3,'CHARENTE-MARITIME','Charente-Maritime',1),(19,'18',24,'18033',2,'CHER','Cher',1),(20,'19',74,'19272',3,'CORREZE','Corrèze',1),(21,'2A',94,'2A004',3,'CORSE-DU-SUD','Corse-du-Sud',1),(22,'2B',94,'2B033',3,'HAUTE-CORSE','Haute-Corse',1),(23,'21',26,'21231',3,'COTE-D\'OR','Côte-d\'Or',1),(24,'22',53,'22278',4,'COTES-D\'ARMOR','Côtes-d\'Armor',1),(25,'23',74,'23096',3,'CREUSE','Creuse',1),(26,'24',72,'24322',3,'DORDOGNE','Dordogne',1),(27,'25',43,'25056',2,'DOUBS','Doubs',1),(28,'26',82,'26362',3,'DROME','Drôme',1),(29,'27',23,'27229',5,'EURE','Eure',1),(30,'28',24,'28085',1,'EURE-ET-LOIR','Eure-et-Loir',1),(31,'29',53,'29232',2,'FINISTERE','Finistère',1),(32,'30',91,'30189',2,'GARD','Gard',1),(33,'31',73,'31555',3,'HAUTE-GARONNE','Haute-Garonne',1),(34,'32',73,'32013',2,'GERS','Gers',1),(35,'33',72,'33063',3,'GIRONDE','Gironde',1),(36,'34',91,'34172',5,'HERAULT','Hérault',1),(37,'35',53,'35238',1,'ILLE-ET-VILAINE','Ille-et-Vilaine',1),(38,'36',24,'36044',5,'INDRE','Indre',1),(39,'37',24,'37261',1,'INDRE-ET-LOIRE','Indre-et-Loire',1),(40,'38',82,'38185',5,'ISERE','Isère',1),(41,'39',43,'39300',2,'JURA','Jura',1),(42,'40',72,'40192',4,'LANDES','Landes',1),(43,'41',24,'41018',0,'LOIR-ET-CHER','Loir-et-Cher',1),(44,'42',82,'42218',3,'LOIRE','Loire',1),(45,'43',83,'43157',3,'HAUTE-LOIRE','Haute-Loire',1),(46,'44',52,'44109',3,'LOIRE-ATLANTIQUE','Loire-Atlantique',1),(47,'45',24,'45234',2,'LOIRET','Loiret',1),(48,'46',73,'46042',2,'LOT','Lot',1),(49,'47',72,'47001',0,'LOT-ET-GARONNE','Lot-et-Garonne',1),(50,'48',91,'48095',3,'LOZERE','Lozère',1),(51,'49',52,'49007',0,'MAINE-ET-LOIRE','Maine-et-Loire',1),(52,'50',25,'50502',3,'MANCHE','Manche',1),(53,'51',21,'51108',3,'MARNE','Marne',1),(54,'52',21,'52121',3,'HAUTE-MARNE','Haute-Marne',1),(55,'53',52,'53130',3,'MAYENNE','Mayenne',1),(56,'54',41,'54395',0,'MEURTHE-ET-MOSELLE','Meurthe-et-Moselle',1),(57,'55',41,'55029',3,'MEUSE','Meuse',1),(58,'56',53,'56260',2,'MORBIHAN','Morbihan',1),(59,'57',41,'57463',3,'MOSELLE','Moselle',1),(60,'58',26,'58194',3,'NIEVRE','Nièvre',1),(61,'59',31,'59350',2,'NORD','Nord',1),(62,'60',22,'60057',5,'OISE','Oise',1),(63,'61',25,'61001',5,'ORNE','Orne',1),(64,'62',31,'62041',2,'PAS-DE-CALAIS','Pas-de-Calais',1),(65,'63',83,'63113',2,'PUY-DE-DOME','Puy-de-Dôme',1),(66,'64',72,'64445',4,'PYRENEES-ATLANTIQUES','Pyrénées-Atlantiques',1),(67,'65',73,'65440',4,'HAUTES-PYRENEES','Hautes-Pyrénées',1),(68,'66',91,'66136',4,'PYRENEES-ORIENTALES','Pyrénées-Orientales',1),(69,'67',42,'67482',2,'BAS-RHIN','Bas-Rhin',1),(70,'68',42,'68066',2,'HAUT-RHIN','Haut-Rhin',1),(71,'69',82,'69123',2,'RHONE','Rhône',1),(72,'70',43,'70550',3,'HAUTE-SAONE','Haute-Saône',1),(73,'71',26,'71270',0,'SAONE-ET-LOIRE','Saône-et-Loire',1),(74,'72',52,'72181',3,'SARTHE','Sarthe',1),(75,'73',82,'73065',3,'SAVOIE','Savoie',1),(76,'74',82,'74010',3,'HAUTE-SAVOIE','Haute-Savoie',1),(77,'75',11,'75056',0,'PARIS','Paris',1),(78,'76',23,'76540',3,'SEINE-MARITIME','Seine-Maritime',1),(79,'77',11,'77288',0,'SEINE-ET-MARNE','Seine-et-Marne',1),(80,'78',11,'78646',4,'YVELINES','Yvelines',1),(81,'79',54,'79191',4,'DEUX-SEVRES','Deux-Sèvres',1),(82,'80',22,'80021',3,'SOMME','Somme',1),(83,'81',73,'81004',2,'TARN','Tarn',1),(84,'82',73,'82121',0,'TARN-ET-GARONNE','Tarn-et-Garonne',1),(85,'83',93,'83137',2,'VAR','Var',1),(86,'84',93,'84007',0,'VAUCLUSE','Vaucluse',1),(87,'85',52,'85191',3,'VENDEE','Vendée',1),(88,'86',54,'86194',3,'VIENNE','Vienne',1),(89,'87',74,'87085',3,'HAUTE-VIENNE','Haute-Vienne',1),(90,'88',41,'88160',4,'VOSGES','Vosges',1),(91,'89',26,'89024',5,'YONNE','Yonne',1),(92,'90',43,'90010',0,'TERRITOIRE DE BELFORT','Territoire de Belfort',1),(93,'91',11,'91228',5,'ESSONNE','Essonne',1),(94,'92',11,'92050',4,'HAUTS-DE-SEINE','Hauts-de-Seine',1),(95,'93',11,'93008',3,'SEINE-SAINT-DENIS','Seine-Saint-Denis',1),(96,'94',11,'94028',2,'VAL-DE-MARNE','Val-de-Marne',1),(97,'95',11,'95500',2,'VAL-D\'OISE','Val-d\'Oise',1),(98,'971',1,'97105',3,'GUADELOUPE','Guadeloupe',1),(99,'972',2,'97209',3,'MARTINIQUE','Martinique',1),(100,'973',3,'97302',3,'GUYANE','Guyane',1),(101,'974',4,'97411',3,'REUNION','Réunion',1),(102,'01',201,'',1,'ANVERS','Anvers',1),(103,'02',203,'',3,'BRUXELLES-CAPITALE','Bruxelles-Capitale',1),(104,'03',202,'',2,'BRABANT-WALLON','Brabant-Wallon',1),(105,'04',201,'',1,'BRABANT-FLAMAND','Brabant-Flamand',1),(106,'05',201,'',1,'FLANDRE-OCCIDENTALE','Flandre-Occidentale',1),(107,'06',201,'',1,'FLANDRE-ORIENTALE','Flandre-Orientale',1),(108,'07',202,'',2,'HAINAUT','Hainaut',1),(109,'08',201,'',2,'LIEGE','Liège',1),(110,'09',202,'',1,'LIMBOURG','Limbourg',1),(111,'10',202,'',2,'LUXEMBOURG','Luxembourg',1),(112,'11',201,'',2,'NAMUR','Namur',1),(113,'NSW',2801,'',1,'','New South Wales',1),(114,'VIC',2801,'',1,'','Victoria',1),(115,'QLD',2801,'',1,'','Queensland',1),(116,'SA',2801,'',1,'','South Australia',1),(117,'ACT',2801,'',1,'','Australia Capital Territory',1),(118,'TAS',2801,'',1,'','Tasmania',1),(119,'WA',2801,'',1,'','Western Australia',1),(120,'NT',2801,'',1,'','Northern Territory',1),(121,'01',419,'',19,'ALAVA','Álava',1),(122,'02',404,'',4,'ALBACETE','Albacete',1),(123,'03',411,'',11,'ALICANTE','Alicante',1),(124,'04',401,'',1,'ALMERIA','Almería',1),(125,'05',403,'',3,'AVILA','Avila',1),(126,'06',412,'',12,'BADAJOZ','Badajoz',1),(127,'07',414,'',14,'ISLAS BALEARES','Islas Baleares',1),(128,'08',406,'',6,'BARCELONA','Barcelona',1),(129,'09',403,'',8,'BURGOS','Burgos',1),(130,'10',412,'',12,'CACERES','Cáceres',1),(131,'11',401,'',1,'CADIz','Cádiz',1),(132,'12',411,'',11,'CASTELLON','Castellón',1),(133,'13',404,'',4,'CIUDAD REAL','Ciudad Real',1),(134,'14',401,'',1,'CORDOBA','Córdoba',1),(135,'15',413,'',13,'LA CORUÑA','La Coruña',1),(136,'16',404,'',4,'CUENCA','Cuenca',1),(137,'17',406,'',6,'GERONA','Gerona',1),(138,'18',401,'',1,'GRANADA','Granada',1),(139,'19',404,'',4,'GUADALAJARA','Guadalajara',1),(140,'20',419,'',19,'GUIPUZCOA','Guipúzcoa',1),(141,'21',401,'',1,'HUELVA','Huelva',1),(142,'22',402,'',2,'HUESCA','Huesca',1),(143,'23',401,'',1,'JAEN','Jaén',1),(144,'24',403,'',3,'LEON','León',1),(145,'25',406,'',6,'LERIDA','Lérida',1),(146,'26',415,'',15,'LA RIOJA','La Rioja',1),(147,'27',413,'',13,'LUGO','Lugo',1),(148,'28',416,'',16,'MADRID','Madrid',1),(149,'29',401,'',1,'MALAGA','Málaga',1),(150,'30',417,'',17,'MURCIA','Murcia',1),(151,'31',408,'',8,'NAVARRA','Navarra',1),(152,'32',413,'',13,'ORENSE','Orense',1),(153,'33',418,'',18,'ASTURIAS','Asturias',1),(154,'34',403,'',3,'PALENCIA','Palencia',1),(155,'35',405,'',5,'LAS PALMAS','Las Palmas',1),(156,'36',413,'',13,'PONTEVEDRA','Pontevedra',1),(157,'37',403,'',3,'SALAMANCA','Salamanca',1),(158,'38',405,'',5,'STA. CRUZ DE TENERIFE','Sta. Cruz de Tenerife',1),(159,'39',410,'',10,'CANTABRIA','Cantabria',1),(160,'40',403,'',3,'SEGOVIA','Segovia',1),(161,'41',401,'',1,'SEVILLA','Sevilla',1),(162,'42',403,'',3,'SORIA','Soria',1),(163,'43',406,'',6,'TARRAGONA','Tarragona',1),(164,'44',402,'',2,'TERUEL','Teruel',1),(165,'45',404,'',5,'TOLEDO','Toledo',1),(166,'46',411,'',11,'VALENCIA','Valencia',1),(167,'47',403,'',3,'VALLADOLID','Valladolid',1),(168,'48',419,'',19,'VIZCAYA','Vizcaya',1),(169,'49',403,'',3,'ZAMORA','Zamora',1),(170,'50',402,'',1,'ZARAGOZA','Zaragoza',1),(171,'51',407,'',7,'CEUTA','Ceuta',1),(172,'52',409,'',9,'MELILLA','Melilla',1),(173,'53',420,'',20,'OTROS','Otros',1),(174,'AG',601,NULL,NULL,'ARGOVIE','Argovie',1),(175,'AI',601,NULL,NULL,'APPENZELL RHODES INTERIEURES','Appenzell Rhodes intérieures',1),(176,'AR',601,NULL,NULL,'APPENZELL RHODES EXTERIEURES','Appenzell Rhodes extérieures',1),(177,'BE',601,NULL,NULL,'BERNE','Berne',1),(178,'BL',601,NULL,NULL,'BALE CAMPAGNE','Bâle Campagne',1),(179,'BS',601,NULL,NULL,'BALE VILLE','Bâle Ville',1),(180,'FR',601,NULL,NULL,'FRIBOURG','Fribourg',1),(181,'GE',601,NULL,NULL,'GENEVE','Genève',1),(182,'GL',601,NULL,NULL,'GLARIS','Glaris',1),(183,'GR',601,NULL,NULL,'GRISONS','Grisons',1),(184,'JU',601,NULL,NULL,'JURA','Jura',1),(185,'LU',601,NULL,NULL,'LUCERNE','Lucerne',1),(186,'NE',601,NULL,NULL,'NEUCHATEL','Neuchâtel',1),(187,'NW',601,NULL,NULL,'NIDWALD','Nidwald',1),(188,'OW',601,NULL,NULL,'OBWALD','Obwald',1),(189,'SG',601,NULL,NULL,'SAINT-GALL','Saint-Gall',1),(190,'SH',601,NULL,NULL,'SCHAFFHOUSE','Schaffhouse',1),(191,'SO',601,NULL,NULL,'SOLEURE','Soleure',1),(192,'SZ',601,NULL,NULL,'SCHWYZ','Schwyz',1),(193,'TG',601,NULL,NULL,'THURGOVIE','Thurgovie',1),(194,'TI',601,NULL,NULL,'TESSIN','Tessin',1),(195,'UR',601,NULL,NULL,'URI','Uri',1),(196,'VD',601,NULL,NULL,'VAUD','Vaud',1),(197,'VS',601,NULL,NULL,'VALAIS','Valais',1),(198,'ZG',601,NULL,NULL,'ZUG','Zug',1),(199,'ZH',601,NULL,NULL,'ZURICH','Zürich',1),(200,'AL',1101,'',0,'ALABAMA','Alabama',1),(201,'AK',1101,'',0,'ALASKA','Alaska',1),(202,'AZ',1101,'',0,'ARIZONA','Arizona',1),(203,'AR',1101,'',0,'ARKANSAS','Arkansas',1),(204,'CA',1101,'',0,'CALIFORNIA','California',1),(205,'CO',1101,'',0,'COLORADO','Colorado',1),(206,'CT',1101,'',0,'CONNECTICUT','Connecticut',1),(207,'DE',1101,'',0,'DELAWARE','Delaware',1),(208,'FL',1101,'',0,'FLORIDA','Florida',1),(209,'GA',1101,'',0,'GEORGIA','Georgia',1),(210,'HI',1101,'',0,'HAWAII','Hawaii',1),(211,'ID',1101,'',0,'IDAHO','Idaho',1),(212,'IL',1101,'',0,'ILLINOIS','Illinois',1),(213,'IN',1101,'',0,'INDIANA','Indiana',1),(214,'IA',1101,'',0,'IOWA','Iowa',1),(215,'KS',1101,'',0,'KANSAS','Kansas',1),(216,'KY',1101,'',0,'KENTUCKY','Kentucky',1),(217,'LA',1101,'',0,'LOUISIANA','Louisiana',1),(218,'ME',1101,'',0,'MAINE','Maine',1),(219,'MD',1101,'',0,'MARYLAND','Maryland',1),(220,'MA',1101,'',0,'MASSACHUSSETTS','Massachusetts',1),(221,'MI',1101,'',0,'MICHIGAN','Michigan',1),(222,'MN',1101,'',0,'MINNESOTA','Minnesota',1),(223,'MS',1101,'',0,'MISSISSIPPI','Mississippi',1),(224,'MO',1101,'',0,'MISSOURI','Missouri',1),(225,'MT',1101,'',0,'MONTANA','Montana',1),(226,'NE',1101,'',0,'NEBRASKA','Nebraska',1),(227,'NV',1101,'',0,'NEVADA','Nevada',1),(228,'NH',1101,'',0,'NEW HAMPSHIRE','New Hampshire',1),(229,'NJ',1101,'',0,'NEW JERSEY','New Jersey',1),(230,'NM',1101,'',0,'NEW MEXICO','New Mexico',1),(231,'NY',1101,'',0,'NEW YORK','New York',1),(232,'NC',1101,'',0,'NORTH CAROLINA','North Carolina',1),(233,'ND',1101,'',0,'NORTH DAKOTA','North Dakota',1),(234,'OH',1101,'',0,'OHIO','Ohio',1),(235,'OK',1101,'',0,'OKLAHOMA','Oklahoma',1),(236,'OR',1101,'',0,'OREGON','Oregon',1),(237,'PA',1101,'',0,'PENNSYLVANIA','Pennsylvania',1),(238,'RI',1101,'',0,'RHODE ISLAND','Rhode Island',1),(239,'SC',1101,'',0,'SOUTH CAROLINA','South Carolina',1),(240,'SD',1101,'',0,'SOUTH DAKOTA','South Dakota',1),(241,'TN',1101,'',0,'TENNESSEE','Tennessee',1),(242,'TX',1101,'',0,'TEXAS','Texas',1),(243,'UT',1101,'',0,'UTAH','Utah',1),(244,'VT',1101,'',0,'VERMONT','Vermont',1),(245,'VA',1101,'',0,'VIRGINIA','Virginia',1),(246,'WA',1101,'',0,'WASHINGTON','Washington',1),(247,'WV',1101,'',0,'WEST VIRGINIA','West Virginia',1),(248,'WI',1101,'',0,'WISCONSIN','Wisconsin',1),(249,'WY',1101,'',0,'WYOMING','Wyoming',1),(250,'SS',8601,NULL,NULL,NULL,'San Salvador',1),(251,'SA',8603,NULL,NULL,NULL,'Santa Ana',1),(252,'AH',8603,NULL,NULL,NULL,'Ahuachapan',1),(253,'SO',8603,NULL,NULL,NULL,'Sonsonate',1),(254,'US',8602,NULL,NULL,NULL,'Usulutan',1),(255,'SM',8602,NULL,NULL,NULL,'San Miguel',1),(256,'MO',8602,NULL,NULL,NULL,'Morazan',1),(257,'LU',8602,NULL,NULL,NULL,'La Union',1),(258,'LL',8601,NULL,NULL,NULL,'La Libertad',1),(259,'CH',8601,NULL,NULL,NULL,'Chalatenango',1),(260,'CA',8601,NULL,NULL,NULL,'Cabañas',1),(261,'LP',8601,NULL,NULL,NULL,'La Paz',1),(262,'SV',8601,NULL,NULL,NULL,'San Vicente',1),(263,'CU',8601,NULL,NULL,NULL,'Cuscatlan',1),(264,'2301',2301,'',0,'CATAMARCA','Catamarca',1),(265,'2302',2301,'',0,'JUJUY','Jujuy',1),(266,'2303',2301,'',0,'TUCAMAN','Tucamán',1),(267,'2304',2301,'',0,'SANTIAGO DEL ESTERO','Santiago del Estero',1),(268,'2305',2301,'',0,'SALTA','Salta',1),(269,'2306',2302,'',0,'CHACO','Chaco',1),(270,'2307',2302,'',0,'CORRIENTES','Corrientes',1),(271,'2308',2302,'',0,'ENTRE RIOS','Entre Ríos',1),(272,'2309',2302,'',0,'FORMOSA MISIONES','Formosa Misiones',1),(273,'2310',2302,'',0,'SANTA FE','Santa Fe',1),(274,'2311',2303,'',0,'LA RIOJA','La Rioja',1),(275,'2312',2303,'',0,'MENDOZA','Mendoza',1),(276,'2313',2303,'',0,'SAN JUAN','San Juan',1),(277,'2314',2303,'',0,'SAN LUIS','San Luis',1),(278,'2315',2304,'',0,'CORDOBA','Córdoba',1),(279,'2316',2304,'',0,'BUENOS AIRES','Buenos Aires',1),(280,'2317',2304,'',0,'CABA','Caba',1),(281,'2318',2305,'',0,'LA PAMPA','La Pampa',1),(282,'2319',2305,'',0,'NEUQUEN','Neuquén',1),(283,'2320',2305,'',0,'RIO NEGRO','Río Negro',1),(284,'2321',2305,'',0,'CHUBUT','Chubut',1),(285,'2322',2305,'',0,'SANTA CRUZ','Santa Cruz',1),(286,'2323',2305,'',0,'TIERRA DEL FUEGO','Tierra del Fuego',1),(287,'2324',2305,'',0,'ISLAS MALVINAS','Islas Malvinas',1),(288,'2325',2305,'',0,'ANTARTIDA','Antártida',1),(289,'AN',11701,NULL,0,'AN','Andaman & Nicobar',1),(290,'AP',11701,NULL,0,'AP','Andhra Pradesh',1),(291,'AR',11701,NULL,0,'AR','Arunachal Pradesh',1),(292,'AS',11701,NULL,0,'AS','Assam',1),(293,'BR',11701,NULL,0,'BR','Bihar',1),(294,'CG',11701,NULL,0,'CG','Chattisgarh',1),(295,'CH',11701,NULL,0,'CH','Chandigarh',1),(296,'DD',11701,NULL,0,'DD','Daman & Diu',1),(297,'DL',11701,NULL,0,'DL','Delhi',1),(298,'DN',11701,NULL,0,'DN','Dadra and Nagar Haveli',1),(299,'GA',11701,NULL,0,'GA','Goa',1),(300,'GJ',11701,NULL,0,'GJ','Gujarat',1),(301,'HP',11701,NULL,0,'HP','Himachal Pradesh',1),(302,'HR',11701,NULL,0,'HR','Haryana',1),(303,'JH',11701,NULL,0,'JH','Jharkhand',1),(304,'JK',11701,NULL,0,'JK','Jammu & Kashmir',1),(305,'KA',11701,NULL,0,'KA','Karnataka',1),(306,'KL',11701,NULL,0,'KL','Kerala',1),(307,'LD',11701,NULL,0,'LD','Lakshadweep',1),(308,'MH',11701,NULL,0,'MH','Maharashtra',1),(309,'ML',11701,NULL,0,'ML','Meghalaya',1),(310,'MN',11701,NULL,0,'MN','Manipur',1),(311,'MP',11701,NULL,0,'MP','Madhya Pradesh',1),(312,'MZ',11701,NULL,0,'MZ','Mizoram',1),(313,'NL',11701,NULL,0,'NL','Nagaland',1),(314,'OR',11701,NULL,0,'OR','Orissa',1),(315,'PB',11701,NULL,0,'PB','Punjab',1),(316,'PY',11701,NULL,0,'PY','Puducherry',1),(317,'RJ',11701,NULL,0,'RJ','Rajasthan',1),(318,'SK',11701,NULL,0,'SK','Sikkim',1),(319,'TN',11701,NULL,0,'TN','Tamil Nadu',1),(320,'TR',11701,NULL,0,'TR','Tripura',1),(321,'UL',11701,NULL,0,'UL','Uttarakhand',1),(322,'UP',11701,NULL,0,'UP','Uttar Pradesh',1),(323,'WB',11701,NULL,0,'WB','West Bengal',1),(374,'151',6715,'',0,'151','Arica',1),(375,'152',6715,'',0,'152','Parinacota',1),(376,'011',6701,'',0,'011','Iquique',1),(377,'014',6701,'',0,'014','Tamarugal',1),(378,'021',6702,'',0,'021','Antofagasa',1),(379,'022',6702,'',0,'022','El Loa',1),(380,'023',6702,'',0,'023','Tocopilla',1),(381,'031',6703,'',0,'031','Copiapó',1),(382,'032',6703,'',0,'032','Chañaral',1),(383,'033',6703,'',0,'033','Huasco',1),(384,'041',6704,'',0,'041','Elqui',1),(385,'042',6704,'',0,'042','Choapa',1),(386,'043',6704,'',0,'043','Limarí',1),(387,'051',6705,'',0,'051','Valparaíso',1),(388,'052',6705,'',0,'052','Isla de Pascua',1),(389,'053',6705,'',0,'053','Los Andes',1),(390,'054',6705,'',0,'054','Petorca',1),(391,'055',6705,'',0,'055','Quillota',1),(392,'056',6705,'',0,'056','San Antonio',1),(393,'057',6705,'',0,'057','San Felipe de Aconcagua',1),(394,'058',6705,'',0,'058','Marga Marga',1),(395,'061',6706,'',0,'061','Cachapoal',1),(396,'062',6706,'',0,'062','Cardenal Caro',1),(397,'063',6706,'',0,'063','Colchagua',1),(398,'071',6707,'',0,'071','Talca',1),(399,'072',6707,'',0,'072','Cauquenes',1),(400,'073',6707,'',0,'073','Curicó',1),(401,'074',6707,'',0,'074','Linares',1),(402,'081',6708,'',0,'081','Concepción',1),(403,'082',6708,'',0,'082','Arauco',1),(404,'083',6708,'',0,'083','Biobío',1),(405,'084',6708,'',0,'084','Ñuble',1),(406,'091',6709,'',0,'091','Cautín',1),(407,'092',6709,'',0,'092','Malleco',1),(408,'141',6714,'',0,'141','Valdivia',1),(409,'142',6714,'',0,'142','Ranco',1),(410,'101',6710,'',0,'101','Llanquihue',1),(411,'102',6710,'',0,'102','Chiloé',1),(412,'103',6710,'',0,'103','Osorno',1),(413,'104',6710,'',0,'104','Palena',1),(414,'111',6711,'',0,'111','Coihaique',1),(415,'112',6711,'',0,'112','Aisén',1),(416,'113',6711,'',0,'113','Capitán Prat',1),(417,'114',6711,'',0,'114','General Carrera',1),(418,'121',6712,'',0,'121','Magallanes',1),(419,'122',6712,'',0,'122','Antártica Chilena',1),(420,'123',6712,'',0,'123','Tierra del Fuego',1),(421,'124',6712,'',0,'124','Última Esperanza',1),(422,'131',6713,'',0,'131','Santiago',1),(423,'132',6713,'',0,'132','Cordillera',1),(424,'133',6713,'',0,'133','Chacabuco',1),(425,'134',6713,'',0,'134','Maipo',1),(426,'135',6713,'',0,'135','Melipilla',1),(427,'136',6713,'',0,'136','Talagante',1),(428,'DIF',15401,'',0,'DIF','Distrito Federal',1),(429,'AGS',15401,'',0,'AGS','Aguascalientes',1),(430,'BCN',15401,'',0,'BCN','Baja California Norte',1),(431,'BCS',15401,'',0,'BCS','Baja California Sur',1),(432,'CAM',15401,'',0,'CAM','Campeche',1),(433,'CHP',15401,'',0,'CHP','Chiapas',1),(434,'CHI',15401,'',0,'CHI','Chihuahua',1),(435,'COA',15401,'',0,'COA','Coahuila',1),(436,'COL',15401,'',0,'COL','Colima',1),(437,'DUR',15401,'',0,'DUR','Durango',1),(438,'GTO',15401,'',0,'GTO','Guanajuato',1),(439,'GRO',15401,'',0,'GRO','Guerrero',1),(440,'HGO',15401,'',0,'HGO','Hidalgo',1),(441,'JAL',15401,'',0,'JAL','Jalisco',1),(442,'MEX',15401,'',0,'MEX','México',1),(443,'MIC',15401,'',0,'MIC','Michoacán de Ocampo',1),(444,'MOR',15401,'',0,'MOR','Morelos',1),(445,'NAY',15401,'',0,'NAY','Nayarit',1),(446,'NLE',15401,'',0,'NLE','Nuevo León',1),(447,'OAX',15401,'',0,'OAX','Oaxaca',1),(448,'PUE',15401,'',0,'PUE','Puebla',1),(449,'QRO',15401,'',0,'QRO','Querétaro',1),(451,'ROO',15401,'',0,'ROO','Quintana Roo',1),(452,'SLP',15401,'',0,'SLP','San Luis Potosí',1),(453,'SIN',15401,'',0,'SIN','Sinaloa',1),(454,'SON',15401,'',0,'SON','Sonora',1),(455,'TAB',15401,'',0,'TAB','Tabasco',1),(456,'TAM',15401,'',0,'TAM','Tamaulipas',1),(457,'TLX',15401,'',0,'TLX','Tlaxcala',1),(458,'VER',15401,'',0,'VER','Veracruz',1),(459,'YUC',15401,'',0,'YUC','Yucatán',1),(460,'ZAC',15401,'',0,'ZAC','Zacatecas',1),(461,'ANT',7001,'',0,'ANT','Antioquia',1),(462,'BOL',7001,'',0,'BOL','Bolívar',1),(463,'BOY',7001,'',0,'BOY','Boyacá',1),(464,'CAL',7001,'',0,'CAL','Caldas',1),(465,'CAU',7001,'',0,'CAU','Cauca',1),(466,'CUN',7001,'',0,'CUN','Cundinamarca',1),(467,'HUI',7001,'',0,'HUI','Huila',1),(468,'LAG',7001,'',0,'LAG','La Guajira',1),(469,'MET',7001,'',0,'MET','Meta',1),(470,'NAR',7001,'',0,'NAR','Nariño',1),(471,'NDS',7001,'',0,'NDS','Norte de Santander',1),(472,'SAN',7001,'',0,'SAN','Santander',1),(473,'SUC',7001,'',0,'SUC','Sucre',1),(474,'TOL',7001,'',0,'TOL','Tolima',1),(475,'VAC',7001,'',0,'VAC','Valle del Cauca',1),(476,'RIS',7001,'',0,'RIS','Risalda',1),(477,'ATL',7001,'',0,'ATL','Atlántico',1),(478,'COR',7001,'',0,'COR','Córdoba',1),(479,'SAP',7001,'',0,'SAP','San Andrés, Providencia y Santa Catalina',1),(480,'ARA',7001,'',0,'ARA','Arauca',1),(481,'CAS',7001,'',0,'CAS','Casanare',1),(482,'AMA',7001,'',0,'AMA','Amazonas',1),(483,'CAQ',7001,'',0,'CAQ','Caquetá',1),(484,'CHO',7001,'',0,'CHO','Chocó',1),(485,'GUA',7001,'',0,'GUA','Guainía',1),(486,'GUV',7001,'',0,'GUV','Guaviare',1),(487,'PUT',7001,'',0,'PUT','Putumayo',1),(488,'QUI',7001,'',0,'QUI','Quindío',1),(489,'VAU',7001,'',0,'VAU','Vaupés',1),(490,'BOG',7001,'',0,'BOG','Bogotá',1),(491,'VID',7001,'',0,'VID','Vichada',1),(492,'CES',7001,'',0,'CES','Cesar',1),(493,'MAG',7001,'',0,'MAG','Magdalena',1),(494,'AT',11401,'',0,'AT','Atlántida',1),(495,'CH',11401,'',0,'CH','Choluteca',1),(496,'CL',11401,'',0,'CL','Colón',1),(497,'CM',11401,'',0,'CM','Comayagua',1),(498,'CO',11401,'',0,'CO','Copán',1),(499,'CR',11401,'',0,'CR','Cortés',1),(500,'EP',11401,'',0,'EP','El Paraíso',1),(501,'FM',11401,'',0,'FM','Francisco Morazán',1),(502,'GD',11401,'',0,'GD','Gracias a Dios',1),(503,'IN',11401,'',0,'IN','Intibucá',1),(504,'IB',11401,'',0,'IB','Islas de la Bahía',1),(505,'LP',11401,'',0,'LP','La Paz',1),(506,'LM',11401,'',0,'LM','Lempira',1),(507,'OC',11401,'',0,'OC','Ocotepeque',1),(508,'OL',11401,'',0,'OL','Olancho',1),(509,'SB',11401,'',0,'SB','Santa Bárbara',1),(510,'VL',11401,'',0,'VL','Valle',1),(511,'YO',11401,'',0,'YO','Yoro',1),(512,'DC',11401,'',0,'DC','Distrito Central',1),(652,'CC',4601,'Oistins',0,'CC','Christ Church',1),(655,'SA',4601,'Greenland',0,'SA','Saint Andrew',1),(656,'SG',4601,'Bulkeley',0,'SG','Saint George',1),(657,'JA',4601,'Holetown',0,'JA','Saint James',1),(658,'SJ',4601,'Four Roads',0,'SJ','Saint John',1),(659,'SB',4601,'Bathsheba',0,'SB','Saint Joseph',1),(660,'SL',4601,'Crab Hill',0,'SL','Saint Lucy',1),(661,'SM',4601,'Bridgetown',0,'SM','Saint Michael',1),(662,'SP',4601,'Speightstown',0,'SP','Saint Peter',1),(663,'SC',4601,'Crane',0,'SC','Saint Philip',1),(664,'ST',4601,'Hillaby',0,'ST','Saint Thomas',1),(777,'AG',315,NULL,NULL,NULL,'AGRIGENTO',1),(778,'AL',312,NULL,NULL,NULL,'ALESSANDRIA',1),(779,'AN',310,NULL,NULL,NULL,'ANCONA',1),(780,'AO',319,NULL,NULL,NULL,'AOSTA',1),(781,'AR',316,NULL,NULL,NULL,'AREZZO',1),(782,'AP',310,NULL,NULL,NULL,'ASCOLI PICENO',1),(783,'AT',312,NULL,NULL,NULL,'ASTI',1),(784,'AV',304,NULL,NULL,NULL,'AVELLINO',1),(785,'BA',313,NULL,NULL,NULL,'BARI',1),(786,'BT',313,NULL,NULL,NULL,'BARLETTA-ANDRIA-TRANI',1),(787,'BL',320,NULL,NULL,NULL,'BELLUNO',1),(788,'BN',304,NULL,NULL,NULL,'BENEVENTO',1),(789,'BG',309,NULL,NULL,NULL,'BERGAMO',1),(790,'BI',312,NULL,NULL,NULL,'BIELLA',1),(791,'BO',305,NULL,NULL,NULL,'BOLOGNA',1),(792,'BZ',317,NULL,NULL,NULL,'BOLZANO',1),(793,'BS',309,NULL,NULL,NULL,'BRESCIA',1),(794,'BR',313,NULL,NULL,NULL,'BRINDISI',1),(795,'CA',314,NULL,NULL,NULL,'CAGLIARI',1),(796,'CL',315,NULL,NULL,NULL,'CALTANISSETTA',1),(797,'CB',311,NULL,NULL,NULL,'CAMPOBASSO',1),(798,'CI',314,NULL,NULL,NULL,'CARBONIA-IGLESIAS',1),(799,'CE',304,NULL,NULL,NULL,'CASERTA',1),(800,'CT',315,NULL,NULL,NULL,'CATANIA',1),(801,'CZ',303,NULL,NULL,NULL,'CATANZARO',1),(802,'CH',301,NULL,NULL,NULL,'CHIETI',1),(803,'CO',309,NULL,NULL,NULL,'COMO',1),(804,'CS',303,NULL,NULL,NULL,'COSENZA',1),(805,'CR',309,NULL,NULL,NULL,'CREMONA',1),(806,'KR',303,NULL,NULL,NULL,'CROTONE',1),(807,'CN',312,NULL,NULL,NULL,'CUNEO',1),(808,'EN',315,NULL,NULL,NULL,'ENNA',1),(809,'FM',310,NULL,NULL,NULL,'FERMO',1),(810,'FE',305,NULL,NULL,NULL,'FERRARA',1),(811,'FI',316,NULL,NULL,NULL,'FIRENZE',1),(812,'FG',313,NULL,NULL,NULL,'FOGGIA',1),(813,'FC',305,NULL,NULL,NULL,'FORLI-CESENA',1),(814,'FR',307,NULL,NULL,NULL,'FROSINONE',1),(815,'GE',308,NULL,NULL,NULL,'GENOVA',1),(816,'GO',306,NULL,NULL,NULL,'GORIZIA',1),(817,'GR',316,NULL,NULL,NULL,'GROSSETO',1),(818,'IM',308,NULL,NULL,NULL,'IMPERIA',1),(819,'IS',311,NULL,NULL,NULL,'ISERNIA',1),(820,'SP',308,NULL,NULL,NULL,'LA SPEZIA',1),(821,'AQ',301,NULL,NULL,NULL,'L AQUILA',1),(822,'LT',307,NULL,NULL,NULL,'LATINA',1),(823,'LE',313,NULL,NULL,NULL,'LECCE',1),(824,'LC',309,NULL,NULL,NULL,'LECCO',1),(825,'LI',314,NULL,NULL,NULL,'LIVORNO',1),(826,'LO',309,NULL,NULL,NULL,'LODI',1),(827,'LU',316,NULL,NULL,NULL,'LUCCA',1),(828,'MC',310,NULL,NULL,NULL,'MACERATA',1),(829,'MN',309,NULL,NULL,NULL,'MANTOVA',1),(830,'MS',316,NULL,NULL,NULL,'MASSA-CARRARA',1),(831,'MT',302,NULL,NULL,NULL,'MATERA',1),(832,'VS',314,NULL,NULL,NULL,'MEDIO CAMPIDANO',1),(833,'ME',315,NULL,NULL,NULL,'MESSINA',1),(834,'MI',309,NULL,NULL,NULL,'MILANO',1),(835,'MB',309,NULL,NULL,NULL,'MONZA e BRIANZA',1),(836,'MO',305,NULL,NULL,NULL,'MODENA',1),(837,'NA',304,NULL,NULL,NULL,'NAPOLI',1),(838,'NO',312,NULL,NULL,NULL,'NOVARA',1),(839,'NU',314,NULL,NULL,NULL,'NUORO',1),(840,'OG',314,NULL,NULL,NULL,'OGLIASTRA',1),(841,'OT',314,NULL,NULL,NULL,'OLBIA-TEMPIO',1),(842,'OR',314,NULL,NULL,NULL,'ORISTANO',1),(843,'PD',320,NULL,NULL,NULL,'PADOVA',1),(844,'PA',315,NULL,NULL,NULL,'PALERMO',1),(845,'PR',305,NULL,NULL,NULL,'PARMA',1),(846,'PV',309,NULL,NULL,NULL,'PAVIA',1),(847,'PG',318,NULL,NULL,NULL,'PERUGIA',1),(848,'PU',310,NULL,NULL,NULL,'PESARO e URBINO',1),(849,'PE',301,NULL,NULL,NULL,'PESCARA',1),(850,'PC',305,NULL,NULL,NULL,'PIACENZA',1),(851,'PI',316,NULL,NULL,NULL,'PISA',1),(852,'PT',316,NULL,NULL,NULL,'PISTOIA',1),(853,'PN',306,NULL,NULL,NULL,'PORDENONE',1),(854,'PZ',302,NULL,NULL,NULL,'POTENZA',1),(855,'PO',316,NULL,NULL,NULL,'PRATO',1),(856,'RG',315,NULL,NULL,NULL,'RAGUSA',1),(857,'RA',305,NULL,NULL,NULL,'RAVENNA',1),(858,'RC',303,NULL,NULL,NULL,'REGGIO CALABRIA',1),(859,'RE',305,NULL,NULL,NULL,'REGGIO NELL EMILIA',1),(860,'RI',307,NULL,NULL,NULL,'RIETI',1),(861,'RN',305,NULL,NULL,NULL,'RIMINI',1),(862,'RM',307,NULL,NULL,NULL,'ROMA',1),(863,'RO',320,NULL,NULL,NULL,'ROVIGO',1),(864,'SA',304,NULL,NULL,NULL,'SALERNO',1),(865,'SS',314,NULL,NULL,NULL,'SASSARI',1),(866,'SV',308,NULL,NULL,NULL,'SAVONA',1),(867,'SI',316,NULL,NULL,NULL,'SIENA',1),(868,'SR',315,NULL,NULL,NULL,'SIRACUSA',1),(869,'SO',309,NULL,NULL,NULL,'SONDRIO',1),(870,'TA',313,NULL,NULL,NULL,'TARANTO',1),(871,'TE',301,NULL,NULL,NULL,'TERAMO',1),(872,'TR',318,NULL,NULL,NULL,'TERNI',1),(873,'TO',312,NULL,NULL,NULL,'TORINO',1),(874,'TP',315,NULL,NULL,NULL,'TRAPANI',1),(875,'TN',317,NULL,NULL,NULL,'TRENTO',1),(876,'TV',320,NULL,NULL,NULL,'TREVISO',1),(877,'TS',306,NULL,NULL,NULL,'TRIESTE',1),(878,'UD',306,NULL,NULL,NULL,'UDINE',1),(879,'VA',309,NULL,NULL,NULL,'VARESE',1),(880,'VE',320,NULL,NULL,NULL,'VENEZIA',1),(881,'VB',312,NULL,NULL,NULL,'VERBANO-CUSIO-OSSOLA',1),(882,'VC',312,NULL,NULL,NULL,'VERCELLI',1),(883,'VR',320,NULL,NULL,NULL,'VERONA',1),(884,'VV',303,NULL,NULL,NULL,'VIBO VALENTIA',1),(885,'VI',320,NULL,NULL,NULL,'VICENZA',1),(886,'VT',307,NULL,NULL,NULL,'VITERBO',1),(1036,'VE-L',23201,'',0,'VE-L','Mérida',1),(1037,'VE-T',23201,'',0,'VE-T','Trujillo',1),(1038,'VE-E',23201,'',0,'VE-E','Barinas',1),(1039,'VE-M',23202,'',0,'VE-M','Miranda',1),(1040,'VE-W',23202,'',0,'VE-W','Vargas',1),(1041,'VE-A',23202,'',0,'VE-A','Distrito Capital',1),(1042,'VE-D',23203,'',0,'VE-D','Aragua',1),(1043,'VE-G',23203,'',0,'VE-G','Carabobo',1),(1044,'VE-I',23204,'',0,'VE-I','Falcón',1),(1045,'VE-K',23204,'',0,'VE-K','Lara',1),(1046,'VE-U',23204,'',0,'VE-U','Yaracuy',1),(1047,'VE-F',23205,'',0,'VE-F','Bolívar',1),(1048,'VE-X',23205,'',0,'VE-X','Amazonas',1),(1049,'VE-Y',23205,'',0,'VE-Y','Delta Amacuro',1),(1050,'VE-O',23206,'',0,'VE-O','Nueva Esparta',1),(1051,'VE-Z',23206,'',0,'VE-Z','Dependencias Federales',1),(1052,'VE-C',23207,'',0,'VE-C','Apure',1),(1053,'VE-J',23207,'',0,'VE-J','Guárico',1),(1054,'VE-H',23207,'',0,'VE-H','Cojedes',1),(1055,'VE-P',23207,'',0,'VE-P','Portuguesa',1),(1056,'VE-B',23208,'',0,'VE-B','Anzoátegui',1),(1057,'VE-N',23208,'',0,'VE-N','Monagas',1),(1058,'VE-R',23208,'',0,'VE-R','Sucre',1),(1059,'VE-V',23209,'',0,'VE-V','Zulia',1),(1060,'VE-S',23209,'',0,'VE-S','Táchira',1),(1061,'66',10201,NULL,NULL,NULL,'?????',1),(1062,'00',10205,NULL,NULL,NULL,'?????',1),(1063,'01',10205,NULL,NULL,NULL,'?????',1),(1064,'02',10205,NULL,NULL,NULL,'?????',1),(1065,'03',10205,NULL,NULL,NULL,'??????',1),(1066,'04',10205,NULL,NULL,NULL,'?????',1),(1067,'05',10205,NULL,NULL,NULL,'??????',1),(1068,'06',10203,NULL,NULL,NULL,'??????',1),(1069,'07',10203,NULL,NULL,NULL,'???????????',1),(1070,'08',10203,NULL,NULL,NULL,'??????',1),(1071,'09',10203,NULL,NULL,NULL,'?????',1),(1072,'10',10203,NULL,NULL,NULL,'??????',1),(1073,'11',10203,NULL,NULL,NULL,'??????',1),(1074,'12',10203,NULL,NULL,NULL,'?????????',1),(1075,'13',10206,NULL,NULL,NULL,'????',1),(1076,'14',10206,NULL,NULL,NULL,'?????????',1),(1077,'15',10206,NULL,NULL,NULL,'????????',1),(1078,'16',10206,NULL,NULL,NULL,'???????',1),(1079,'17',10213,NULL,NULL,NULL,'???????',1),(1080,'18',10213,NULL,NULL,NULL,'????????',1),(1081,'19',10213,NULL,NULL,NULL,'??????',1),(1082,'20',10213,NULL,NULL,NULL,'???????',1),(1083,'21',10212,NULL,NULL,NULL,'????????',1),(1084,'22',10212,NULL,NULL,NULL,'??????',1),(1085,'23',10212,NULL,NULL,NULL,'????????',1),(1086,'24',10212,NULL,NULL,NULL,'???????',1),(1087,'25',10212,NULL,NULL,NULL,'????????',1),(1088,'26',10212,NULL,NULL,NULL,'???????',1),(1089,'27',10202,NULL,NULL,NULL,'??????',1),(1090,'28',10202,NULL,NULL,NULL,'?????????',1),(1091,'29',10202,NULL,NULL,NULL,'????????',1),(1092,'30',10202,NULL,NULL,NULL,'??????',1),(1093,'31',10209,NULL,NULL,NULL,'????????',1),(1094,'32',10209,NULL,NULL,NULL,'???????',1),(1095,'33',10209,NULL,NULL,NULL,'????????',1),(1096,'34',10209,NULL,NULL,NULL,'???????',1),(1097,'35',10209,NULL,NULL,NULL,'????????',1),(1098,'36',10211,NULL,NULL,NULL,'???????????????',1),(1099,'37',10211,NULL,NULL,NULL,'?????',1),(1100,'38',10211,NULL,NULL,NULL,'?????',1),(1101,'39',10207,NULL,NULL,NULL,'????????',1),(1102,'40',10207,NULL,NULL,NULL,'???????',1),(1103,'41',10207,NULL,NULL,NULL,'??????????',1),(1104,'42',10207,NULL,NULL,NULL,'?????',1),(1105,'43',10207,NULL,NULL,NULL,'???????',1),(1106,'44',10208,NULL,NULL,NULL,'??????',1),(1107,'45',10208,NULL,NULL,NULL,'??????',1),(1108,'46',10208,NULL,NULL,NULL,'??????',1),(1109,'47',10208,NULL,NULL,NULL,'?????',1),(1110,'48',10208,NULL,NULL,NULL,'????',1),(1111,'49',10210,NULL,NULL,NULL,'??????',1),(1112,'50',10210,NULL,NULL,NULL,'????',1),(1113,'51',10210,NULL,NULL,NULL,'????????',1),(1114,'52',10210,NULL,NULL,NULL,'????????',1),(1115,'53',10210,NULL,NULL,NULL,'???-??????',1),(1116,'54',10210,NULL,NULL,NULL,'??',1),(1117,'55',10210,NULL,NULL,NULL,'?????',1),(1118,'56',10210,NULL,NULL,NULL,'???????',1),(1119,'57',10210,NULL,NULL,NULL,'?????',1),(1120,'58',10210,NULL,NULL,NULL,'?????',1),(1121,'59',10210,NULL,NULL,NULL,'?????',1),(1122,'60',10210,NULL,NULL,NULL,'?????',1),(1123,'61',10210,NULL,NULL,NULL,'?????',1),(1124,'62',10204,NULL,NULL,NULL,'????????',1),(1125,'63',10204,NULL,NULL,NULL,'??????',1),(1126,'64',10204,NULL,NULL,NULL,'???????',1),(1127,'65',10204,NULL,NULL,NULL,'?????',1),(1128,'AL01',1301,'',0,'','Wilaya d\'Adrar',1),(1129,'AL02',1301,'',0,'','Wilaya de Chlef',1),(1130,'AL03',1301,'',0,'','Wilaya de Laghouat',1),(1131,'AL04',1301,'',0,'','Wilaya d\'Oum El Bouaghi',1),(1132,'AL05',1301,'',0,'','Wilaya de Batna',1),(1133,'AL06',1301,'',0,'','Wilaya de Béjaïa',1),(1134,'AL07',1301,'',0,'','Wilaya de Biskra',1),(1135,'AL08',1301,'',0,'','Wilaya de Béchar',1),(1136,'AL09',1301,'',0,'','Wilaya de Blida',1),(1137,'AL11',1301,'',0,'','Wilaya de Bouira',1),(1138,'AL12',1301,'',0,'','Wilaya de Tamanrasset',1),(1139,'AL13',1301,'',0,'','Wilaya de Tébessa',1),(1140,'AL14',1301,'',0,'','Wilaya de Tlemcen',1),(1141,'AL15',1301,'',0,'','Wilaya de Tiaret',1),(1142,'AL16',1301,'',0,'','Wilaya de Tizi Ouzou',1),(1143,'AL17',1301,'',0,'','Wilaya d\'Alger',1),(1144,'AL18',1301,'',0,'','Wilaya de Djelfa',1),(1145,'AL19',1301,'',0,'','Wilaya de Jijel',1),(1146,'AL20',1301,'',0,'','Wilaya de Sétif ',1),(1147,'AL21',1301,'',0,'','Wilaya de Saïda',1),(1148,'AL22',1301,'',0,'','Wilaya de Skikda',1),(1149,'AL23',1301,'',0,'','Wilaya de Sidi Bel Abbès',1),(1150,'AL24',1301,'',0,'','Wilaya d\'Annaba',1),(1151,'AL25',1301,'',0,'','Wilaya de Guelma',1),(1152,'AL26',1301,'',0,'','Wilaya de Constantine',1),(1153,'AL27',1301,'',0,'','Wilaya de Médéa',1),(1154,'AL28',1301,'',0,'','Wilaya de Mostaganem',1),(1155,'AL29',1301,'',0,'','Wilaya de M\'Sila',1),(1156,'AL30',1301,'',0,'','Wilaya de Mascara',1),(1157,'AL31',1301,'',0,'','Wilaya d\'Ouargla',1),(1158,'AL32',1301,'',0,'','Wilaya d\'Oran',1),(1159,'AL33',1301,'',0,'','Wilaya d\'El Bayadh',1),(1160,'AL34',1301,'',0,'','Wilaya d\'Illizi',1),(1161,'AL35',1301,'',0,'','Wilaya de Bordj Bou Arreridj',1),(1162,'AL36',1301,'',0,'','Wilaya de Boumerdès',1),(1163,'AL37',1301,'',0,'','Wilaya d\'El Tarf',1),(1164,'AL38',1301,'',0,'','Wilaya de Tindouf',1),(1165,'AL39',1301,'',0,'','Wilaya de Tissemsilt',1),(1166,'AL40',1301,'',0,'','Wilaya d\'El Oued',1),(1167,'AL41',1301,'',0,'','Wilaya de Khenchela',1),(1168,'AL42',1301,'',0,'','Wilaya de Souk Ahras',1),(1169,'AL43',1301,'',0,'','Wilaya de Tipaza',1),(1170,'AL44',1301,'',0,'','Wilaya de Mila',1),(1171,'AL45',1301,'',0,'','Wilaya d\'Aïn Defla',1),(1172,'AL46',1301,'',0,'','Wilaya de Naâma',1),(1173,'AL47',1301,'',0,'','Wilaya d\'Aïn Témouchent',1),(1174,'AL48',1301,'',0,'','Wilaya de Ghardaia',1),(1175,'AL49',1301,'',0,'','Wilaya de Relizane',1),(1176,'MA',1209,'',0,'','Province de Benslimane',1),(1177,'MA1',1209,'',0,'','Province de Berrechid',1),(1178,'MA2',1209,'',0,'','Province de Khouribga',1),(1179,'MA3',1209,'',0,'','Province de Settat',1),(1180,'MA4',1210,'',0,'','Province d\'El Jadida',1),(1181,'MA5',1210,'',0,'','Province de Safi',1),(1182,'MA6',1210,'',0,'','Province de Sidi Bennour',1),(1183,'MA7',1210,'',0,'','Province de Youssoufia',1),(1184,'MA6B',1205,'',0,'','Préfecture de Fès',1),(1185,'MA7B',1205,'',0,'','Province de Boulemane',1),(1186,'MA8',1205,'',0,'','Province de Moulay Yacoub',1),(1187,'MA9',1205,'',0,'','Province de Sefrou',1),(1188,'MA8A',1202,'',0,'','Province de Kénitra',1),(1189,'MA9A',1202,'',0,'','Province de Sidi Kacem',1),(1190,'MA10',1202,'',0,'','Province de Sidi Slimane',1),(1191,'MA11',1208,'',0,'','Préfecture de Casablanca',1),(1192,'MA12',1208,'',0,'','Préfecture de Mohammédia',1),(1193,'MA13',1208,'',0,'','Province de Médiouna',1),(1194,'MA14',1208,'',0,'','Province de Nouaceur',1),(1195,'MA15',1214,'',0,'','Province d\'Assa-Zag',1),(1196,'MA16',1214,'',0,'','Province d\'Es-Semara',1),(1197,'MA17A',1214,'',0,'','Province de Guelmim',1),(1198,'MA18',1214,'',0,'','Province de Tata',1),(1199,'MA19',1214,'',0,'','Province de Tan-Tan',1),(1200,'MA15',1215,'',0,'','Province de Boujdour',1),(1201,'MA16',1215,'',0,'','Province de Lâayoune',1),(1202,'MA17',1215,'',0,'','Province de Tarfaya',1),(1203,'MA18',1211,'',0,'','Préfecture de Marrakech',1),(1204,'MA19',1211,'',0,'','Province d\'Al Haouz',1),(1205,'MA20',1211,'',0,'','Province de Chichaoua',1),(1206,'MA21',1211,'',0,'','Province d\'El Kelâa des Sraghna',1),(1207,'MA22',1211,'',0,'','Province d\'Essaouira',1),(1208,'MA23',1211,'',0,'','Province de Rehamna',1),(1209,'MA24',1206,'',0,'','Préfecture de Meknès',1),(1210,'MA25',1206,'',0,'','Province d’El Hajeb',1),(1211,'MA26',1206,'',0,'','Province d\'Errachidia',1),(1212,'MA27',1206,'',0,'','Province d’Ifrane',1),(1213,'MA28',1206,'',0,'','Province de Khénifra',1),(1214,'MA29',1206,'',0,'','Province de Midelt',1),(1215,'MA30',1204,'',0,'','Préfecture d\'Oujda-Angad',1),(1216,'MA31',1204,'',0,'','Province de Berkane',1),(1217,'MA32',1204,'',0,'','Province de Driouch',1),(1218,'MA33',1204,'',0,'','Province de Figuig',1),(1219,'MA34',1204,'',0,'','Province de Jerada',1),(1220,'MA35',1204,'',0,'','Province de Nadorgg',1),(1221,'MA36',1204,'',0,'','Province de Taourirt',1),(1222,'MA37',1216,'',0,'','Province d\'Aousserd',1),(1223,'MA38',1216,'',0,'','Province d\'Oued Ed-Dahab',1),(1224,'MA39',1207,'',0,'','Préfecture de Rabat',1),(1225,'MA40',1207,'',0,'','Préfecture de Skhirat-Témara',1),(1226,'MA41',1207,'',0,'','Préfecture de Salé',1),(1227,'MA42',1207,'',0,'','Province de Khémisset',1),(1228,'MA43',1213,'',0,'','Préfecture d\'Agadir Ida-Outanane',1),(1229,'MA44',1213,'',0,'','Préfecture d\'Inezgane-Aït Melloul',1),(1230,'MA45',1213,'',0,'','Province de Chtouka-Aït Baha',1),(1231,'MA46',1213,'',0,'','Province d\'Ouarzazate',1),(1232,'MA47',1213,'',0,'','Province de Sidi Ifni',1),(1233,'MA48',1213,'',0,'','Province de Taroudant',1),(1234,'MA49',1213,'',0,'','Province de Tinghir',1),(1235,'MA50',1213,'',0,'','Province de Tiznit',1),(1236,'MA51',1213,'',0,'','Province de Zagora',1),(1237,'MA52',1212,'',0,'','Province d\'Azilal',1),(1238,'MA53',1212,'',0,'','Province de Beni Mellal',1),(1239,'MA54',1212,'',0,'','Province de Fquih Ben Salah',1),(1240,'MA55',1201,'',0,'','Préfecture de M\'diq-Fnideq',1),(1241,'MA56',1201,'',0,'','Préfecture de Tanger-Asilah',1),(1242,'MA57',1201,'',0,'','Province de Chefchaouen',1),(1243,'MA58',1201,'',0,'','Province de Fahs-Anjra',1),(1244,'MA59',1201,'',0,'','Province de Larache',1),(1245,'MA60',1201,'',0,'','Province d\'Ouezzane',1),(1246,'MA61',1201,'',0,'','Province de Tétouan',1),(1247,'MA62',1203,'',0,'','Province de Guercif',1),(1248,'MA63',1203,'',0,'','Province d\'Al Hoceïma',1),(1249,'MA64',1203,'',0,'','Province de Taounate',1),(1250,'MA65',1203,'',0,'','Province de Taza',1),(1251,'MA6A',1205,'',0,'','Préfecture de Fès',1),(1252,'MA7A',1205,'',0,'','Province de Boulemane',1),(1253,'MA15A',1214,'',0,'','Province d\'Assa-Zag',1),(1254,'MA16A',1214,'',0,'','Province d\'Es-Semara',1),(1255,'MA18A',1211,'',0,'','Préfecture de Marrakech',1),(1256,'MA19A',1214,'',0,'','Province de Tan-Tan',1),(1257,'MA19B',1214,'',0,'','Province de Tan-Tan',1),(1258,'TN01',1001,'',0,'','Ariana',1),(1259,'TN02',1001,'',0,'','Béja',1),(1260,'TN03',1001,'',0,'','Ben Arous',1),(1261,'TN04',1001,'',0,'','Bizerte',1),(1262,'TN05',1001,'',0,'','Gabès',1),(1263,'TN06',1001,'',0,'','Gafsa',1),(1264,'TN07',1001,'',0,'','Jendouba',1),(1265,'TN08',1001,'',0,'','Kairouan',1),(1266,'TN09',1001,'',0,'','Kasserine',1),(1267,'TN10',1001,'',0,'','Kébili',1),(1268,'TN11',1001,'',0,'','La Manouba',1),(1269,'TN12',1001,'',0,'','Le Kef',1),(1270,'TN13',1001,'',0,'','Mahdia',1),(1271,'TN14',1001,'',0,'','Médenine',1),(1272,'TN15',1001,'',0,'','Monastir',1),(1273,'TN16',1001,'',0,'','Nabeul',1),(1274,'TN17',1001,'',0,'','Sfax',1),(1275,'TN18',1001,'',0,'','Sidi Bouzid',1),(1276,'TN19',1001,'',0,'','Siliana',1),(1277,'TN20',1001,'',0,'','Sousse',1),(1278,'TN21',1001,'',0,'','Tataouine',1),(1279,'TN22',1001,'',0,'','Tozeur',1),(1280,'TN23',1001,'',0,'','Tunis',1),(1281,'TN24',1001,'',0,'','Zaghouan',1); +/*!40000 ALTER TABLE `llx_c_departements` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_c_ecotaxe` +-- + +DROP TABLE IF EXISTS `llx_c_ecotaxe`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_c_ecotaxe` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `code` varchar(64) NOT NULL, + `libelle` varchar(255) DEFAULT NULL, + `price` double(24,8) DEFAULT NULL, + `organization` varchar(255) DEFAULT NULL, + `fk_pays` int(11) NOT NULL, + `active` tinyint(4) NOT NULL DEFAULT '1', + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_c_ecotaxe` (`code`) +) ENGINE=InnoDB AUTO_INCREMENT=39 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_c_ecotaxe` +-- + +LOCK TABLES `llx_c_ecotaxe` WRITE; +/*!40000 ALTER TABLE `llx_c_ecotaxe` DISABLE KEYS */; +INSERT INTO `llx_c_ecotaxe` VALUES (1,'ER-A-A','Materiels electriques < 0,2kg',0.01000000,'ERP',1,1),(2,'ER-A-B','Materiels electriques >= 0,2 kg et < 0,5 kg',0.03000000,'ERP',1,1),(3,'ER-A-C','Materiels electriques >= 0,5 kg et < 1 kg',0.04000000,'ERP',1,1),(4,'ER-A-D','Materiels electriques >= 1 kg et < 2 kg',0.13000000,'ERP',1,1),(5,'ER-A-E','Materiels electriques >= 2 kg et < 4kg',0.21000000,'ERP',1,1),(6,'ER-A-F','Materiels electriques >= 4 kg et < 8 kg',0.42000000,'ERP',1,1),(7,'ER-A-G','Materiels electriques >= 8 kg et < 15 kg',0.84000000,'ERP',1,1),(8,'ER-A-H','Materiels electriques >= 15 kg et < 20 kg',1.25000000,'ERP',1,1),(9,'ER-A-I','Materiels electriques >= 20 kg et < 30 kg',1.88000000,'ERP',1,1),(10,'ER-A-J','Materiels electriques >= 30 kg',3.34000000,'ERP',1,1),(11,'ER-M-1','TV, Moniteurs < 9kg',0.84000000,'ERP',1,1),(12,'ER-M-2','TV, Moniteurs >= 9kg et < 15kg',1.67000000,'ERP',1,1),(13,'ER-M-3','TV, Moniteurs >= 15kg et < 30kg',3.34000000,'ERP',1,1),(14,'ER-M-4','TV, Moniteurs >= 30 kg',6.69000000,'ERP',1,1),(15,'EC-A-A','Materiels electriques 0,2 kg max',0.00840000,'Ecologic',1,1),(16,'EC-A-B','Materiels electriques 0,21 kg min - 0,50 kg max',0.02500000,'Ecologic',1,1),(17,'EC-A-C','Materiels electriques 0,51 kg min - 1 kg max',0.04000000,'Ecologic',1,1),(18,'EC-A-D','Materiels electriques 1,01 kg min - 2,5 kg max',0.13000000,'Ecologic',1,1),(19,'EC-A-E','Materiels electriques 2,51 kg min - 4 kg max',0.21000000,'Ecologic',1,1),(20,'EC-A-F','Materiels electriques 4,01 kg min - 8 kg max',0.42000000,'Ecologic',1,1),(21,'EC-A-G','Materiels electriques 8,01 kg min - 12 kg max',0.63000000,'Ecologic',1,1),(22,'EC-A-H','Materiels electriques 12,01 kg min - 20 kg max',1.05000000,'Ecologic',1,1),(23,'EC-A-I','Materiels electriques 20,01 kg min',1.88000000,'Ecologic',1,1),(24,'EC-M-1','TV, Moniteurs 9 kg max',0.84000000,'Ecologic',1,1),(25,'EC-M-2','TV, Moniteurs 9,01 kg min - 18 kg max',1.67000000,'Ecologic',1,1),(26,'EC-M-3','TV, Moniteurs 18,01 kg min - 36 kg max',3.34000000,'Ecologic',1,1),(27,'EC-M-4','TV, Moniteurs 36,01 kg min',6.69000000,'Ecologic',1,1),(28,'ES-M-1','TV, Moniteurs <= 20 pouces',0.84000000,'Eco-systemes',1,1),(29,'ES-M-2','TV, Moniteurs > 20 pouces et <= 32 pouces',3.34000000,'Eco-systemes',1,1),(30,'ES-M-3','TV, Moniteurs > 32 pouces et autres grands ecrans',6.69000000,'Eco-systemes',1,1),(31,'ES-A-A','Ordinateur fixe, Audio home systems (HIFI), elements hifi separes',0.84000000,'Eco-systemes',1,1),(32,'ES-A-B','Ordinateur portable, CD-RCR, VCR, lecteurs et enregistreurs DVD, instruments de musique et caisses de resonance, haut parleurs...',0.25000000,'Eco-systemes',1,1),(33,'ES-A-C','Imprimante, photocopieur, telecopieur',0.42000000,'Eco-systemes',1,1),(34,'ES-A-D','Accessoires, clavier, souris, PDA, imprimante photo, appareil photo, gps, telephone, repondeur, telephone sans fil, modem, telecommande, casque, camescope, baladeur mp3, radio portable, radio K7 et CD portable, radio reveil',0.08400000,'Eco-systemes',1,1),(35,'ES-A-E','GSM',0.00840000,'Eco-systemes',1,1),(36,'ES-A-F','Jouets et equipements de loisirs et de sports < 0,5 kg',0.04200000,'Eco-systemes',1,1),(37,'ES-A-G','Jouets et equipements de loisirs et de sports > 0,5 kg',0.17000000,'Eco-systemes',1,1),(38,'ES-A-H','Jouets et equipements de loisirs et de sports > 10 kg',1.25000000,'Eco-systemes',1,1); +/*!40000 ALTER TABLE `llx_c_ecotaxe` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_c_effectif` +-- + +DROP TABLE IF EXISTS `llx_c_effectif`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_c_effectif` ( + `id` int(11) NOT NULL, + `code` varchar(12) NOT NULL, + `libelle` varchar(30) DEFAULT NULL, + `active` tinyint(4) NOT NULL DEFAULT '1', + `module` varchar(32) DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `uk_c_effectif` (`code`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_c_effectif` +-- + +LOCK TABLES `llx_c_effectif` WRITE; +/*!40000 ALTER TABLE `llx_c_effectif` DISABLE KEYS */; +INSERT INTO `llx_c_effectif` VALUES (0,'EF0','-',1,NULL),(1,'EF1-5','1 - 5',1,NULL),(2,'EF6-10','6 - 10',1,NULL),(3,'EF11-50','11 - 50',1,NULL),(4,'EF51-100','51 - 100',1,NULL),(5,'EF100-500','100 - 500',1,NULL),(6,'EF500-','> 500',1,NULL); +/*!40000 ALTER TABLE `llx_c_effectif` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_c_field_list` +-- + +DROP TABLE IF EXISTS `llx_c_field_list`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_c_field_list` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `element` varchar(64) NOT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + `name` varchar(32) NOT NULL, + `alias` varchar(32) NOT NULL, + `title` varchar(32) NOT NULL, + `align` varchar(6) DEFAULT 'left', + `sort` tinyint(4) NOT NULL DEFAULT '1', + `search` tinyint(4) NOT NULL DEFAULT '0', + `enabled` varchar(255) DEFAULT '1', + `rang` int(11) DEFAULT '0', + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_c_field_list` +-- + +LOCK TABLES `llx_c_field_list` WRITE; +/*!40000 ALTER TABLE `llx_c_field_list` DISABLE KEYS */; +INSERT INTO `llx_c_field_list` VALUES (1,'2011-02-06 11:18:30','product_default',1,'p.ref','ref','Ref','left',1,1,'1',1),(2,'2011-02-06 11:18:30','product_default',1,'p.label','label','Label','left',1,1,'1',2),(3,'2011-02-06 11:18:30','product_default',1,'p.barcode','barcode','BarCode','center',1,1,'$conf->barcode->enabled',3),(4,'2011-02-06 11:18:30','product_default',1,'p.tms','datem','DateModification','center',1,0,'1',4),(5,'2011-02-06 11:18:30','product_default',1,'p.price','price','SellingPriceHT','right',1,0,'1',5),(6,'2011-02-06 11:18:30','product_default',1,'p.price_ttc','price_ttc','SellingPriceTTC','right',1,0,'1',6),(7,'2011-02-06 11:18:30','product_default',1,'p.stock','stock','Stock','right',0,0,'$conf->stock->enabled',7),(8,'2011-02-06 11:18:30','product_default',1,'p.envente','status','Status','right',1,0,'1',8); +/*!40000 ALTER TABLE `llx_c_field_list` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_c_forme_juridique` +-- + +DROP TABLE IF EXISTS `llx_c_forme_juridique`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_c_forme_juridique` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `code` int(11) NOT NULL, + `fk_pays` int(11) NOT NULL, + `libelle` varchar(255) DEFAULT NULL, + `isvatexempted` tinyint(4) NOT NULL DEFAULT '0', + `active` tinyint(4) NOT NULL DEFAULT '1', + `module` varchar(32) DEFAULT NULL, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_c_forme_juridique` (`code`) +) ENGINE=InnoDB AUTO_INCREMENT=100008 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_c_forme_juridique` +-- + +LOCK TABLES `llx_c_forme_juridique` WRITE; +/*!40000 ALTER TABLE `llx_c_forme_juridique` DISABLE KEYS */; +INSERT INTO `llx_c_forme_juridique` VALUES (399,0,0,'-',0,1,NULL),(400,2301,23,'Monotributista',0,1,NULL),(401,2302,23,'Sociedad Civil',0,1,NULL),(402,2303,23,'Sociedades Comerciales',0,1,NULL),(403,2304,23,'Sociedades de Hecho',0,1,NULL),(404,2305,23,'Sociedades Irregulares',0,1,NULL),(405,2306,23,'Sociedad Colectiva',0,1,NULL),(406,2307,23,'Sociedad en Comandita Simple',0,1,NULL),(407,2308,23,'Sociedad de Capital e Industria',0,1,NULL),(408,2309,23,'Sociedad Accidental o en participación',0,1,NULL),(409,2310,23,'Sociedad de Responsabilidad Limitada',0,1,NULL),(410,2311,23,'Sociedad Anónima',0,1,NULL),(411,2312,23,'Sociedad Anónima con Participación Estatal Mayoritaria',0,1,NULL),(412,2313,23,'Sociedad en Comandita por Acciones (arts. 315 a 324, LSC)',0,1,NULL),(413,11,1,'Artisan Commerçant (EI)',0,1,NULL),(414,12,1,'Commerçant (EI)',0,1,NULL),(415,13,1,'Artisan (EI)',0,1,NULL),(416,14,1,'Officier public ou ministériel',0,1,NULL),(417,15,1,'Profession libérale (EI)',0,1,NULL),(418,16,1,'Exploitant agricole',0,1,NULL),(419,17,1,'Agent commercial',0,1,NULL),(420,18,1,'Associé Gérant de société',0,1,NULL),(421,19,1,'Personne physique',0,1,NULL),(422,21,1,'Indivision',0,1,NULL),(423,22,1,'Société créée de fait',0,1,NULL),(424,23,1,'Société en participation',0,1,NULL),(425,27,1,'Paroisse hors zone concordataire',0,1,NULL),(426,29,1,'Groupement de droit privé non doté de la personnalité morale',0,1,NULL),(427,31,1,'Personne morale de droit étranger, immatriculée au RCS',0,1,NULL),(428,32,1,'Personne morale de droit étranger, non immatriculée au RCS',0,1,NULL),(429,35,1,'Régime auto-entrepreneur',0,1,NULL),(430,41,1,'Établissement public ou régie à caractère industriel ou commercial',0,1,NULL),(431,51,1,'Société coopérative commerciale particulière',0,1,NULL),(432,52,1,'Société en nom collectif',0,1,NULL),(433,53,1,'Société en commandite',0,1,NULL),(434,54,1,'Société à responsabilité limitée (SARL)',0,1,NULL),(435,55,1,'Société anonyme à conseil d administration',0,1,NULL),(436,56,1,'Société anonyme à directoire',0,1,NULL),(437,57,1,'Société par actions simplifiée',0,1,NULL),(438,58,1,'Entreprise Unipersonnelle à Responsabilité Limitée (EURL)',0,1,NULL),(439,61,1,'Caisse d\'épargne et de prévoyance',0,1,NULL),(440,62,1,'Groupement d\'intérêt économique (GIE)',0,1,NULL),(441,63,1,'Société coopérative agricole',0,1,NULL),(442,64,1,'Société non commerciale d assurances',0,1,NULL),(443,65,1,'Société civile',0,1,NULL),(444,69,1,'Personnes de droit privé inscrites au RCS',0,1,NULL),(445,71,1,'Administration de l état',0,1,NULL),(446,72,1,'Collectivité territoriale',0,1,NULL),(447,73,1,'Établissement public administratif',0,1,NULL),(448,74,1,'Personne morale de droit public administratif',0,1,NULL),(449,81,1,'Organisme gérant régime de protection social à adhésion obligatoire',0,1,NULL),(450,82,1,'Organisme mutualiste',0,1,NULL),(451,83,1,'Comité d entreprise',0,1,NULL),(452,84,1,'Organisme professionnel',0,1,NULL),(453,85,1,'Organisme de retraite à adhésion non obligatoire',0,1,NULL),(454,91,1,'Syndicat de propriétaires',0,1,NULL),(455,92,1,'Association loi 1901 ou assimilé',0,1,NULL),(456,93,1,'Fondation',0,1,NULL),(457,99,1,'Personne morale de droit privé',0,1,NULL),(458,200,2,'Indépendant',0,1,NULL),(459,201,2,'SPRL - Société à responsabilité limitée',0,1,NULL),(460,202,2,'SA - Société Anonyme',0,1,NULL),(461,203,2,'SCRL - Société coopérative à responsabilité limitée',0,1,NULL),(462,204,2,'ASBL - Association sans but Lucratif',0,1,NULL),(463,205,2,'SCRI - Société coopérative à responsabilité illimitée',0,1,NULL),(464,206,2,'SCS - Société en commandite simple',0,1,NULL),(465,207,2,'SCA - Société en commandite par action',0,1,NULL),(466,208,2,'SNC - Société en nom collectif',0,1,NULL),(467,209,2,'GIE - Groupement d intérêt économique',0,1,NULL),(468,210,2,'GEIE - Groupement européen d intérêt économique',0,1,NULL),(469,500,5,'Limited liability corporation (GmbH)',0,1,NULL),(470,501,5,'Stock corporation (AG)',0,1,NULL),(471,502,5,'Partnerships general or limited (GmbH & CO. KG)',0,1,NULL),(472,503,5,'Sole proprietor / Private business',0,1,NULL),(473,301,3,'Società semplice',0,1,NULL),(474,302,3,'Società in nome collettivo s.n.c.',0,1,NULL),(475,303,3,'Società in accomandita semplice s.a.s.',0,1,NULL),(476,304,3,'Società per azioni s.p.a.',0,1,NULL),(477,305,3,'Società a responsabilità limitata s.r.l.',0,1,NULL),(478,306,3,'Società in accomandita per azioni s.a.p.a.',0,1,NULL),(479,307,3,'Società cooperativa',0,1,NULL),(480,308,3,'Società consortile',0,1,NULL),(481,309,3,'Società europea',0,1,NULL),(482,310,3,'Società cooperativa europea',0,1,NULL),(483,311,3,'Società unipersonale',0,1,NULL),(484,312,3,'Società di professionisti',0,1,NULL),(485,313,3,'Società di fatto',0,1,NULL),(486,314,3,'Società occulta',0,1,NULL),(487,315,3,'Società apparente',0,1,NULL),(488,316,3,'Impresa individuale ',0,1,NULL),(489,317,3,'Impresa coniugale',0,1,NULL),(490,318,3,'Impresa familiare',0,1,NULL),(491,600,6,'Raison Individuelle',0,1,NULL),(492,601,6,'Société Simple',0,1,NULL),(493,602,6,'Société en nom collectif',0,1,NULL),(494,603,6,'Société en commandite',0,1,NULL),(495,604,6,'Société anonyme (SA)',0,1,NULL),(496,605,6,'Société en commandite par actions',0,1,NULL),(497,606,6,'Société à responsabilité limitée (SARL)',0,1,NULL),(498,607,6,'Société coopérative',0,1,NULL),(499,608,6,'Association',0,1,NULL),(500,609,6,'Fondation',0,1,NULL),(501,700,7,'Sole Trader',0,1,NULL),(502,701,7,'Partnership',0,1,NULL),(503,702,7,'Private Limited Company by shares (LTD)',0,1,NULL),(504,703,7,'Public Limited Company',0,1,NULL),(505,704,7,'Workers Cooperative',0,1,NULL),(506,705,7,'Limited Liability Partnership',0,1,NULL),(507,706,7,'Franchise',0,1,NULL),(508,1000,10,'Société à responsabilité limitée (SARL)',0,1,NULL),(509,1001,10,'Société en Nom Collectif (SNC)',0,1,NULL),(510,1002,10,'Société en Commandite Simple (SCS)',0,1,NULL),(511,1003,10,'société en participation',0,1,NULL),(512,1004,10,'Société Anonyme (SA)',0,1,NULL),(513,1005,10,'Société Unipersonnelle à Responsabilité Limitée (SUARL)',0,1,NULL),(514,1006,10,'Groupement d\'intérêt économique (GEI)',0,1,NULL),(515,1007,10,'Groupe de sociétés',0,1,NULL),(516,401,4,'Empresario Individual',0,1,NULL),(517,402,4,'Comunidad de Bienes',0,1,NULL),(518,403,4,'Sociedad Civil',0,1,NULL),(519,404,4,'Sociedad Colectiva',0,1,NULL),(520,405,4,'Sociedad Limitada',0,1,NULL),(521,406,4,'Sociedad Anónima',0,1,NULL),(522,407,4,'Sociedad Comandataria por Acciones',0,1,NULL),(523,408,4,'Sociedad Comandataria Simple',0,1,NULL),(524,409,4,'Sociedad Laboral',0,1,NULL),(525,410,4,'Sociedad Cooperativa',0,1,NULL),(526,411,4,'Sociedad de Garantía Recíproca',0,1,NULL),(527,412,4,'Entidad de Capital-Riesgo',0,1,NULL),(528,413,4,'Agrupación de Interés Económico',0,1,NULL),(529,414,4,'Sociedad de Inversión Mobiliaria',0,1,NULL),(530,415,4,'Agrupación sin Ánimo de Lucro',0,1,NULL),(531,15201,152,'Mauritius Private Company Limited By Shares',0,1,NULL),(532,15202,152,'Mauritius Company Limited By Guarantee',0,1,NULL),(533,15203,152,'Mauritius Public Company Limited By Shares',0,1,NULL),(534,15204,152,'Mauritius Foreign Company',0,1,NULL),(535,15205,152,'Mauritius GBC1 (Offshore Company)',0,1,NULL),(536,15206,152,'Mauritius GBC2 (International Company)',0,1,NULL),(537,15207,152,'Mauritius General Partnership',0,1,NULL),(538,15208,152,'Mauritius Limited Partnership',0,1,NULL),(539,15209,152,'Mauritius Sole Proprietorship',0,1,NULL),(540,15210,152,'Mauritius Trusts',0,1,NULL),(541,15401,154,'Sociedad en nombre colectivo',0,1,NULL),(542,15402,154,'Sociedad en comandita simple',0,1,NULL),(543,15403,154,'Sociedad de responsabilidad limitada',0,1,NULL),(544,15404,154,'Sociedad anónima',0,1,NULL),(545,15405,154,'Sociedad en comandita por acciones',0,1,NULL),(546,15406,154,'Sociedad cooperativa',0,1,NULL),(100001,100001,1,'Etudiant',0,0,'cabinetmed'),(100002,100002,1,'Retraité',0,0,'cabinetmed'),(100003,100003,1,'Artisan',0,0,'cabinetmed'),(100004,100004,1,'Femme de ménage',0,0,'cabinetmed'),(100005,100005,1,'Professeur',0,0,'cabinetmed'),(100006,100006,1,'Profession libérale',0,0,'cabinetmed'),(100007,100007,1,'Informaticien',0,0,'cabinetmed'); +/*!40000 ALTER TABLE `llx_c_forme_juridique` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_c_input_method` +-- + +DROP TABLE IF EXISTS `llx_c_input_method`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_c_input_method` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `code` varchar(30) DEFAULT NULL, + `libelle` varchar(60) DEFAULT NULL, + `active` tinyint(4) NOT NULL DEFAULT '1', + `module` varchar(32) DEFAULT NULL, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_c_methode_commande_fournisseur` (`code`), + UNIQUE KEY `uk_c_input_method` (`code`) +) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_c_input_method` +-- + +LOCK TABLES `llx_c_input_method` WRITE; +/*!40000 ALTER TABLE `llx_c_input_method` DISABLE KEYS */; +INSERT INTO `llx_c_input_method` VALUES (1,'OrderByMail','Courrier',1,NULL),(2,'OrderByFax','Fax',1,NULL),(3,'OrderByEMail','EMail',1,NULL),(4,'OrderByPhone','Téléphone',1,NULL),(5,'OrderByWWW','En ligne',1,NULL); +/*!40000 ALTER TABLE `llx_c_input_method` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_c_input_reason` +-- + +DROP TABLE IF EXISTS `llx_c_input_reason`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_c_input_reason` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `code` varchar(30) NOT NULL, + `label` varchar(60) NOT NULL, + `active` tinyint(4) NOT NULL DEFAULT '1', + `module` varchar(32) DEFAULT NULL, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_c_input_reason` (`code`) +) ENGINE=MyISAM AUTO_INCREMENT=12 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_c_input_reason` +-- + +LOCK TABLES `llx_c_input_reason` WRITE; +/*!40000 ALTER TABLE `llx_c_input_reason` DISABLE KEYS */; +INSERT INTO `llx_c_input_reason` VALUES (1,'SRC_INTE','Web site',1,NULL),(2,'SRC_CAMP_MAIL','Mailing campaign',1,NULL),(3,'SRC_CAMP_PHO','Phone campaign',1,NULL),(4,'SRC_CAMP_FAX','Fax campaign',1,NULL),(5,'SRC_COMM','Commercial contact',1,NULL),(6,'SRC_SHOP','Shop contact',1,NULL),(7,'SRC_CAMP_EMAIL','EMailing campaign',1,NULL),(8,'SRC_WOM','Word of mouth',1,NULL),(9,'SRC_PARTNER','Partner',1,NULL),(10,'SRC_EMPLOYEE','Employee',1,NULL),(11,'SRC_SPONSORING','Sponsoring',1,NULL); +/*!40000 ALTER TABLE `llx_c_input_reason` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_c_methode_commande_fournisseur` +-- + +DROP TABLE IF EXISTS `llx_c_methode_commande_fournisseur`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_c_methode_commande_fournisseur` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `code` varchar(30) DEFAULT NULL, + `libelle` varchar(60) DEFAULT NULL, + `active` tinyint(4) NOT NULL DEFAULT '1', + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_c_methode_commande_fournisseur` (`code`) +) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_c_methode_commande_fournisseur` +-- + +LOCK TABLES `llx_c_methode_commande_fournisseur` WRITE; +/*!40000 ALTER TABLE `llx_c_methode_commande_fournisseur` DISABLE KEYS */; +INSERT INTO `llx_c_methode_commande_fournisseur` VALUES (1,'OrderByMail','Courrier',1),(2,'OrderByFax','Fax',1),(3,'OrderByEMail','EMail',1),(4,'OrderByPhone','Téléphone',1),(5,'OrderByWWW','En ligne',1); +/*!40000 ALTER TABLE `llx_c_methode_commande_fournisseur` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_c_paiement` +-- + +DROP TABLE IF EXISTS `llx_c_paiement`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_c_paiement` ( + `id` int(11) NOT NULL, + `code` varchar(6) NOT NULL, + `libelle` varchar(30) DEFAULT NULL, + `type` smallint(6) DEFAULT NULL, + `active` tinyint(4) NOT NULL DEFAULT '1', + `module` varchar(32) DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `uk_c_paiement` (`code`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_c_paiement` +-- + +LOCK TABLES `llx_c_paiement` WRITE; +/*!40000 ALTER TABLE `llx_c_paiement` DISABLE KEYS */; +INSERT INTO `llx_c_paiement` VALUES (0,'','-',3,1,NULL),(1,'TIP','TIP',2,1,NULL),(2,'VIR','Virement',2,1,NULL),(3,'PRE','Prélèvement',2,1,NULL),(4,'LIQ','Espèces',2,1,NULL),(6,'CB','Carte Bancaire',2,1,NULL),(7,'CHQ','Chèque',2,1,NULL),(50,'VAD','Paiement en ligne',2,0,NULL),(51,'TRA','Traite',2,0,NULL),(52,'LCR','LCR',2,0,NULL),(53,'FAC','Factor',2,0,NULL),(54,'PRO','Proforma',2,0,NULL); +/*!40000 ALTER TABLE `llx_c_paiement` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_c_paper_format` +-- + +DROP TABLE IF EXISTS `llx_c_paper_format`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_c_paper_format` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `code` varchar(16) NOT NULL, + `label` varchar(50) NOT NULL, + `width` float(6,2) DEFAULT '0.00', + `height` float(6,2) DEFAULT '0.00', + `unit` varchar(5) NOT NULL, + `active` tinyint(4) NOT NULL DEFAULT '1', + `module` varchar(32) DEFAULT NULL, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=226 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_c_paper_format` +-- + +LOCK TABLES `llx_c_paper_format` WRITE; +/*!40000 ALTER TABLE `llx_c_paper_format` DISABLE KEYS */; +INSERT INTO `llx_c_paper_format` VALUES (1,'EU4A0','Format 4A0',1682.00,2378.00,'mm',1,NULL),(2,'EU2A0','Format 2A0',1189.00,1682.00,'mm',1,NULL),(3,'EUA0','Format A0',840.00,1189.00,'mm',1,NULL),(4,'EUA1','Format A1',594.00,840.00,'mm',1,NULL),(5,'EUA2','Format A2',420.00,594.00,'mm',1,NULL),(6,'EUA3','Format A3',297.00,420.00,'mm',1,NULL),(7,'EUA4','Format A4',210.00,297.00,'mm',1,NULL),(8,'EUA5','Format A5',148.00,210.00,'mm',1,NULL),(9,'EUA6','Format A6',105.00,148.00,'mm',1,NULL),(100,'USLetter','Format Letter (A)',216.00,279.00,'mm',1,NULL),(105,'USLegal','Format Legal',216.00,356.00,'mm',1,NULL),(110,'USExecutive','Format Executive',190.00,254.00,'mm',1,NULL),(115,'USLedger','Format Ledger/Tabloid (B)',279.00,432.00,'mm',1,NULL),(200,'CAP1','Format Canadian P1',560.00,860.00,'mm',1,NULL),(205,'CAP2','Format Canadian P2',430.00,560.00,'mm',1,NULL),(210,'CAP3','Format Canadian P3',280.00,430.00,'mm',1,NULL),(215,'CAP4','Format Canadian P4',215.00,280.00,'mm',1,NULL),(220,'CAP5','Format Canadian P5',140.00,215.00,'mm',1,NULL),(225,'CAP6','Format Canadian P6',107.00,140.00,'mm',1,NULL); +/*!40000 ALTER TABLE `llx_c_paper_format` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_c_payment_term` +-- + +DROP TABLE IF EXISTS `llx_c_payment_term`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_c_payment_term` ( + `rowid` int(11) NOT NULL, + `code` varchar(16) DEFAULT NULL, + `sortorder` smallint(6) DEFAULT NULL, + `active` tinyint(4) DEFAULT '1', + `libelle` varchar(255) DEFAULT NULL, + `libelle_facture` text, + `fdm` tinyint(4) DEFAULT NULL, + `nbjour` smallint(6) DEFAULT NULL, + `decalage` smallint(6) DEFAULT NULL, + `module` varchar(32) DEFAULT NULL, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_c_payment_term` +-- + +LOCK TABLES `llx_c_payment_term` WRITE; +/*!40000 ALTER TABLE `llx_c_payment_term` DISABLE KEYS */; +INSERT INTO `llx_c_payment_term` VALUES (1,'RECEP',1,1,'A réception','Réception de facture',0,0,NULL,NULL),(2,'30D',2,1,'30 jours','Réglement à 30 jours',0,30,NULL,NULL),(3,'30DENDMONTH',3,1,'30 jours fin de mois','Réglement à 30 jours fin de mois',1,30,NULL,NULL),(4,'60D',4,1,'60 jours','Réglement à 60 jours',0,60,NULL,NULL),(5,'60DENDMONTH',5,1,'60 jours fin de mois','Réglement à 60 jours fin de mois',1,60,NULL,NULL); +/*!40000 ALTER TABLE `llx_c_payment_term` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_c_pays` +-- + +DROP TABLE IF EXISTS `llx_c_pays`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_c_pays` ( + `rowid` int(11) NOT NULL, + `code` varchar(2) NOT NULL, + `code_iso` varchar(3) DEFAULT NULL, + `libelle` varchar(50) NOT NULL, + `active` tinyint(4) NOT NULL DEFAULT '1', + PRIMARY KEY (`rowid`), + UNIQUE KEY `idx_c_pays_code` (`code`), + UNIQUE KEY `idx_c_pays_libelle` (`libelle`), + UNIQUE KEY `idx_c_pays_code_iso` (`code_iso`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_c_pays` +-- + +LOCK TABLES `llx_c_pays` WRITE; +/*!40000 ALTER TABLE `llx_c_pays` DISABLE KEYS */; +INSERT INTO `llx_c_pays` VALUES (0,'',NULL,'-',1),(1,'FR',NULL,'France',1),(2,'BE',NULL,'Belgium',1),(3,'IT',NULL,'Italy',1),(4,'ES',NULL,'Spain',1),(5,'DE',NULL,'Germany',1),(6,'CH',NULL,'Suisse',1),(7,'GB',NULL,'United Kingdow',1),(8,'IE',NULL,'Irland',1),(9,'CN',NULL,'China',1),(10,'TN',NULL,'Tunisie',1),(11,'US',NULL,'United States',1),(12,'MA',NULL,'Maroc',1),(13,'DZ',NULL,'Algérie',1),(14,'CA',NULL,'Canada',1),(15,'TG',NULL,'Togo',1),(16,'GA',NULL,'Gabon',1),(17,'NL',NULL,'Nerderland',1),(18,'HU',NULL,'Hongrie',1),(19,'RU',NULL,'Russia',1),(20,'SE',NULL,'Sweden',1),(21,'CI',NULL,'Côte d\'Ivoire',1),(22,'SN',NULL,'Sénégal',1),(23,'AR',NULL,'Argentine',1),(24,'CM',NULL,'Cameroun',1),(25,'PT',NULL,'Portugal',1),(26,'SA',NULL,'Arabie Saoudite',1),(27,'MC',NULL,'Monaco',1),(28,'AU',NULL,'Australia',1),(29,'SG',NULL,'Singapour',1),(30,'AF',NULL,'Afghanistan',1),(31,'AX',NULL,'Iles Aland',1),(32,'AL',NULL,'Albanie',1),(33,'AS',NULL,'Samoa américaines',1),(34,'AD',NULL,'Andorre',1),(35,'AO',NULL,'Angola',1),(36,'AI',NULL,'Anguilla',1),(37,'AQ',NULL,'Antarctique',1),(38,'AG',NULL,'Antigua-et-Barbuda',1),(39,'AM',NULL,'Arménie',1),(40,'AW',NULL,'Aruba',1),(41,'AT',NULL,'Autriche',1),(42,'AZ',NULL,'Azerbaïdjan',1),(43,'BS',NULL,'Bahamas',1),(44,'BH',NULL,'Bahreïn',1),(45,'BD',NULL,'Bangladesh',1),(46,'BB',NULL,'Barbade',1),(47,'BY',NULL,'Biélorussie',1),(48,'BZ',NULL,'Belize',1),(49,'BJ',NULL,'Bénin',1),(50,'BM',NULL,'Bermudes',1),(51,'BT',NULL,'Bhoutan',1),(52,'BO',NULL,'Bolivie',1),(53,'BA',NULL,'Bosnie-Herzégovine',1),(54,'BW',NULL,'Botswana',1),(55,'BV',NULL,'Ile Bouvet',1),(56,'BR',NULL,'Brésil',1),(57,'IO',NULL,'Territoire britannique de l\'Océan Indien',1),(58,'BN',NULL,'Brunei',1),(59,'BG',NULL,'Bulgarie',1),(60,'BF',NULL,'Burkina Faso',1),(61,'BI',NULL,'Burundi',1),(62,'KH',NULL,'Cambodge',1),(63,'CV',NULL,'Cap-Vert',1),(64,'KY',NULL,'Iles Cayman',1),(65,'CF',NULL,'République centrafricaine',1),(66,'TD',NULL,'Tchad',1),(67,'CL',NULL,'Chili',1),(68,'CX',NULL,'Ile Christmas',1),(69,'CC',NULL,'Iles des Cocos (Keeling)',1),(70,'CO',NULL,'Colombie',1),(71,'KM',NULL,'Comores',1),(72,'CG',NULL,'Congo',1),(73,'CD',NULL,'République démocratique du Congo',1),(74,'CK',NULL,'Iles Cook',1),(75,'CR',NULL,'Costa Rica',1),(76,'HR',NULL,'Croatie',1),(77,'CU',NULL,'Cuba',1),(78,'CY',NULL,'Chypre',1),(79,'CZ',NULL,'République Tchèque',1),(80,'DK',NULL,'Danemark',1),(81,'DJ',NULL,'Djibouti',1),(82,'DM',NULL,'Dominique',1),(83,'DO',NULL,'République Dominicaine',1),(84,'EC',NULL,'Equateur',1),(85,'EG',NULL,'Egypte',1),(86,'SV',NULL,'Salvador',1),(87,'GQ',NULL,'Guinée Equatoriale',1),(88,'ER',NULL,'Erythrée',1),(89,'EE',NULL,'Estonie',1),(90,'ET',NULL,'Ethiopie',1),(91,'FK',NULL,'Iles Falkland',1),(92,'FO',NULL,'Iles Féroé',1),(93,'FJ',NULL,'Iles Fidji',1),(94,'FI',NULL,'Finlande',1),(95,'GF',NULL,'Guyane française',1),(96,'PF',NULL,'Polynésie française',1),(97,'TF',NULL,'Terres australes françaises',1),(98,'GM',NULL,'Gambie',1),(99,'GE',NULL,'Géorgie',1),(100,'GH',NULL,'Ghana',1),(101,'GI',NULL,'Gibraltar',1),(102,'GR',NULL,'Grèce',1),(103,'GL',NULL,'Groenland',1),(104,'GD',NULL,'Grenade',1),(105,'GP',NULL,'Guadeloupe',1),(106,'GU',NULL,'Guam',1),(107,'GT',NULL,'Guatemala',1),(108,'GN',NULL,'Guinée',1),(109,'GW',NULL,'Guinée-Bissao',1),(110,'GY',NULL,'Guyana',1),(111,'HT',NULL,'Haiti',1),(112,'HM',NULL,'Iles Heard et McDonald',1),(113,'VA',NULL,'Saint-Siège (Vatican)',1),(114,'HN',NULL,'Honduras',1),(115,'HK',NULL,'Hong Kong',1),(116,'IS',NULL,'Islande',1),(117,'IN',NULL,'India',1),(118,'ID',NULL,'Indonésie',1),(119,'IR',NULL,'Iran',1),(120,'IQ',NULL,'Iraq',1),(121,'IL',NULL,'Israel',1),(122,'JM',NULL,'Jamaïque',1),(123,'JP',NULL,'Japon',1),(124,'JO',NULL,'Jordanie',1),(125,'KZ',NULL,'Kazakhstan',1),(126,'KE',NULL,'Kenya',1),(127,'KI',NULL,'Kiribati',1),(128,'KP',NULL,'Corée du Nord',1),(129,'KR',NULL,'Corée du Sud',1),(130,'KW',NULL,'Koweït',1),(131,'KG',NULL,'Kirghizistan',1),(132,'LA',NULL,'Laos',1),(133,'LV',NULL,'Lettonie',1),(134,'LB',NULL,'Liban',1),(135,'LS',NULL,'Lesotho',1),(136,'LR',NULL,'Liberia',1),(137,'LY',NULL,'Libye',1),(138,'LI',NULL,'Liechtenstein',1),(139,'LT',NULL,'Lituanie',1),(140,'LU',NULL,'Luxembourg',1),(141,'MO',NULL,'Macao',1),(142,'MK',NULL,'ex-République yougoslave de Macédoine',1),(143,'MG',NULL,'Madagascar',1),(144,'MW',NULL,'Malawi',1),(145,'MY',NULL,'Malaisie',1),(146,'MV',NULL,'Maldives',1),(147,'ML',NULL,'Mali',1),(148,'MT',NULL,'Malte',1),(149,'MH',NULL,'Iles Marshall',1),(150,'MQ',NULL,'Martinique',1),(151,'MR',NULL,'Mauritanie',1),(152,'MU',NULL,'Maurice',1),(153,'YT',NULL,'Mayotte',1),(154,'MX',NULL,'Mexique',1),(155,'FM',NULL,'Micronésie',1),(156,'MD',NULL,'Moldavie',1),(157,'MN',NULL,'Mongolie',1),(158,'MS',NULL,'Monserrat',1),(159,'MZ',NULL,'Mozambique',1),(160,'MM',NULL,'Birmanie (Myanmar)',1),(161,'NA',NULL,'Namibie',1),(162,'NR',NULL,'Nauru',1),(163,'NP',NULL,'Népal',1),(164,'AN',NULL,'Antilles néerlandaises',1),(165,'NC',NULL,'Nouvelle-Calédonie',1),(166,'NZ',NULL,'Nouvelle-Zélande',1),(167,'NI',NULL,'Nicaragua',1),(168,'NE',NULL,'Niger',1),(169,'NG',NULL,'Nigeria',1),(170,'NU',NULL,'Nioué',1),(171,'NF',NULL,'Ile Norfolk',1),(172,'MP',NULL,'Mariannes du Nord',1),(173,'NO',NULL,'Norvège',1),(174,'OM',NULL,'Oman',1),(175,'PK',NULL,'Pakistan',1),(176,'PW',NULL,'Palaos',1),(177,'PS',NULL,'territoire Palestinien Occupé',1),(178,'PA',NULL,'Panama',1),(179,'PG',NULL,'Papouasie-Nouvelle-Guinée',1),(180,'PY',NULL,'Paraguay',1),(181,'PE',NULL,'Pérou',1),(182,'PH',NULL,'Philippines',1),(183,'PN',NULL,'Iles Pitcairn',1),(184,'PL',NULL,'Pologne',1),(185,'PR',NULL,'Porto Rico',1),(186,'QA',NULL,'Qatar',1),(187,'RE',NULL,'Réunion',1),(188,'RO',NULL,'Roumanie',1),(189,'RW',NULL,'Rwanda',1),(190,'SH',NULL,'Sainte-Hélène',1),(191,'KN',NULL,'Saint-Christophe-et-Niévès',1),(192,'LC',NULL,'Sainte-Lucie',1),(193,'PM',NULL,'Saint-Pierre-et-Miquelon',1),(194,'VC',NULL,'Saint-Vincent-et-les-Grenadines',1),(195,'WS',NULL,'Samoa',1),(196,'SM',NULL,'Saint-Marin',1),(197,'ST',NULL,'Sao Tomé-et-Principe',1),(198,'RS',NULL,'Serbie',1),(199,'SC',NULL,'Seychelles',1),(200,'SL',NULL,'Sierra Leone',1),(201,'SK',NULL,'Slovaquie',1),(202,'SI',NULL,'Slovénie',1),(203,'SB',NULL,'Iles Salomon',1),(204,'SO',NULL,'Somalie',1),(205,'ZA',NULL,'Afrique du Sud',1),(206,'GS',NULL,'Iles Géorgie du Sud et Sandwich du Sud',1),(207,'LK',NULL,'Sri Lanka',1),(208,'SD',NULL,'Soudan',1),(209,'SR',NULL,'Suriname',1),(210,'SJ',NULL,'Iles Svalbard et Jan Mayen',1),(211,'SZ',NULL,'Swaziland',1),(212,'SY',NULL,'Syrie',1),(213,'TW',NULL,'Taïwan',1),(214,'TJ',NULL,'Tadjikistan',1),(215,'TZ',NULL,'Tanzanie',1),(216,'TH',NULL,'Thaïlande',1),(217,'TL',NULL,'Timor Oriental',1),(218,'TK',NULL,'Tokélaou',1),(219,'TO',NULL,'Tonga',1),(220,'TT',NULL,'Trinité-et-Tobago',1),(221,'TR',NULL,'Turquie',1),(222,'TM',NULL,'Turkménistan',1),(223,'TC',NULL,'Iles Turks-et-Caicos',1),(224,'TV',NULL,'Tuvalu',1),(225,'UG',NULL,'Ouganda',1),(226,'UA',NULL,'Ukraine',1),(227,'AE',NULL,'Émirats arabes unis',1),(228,'UM',NULL,'Iles mineures éloignées des États-Unis',1),(229,'UY',NULL,'Uruguay',1),(230,'UZ',NULL,'Ouzbékistan',1),(231,'VU',NULL,'Vanuatu',1),(232,'VE',NULL,'Vénézuela',1),(233,'VN',NULL,'Viêt Nam',1),(234,'VG',NULL,'Iles Vierges britanniques',1),(235,'VI',NULL,'Iles Vierges américaines',1),(236,'WF',NULL,'Wallis-et-Futuna',1),(237,'EH',NULL,'Sahara occidental',1),(238,'YE',NULL,'Yémen',1),(239,'ZM',NULL,'Zambie',1),(240,'ZW',NULL,'Zimbabwe',1),(241,'GG',NULL,'Guernesey',1),(242,'IM',NULL,'Ile de Man',1),(243,'JE',NULL,'Jersey',1),(244,'ME',NULL,'Monténégro',1),(245,'BL',NULL,'Saint-Barthélemy',1),(246,'MF',NULL,'Saint-Martin',1); +/*!40000 ALTER TABLE `llx_c_pays` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_c_propalst` +-- + +DROP TABLE IF EXISTS `llx_c_propalst`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_c_propalst` ( + `id` smallint(6) NOT NULL, + `code` varchar(12) NOT NULL, + `label` varchar(30) DEFAULT NULL, + `active` tinyint(4) NOT NULL DEFAULT '1', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_c_propalst` (`code`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_c_propalst` +-- + +LOCK TABLES `llx_c_propalst` WRITE; +/*!40000 ALTER TABLE `llx_c_propalst` DISABLE KEYS */; +INSERT INTO `llx_c_propalst` VALUES (0,'PR_DRAFT','Brouillon',1),(1,'PR_OPEN','Ouverte',1),(2,'PR_SIGNED','Signée',1),(3,'PR_NOTSIGNED','Non Signée',1),(4,'PR_FAC','Facturée',1); +/*!40000 ALTER TABLE `llx_c_propalst` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_c_prospectlevel` +-- + +DROP TABLE IF EXISTS `llx_c_prospectlevel`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_c_prospectlevel` ( + `code` varchar(12) NOT NULL, + `label` varchar(30) DEFAULT NULL, + `sortorder` smallint(6) DEFAULT NULL, + `active` smallint(6) NOT NULL DEFAULT '1', + `module` varchar(32) DEFAULT NULL, + PRIMARY KEY (`code`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_c_prospectlevel` +-- + +LOCK TABLES `llx_c_prospectlevel` WRITE; +/*!40000 ALTER TABLE `llx_c_prospectlevel` DISABLE KEYS */; +INSERT INTO `llx_c_prospectlevel` VALUES ('PL_HIGH','High',4,1,NULL),('PL_LOW','Low',2,1,NULL),('PL_MEDIUM','Medium',3,1,NULL),('PL_NONE','None',1,1,NULL); +/*!40000 ALTER TABLE `llx_c_prospectlevel` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_c_regions` +-- + +DROP TABLE IF EXISTS `llx_c_regions`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_c_regions` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `code_region` int(11) NOT NULL, + `fk_pays` int(11) NOT NULL, + `cheflieu` varchar(50) DEFAULT NULL, + `tncc` int(11) DEFAULT NULL, + `nom` varchar(50) DEFAULT NULL, + `active` tinyint(4) NOT NULL DEFAULT '1', + PRIMARY KEY (`rowid`), + UNIQUE KEY `code_region` (`code_region`), + KEY `idx_c_regions_fk_pays` (`fk_pays`), + CONSTRAINT `fk_c_regions_fk_pays` FOREIGN KEY (`fk_pays`) REFERENCES `llx_c_pays` (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=23210 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_c_regions` +-- + +LOCK TABLES `llx_c_regions` WRITE; +/*!40000 ALTER TABLE `llx_c_regions` DISABLE KEYS */; +INSERT INTO `llx_c_regions` VALUES (1,0,0,'0',0,'-',1),(101,1,1,'97105',3,'Guadeloupe',1),(102,2,1,'97209',3,'Martinique',1),(103,3,1,'97302',3,'Guyane',1),(104,4,1,'97411',3,'Réunion',1),(105,11,1,'75056',1,'Île-de-France',1),(106,21,1,'51108',0,'Champagne-Ardenne',1),(107,22,1,'80021',0,'Picardie',1),(108,23,1,'76540',0,'Haute-Normandie',1),(109,24,1,'45234',2,'Centre',1),(110,25,1,'14118',0,'Basse-Normandie',1),(111,26,1,'21231',0,'Bourgogne',1),(112,31,1,'59350',2,'Nord-Pas-de-Calais',1),(113,41,1,'57463',0,'Lorraine',1),(114,42,1,'67482',1,'Alsace',1),(115,43,1,'25056',0,'Franche-Comté',1),(116,52,1,'44109',4,'Pays de la Loire',1),(117,53,1,'35238',0,'Bretagne',1),(118,54,1,'86194',2,'Poitou-Charentes',1),(119,72,1,'33063',1,'Aquitaine',1),(120,73,1,'31555',0,'Midi-Pyrénées',1),(121,74,1,'87085',2,'Limousin',1),(122,82,1,'69123',2,'Rhône-Alpes',1),(123,83,1,'63113',1,'Auvergne',1),(124,91,1,'34172',2,'Languedoc-Roussillon',1),(125,93,1,'13055',0,'Provence-Alpes-Côte d\'Azur',1),(126,94,1,'2A004',0,'Corse',1),(201,201,2,'',1,'Flandre',1),(202,202,2,'',2,'Wallonie',1),(203,203,2,'',3,'Bruxelles-Capitale',1),(301,301,3,NULL,1,'Abruzzo',1),(302,302,3,NULL,1,'Basilicata',1),(303,303,3,NULL,1,'Calabria',1),(304,304,3,NULL,1,'Campania',1),(305,305,3,NULL,1,'Emilia-Romagna',1),(306,306,3,NULL,1,'Friuli-Venezia Giulia',1),(307,307,3,NULL,1,'Lazio',1),(308,308,3,NULL,1,'Liguria',1),(309,309,3,NULL,1,'Lombardia',1),(310,310,3,NULL,1,'Marche',1),(311,311,3,NULL,1,'Molise',1),(312,312,3,NULL,1,'Piemonte',1),(313,313,3,NULL,1,'Puglia',1),(314,314,3,NULL,1,'Sardegna',1),(315,315,3,NULL,1,'Sicilia',1),(316,316,3,NULL,1,'Toscana',1),(317,317,3,NULL,1,'Trentino-Alto Adige',1),(318,318,3,NULL,1,'Umbria',1),(319,319,3,NULL,1,'Valle d Aosta',1),(320,320,3,NULL,1,'Veneto',1),(401,401,4,'',0,'Andalucia',1),(402,402,4,'',0,'Aragón',1),(403,403,4,'',0,'Castilla y León',1),(404,404,4,'',0,'Castilla la Mancha',1),(405,405,4,'',0,'Canarias',1),(406,406,4,'',0,'Cataluña',1),(407,407,4,'',0,'Comunidad de Ceuta',1),(408,408,4,'',0,'Comunidad Foral de Navarra',1),(409,409,4,'',0,'Comunidad de Melilla',1),(410,410,4,'',0,'Cantabria',1),(411,411,4,'',0,'Comunidad Valenciana',1),(412,412,4,'',0,'Extemadura',1),(413,413,4,'',0,'Galicia',1),(414,414,4,'',0,'Islas Baleares',1),(415,415,4,'',0,'La Rioja',1),(416,416,4,'',0,'Comunidad de Madrid',1),(417,417,4,'',0,'Región de Murcia',1),(418,418,4,'',0,'Principado de Asturias',1),(419,419,4,'',0,'Pais Vasco',1),(420,420,4,'',0,'Otros',1),(601,601,6,'',1,'Cantons',1),(1001,1001,10,'',0,'Ariana',1),(1002,1002,10,'',0,'Béja',1),(1003,1003,10,'',0,'Ben Arous',1),(1004,1004,10,'',0,'Bizerte',1),(1005,1005,10,'',0,'Gabès',1),(1006,1006,10,'',0,'Gafsa',1),(1007,1007,10,'',0,'Jendouba',1),(1008,1008,10,'',0,'Kairouan',1),(1009,1009,10,'',0,'Kasserine',1),(1010,1010,10,'',0,'Kébili',1),(1011,1011,10,'',0,'La Manouba',1),(1012,1012,10,'',0,'Le Kef',1),(1013,1013,10,'',0,'Mahdia',1),(1014,1014,10,'',0,'Médenine',1),(1015,1015,10,'',0,'Monastir',1),(1016,1016,10,'',0,'Nabeul',1),(1017,1017,10,'',0,'Sfax',1),(1018,1018,10,'',0,'Sidi Bouzid',1),(1019,1019,10,'',0,'Siliana',1),(1020,1020,10,'',0,'Sousse',1),(1021,1021,10,'',0,'Tataouine',1),(1022,1022,10,'',0,'Tozeur',1),(1023,1023,10,'',0,'Tunis',1),(1024,1024,10,'',0,'Zaghouan',1),(1101,1101,11,'',0,'United-States',1),(1201,1201,12,'',0,'Tanger-Tétouan',1),(1202,1202,12,'',0,'Gharb-Chrarda-Beni Hssen',1),(1203,1203,12,'',0,'Taza-Al Hoceima-Taounate',1),(1204,1204,12,'',0,'L\'Oriental',1),(1205,1205,12,'',0,'Fès-Boulemane',1),(1206,1206,12,'',0,'Meknès-Tafialet',1),(1207,1207,12,'',0,'Rabat-Salé-Zemour-Zaër',1),(1208,1208,12,'',0,'Grand Cassablanca',1),(1209,1209,12,'',0,'Chaouia-Ouardigha',1),(1210,1210,12,'',0,'Doukahla-Adba',1),(1211,1211,12,'',0,'Marrakech-Tensift-Al Haouz',1),(1212,1212,12,'',0,'Tadla-Azilal',1),(1213,1213,12,'',0,'Sous-Massa-Drâa',1),(1214,1214,12,'',0,'Guelmim-Es Smara',1),(1215,1215,12,'',0,'Laâyoune-Boujdour-Sakia el Hamra',1),(1216,1216,12,'',0,'Oued Ed-Dahab Lagouira',1),(1301,1301,13,'',0,'Algerie',1),(2301,2301,23,'',0,'Norte',1),(2302,2302,23,'',0,'Litoral',1),(2303,2303,23,'',0,'Cuyana',1),(2304,2304,23,'',0,'Central',1),(2305,2305,23,'',0,'Patagonia',1),(2801,2801,28,'',0,'Australia',1),(4601,4601,46,'',0,'Barbados',1),(6701,6701,67,NULL,NULL,'Tarapacá',1),(6702,6702,67,NULL,NULL,'Antofagasta',1),(6703,6703,67,NULL,NULL,'Atacama',1),(6704,6704,67,NULL,NULL,'Coquimbo',1),(6705,6705,67,NULL,NULL,'Valparaíso',1),(6706,6706,67,NULL,NULL,'General Bernardo O Higgins',1),(6707,6707,67,NULL,NULL,'Maule',1),(6708,6708,67,NULL,NULL,'Biobío',1),(6709,6709,67,NULL,NULL,'Raucanía',1),(6710,6710,67,NULL,NULL,'Los Lagos',1),(6711,6711,67,NULL,NULL,'Aysén General Carlos Ibáñez del Campo',1),(6712,6712,67,NULL,NULL,'Magallanes y Antártica Chilena',1),(6713,6713,67,NULL,NULL,'Santiago',1),(6714,6714,67,NULL,NULL,'Los Ríos',1),(6715,6715,67,NULL,NULL,'Arica y Parinacota',1),(7001,7001,70,'',0,'Colombie',1),(8601,8601,86,NULL,NULL,'Central',1),(8602,8602,86,NULL,NULL,'Oriental',1),(8603,8603,86,NULL,NULL,'Occidental',1),(10201,10201,102,NULL,NULL,'??????',1),(10202,10202,102,NULL,NULL,'?????? ??????',1),(10203,10203,102,NULL,NULL,'???????? ?????????',1),(10204,10204,102,NULL,NULL,'?????',1),(10205,10205,102,NULL,NULL,'????????? ????????? ??? ?????',1),(10206,10206,102,NULL,NULL,'???????',1),(10207,10207,102,NULL,NULL,'????? ?????',1),(10208,10208,102,NULL,NULL,'?????? ??????',1),(10209,10209,102,NULL,NULL,'????????????',1),(10210,10210,102,NULL,NULL,'????? ??????',1),(10211,10211,102,NULL,NULL,'?????? ??????',1),(10212,10212,102,NULL,NULL,'????????',1),(10213,10213,102,NULL,NULL,'?????? ?????????',1),(11401,11401,114,'',0,'Honduras',1),(11701,11701,117,'',0,'India',1),(15201,15201,152,'',0,'Rivière Noire',1),(15202,15202,152,'',0,'Flacq',1),(15203,15203,152,'',0,'Grand Port',1),(15204,15204,152,'',0,'Moka',1),(15205,15205,152,'',0,'Pamplemousses',1),(15206,15206,152,'',0,'Plaines Wilhems',1),(15207,15207,152,'',0,'Port-Louis',1),(15208,15208,152,'',0,'Rivière du Rempart',1),(15209,15209,152,'',0,'Savanne',1),(15210,15210,152,'',0,'Rodrigues',1),(15211,15211,152,'',0,'Les îles Agaléga',1),(15212,15212,152,'',0,'Les écueils des Cargados Carajos',1),(15401,15401,154,'',0,'Mexique',1),(23201,23201,232,'',0,'Los Andes',1),(23202,23202,232,'',0,'Capital',1),(23203,23203,232,'',0,'Central',1),(23204,23204,232,'',0,'Cento Occidental',1),(23205,23205,232,'',0,'Guayana',1),(23206,23206,232,'',0,'Insular',1),(23207,23207,232,'',0,'Los Llanos',1),(23208,23208,232,'',0,'Nor-Oriental',1),(23209,23209,232,'',0,'Zuliana',1); +/*!40000 ALTER TABLE `llx_c_regions` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_c_revenuestamp` +-- + +DROP TABLE IF EXISTS `llx_c_revenuestamp`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_c_revenuestamp` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_pays` int(11) NOT NULL, + `taux` double NOT NULL, + `note` varchar(128) DEFAULT NULL, + `active` tinyint(4) NOT NULL DEFAULT '1', + `accountancy_code_sell` varchar(15) DEFAULT NULL, + `accountancy_code_buy` varchar(15) DEFAULT NULL, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=105 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_c_revenuestamp` +-- + +LOCK TABLES `llx_c_revenuestamp` WRITE; +/*!40000 ALTER TABLE `llx_c_revenuestamp` DISABLE KEYS */; +INSERT INTO `llx_c_revenuestamp` VALUES (101,10,0.6,'Timbre fiscal1',1,'aa','bb'),(103,30,10,'111',1,'1111','1111'),(104,10,5,'fdsf',1,'dfd',NULL); +/*!40000 ALTER TABLE `llx_c_revenuestamp` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_c_shipment_mode` +-- + +DROP TABLE IF EXISTS `llx_c_shipment_mode`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_c_shipment_mode` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `code` varchar(30) NOT NULL, + `libelle` varchar(50) NOT NULL, + `description` text, + `tracking` varchar(256) NOT NULL, + `active` tinyint(4) DEFAULT '0', + `module` varchar(32) DEFAULT NULL, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_c_shipment_mode` +-- + +LOCK TABLES `llx_c_shipment_mode` WRITE; +/*!40000 ALTER TABLE `llx_c_shipment_mode` DISABLE KEYS */; +INSERT INTO `llx_c_shipment_mode` VALUES (1,'2010-10-09 23:43:16','CATCH','Catch','Catch by client','',1,NULL),(2,'2010-10-09 23:43:16','TRANS','Transporter','Generic transporter','',1,NULL),(3,'2010-10-09 23:43:16','COLSUI','Colissimo Suivi','Colissimo Suivi','',0,NULL),(4,'2011-07-18 17:28:27','LETTREMAX','Lettre Max','Courrier Suivi et Lettre Max','',0,NULL),(5,'2013-02-24 01:48:17','UPS','UPS','United Parcel Service','',0,NULL),(6,'2013-02-24 01:48:17','KIALA','KIALA','Relais Kiala','',0,NULL),(7,'2013-02-24 01:48:17','GLS','GLS','General Logistics Systems','',0,NULL),(8,'2013-02-24 01:48:17','CHRONO','Chronopost','Chronopost','',0,NULL),(9,'2013-02-24 01:48:18','UPS','UPS','United Parcel Service','http://wwwapps.ups.com/etracking/tracking.cgi?InquiryNumber2=&InquiryNumber3=&tracknums_displayed=3&loc=fr_FR&TypeOfInquiryNumber=T&HTMLVersion=4.0&InquiryNumber22=&InquiryNumber32=&track=Track&Suivi.x=64&Suivi.y=7&Suivi=Valider&InquiryNumber1={TRACKID}',0,NULL),(10,'2013-02-24 01:48:18','KIALA','KIALA','Relais Kiala','http://www.kiala.fr/tnt/delivery/{TRACKID}',0,NULL),(11,'2013-02-24 01:48:18','GLS','GLS','General Logistics Systems','http://www.gls-group.eu/276-I-PORTAL-WEB/content/GLS/FR01/FR/5004.htm?txtAction=71000&txtRefNo={TRACKID}',0,NULL),(12,'2013-02-24 01:48:18','CHRONO','Chronopost','Chronopost','http://www.chronopost.fr/expedier/inputLTNumbersNoJahia.do?listeNumeros={TRACKID}',0,NULL); +/*!40000 ALTER TABLE `llx_c_shipment_mode` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_c_source` +-- + +DROP TABLE IF EXISTS `llx_c_source`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_c_source` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `code` varchar(30) NOT NULL, + `label` varchar(60) NOT NULL, + `active` tinyint(4) NOT NULL DEFAULT '1', + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_c_source` +-- + +LOCK TABLES `llx_c_source` WRITE; +/*!40000 ALTER TABLE `llx_c_source` DISABLE KEYS */; +INSERT INTO `llx_c_source` VALUES (1,'SRC_00','Proposition commerciale',1),(2,'SRC_01','Internet',1),(3,'SRC_02','Campagne courrier',1),(4,'SRC_03','Campagne téléphone',1),(5,'SRC_04','Campagne fax',1),(6,'SRC_05','Commercial',1),(7,'SRC_06','Magasin',1); +/*!40000 ALTER TABLE `llx_c_source` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_c_stcomm` +-- + +DROP TABLE IF EXISTS `llx_c_stcomm`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_c_stcomm` ( + `id` int(11) NOT NULL, + `code` varchar(12) NOT NULL, + `libelle` varchar(30) DEFAULT NULL, + `active` tinyint(4) NOT NULL DEFAULT '1', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_c_stcomm` (`code`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_c_stcomm` +-- + +LOCK TABLES `llx_c_stcomm` WRITE; +/*!40000 ALTER TABLE `llx_c_stcomm` DISABLE KEYS */; +INSERT INTO `llx_c_stcomm` VALUES (-1,'ST_NO','Ne pas contacter',1),(0,'ST_NEVER','Jamais contacté',1),(1,'ST_TODO','A contacter',1),(2,'ST_PEND','Contact en cours',1),(3,'ST_DONE','Contactée',1); +/*!40000 ALTER TABLE `llx_c_stcomm` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_c_tva` +-- + +DROP TABLE IF EXISTS `llx_c_tva`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_c_tva` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_pays` int(11) NOT NULL, + `taux` double NOT NULL, + `localtax1` double NOT NULL DEFAULT '0', + `localtax1_type` varchar(10) NOT NULL DEFAULT '0', + `localtax2` double NOT NULL DEFAULT '0', + `localtax2_type` varchar(10) NOT NULL DEFAULT '0', + `recuperableonly` int(11) NOT NULL DEFAULT '0', + `note` varchar(128) DEFAULT NULL, + `active` tinyint(4) NOT NULL DEFAULT '1', + `accountancy_code_sell` varchar(15) DEFAULT NULL, + `accountancy_code_buy` varchar(15) DEFAULT NULL, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_c_tva_id` (`fk_pays`,`taux`,`recuperableonly`) +) ENGINE=InnoDB AUTO_INCREMENT=2463 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_c_tva` +-- + +LOCK TABLES `llx_c_tva` WRITE; +/*!40000 ALTER TABLE `llx_c_tva` DISABLE KEYS */; +INSERT INTO `llx_c_tva` VALUES (11,1,19.6,0,'0',0,'0',0,'VAT standard rate (France hors DOM-TOM)',1,NULL,NULL),(12,1,8.5,0,'0',0,'0',0,'VAT standard rate (DOM sauf Guyane et Saint-Martin)',0,NULL,NULL),(13,1,8.5,0,'0',0,'0',1,'VAT standard rate (DOM sauf Guyane et Saint-Martin), non perçu par le vendeur mais récupérable par acheteur',0,NULL,NULL),(14,1,5.5,0,'0',0,'0',0,'VAT reduced rate (France hors DOM-TOM)',1,NULL,NULL),(15,1,0,0,'0',0,'0',0,'VAT Rate 0 ou non applicable',1,NULL,NULL),(16,1,2.1,0,'0',0,'0',0,'VAT super-reduced rate',1,NULL,NULL),(21,2,21,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(22,2,6,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(23,2,0,0,'0',0,'0',0,'VAT Rate 0 ou non applicable',1,NULL,NULL),(24,2,12,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(31,3,20,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(32,3,10,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(33,3,4,0,'0',0,'0',0,'VAT super-reduced rate',1,NULL,NULL),(34,3,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(41,4,21,5.2,'3',-21,'1',0,'VAT standard rate',1,NULL,NULL),(42,4,10,1.4,'3',-21,'1',0,'VAT reduced rate',1,NULL,NULL),(43,4,4,0.5,'3',-21,'1',0,'VAT super-reduced rate',1,NULL,NULL),(44,4,0,0,'3',-21,'1',0,'VAT Rate 0',1,NULL,NULL),(51,5,19,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(52,5,7,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(53,5,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(61,6,7.6,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(62,6,3.6,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(63,6,2.4,0,'0',0,'0',0,'VAT super-reduced rate',1,NULL,NULL),(64,6,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(71,7,20,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(72,7,17.5,0,'0',0,'0',0,'VAT standard rate before 2011',1,NULL,NULL),(73,7,5,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(74,7,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(91,9,17,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(92,9,13,0,'0',0,'0',0,'VAT reduced rate 0',1,NULL,NULL),(93,9,3,0,'0',0,'0',0,'VAT super reduced rate 0',1,NULL,NULL),(94,9,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(101,10,6,0,'0',0,'0',0,'VAT 6%',1,NULL,NULL),(102,10,12,1,'4',0,'0',0,'VAT 12%',1,NULL,NULL),(103,10,18,0,'0',0,'0',0,'VAT 18%',1,NULL,NULL),(104,10,7.5,1,'4',0,'0',0,'VAT 6% Majoré à 25% (7.5%)',1,NULL,NULL),(105,10,15,1,'4',0,'0',0,'VAT 12% Majoré à 25% (15%)',1,NULL,NULL),(106,10,22.5,1,'4',0,'0',0,'VAT 18% Majoré à 25% (22.5%)',1,NULL,NULL),(107,10,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(111,11,0,0,'0',0,'0',0,'No Sales Tax',1,NULL,NULL),(112,11,4,0,'0',0,'0',0,'Sales Tax 4%',1,NULL,NULL),(113,11,6,0,'0',0,'0',0,'Sales Tax 6%',1,NULL,NULL),(121,12,20,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(122,12,14,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(123,12,10,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(124,12,7,0,'0',0,'0',0,'VAT super-reduced rate',1,NULL,NULL),(125,12,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(141,14,7,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(142,14,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(143,14,5,9.975,'1',0,'0',0,'TPS and TVQ rate',1,NULL,NULL),(171,17,19,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(172,17,6,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(173,17,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(201,20,25,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(202,20,12,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(203,20,6,0,'0',0,'0',0,'VAT super-reduced rate',1,NULL,NULL),(204,20,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(231,23,21,0,'0',0,'0',0,'IVA standard rate',1,NULL,NULL),(232,23,10.5,0,'0',0,'0',0,'IVA reduced rate',1,NULL,NULL),(233,23,0,0,'0',0,'0',0,'IVA Rate 0',1,NULL,NULL),(251,25,20,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(252,25,12,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(253,25,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(254,25,5,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(271,27,19.6,0,'0',0,'0',0,'VAT standard rate (France hors DOM-TOM)',1,NULL,NULL),(272,27,8.5,0,'0',0,'0',0,'VAT standard rate (DOM sauf Guyane et Saint-Martin)',0,NULL,NULL),(273,27,8.5,0,'0',0,'0',1,'VAT standard rate (DOM sauf Guyane et Saint-Martin), non perçu par le vendeur mais récupérable par acheteur',0,NULL,NULL),(274,27,5.5,0,'0',0,'0',0,'VAT reduced rate (France hors DOM-TOM)',0,NULL,NULL),(275,27,0,0,'0',0,'0',0,'VAT Rate 0 ou non applicable',1,NULL,NULL),(276,27,2.1,0,'0',0,'0',0,'VAT super-reduced rate',1,NULL,NULL),(277,27,7,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(281,28,10,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(282,28,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(411,41,20,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(412,41,10,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(413,41,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(461,46,0,0,'0',0,'0',0,'No VAT',1,NULL,NULL),(462,46,15,0,'0',0,'0',0,'VAT 15%',1,NULL,NULL),(463,46,7.5,0,'0',0,'0',0,'VAT 7.5%',1,NULL,NULL),(591,59,20,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(592,59,7,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(593,59,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(671,67,19,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(672,67,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(801,80,25,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(802,80,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(861,86,13,0,'0',0,'0',0,'IVA 13',1,NULL,NULL),(862,86,0,0,'0',0,'0',0,'SIN IVA',1,NULL,NULL),(1141,114,0,0,'0',0,'0',0,'No ISV',1,NULL,NULL),(1142,114,12,0,'0',0,'0',0,'ISV 12%',1,NULL,NULL),(1161,116,25.5,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(1162,116,7,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(1163,116,0,0,'0',0,'0',0,'VAT rate 0',1,NULL,NULL),(1171,117,12.5,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(1172,117,4,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(1173,117,1,0,'0',0,'0',0,'VAT super-reduced rate',1,NULL,NULL),(1174,117,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(1231,123,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(1232,123,5,0,'0',0,'0',0,'VAT Rate 5',1,NULL,NULL),(1401,140,15,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(1402,140,12,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(1403,140,6,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(1404,140,3,0,'0',0,'0',0,'VAT super-reduced rate',1,NULL,NULL),(1405,140,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(1521,152,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(1522,152,15,0,'0',0,'0',0,'VAT Rate 15',1,NULL,NULL),(1541,154,0,0,'0',0,'0',0,'No VAT',1,NULL,NULL),(1542,154,16,0,'0',0,'0',0,'VAT 16%',1,NULL,NULL),(1543,154,10,0,'0',0,'0',0,'VAT Frontero',1,NULL,NULL),(1662,166,15,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(1663,166,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(1731,173,25,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(1732,173,14,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(1733,173,8,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(1734,173,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(1841,184,20,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(1842,184,7,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(1843,184,3,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(1844,184,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(1881,188,24,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(1882,188,9,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(1883,188,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(1884,188,5,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(1931,193,0,0,'0',0,'0',0,'No VAT in SPM',1,NULL,NULL),(2011,201,19,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(2012,201,10,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(2013,201,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(2021,202,20,0,'0',0,'0',0,'VAT standard rate',1,NULL,NULL),(2022,202,8.5,0,'0',0,'0',0,'VAT reduced rate',1,NULL,NULL),(2023,202,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(2321,232,0,0,'0',0,'0',0,'No VAT',1,NULL,NULL),(2322,232,12,0,'0',0,'0',0,'VAT 12%',1,NULL,NULL),(2323,232,8,0,'0',0,'0',0,'VAT 8%',1,NULL,NULL),(2461,246,0,0,'0',0,'0',0,'VAT Rate 0',1,NULL,NULL),(2462,4,15,0,'0',0,'0',0,'aaaa',1,NULL,NULL); +/*!40000 ALTER TABLE `llx_c_tva` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_c_type_contact` +-- + +DROP TABLE IF EXISTS `llx_c_type_contact`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_c_type_contact` ( + `rowid` int(11) NOT NULL, + `element` varchar(30) NOT NULL, + `source` varchar(8) NOT NULL DEFAULT 'external', + `code` varchar(32) NOT NULL, + `libelle` varchar(64) NOT NULL, + `active` tinyint(4) NOT NULL DEFAULT '1', + `module` varchar(32) DEFAULT NULL, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_c_type_contact_id` (`element`,`source`,`code`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_c_type_contact` +-- + +LOCK TABLES `llx_c_type_contact` WRITE; +/*!40000 ALTER TABLE `llx_c_type_contact` DISABLE KEYS */; +INSERT INTO `llx_c_type_contact` VALUES (10,'contrat','internal','SALESREPSIGN','Commercial signataire du contrat',1,NULL),(11,'contrat','internal','SALESREPFOLL','Commercial suivi du contrat',1,NULL),(20,'contrat','external','BILLING','Contact client facturation contrat',1,NULL),(21,'contrat','external','CUSTOMER','Contact client suivi contrat',1,NULL),(22,'contrat','external','SALESREPSIGN','Contact client signataire contrat',1,NULL),(31,'propal','internal','SALESREPFOLL','Commercial à l\'origine de la propale',1,NULL),(40,'propal','external','BILLING','Contact client facturation propale',1,NULL),(41,'propal','external','CUSTOMER','Contact client suivi propale',1,NULL),(50,'facture','internal','SALESREPFOLL','Responsable suivi du paiement',1,NULL),(60,'facture','external','BILLING','Contact client facturation',1,NULL),(61,'facture','external','SHIPPING','Contact client livraison',1,NULL),(62,'facture','external','SERVICE','Contact client prestation',1,NULL),(70,'invoice_supplier','internal','SALESREPFOLL','Responsable suivi du paiement',1,NULL),(71,'invoice_supplier','external','BILLING','Contact fournisseur facturation',1,NULL),(72,'invoice_supplier','external','SHIPPING','Contact fournisseur livraison',1,NULL),(73,'invoice_supplier','external','SERVICE','Contact fournisseur prestation',1,NULL),(80,'agenda','internal','ACTOR','Responsable',1,NULL),(81,'agenda','internal','GUEST','Guest',1,NULL),(85,'agenda','external','ACTOR','Responsable',1,NULL),(86,'agenda','external','GUEST','Guest',1,NULL),(91,'commande','internal','SALESREPFOLL','Responsable suivi de la commande',1,NULL),(100,'commande','external','BILLING','Contact client facturation commande',1,NULL),(101,'commande','external','CUSTOMER','Contact client suivi commande',1,NULL),(102,'commande','external','SHIPPING','Contact client livraison commande',1,NULL),(120,'fichinter','internal','INTERREPFOLL','Responsable suivi de l\'intervention',1,NULL),(121,'fichinter','internal','INTERVENING','Intervenant',1,NULL),(130,'fichinter','external','BILLING','Contact client facturation intervention',1,NULL),(131,'fichinter','external','CUSTOMER','Contact client suivi de l\'intervention',1,NULL),(140,'order_supplier','internal','SALESREPFOLL','Responsable suivi de la commande',1,NULL),(141,'order_supplier','internal','SHIPPING','Responsable réception de la commande',1,NULL),(142,'order_supplier','external','BILLING','Contact fournisseur facturation commande',1,NULL),(143,'order_supplier','external','CUSTOMER','Contact fournisseur suivi commande',1,NULL),(145,'order_supplier','external','SHIPPING','Contact fournisseur livraison commande',1,NULL),(160,'project','internal','PROJECTLEADER','Chef de Projet',1,NULL),(161,'project','internal','PROJECTCONTRIBUTOR','Intervenant',1,NULL),(170,'project','external','PROJECTLEADER','Chef de Projet',1,NULL),(171,'project','external','PROJECTCONTRIBUTOR','Intervenant',1,NULL),(180,'project_task','internal','TASKEXECUTIVE','Responsable',1,NULL),(181,'project_task','internal','TASKCONTRIBUTOR','Intervenant',1,NULL),(190,'project_task','external','TASKEXECUTIVE','Responsable',1,NULL),(191,'project_task','external','TASKCONTRIBUTOR','Intervenant',1,NULL),(200,'societe','external','GENERALREF','Généraliste (référent)',0,'cabinetmed'),(201,'societe','external','GENERALISTE','Généraliste',0,'cabinetmed'),(210,'societe','external','SPECCHIROR','Chirurgien ortho',0,'cabinetmed'),(211,'societe','external','SPECCHIROT','Chirurgien autre',0,'cabinetmed'),(220,'societe','external','SPECDERMA','Dermatologue',0,'cabinetmed'),(225,'societe','external','SPECENDOC','Endocrinologue',0,'cabinetmed'),(230,'societe','external','SPECGYNECO','Gynécologue',0,'cabinetmed'),(240,'societe','external','SPECGASTRO','Gastroantérologue',0,'cabinetmed'),(245,'societe','external','SPECINTERNE','Interniste',0,'cabinetmed'),(250,'societe','external','SPECCARDIO','Cardiologue',0,'cabinetmed'),(260,'societe','external','SPECNEPHRO','Néphrologue',0,'cabinetmed'),(263,'societe','external','SPECPNEUMO','Pneumologue',0,'cabinetmed'),(265,'societe','external','SPECNEURO','Neurologue',0,'cabinetmed'),(270,'societe','external','SPECRHUMATO','Rhumatologue',0,'cabinetmed'),(280,'societe','external','KINE','Kinésithérapeute',0,'cabinetmed'); +/*!40000 ALTER TABLE `llx_c_type_contact` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_c_type_fees` +-- + +DROP TABLE IF EXISTS `llx_c_type_fees`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_c_type_fees` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `code` varchar(12) NOT NULL, + `libelle` varchar(30) DEFAULT NULL, + `active` tinyint(4) NOT NULL DEFAULT '1', + `module` varchar(32) DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `uk_c_type_fees` (`code`) +) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_c_type_fees` +-- + +LOCK TABLES `llx_c_type_fees` WRITE; +/*!40000 ALTER TABLE `llx_c_type_fees` DISABLE KEYS */; +INSERT INTO `llx_c_type_fees` VALUES (1,'TF_OTHER','Other',1,NULL),(2,'TF_TRIP','Trip',1,NULL),(3,'TF_LUNCH','Lunch',1,NULL); +/*!40000 ALTER TABLE `llx_c_type_fees` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_c_typent` +-- + +DROP TABLE IF EXISTS `llx_c_typent`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_c_typent` ( + `id` int(11) NOT NULL, + `code` varchar(12) NOT NULL, + `libelle` varchar(30) DEFAULT NULL, + `active` tinyint(4) NOT NULL DEFAULT '1', + `module` varchar(32) DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `uk_c_typent` (`code`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_c_typent` +-- + +LOCK TABLES `llx_c_typent` WRITE; +/*!40000 ALTER TABLE `llx_c_typent` DISABLE KEYS */; +INSERT INTO `llx_c_typent` VALUES (0,'TE_UNKNOWN','-',1,NULL),(1,'TE_STARTUP','Start-up',1,NULL),(2,'TE_GROUP','Grand groupe',1,NULL),(3,'TE_MEDIUM','PME/PMI',1,NULL),(4,'TE_SMALL','TPE',1,NULL),(5,'TE_ADMIN','Administration',1,NULL),(6,'TE_WHOLE','Grossiste',1,NULL),(7,'TE_RETAIL','Revendeur',1,NULL),(8,'TE_PRIVATE','Particulier',1,NULL),(100,'TE_OTHER','Autres',1,NULL),(101,'TE_HOMME','Homme',0,'cabinetmed'),(102,'TE_FEMME','Femme',0,'cabinetmed'); +/*!40000 ALTER TABLE `llx_c_typent` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_c_ziptown` +-- + +DROP TABLE IF EXISTS `llx_c_ziptown`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_c_ziptown` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `code` varchar(5) DEFAULT NULL, + `fk_county` int(11) DEFAULT NULL, + `fk_pays` int(11) NOT NULL DEFAULT '0', + `zip` varchar(10) NOT NULL, + `town` varchar(255) NOT NULL, + `active` tinyint(4) NOT NULL DEFAULT '1', + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_ziptown_fk_pays` (`zip`,`town`,`fk_pays`), + KEY `idx_c_ziptown_fk_county` (`fk_county`), + KEY `idx_c_ziptown_fk_pays` (`fk_pays`), + KEY `idx_c_ziptown_zip` (`zip`), + CONSTRAINT `fk_c_ziptown_fk_county` FOREIGN KEY (`fk_county`) REFERENCES `llx_c_departements` (`rowid`), + CONSTRAINT `fk_c_ziptown_fk_pays` FOREIGN KEY (`fk_pays`) REFERENCES `llx_c_pays` (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_c_ziptown` +-- + +LOCK TABLES `llx_c_ziptown` WRITE; +/*!40000 ALTER TABLE `llx_c_ziptown` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_c_ziptown` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_categorie` +-- + +DROP TABLE IF EXISTS `llx_categorie`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_categorie` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_parent` int(11) NOT NULL DEFAULT '0', + `label` varchar(255) NOT NULL, + `type` tinyint(4) NOT NULL DEFAULT '1', + `entity` int(11) NOT NULL DEFAULT '1', + `description` text, + `fk_soc` int(11) DEFAULT NULL, + `visible` tinyint(4) NOT NULL DEFAULT '1', + `import_key` varchar(14) DEFAULT NULL, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_categorie_ref` (`entity`,`fk_parent`,`label`,`type`), + KEY `idx_categorie_type` (`type`), + KEY `idx_categorie_label` (`label`) +) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_categorie` +-- + +LOCK TABLES `llx_categorie` WRITE; +/*!40000 ALTER TABLE `llx_categorie` DISABLE KEYS */; +INSERT INTO `llx_categorie` VALUES (1,0,'MySupplierCategory',1,1,'This is description of category MyCategory for suppliers
',NULL,0,NULL),(2,0,'MyCategory',1,1,'This is description of MyCategory for customer and prospects
',NULL,0,NULL),(3,7,'Hot products',1,1,'This is description of hot products
',NULL,0,NULL),(4,0,'Cold products',1,1,'This is a description of cold products
',NULL,0,NULL),(5,7,'ChildChild 2a x',0,1,'
',NULL,0,NULL),(6,7,'ChildChild 2a',0,1,'
',NULL,0,NULL),(7,9,'Child 2',0,1,'
',NULL,0,NULL),(8,7,'ChildChild 2b',0,1,'
',NULL,0,NULL),(9,0,'Parent',0,1,'
',NULL,0,NULL),(10,0,'XL Cutomers',0,1,'
',NULL,0,NULL),(11,9,'Child 1',0,1,'',NULL,0,NULL),(12,0,'cccc',2,1,'',NULL,0,NULL),(13,0,'ccc2',2,1,'gdfgdfgdf',NULL,0,NULL),(14,0,'ccc3',2,1,'',NULL,0,NULL),(15,13,'ccc2a',2,1,'',NULL,0,NULL),(16,15,'ccc2a1',2,1,'desc,b,nb,fhgfg hf',NULL,0,NULL); +/*!40000 ALTER TABLE `llx_categorie` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_categorie_association` +-- + +DROP TABLE IF EXISTS `llx_categorie_association`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_categorie_association` ( + `fk_categorie_mere` int(11) NOT NULL, + `fk_categorie_fille` int(11) NOT NULL, + UNIQUE KEY `uk_categorie_association` (`fk_categorie_mere`,`fk_categorie_fille`), + UNIQUE KEY `uk_categorie_association_fk_categorie_fille` (`fk_categorie_fille`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_categorie_association` +-- + +LOCK TABLES `llx_categorie_association` WRITE; +/*!40000 ALTER TABLE `llx_categorie_association` DISABLE KEYS */; +INSERT INTO `llx_categorie_association` VALUES (3,5),(9,11); +/*!40000 ALTER TABLE `llx_categorie_association` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_categorie_contact` +-- + +DROP TABLE IF EXISTS `llx_categorie_contact`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_categorie_contact` ( + `fk_categorie` int(11) NOT NULL, + `fk_socpeople` int(11) NOT NULL, + `import_key` varchar(14) DEFAULT NULL, + PRIMARY KEY (`fk_categorie`,`fk_socpeople`), + KEY `idx_categorie_contact_fk_categorie` (`fk_categorie`), + KEY `idx_categorie_contact_fk_socpeople` (`fk_socpeople`), + CONSTRAINT `fk_categorie_contact_categorie_rowid` FOREIGN KEY (`fk_categorie`) REFERENCES `llx_categorie` (`rowid`), + CONSTRAINT `fk_categorie_contact_fk_socpeople` FOREIGN KEY (`fk_socpeople`) REFERENCES `llx_socpeople` (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_categorie_contact` +-- + +LOCK TABLES `llx_categorie_contact` WRITE; +/*!40000 ALTER TABLE `llx_categorie_contact` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_categorie_contact` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_categorie_fournisseur` +-- + +DROP TABLE IF EXISTS `llx_categorie_fournisseur`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_categorie_fournisseur` ( + `fk_categorie` int(11) NOT NULL, + `fk_societe` int(11) NOT NULL, + `import_key` varchar(14) DEFAULT NULL, + PRIMARY KEY (`fk_categorie`,`fk_societe`), + KEY `idx_categorie_fournisseur_fk_categorie` (`fk_categorie`), + KEY `idx_categorie_fournisseur_fk_societe` (`fk_societe`), + CONSTRAINT `fk_categorie_fournisseur_categorie_rowid` FOREIGN KEY (`fk_categorie`) REFERENCES `llx_categorie` (`rowid`), + CONSTRAINT `fk_categorie_fournisseur_fk_soc` FOREIGN KEY (`fk_societe`) REFERENCES `llx_societe` (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_categorie_fournisseur` +-- + +LOCK TABLES `llx_categorie_fournisseur` WRITE; +/*!40000 ALTER TABLE `llx_categorie_fournisseur` DISABLE KEYS */; +INSERT INTO `llx_categorie_fournisseur` VALUES (1,2,NULL),(9,2,NULL); +/*!40000 ALTER TABLE `llx_categorie_fournisseur` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_categorie_member` +-- + +DROP TABLE IF EXISTS `llx_categorie_member`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_categorie_member` ( + `fk_categorie` int(11) NOT NULL, + `fk_member` int(11) NOT NULL, + PRIMARY KEY (`fk_categorie`,`fk_member`), + KEY `idx_categorie_member_fk_categorie` (`fk_categorie`), + KEY `idx_categorie_member_fk_member` (`fk_member`), + CONSTRAINT `fk_categorie_member_categorie_rowid` FOREIGN KEY (`fk_categorie`) REFERENCES `llx_categorie` (`rowid`), + CONSTRAINT `fk_categorie_member_member_rowid` FOREIGN KEY (`fk_member`) REFERENCES `llx_adherent` (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_categorie_member` +-- + +LOCK TABLES `llx_categorie_member` WRITE; +/*!40000 ALTER TABLE `llx_categorie_member` DISABLE KEYS */; +INSERT INTO `llx_categorie_member` VALUES (7,2),(8,1); +/*!40000 ALTER TABLE `llx_categorie_member` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_categorie_product` +-- + +DROP TABLE IF EXISTS `llx_categorie_product`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_categorie_product` ( + `fk_categorie` int(11) NOT NULL, + `fk_product` int(11) NOT NULL, + `import_key` varchar(14) DEFAULT NULL, + PRIMARY KEY (`fk_categorie`,`fk_product`), + KEY `idx_categorie_product_fk_categorie` (`fk_categorie`), + KEY `idx_categorie_product_fk_product` (`fk_product`), + CONSTRAINT `fk_categorie_product_categorie_rowid` FOREIGN KEY (`fk_categorie`) REFERENCES `llx_categorie` (`rowid`), + CONSTRAINT `fk_categorie_product_product_rowid` FOREIGN KEY (`fk_product`) REFERENCES `llx_product` (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_categorie_product` +-- + +LOCK TABLES `llx_categorie_product` WRITE; +/*!40000 ALTER TABLE `llx_categorie_product` DISABLE KEYS */; +INSERT INTO `llx_categorie_product` VALUES (5,1,NULL),(5,2,NULL),(5,3,NULL),(6,2,NULL),(6,3,NULL); +/*!40000 ALTER TABLE `llx_categorie_product` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_categorie_societe` +-- + +DROP TABLE IF EXISTS `llx_categorie_societe`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_categorie_societe` ( + `fk_categorie` int(11) NOT NULL, + `fk_societe` int(11) NOT NULL, + `import_key` varchar(14) DEFAULT NULL, + PRIMARY KEY (`fk_categorie`,`fk_societe`), + KEY `idx_categorie_societe_fk_categorie` (`fk_categorie`), + KEY `idx_categorie_societe_fk_societe` (`fk_societe`), + CONSTRAINT `fk_categorie_societe_categorie_rowid` FOREIGN KEY (`fk_categorie`) REFERENCES `llx_categorie` (`rowid`), + CONSTRAINT `fk_categorie_societe_fk_soc` FOREIGN KEY (`fk_societe`) REFERENCES `llx_societe` (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_categorie_societe` +-- + +LOCK TABLES `llx_categorie_societe` WRITE; +/*!40000 ALTER TABLE `llx_categorie_societe` DISABLE KEYS */; +INSERT INTO `llx_categorie_societe` VALUES (2,2,NULL),(2,19,NULL),(10,4,NULL); +/*!40000 ALTER TABLE `llx_categorie_societe` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_chargesociales` +-- + +DROP TABLE IF EXISTS `llx_chargesociales`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_chargesociales` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `date_ech` datetime NOT NULL, + `libelle` varchar(80) NOT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + `fk_type` int(11) NOT NULL, + `amount` double NOT NULL DEFAULT '0', + `paye` smallint(6) NOT NULL DEFAULT '0', + `periode` date DEFAULT NULL, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `date_creation` datetime DEFAULT NULL, + `date_valid` datetime DEFAULT NULL, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_chargesociales` +-- + +LOCK TABLES `llx_chargesociales` WRITE; +/*!40000 ALTER TABLE `llx_chargesociales` DISABLE KEYS */; +INSERT INTO `llx_chargesociales` VALUES (4,'2011-08-09 00:00:00','fff',1,60,10,1,'2011-08-01','2012-12-08 13:11:10',NULL,NULL); +/*!40000 ALTER TABLE `llx_chargesociales` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_commande` +-- + +DROP TABLE IF EXISTS `llx_commande`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_commande` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_soc` int(11) NOT NULL, + `fk_projet` int(11) DEFAULT NULL, + `ref` varchar(30) NOT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + `ref_ext` varchar(255) DEFAULT NULL, + `ref_int` varchar(255) DEFAULT NULL, + `ref_client` varchar(255) DEFAULT NULL, + `date_creation` datetime DEFAULT NULL, + `date_valid` datetime DEFAULT NULL, + `date_cloture` datetime DEFAULT NULL, + `date_commande` date DEFAULT NULL, + `fk_user_author` int(11) DEFAULT NULL, + `fk_user_valid` int(11) DEFAULT NULL, + `fk_user_cloture` int(11) DEFAULT NULL, + `source` smallint(6) DEFAULT NULL, + `fk_statut` smallint(6) DEFAULT '0', + `amount_ht` double DEFAULT '0', + `remise_percent` double DEFAULT '0', + `remise_absolue` double DEFAULT '0', + `remise` double DEFAULT '0', + `tva` double(24,8) DEFAULT '0.00000000', + `localtax1` double(24,8) DEFAULT '0.00000000', + `localtax2` double(24,8) DEFAULT '0.00000000', + `total_ht` double(24,8) DEFAULT '0.00000000', + `total_ttc` double(24,8) DEFAULT '0.00000000', + `note_private` text, + `note_public` text, + `model_pdf` varchar(255) DEFAULT NULL, + `facture` tinyint(4) DEFAULT '0', + `fk_account` int(11) DEFAULT NULL, + `fk_currency` varchar(2) DEFAULT NULL, + `fk_cond_reglement` int(11) DEFAULT NULL, + `fk_mode_reglement` int(11) DEFAULT NULL, + `date_livraison` date DEFAULT NULL, + `fk_availability` int(11) DEFAULT NULL, + `fk_input_reason` int(11) DEFAULT NULL, + `fk_delivery_address` int(11) DEFAULT NULL, + `import_key` varchar(14) DEFAULT NULL, + `extraparams` varchar(255) DEFAULT NULL, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_commande_ref` (`ref`,`entity`), + KEY `idx_commande_fk_soc` (`fk_soc`), + KEY `idx_commande_fk_user_author` (`fk_user_author`), + KEY `idx_commande_fk_user_valid` (`fk_user_valid`), + KEY `idx_commande_fk_user_cloture` (`fk_user_cloture`), + KEY `idx_commande_fk_projet` (`fk_projet`), + KEY `idx_commande_fk_account` (`fk_account`), + KEY `idx_commande_fk_currency` (`fk_currency`), + CONSTRAINT `fk_commande_fk_projet` FOREIGN KEY (`fk_projet`) REFERENCES `llx_projet` (`rowid`), + CONSTRAINT `fk_commande_fk_soc` FOREIGN KEY (`fk_soc`) REFERENCES `llx_societe` (`rowid`), + CONSTRAINT `fk_commande_fk_user_author` FOREIGN KEY (`fk_user_author`) REFERENCES `llx_user` (`rowid`), + CONSTRAINT `fk_commande_fk_user_cloture` FOREIGN KEY (`fk_user_cloture`) REFERENCES `llx_user` (`rowid`), + CONSTRAINT `fk_commande_fk_user_valid` FOREIGN KEY (`fk_user_valid`) REFERENCES `llx_user` (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_commande` +-- + +LOCK TABLES `llx_commande` WRITE; +/*!40000 ALTER TABLE `llx_commande` DISABLE KEYS */; +INSERT INTO `llx_commande` VALUES (1,'2012-12-08 13:11:07',1,NULL,'CO1107-0002',1,NULL,NULL,'','2011-07-20 15:23:12','2011-08-08 13:59:09',NULL,'2011-07-20',1,1,NULL,NULL,1,0,0,NULL,0,0.00000000,0.00000000,0.00000000,10.00000000,10.00000000,'','','',0,NULL,NULL,1,1,NULL,0,NULL,NULL,NULL,NULL),(2,'2013-02-12 16:06:51',1,NULL,'CO1107-0003',1,NULL,NULL,'','2011-07-20 23:20:12','2013-02-12 17:06:51',NULL,'2011-07-21',1,1,NULL,NULL,1,0,0,NULL,0,0.00000000,0.00000000,0.00000000,10.00000000,10.00000000,'','','einstein',0,NULL,NULL,0,NULL,NULL,0,NULL,NULL,NULL,NULL),(3,'2013-02-17 17:27:56',1,NULL,'CO1107-0004',1,NULL,NULL,'','2011-07-20 23:22:53','2013-02-17 18:27:56',NULL,'2011-07-21',1,1,NULL,NULL,1,0,0,NULL,0,0.00000000,0.00000000,0.00000000,30.00000000,30.00000000,'','','einstein',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(5,'2012-12-08 13:11:07',1,NULL,'CO1108-0001',1,NULL,NULL,'','2011-08-08 03:04:11','2011-08-08 03:04:21',NULL,'2011-08-08',1,1,NULL,NULL,2,0,0,NULL,0,0.00000000,0.00000000,0.00000000,10.00000000,10.00000000,'','','einstein',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(6,'2013-02-17 15:22:14',19,NULL,'(PROV6)',1,NULL,NULL,'','2013-02-17 16:22:14',NULL,NULL,'2013-02-17',1,NULL,NULL,NULL,0,0,0,NULL,0,11.76000000,0.00000000,0.00000000,60.00000000,71.76000000,'','','',0,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(7,'2013-02-17 17:38:37',18,NULL,'CO1302-0005',1,NULL,NULL,'gfdf','2013-02-17 16:28:22','2013-02-17 18:38:14',NULL,'2013-02-17',1,1,NULL,NULL,2,0,0,NULL,0,3.22000000,0.00000000,0.00000000,20.00000000,23.22000000,'','','',0,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(8,'2013-03-08 09:02:31',23,NULL,'(PROV8)',1,NULL,NULL,'fdfs','2013-03-08 10:02:31',NULL,NULL,'2013-03-08',1,NULL,NULL,NULL,0,0,0,NULL,0,0.00000000,0.00000000,0.00000000,5.00000000,5.00000000,'','','',0,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL); +/*!40000 ALTER TABLE `llx_commande` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_commande_extrafields` +-- + +DROP TABLE IF EXISTS `llx_commande_extrafields`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_commande_extrafields` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_object` int(11) NOT NULL, + `import_key` varchar(14) DEFAULT NULL, + PRIMARY KEY (`rowid`), + KEY `idx_commande_extrafields` (`fk_object`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_commande_extrafields` +-- + +LOCK TABLES `llx_commande_extrafields` WRITE; +/*!40000 ALTER TABLE `llx_commande_extrafields` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_commande_extrafields` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_commande_fournisseur` +-- + +DROP TABLE IF EXISTS `llx_commande_fournisseur`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_commande_fournisseur` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_soc` int(11) NOT NULL, + `ref` varchar(30) NOT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + `ref_ext` varchar(30) DEFAULT NULL, + `ref_supplier` varchar(30) DEFAULT NULL, + `fk_projet` int(11) DEFAULT '0', + `date_creation` datetime DEFAULT NULL, + `date_valid` datetime DEFAULT NULL, + `date_approve` datetime DEFAULT NULL, + `date_commande` date DEFAULT NULL, + `fk_user_author` int(11) DEFAULT NULL, + `fk_user_valid` int(11) DEFAULT NULL, + `fk_user_approve` int(11) DEFAULT NULL, + `source` smallint(6) NOT NULL, + `fk_statut` smallint(6) DEFAULT '0', + `amount_ht` double DEFAULT '0', + `remise_percent` double DEFAULT '0', + `remise` double DEFAULT '0', + `tva` double(24,8) DEFAULT '0.00000000', + `localtax1` double(24,8) DEFAULT '0.00000000', + `localtax2` double(24,8) DEFAULT '0.00000000', + `total_ht` double(24,8) DEFAULT '0.00000000', + `total_ttc` double(24,8) DEFAULT '0.00000000', + `note_private` text, + `note_public` text, + `model_pdf` varchar(255) DEFAULT NULL, + `fk_input_method` int(11) DEFAULT '0', + `fk_cond_reglement` int(11) DEFAULT '0', + `fk_mode_reglement` int(11) DEFAULT '0', + `import_key` varchar(14) DEFAULT NULL, + `extraparams` varchar(255) DEFAULT NULL, + `date_livraison` date DEFAULT NULL, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_commande_fournisseur_ref` (`ref`,`fk_soc`,`entity`), + KEY `idx_commande_fournisseur_fk_soc` (`fk_soc`), + CONSTRAINT `fk_commande_fournisseur_fk_soc` FOREIGN KEY (`fk_soc`) REFERENCES `llx_societe` (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_commande_fournisseur` +-- + +LOCK TABLES `llx_commande_fournisseur` WRITE; +/*!40000 ALTER TABLE `llx_commande_fournisseur` DISABLE KEYS */; +INSERT INTO `llx_commande_fournisseur` VALUES (1,'2012-12-08 13:11:07',13,'CF1007-0001',1,NULL,NULL,NULL,'2010-07-11 17:13:40','2010-07-11 17:15:42',NULL,'2010-07-11',1,1,NULL,0,5,0,0,0,39.20000000,0.00000000,0.00000000,200.00000000,239.20000000,NULL,NULL,'muscadet',2,0,0,NULL,NULL,NULL),(2,'2012-12-08 13:11:07',1,'CF1007-0002',1,NULL,NULL,NULL,'2010-07-11 18:46:28','2010-07-11 18:47:33',NULL,'2010-07-11',1,1,NULL,0,3,0,0,0,0.00000000,0.00000000,0.00000000,200.00000000,200.00000000,NULL,NULL,'muscadet',4,0,0,NULL,NULL,NULL),(3,'2012-12-08 13:11:07',17,'(PROV3)',1,NULL,NULL,NULL,'2011-08-04 23:00:52',NULL,NULL,NULL,1,NULL,NULL,0,0,0,0,0,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,'muscadet',0,0,0,NULL,NULL,NULL),(4,'2012-12-08 13:11:07',17,'(PROV4)',1,NULL,NULL,NULL,'2011-08-04 23:19:32',NULL,NULL,NULL,1,NULL,NULL,0,0,0,0,0,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,'muscadet',0,0,0,NULL,NULL,NULL),(5,'2012-12-08 13:11:07',17,'(PROV5)',1,NULL,NULL,NULL,'2011-08-04 23:22:16',NULL,NULL,NULL,1,NULL,NULL,0,0,0,0,0,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,'muscadet',0,0,0,NULL,NULL,NULL),(6,'2012-12-08 13:11:07',17,'CF1108-0003',1,NULL,NULL,NULL,'2011-08-04 23:22:54','2011-08-08 15:04:37',NULL,NULL,1,1,NULL,0,2,0,0,0,0.98000000,0.00000000,0.00000000,5.00000000,5.98000000,NULL,NULL,'muscadet',0,0,0,NULL,NULL,NULL),(7,'2012-12-08 13:11:07',17,'(PROV7)',1,NULL,NULL,NULL,'2011-08-04 23:23:29',NULL,NULL,NULL,1,NULL,NULL,0,0,0,0,0,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,'muscadet',0,0,0,NULL,NULL,NULL),(8,'2012-12-08 13:11:07',17,'(PROV8)',1,NULL,NULL,NULL,'2011-08-04 23:36:10',NULL,NULL,NULL,1,NULL,NULL,0,0,0,0,0,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,'muscadet',0,0,0,NULL,NULL,NULL),(13,'2013-03-09 18:39:41',1,'CF1303-0004',1,NULL,NULL,0,'2013-03-09 19:39:18','2013-03-09 19:39:27','2013-03-09 19:39:32','2013-03-09',1,1,1,0,3,0,0,0,0.00000000,0.00000000,0.00000000,10.00000000,10.00000000,NULL,NULL,'muscadet',1,0,0,NULL,NULL,NULL),(14,'2013-03-22 09:26:43',16,'(PROV14)',1,NULL,'gdfg',0,'2013-03-22 10:26:38',NULL,NULL,NULL,1,NULL,NULL,0,0,0,0,0,0.00000000,0.00000000,0.00000000,10.00000000,10.00000000,'','','muscadet',0,0,0,NULL,NULL,NULL); +/*!40000 ALTER TABLE `llx_commande_fournisseur` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_commande_fournisseur_dispatch` +-- + +DROP TABLE IF EXISTS `llx_commande_fournisseur_dispatch`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_commande_fournisseur_dispatch` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_commande` int(11) DEFAULT NULL, + `fk_product` int(11) DEFAULT NULL, + `qty` float DEFAULT NULL, + `fk_entrepot` int(11) DEFAULT NULL, + `fk_user` int(11) DEFAULT NULL, + `datec` datetime DEFAULT NULL, + PRIMARY KEY (`rowid`), + KEY `idx_commande_fournisseur_dispatch_fk_commande` (`fk_commande`) +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_commande_fournisseur_dispatch` +-- + +LOCK TABLES `llx_commande_fournisseur_dispatch` WRITE; +/*!40000 ALTER TABLE `llx_commande_fournisseur_dispatch` DISABLE KEYS */; +INSERT INTO `llx_commande_fournisseur_dispatch` VALUES (1,2,4,2,1,1,'2010-07-11 18:49:44'); +/*!40000 ALTER TABLE `llx_commande_fournisseur_dispatch` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_commande_fournisseur_extrafields` +-- + +DROP TABLE IF EXISTS `llx_commande_fournisseur_extrafields`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_commande_fournisseur_extrafields` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_object` int(11) NOT NULL, + `import_key` varchar(14) DEFAULT NULL, + PRIMARY KEY (`rowid`), + KEY `idx_commande_fournisseur_extrafields` (`fk_object`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_commande_fournisseur_extrafields` +-- + +LOCK TABLES `llx_commande_fournisseur_extrafields` WRITE; +/*!40000 ALTER TABLE `llx_commande_fournisseur_extrafields` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_commande_fournisseur_extrafields` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_commande_fournisseur_log` +-- + +DROP TABLE IF EXISTS `llx_commande_fournisseur_log`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_commande_fournisseur_log` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `datelog` datetime NOT NULL, + `fk_commande` int(11) NOT NULL, + `fk_statut` smallint(6) NOT NULL, + `fk_user` int(11) NOT NULL, + `comment` varchar(255) DEFAULT NULL, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=34 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_commande_fournisseur_log` +-- + +LOCK TABLES `llx_commande_fournisseur_log` WRITE; +/*!40000 ALTER TABLE `llx_commande_fournisseur_log` DISABLE KEYS */; +INSERT INTO `llx_commande_fournisseur_log` VALUES (1,'2010-07-11 15:13:40','2010-07-11 17:13:40',1,0,1,NULL),(2,'2010-07-11 15:15:42','2010-07-11 17:15:42',1,1,1,NULL),(3,'2010-07-11 15:16:28','2010-07-11 17:16:28',1,2,1,NULL),(4,'2010-07-11 15:19:14','2010-07-11 00:00:00',1,3,1,NULL),(5,'2010-07-11 15:19:36','2010-07-11 00:00:00',1,5,1,NULL),(6,'2010-07-11 16:46:28','2010-07-11 18:46:28',2,0,1,NULL),(7,'2010-07-11 16:47:33','2010-07-11 18:47:33',2,1,1,NULL),(8,'2010-07-11 16:47:41','2010-07-11 18:47:41',2,2,1,NULL),(9,'2010-07-11 16:48:00','2010-07-11 00:00:00',2,3,1,NULL),(10,'2011-08-04 21:00:52','2011-08-04 23:00:52',3,0,1,NULL),(11,'2011-08-04 21:19:32','2011-08-04 23:19:32',4,0,1,NULL),(12,'2011-08-04 21:22:16','2011-08-04 23:22:16',5,0,1,NULL),(13,'2011-08-04 21:22:54','2011-08-04 23:22:54',6,0,1,NULL),(14,'2011-08-04 21:23:29','2011-08-04 23:23:29',7,0,1,NULL),(15,'2011-08-04 21:36:10','2011-08-04 23:36:10',8,0,1,NULL),(19,'2011-08-08 13:04:37','2011-08-08 15:04:37',6,1,1,NULL),(20,'2011-08-08 13:04:38','2011-08-08 15:04:38',6,2,1,NULL),(29,'2013-03-09 18:39:18','2013-03-09 19:39:18',13,0,1,NULL),(30,'2013-03-09 18:39:27','2013-03-09 19:39:27',13,1,1,NULL),(31,'2013-03-09 18:39:32','2013-03-09 19:39:32',13,2,1,NULL),(32,'2013-03-09 18:39:41','2013-03-09 00:00:00',13,3,1,'hf'),(33,'2013-03-22 09:26:38','2013-03-22 10:26:38',14,0,1,NULL); +/*!40000 ALTER TABLE `llx_commande_fournisseur_log` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_commande_fournisseurdet` +-- + +DROP TABLE IF EXISTS `llx_commande_fournisseurdet`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_commande_fournisseurdet` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_commande` int(11) NOT NULL, + `fk_product` int(11) DEFAULT NULL, + `ref` varchar(50) DEFAULT NULL, + `label` varchar(255) DEFAULT NULL, + `description` text, + `tva_tx` double(6,3) DEFAULT '0.000', + `localtax1_tx` double(6,3) DEFAULT '0.000', + `localtax1_type` varchar(10) NOT NULL DEFAULT '0', + `localtax2_tx` double(6,3) DEFAULT '0.000', + `localtax2_type` varchar(10) NOT NULL DEFAULT '0', + `qty` double DEFAULT NULL, + `remise_percent` double DEFAULT '0', + `remise` double DEFAULT '0', + `subprice` double(24,8) DEFAULT '0.00000000', + `total_ht` double(24,8) DEFAULT '0.00000000', + `total_tva` double(24,8) DEFAULT '0.00000000', + `total_localtax1` double(24,8) DEFAULT '0.00000000', + `total_localtax2` double(24,8) DEFAULT '0.00000000', + `total_ttc` double(24,8) DEFAULT '0.00000000', + `product_type` int(11) DEFAULT '0', + `date_start` datetime DEFAULT NULL, + `date_end` datetime DEFAULT NULL, + `info_bits` int(11) DEFAULT '0', + `import_key` varchar(14) DEFAULT NULL, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_commande_fournisseurdet` +-- + +LOCK TABLES `llx_commande_fournisseurdet` WRITE; +/*!40000 ALTER TABLE `llx_commande_fournisseurdet` DISABLE KEYS */; +INSERT INTO `llx_commande_fournisseurdet` VALUES (1,1,NULL,'','','Chips',19.600,0.000,'',0.000,'',10,0,0,20.00000000,200.00000000,39.20000000,0.00000000,0.00000000,239.20000000,0,NULL,NULL,0,NULL),(2,2,4,'ABCD','Decapsuleur','',0.000,0.000,'',0.000,'',20,0,0,10.00000000,200.00000000,0.00000000,0.00000000,0.00000000,200.00000000,0,NULL,NULL,0,NULL),(3,6,NULL,'','','ljkljl',19.600,0.000,'',0.000,'',1,0,0,5.00000000,5.00000000,0.98000000,0.00000000,0.00000000,5.98000000,0,NULL,NULL,0,NULL),(6,13,NULL,'','','dfgdf',0.000,0.000,'0',0.000,'0',1,0,0,10.00000000,10.00000000,0.00000000,0.00000000,0.00000000,10.00000000,0,NULL,NULL,0,NULL),(7,14,NULL,'','','gfdgd',0.000,0.000,'0',0.000,'0',1,0,0,10.00000000,10.00000000,0.00000000,0.00000000,0.00000000,10.00000000,0,NULL,NULL,0,NULL); +/*!40000 ALTER TABLE `llx_commande_fournisseurdet` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_commandedet` +-- + +DROP TABLE IF EXISTS `llx_commandedet`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_commandedet` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_commande` int(11) DEFAULT NULL, + `fk_parent_line` int(11) DEFAULT NULL, + `fk_product` int(11) DEFAULT NULL, + `label` varchar(255) DEFAULT NULL, + `description` text, + `tva_tx` double(6,3) DEFAULT NULL, + `localtax1_tx` double(6,3) DEFAULT NULL, + `localtax1_type` varchar(10) NOT NULL DEFAULT '0', + `localtax2_tx` double(6,3) DEFAULT NULL, + `localtax2_type` varchar(10) NOT NULL DEFAULT '0', + `qty` double DEFAULT NULL, + `remise_percent` double DEFAULT '0', + `remise` double DEFAULT '0', + `fk_remise_except` int(11) DEFAULT NULL, + `price` double DEFAULT NULL, + `subprice` double(24,8) DEFAULT '0.00000000', + `total_ht` double(24,8) DEFAULT '0.00000000', + `total_tva` double(24,8) DEFAULT '0.00000000', + `total_localtax1` double(24,8) DEFAULT '0.00000000', + `total_localtax2` double(24,8) DEFAULT '0.00000000', + `total_ttc` double(24,8) DEFAULT '0.00000000', + `product_type` int(11) DEFAULT '0', + `date_start` datetime DEFAULT NULL, + `date_end` datetime DEFAULT NULL, + `info_bits` int(11) DEFAULT '0', + `fk_product_fournisseur_price` int(11) DEFAULT NULL, + `buy_price_ht` double(24,8) DEFAULT '0.00000000', + `special_code` int(10) unsigned DEFAULT '0', + `rang` int(11) DEFAULT '0', + `import_key` varchar(14) DEFAULT NULL, + PRIMARY KEY (`rowid`), + KEY `idx_commandedet_fk_commande` (`fk_commande`), + KEY `idx_commandedet_fk_product` (`fk_product`), + CONSTRAINT `fk_commandedet_fk_commande` FOREIGN KEY (`fk_commande`) REFERENCES `llx_commande` (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=20 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_commandedet` +-- + +LOCK TABLES `llx_commandedet` WRITE; +/*!40000 ALTER TABLE `llx_commandedet` DISABLE KEYS */; +INSERT INTO `llx_commandedet` VALUES (1,1,NULL,NULL,NULL,'Product 1',0.000,0.000,'',0.000,'',1,0,0,NULL,10,10.00000000,10.00000000,0.00000000,0.00000000,0.00000000,10.00000000,0,NULL,NULL,0,NULL,0.00000000,0,1,NULL),(2,1,NULL,2,NULL,'',0.000,0.000,'',0.000,'',1,0,0,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,0,NULL,NULL,0,NULL,0.00000000,0,2,NULL),(3,1,NULL,5,NULL,'cccc',0.000,0.000,'',0.000,'',1,0,0,NULL,0,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,0,NULL,NULL,0,NULL,0.00000000,0,3,NULL),(4,2,NULL,NULL,NULL,'hgf',0.000,0.000,'',0.000,'',1,0,0,NULL,10,10.00000000,10.00000000,0.00000000,0.00000000,0.00000000,10.00000000,0,NULL,NULL,0,NULL,0.00000000,0,1,NULL),(10,5,NULL,NULL,NULL,'gfdgdf',0.000,0.000,'',0.000,'',1,0,0,NULL,10,10.00000000,10.00000000,0.00000000,0.00000000,0.00000000,10.00000000,0,NULL,NULL,0,NULL,0.00000000,0,1,NULL),(11,6,NULL,NULL,NULL,'gdfg',19.600,0.000,'',0.000,'',1,0,0,NULL,10,10.00000000,10.00000000,1.96000000,0.00000000,0.00000000,11.96000000,0,NULL,NULL,0,NULL,0.00000000,0,1,NULL),(12,6,NULL,NULL,NULL,'gfdgd',19.600,0.000,'',0.000,'',1,0,0,NULL,50,50.00000000,50.00000000,9.80000000,0.00000000,0.00000000,59.80000000,1,NULL,NULL,0,NULL,0.00000000,0,2,NULL),(13,7,NULL,NULL,NULL,'gfdg',19.600,0.000,'',0.000,'',1,0,0,NULL,10,10.00000000,10.00000000,1.96000000,0.00000000,0.00000000,11.96000000,0,NULL,NULL,0,NULL,0.00000000,0,1,NULL),(14,3,NULL,NULL,NULL,'gdfgdf',0.000,0.000,'',0.000,'',1,0,0,NULL,10,10.00000000,10.00000000,0.00000000,0.00000000,0.00000000,10.00000000,1,NULL,NULL,0,NULL,0.00000000,0,1,NULL),(15,3,NULL,NULL,NULL,'fghfgh',0.000,0.000,'',0.000,'',1,0,0,NULL,20,20.00000000,20.00000000,0.00000000,0.00000000,0.00000000,20.00000000,0,NULL,NULL,0,NULL,0.00000000,0,2,NULL),(16,7,NULL,4,NULL,'',12.500,0.000,'',0.000,'',1,0,0,NULL,5,5.00000000,5.00000000,0.63000000,0.00000000,0.00000000,5.63000000,0,NULL,NULL,0,NULL,0.00000000,0,2,NULL),(17,7,NULL,4,NULL,'eeee',12.500,0.000,'',0.000,'',1,0,0,NULL,5,5.00000000,5.00000000,0.63000000,0.00000000,0.00000000,5.63000000,0,NULL,NULL,0,NULL,0.00000000,0,3,NULL),(18,8,NULL,NULL,NULL,'fdsfs',0.000,0.000,'',0.000,'',1,0,0,NULL,10,10.00000000,10.00000000,0.00000000,0.00000000,0.00000000,10.00000000,0,NULL,NULL,0,NULL,0.00000000,0,1,NULL),(19,8,NULL,NULL,NULL,'fsdfsf',0.000,0.000,'',0.000,'',1,0,0,NULL,-5,-5.00000000,-5.00000000,0.00000000,0.00000000,0.00000000,-5.00000000,0,NULL,NULL,0,NULL,0.00000000,0,2,NULL); +/*!40000 ALTER TABLE `llx_commandedet` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_commandedet_extrafields` +-- + +DROP TABLE IF EXISTS `llx_commandedet_extrafields`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_commandedet_extrafields` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_object` int(11) NOT NULL, + `import_key` varchar(14) DEFAULT NULL, + PRIMARY KEY (`rowid`), + KEY `idx_commandedet_extrafields` (`fk_object`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_commandedet_extrafields` +-- + +LOCK TABLES `llx_commandedet_extrafields` WRITE; +/*!40000 ALTER TABLE `llx_commandedet_extrafields` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_commandedet_extrafields` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_compta` +-- + +DROP TABLE IF EXISTS `llx_compta`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_compta` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `datec` datetime DEFAULT NULL, + `datev` date DEFAULT NULL, + `amount` double NOT NULL DEFAULT '0', + `label` varchar(255) DEFAULT NULL, + `fk_compta_account` int(11) DEFAULT NULL, + `fk_user_author` int(11) DEFAULT NULL, + `fk_user_valid` int(11) DEFAULT NULL, + `valid` tinyint(4) DEFAULT '0', + `note` text, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_compta` +-- + +LOCK TABLES `llx_compta` WRITE; +/*!40000 ALTER TABLE `llx_compta` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_compta` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_compta_account` +-- + +DROP TABLE IF EXISTS `llx_compta_account`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_compta_account` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `datec` datetime DEFAULT NULL, + `number` varchar(12) DEFAULT NULL, + `label` varchar(255) DEFAULT NULL, + `fk_user_author` int(11) DEFAULT NULL, + `note` text, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_compta_account` +-- + +LOCK TABLES `llx_compta_account` WRITE; +/*!40000 ALTER TABLE `llx_compta_account` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_compta_account` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_compta_compte_generaux` +-- + +DROP TABLE IF EXISTS `llx_compta_compte_generaux`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_compta_compte_generaux` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `date_creation` datetime DEFAULT NULL, + `numero` varchar(50) DEFAULT NULL, + `intitule` varchar(255) DEFAULT NULL, + `fk_user_author` int(11) DEFAULT NULL, + `note` text, + PRIMARY KEY (`rowid`), + UNIQUE KEY `numero` (`numero`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_compta_compte_generaux` +-- + +LOCK TABLES `llx_compta_compte_generaux` WRITE; +/*!40000 ALTER TABLE `llx_compta_compte_generaux` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_compta_compte_generaux` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_cond_reglement` +-- + +DROP TABLE IF EXISTS `llx_cond_reglement`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_cond_reglement` ( + `rowid` int(11) NOT NULL, + `code` varchar(16) DEFAULT NULL, + `sortorder` smallint(6) DEFAULT NULL, + `active` tinyint(4) DEFAULT '1', + `libelle` varchar(255) DEFAULT NULL, + `libelle_facture` text, + `fdm` tinyint(4) DEFAULT NULL, + `nbjour` smallint(6) DEFAULT NULL, + `decalage` smallint(6) DEFAULT NULL, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_cond_reglement` +-- + +LOCK TABLES `llx_cond_reglement` WRITE; +/*!40000 ALTER TABLE `llx_cond_reglement` DISABLE KEYS */; +INSERT INTO `llx_cond_reglement` VALUES (1,'RECEP',1,1,'A réception','Réception de facture',0,0,NULL),(2,'30D',2,1,'30 jours','Réglement à 30 jours',0,30,NULL),(3,'30DENDMONTH',3,1,'30 jours fin de mois','Réglement à 30 jours fin de mois',1,30,NULL),(4,'60D',4,1,'60 jours','Réglement à 60 jours',0,60,NULL),(5,'60DENDMONTH',5,1,'60 jours fin de mois','Réglement à 60 jours fin de mois',1,60,NULL); +/*!40000 ALTER TABLE `llx_cond_reglement` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_congespayes` +-- + +DROP TABLE IF EXISTS `llx_congespayes`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_congespayes` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_user` int(11) NOT NULL, + `date_create` datetime NOT NULL, + `description` varchar(255) COLLATE latin1_german2_ci NOT NULL, + `date_debut` date NOT NULL, + `date_fin` date NOT NULL, + `statut` int(11) NOT NULL DEFAULT '1', + `fk_validator` int(11) NOT NULL, + `date_valid` datetime DEFAULT NULL, + `fk_user_valid` int(11) DEFAULT NULL, + `date_refuse` datetime DEFAULT NULL, + `fk_user_refuse` int(11) DEFAULT NULL, + `date_cancel` datetime DEFAULT NULL, + `fk_user_cancel` int(11) DEFAULT NULL, + `detail_refuse` varchar(250) COLLATE latin1_german2_ci DEFAULT NULL, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_german2_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_congespayes` +-- + +LOCK TABLES `llx_congespayes` WRITE; +/*!40000 ALTER TABLE `llx_congespayes` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_congespayes` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_congespayes_config` +-- + +DROP TABLE IF EXISTS `llx_congespayes_config`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_congespayes_config` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `name` varchar(255) COLLATE latin1_german2_ci NOT NULL, + `value` text COLLATE latin1_german2_ci, + PRIMARY KEY (`rowid`), + UNIQUE KEY `name` (`name`) +) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=latin1 COLLATE=latin1_german2_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_congespayes_config` +-- + +LOCK TABLES `llx_congespayes_config` WRITE; +/*!40000 ALTER TABLE `llx_congespayes_config` DISABLE KEYS */; +INSERT INTO `llx_congespayes_config` VALUES (1,'userGroup','2'),(2,'lastUpdate','1331893531'),(3,'nbUser','9'),(4,'delayForRequest','30'),(5,'AlertValidatorDelay','1'),(6,'AlertValidatorSolde','1'),(7,'nbCongesDeducted','1.20'),(8,'nbCongesEveryMonth','2.50'); +/*!40000 ALTER TABLE `llx_congespayes_config` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_congespayes_events` +-- + +DROP TABLE IF EXISTS `llx_congespayes_events`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_congespayes_events` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `name` varchar(255) COLLATE latin1_german2_ci NOT NULL, + `value` text COLLATE latin1_german2_ci NOT NULL, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1 COLLATE=latin1_german2_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_congespayes_events` +-- + +LOCK TABLES `llx_congespayes_events` WRITE; +/*!40000 ALTER TABLE `llx_congespayes_events` DISABLE KEYS */; +INSERT INTO `llx_congespayes_events` VALUES (1,'Mariage','3.00'); +/*!40000 ALTER TABLE `llx_congespayes_events` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_congespayes_logs` +-- + +DROP TABLE IF EXISTS `llx_congespayes_logs`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_congespayes_logs` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `date_action` datetime NOT NULL, + `fk_user_action` int(11) NOT NULL, + `fk_user_update` int(11) NOT NULL, + `type_action` varchar(255) COLLATE latin1_german2_ci NOT NULL, + `prev_solde` varchar(255) COLLATE latin1_german2_ci NOT NULL, + `new_solde` varchar(255) COLLATE latin1_german2_ci NOT NULL, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_german2_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_congespayes_logs` +-- + +LOCK TABLES `llx_congespayes_logs` WRITE; +/*!40000 ALTER TABLE `llx_congespayes_logs` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_congespayes_logs` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_congespayes_users` +-- + +DROP TABLE IF EXISTS `llx_congespayes_users`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_congespayes_users` ( + `fk_user` int(11) NOT NULL, + `nb_conges` float NOT NULL DEFAULT '0', + PRIMARY KEY (`fk_user`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_german2_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_congespayes_users` +-- + +LOCK TABLES `llx_congespayes_users` WRITE; +/*!40000 ALTER TABLE `llx_congespayes_users` DISABLE KEYS */; +INSERT INTO `llx_congespayes_users` VALUES (1,0),(2,0),(3,0),(4,0),(5,0),(6,0),(7,0),(8,0),(9,0); +/*!40000 ALTER TABLE `llx_congespayes_users` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_const` +-- + +DROP TABLE IF EXISTS `llx_const`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_const` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `name` varchar(255) NOT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + `value` text NOT NULL, + `type` varchar(6) DEFAULT NULL, + `visible` tinyint(4) NOT NULL DEFAULT '1', + `note` text, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_const` (`name`,`entity`) +) ENGINE=InnoDB AUTO_INCREMENT=5240 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_const` +-- + +LOCK TABLES `llx_const` WRITE; +/*!40000 ALTER TABLE `llx_const` DISABLE KEYS */; +INSERT INTO `llx_const` VALUES (5,'SYSLOG_LEVEL',0,'7','chaine',0,'Level of debug info to show','2010-07-08 11:17:57'),(8,'MAIN_UPLOAD_DOC',0,'2048','chaine',0,'Max size for file upload (0 means no upload allowed)','2010-07-08 11:17:57'),(9,'MAIN_SEARCHFORM_SOCIETE',0,'1','yesno',0,'Show form for quick company search','2010-07-08 11:17:57'),(10,'MAIN_SEARCHFORM_CONTACT',0,'1','yesno',0,'Show form for quick contact search','2010-07-08 11:17:57'),(11,'MAIN_SEARCHFORM_PRODUITSERVICE',0,'1','yesno',0,'Show form for quick product search','2010-07-08 11:17:58'),(12,'MAIN_SEARCHFORM_ADHERENT',0,'1','yesno',0,'Show form for quick member search','2010-07-08 11:17:58'),(16,'MAIN_SIZE_LISTE_LIMIT',0,'25','chaine',0,'Longueur maximum des listes','2010-07-08 11:17:58'),(17,'MAIN_SHOW_WORKBOARD',0,'1','yesno',0,'Affichage tableau de bord de travail Dolibarr','2010-07-08 11:17:58'),(29,'MAIN_DELAY_NOT_ACTIVATED_SERVICES',1,'0','chaine',0,'Tolérance de retard avant alerte (en jours) sur services à activer','2010-07-08 11:17:58'),(33,'SOCIETE_NOLIST_COURRIER',0,'1','yesno',0,'Liste les fichiers du repertoire courrier','2010-07-08 11:17:58'),(35,'SOCIETE_CODECOMPTA_ADDON',1,'mod_codecompta_panicum','yesno',0,'Module to control third parties codes','2010-07-08 11:17:58'),(36,'ADHERENT_MAIL_REQUIRED',1,'1','yesno',0,'EMail required to create a new member','2010-07-08 11:17:58'),(37,'ADHERENT_MAIL_FROM',1,'adherents@domain.com','chaine',0,'Sender EMail for automatic emails','2010-07-08 11:17:58'),(38,'ADHERENT_MAIL_RESIL',1,'Your subscription has been resiliated.\r\nWe hope to see you soon again','texte',0,'Mail resiliation','2010-07-08 11:17:58'),(39,'ADHERENT_MAIL_VALID',1,'Your subscription has been validated.\r\nThis is a remind of your personal information :\r\n\r\n%INFOS%\r\n\r\n','texte',0,'Mail de validation','2010-07-08 11:17:59'),(40,'ADHERENT_MAIL_COTIS',1,'Hello %PRENOM%,\r\nThanks for your subscription.\r\nThis email confirms that your subscription has been received and processed.\r\n\r\n','texte',0,'Mail de validation de cotisation','2010-07-08 11:17:59'),(41,'ADHERENT_MAIL_VALID_SUBJECT',1,'Your subscription has been validated','chaine',0,'Sujet du mail de validation','2010-07-08 11:17:59'),(42,'ADHERENT_MAIL_RESIL_SUBJECT',1,'Resiliating your subscription','chaine',0,'Sujet du mail de resiliation','2010-07-08 11:17:59'),(43,'ADHERENT_MAIL_COTIS_SUBJECT',1,'Receipt of your subscription','chaine',0,'Sujet du mail de validation de cotisation','2010-07-08 11:17:59'),(44,'MAILING_EMAIL_FROM',1,'dolibarr@domain.com','chaine',0,'EMail emmetteur pour les envois d emailings','2010-07-08 11:17:59'),(45,'ADHERENT_USE_MAILMAN',1,'0','yesno',0,'Utilisation de Mailman','2010-07-08 11:17:59'),(46,'ADHERENT_MAILMAN_UNSUB_URL',1,'http://lists.domain.com/cgi-bin/mailman/admin/%LISTE%/members?adminpw=%MAILMAN_ADMINPW%&user=%EMAIL%','chaine',0,'Url de desinscription aux listes mailman','2010-07-08 11:17:59'),(47,'ADHERENT_MAILMAN_URL',1,'http://lists.domain.com/cgi-bin/mailman/admin/%LISTE%/members?adminpw=%MAILMAN_ADMINPW%&send_welcome_msg_to_this_batch=1&subscribees=%EMAIL%','chaine',0,'Url pour les inscriptions mailman','2010-07-08 11:17:59'),(48,'ADHERENT_MAILMAN_LISTS',1,'test-test,test-test2','chaine',0,'Listes auxquelles inscrire les nouveaux adherents','2010-07-08 11:17:59'),(49,'ADHERENT_MAILMAN_ADMINPW',1,'','chaine',0,'Mot de passe Admin des liste mailman','2010-07-08 11:17:59'),(50,'ADHERENT_MAILMAN_SERVER',1,'lists.domain.com','chaine',0,'Serveur hebergeant les interfaces d Admin des listes mailman','2010-07-08 11:17:59'),(51,'ADHERENT_MAILMAN_LISTS_COTISANT',1,'','chaine',0,'Liste(s) auxquelles les nouveaux cotisants sont inscris automatiquement','2010-07-08 11:17:59'),(52,'ADHERENT_USE_SPIP',1,'0','yesno',0,'Utilisation de SPIP ?','2010-07-08 11:17:59'),(53,'ADHERENT_USE_SPIP_AUTO',1,'0','yesno',0,'Utilisation de SPIP automatiquement','2010-07-08 11:17:59'),(54,'ADHERENT_SPIP_USER',1,'user','chaine',0,'user spip','2010-07-08 11:17:59'),(55,'ADHERENT_SPIP_PASS',1,'pass','chaine',0,'Pass de connection','2010-07-08 11:17:59'),(56,'ADHERENT_SPIP_SERVEUR',1,'localhost','chaine',0,'serveur spip','2010-07-08 11:17:59'),(57,'ADHERENT_SPIP_DB',1,'spip','chaine',0,'db spip','2010-07-08 11:17:59'),(58,'ADHERENT_CARD_HEADER_TEXT',1,'%ANNEE%','chaine',0,'Texte imprime sur le haut de la carte adherent','2010-07-08 11:17:59'),(59,'ADHERENT_CARD_FOOTER_TEXT',1,'Association AZERTY','chaine',0,'Texte imprime sur le bas de la carte adherent','2010-07-08 11:17:59'),(61,'FCKEDITOR_ENABLE_USER',1,'1','yesno',0,'Activation fckeditor sur notes utilisateurs','2010-07-08 11:17:59'),(62,'FCKEDITOR_ENABLE_SOCIETE',1,'1','yesno',0,'Activation fckeditor sur notes societe','2010-07-08 11:17:59'),(63,'FCKEDITOR_ENABLE_PRODUCTDESC',1,'1','yesno',0,'Activation fckeditor sur notes produits','2010-07-08 11:17:59'),(64,'FCKEDITOR_ENABLE_MEMBER',1,'1','yesno',0,'Activation fckeditor sur notes adherent','2010-07-08 11:17:59'),(65,'FCKEDITOR_ENABLE_MAILING',1,'1','yesno',0,'Activation fckeditor sur emailing','2010-07-08 11:17:59'),(66,'OSC_DB_HOST',1,'localhost','chaine',0,'Host for OSC database for OSCommerce module 1','2010-07-08 11:17:59'),(67,'DON_ADDON_MODEL',1,'html_cerfafr','chaine',0,'','2010-07-08 11:18:00'),(68,'PROPALE_ADDON',1,'mod_propale_marbre','chaine',0,'','2010-07-08 11:18:00'),(69,'PROPALE_ADDON_PDF',1,'azur','chaine',0,'','2010-07-08 11:18:00'),(70,'COMMANDE_ADDON',1,'mod_commande_marbre','chaine',0,'','2010-07-08 11:18:00'),(71,'COMMANDE_ADDON_PDF',1,'einstein','chaine',0,'','2010-07-08 11:18:00'),(72,'COMMANDE_SUPPLIER_ADDON',1,'mod_commande_fournisseur_muguet','chaine',0,'','2010-07-08 11:18:00'),(73,'COMMANDE_SUPPLIER_ADDON_PDF',1,'muscadet','chaine',0,'','2010-07-08 11:18:00'),(74,'EXPEDITION_ADDON',1,'enlevement','chaine',0,'','2010-07-08 11:18:00'),(76,'FICHEINTER_ADDON',1,'pacific','chaine',0,'','2010-07-08 11:18:00'),(77,'FICHEINTER_ADDON_PDF',1,'soleil','chaine',0,'','2010-07-08 11:18:00'),(79,'FACTURE_ADDON_PDF',1,'crabe','chaine',0,'','2010-07-08 11:18:00'),(80,'PROPALE_VALIDITY_DURATION',1,'15','chaine',0,'Durée de validitée des propales','2010-07-08 11:18:00'),(230,'COMPANY_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/thirdparties','chaine',0,NULL,'2010-07-08 11:26:20'),(238,'LIVRAISON_ADDON_PDF',1,'typhon','chaine',0,'Nom du gestionnaire de generation des commandes en PDF','2010-07-08 11:26:27'),(239,'LIVRAISON_ADDON_NUMBER',1,'mod_livraison_jade','chaine',0,'Nom du gestionnaire de numerotation des bons de livraison','2013-03-20 13:17:36'),(242,'MAIN_SUBMODULE_EXPEDITION',1,'1','chaine',0,'','2010-07-08 11:26:34'),(245,'FACTURE_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/invoices','chaine',0,NULL,'2010-07-08 11:28:53'),(249,'DON_FORM',1,'fsfe.fr.php','chaine',0,'Nom du gestionnaire de formulaire de dons','2010-07-08 11:29:00'),(252,'MAIN_MODULE_ADHERENT',1,'1',NULL,0,NULL,'2010-07-08 11:29:05'),(253,'ADHERENT_BANK_USE_AUTO',1,'','yesno',0,'Insertion automatique des cotisation dans le compte banquaire','2010-07-08 11:29:05'),(254,'ADHERENT_BANK_ACCOUNT',1,'','chaine',0,'ID du Compte banquaire utilise','2010-07-08 11:29:05'),(255,'ADHERENT_BANK_CATEGORIE',1,'','chaine',0,'ID de la categorie banquaire des cotisations','2010-07-08 11:29:05'),(256,'ADHERENT_ETIQUETTE_TYPE',1,'L7163','chaine',0,'Type d etiquette (pour impression de planche d etiquette)','2010-07-08 11:29:05'),(260,'MAIN_MODULE_STOCK',1,'1',NULL,0,NULL,'2010-07-08 11:29:18'),(269,'PROJECT_ADDON_PDF',1,'baleine','chaine',0,'Nom du gestionnaire de generation des projets en PDF','2010-07-08 11:29:33'),(270,'PROJECT_ADDON',1,'mod_project_simple','chaine',0,'Nom du gestionnaire de numerotation des projets','2010-07-08 11:29:33'),(271,'MAIN_MODULE_MAILING',1,'1',NULL,0,NULL,'2010-07-08 11:29:37'),(272,'MAIN_MODULE_EXPORT',1,'1',NULL,0,NULL,'2010-07-08 11:29:41'),(273,'MAIN_MODULE_IMPORT',1,'1',NULL,0,NULL,'2010-07-08 11:29:45'),(274,'MAIN_MODULE_CATEGORIE',1,'1',NULL,0,NULL,'2010-07-08 11:29:59'),(275,'MAIN_MODULE_BOOKMARK',1,'1',NULL,0,NULL,'2010-07-08 11:30:03'),(276,'MAIN_MODULE_WEBSERVICES',1,'1',NULL,0,NULL,'2010-07-08 11:30:30'),(278,'MAIN_MODULE_GEOIPMAXMIND',1,'1',NULL,0,NULL,'2010-07-08 11:30:36'),(279,'MAIN_MODULE_EXTERNALRSS',1,'1',NULL,0,NULL,'2010-07-08 11:30:38'),(292,'MAIN_MODULE_FCKEDITOR',1,'1',NULL,0,NULL,'2010-07-08 11:56:27'),(368,'STOCK_USERSTOCK_AUTOCREATE',1,'1','chaine',0,'','2010-07-08 22:44:59'),(369,'EXPEDITION_ADDON_PDF',1,'merou','chaine',0,'','2010-07-08 22:58:07'),(370,'MAIN_SUBMODULE_LIVRAISON',1,'1','chaine',0,'','2010-07-08 23:00:29'),(377,'FACTURE_ADDON',1,'mod_facture_terre','chaine',0,'','2010-07-08 23:08:12'),(380,'ADHERENT_CARD_TEXT',1,'%TYPE% n° %ID%\r\n%PRENOM% %NOM%\r\n<%EMAIL%>\r\n%ADRESSE%\r\n%CP% %VILLE%\r\n%PAYS%','',0,'Texte imprime sur la carte adherent','2010-07-08 23:14:46'),(381,'ADHERENT_CARD_TEXT_RIGHT',1,'aaa','',0,'','2010-07-08 23:14:55'),(384,'PRODUIT_SOUSPRODUITS',1,'1','chaine',0,'','2010-07-08 23:22:12'),(385,'PRODUIT_USE_SEARCH_TO_SELECT',1,'1','chaine',0,'','2010-07-08 23:22:19'),(386,'STOCK_CALCULATE_ON_SHIPMENT',1,'1','chaine',0,'','2010-07-08 23:23:21'),(387,'STOCK_CALCULATE_ON_SUPPLIER_DISPATCH_ORDER',1,'1','chaine',0,'','2010-07-08 23:23:26'),(392,'MAIN_AGENDA_XCAL_EXPORTKEY',1,'dolibarr','chaine',0,'','2010-07-08 23:27:50'),(393,'MAIN_AGENDA_EXPORT_PAST_DELAY',1,'100','chaine',0,'','2010-07-08 23:27:50'),(523,'MAIN_AGENDA_ACTIONAUTO_COMPANY_CREATE',1,'1','chaine',0,'','2010-07-10 12:48:49'),(524,'MAIN_AGENDA_ACTIONAUTO_CONTRACT_VALIDATE',1,'1','chaine',0,'','2010-07-10 12:48:49'),(525,'MAIN_AGENDA_ACTIONAUTO_PROPAL_VALIDATE',1,'1','chaine',0,'','2010-07-10 12:48:49'),(526,'MAIN_AGENDA_ACTIONAUTO_PROPAL_SENTBYMAIL',1,'1','chaine',0,'','2010-07-10 12:48:49'),(527,'MAIN_AGENDA_ACTIONAUTO_ORDER_VALIDATE',1,'1','chaine',0,'','2010-07-10 12:48:49'),(528,'MAIN_AGENDA_ACTIONAUTO_ORDER_SENTBYMAIL',1,'1','chaine',0,'','2010-07-10 12:48:49'),(529,'MAIN_AGENDA_ACTIONAUTO_BILL_VALIDATE',1,'1','chaine',0,'','2010-07-10 12:48:49'),(530,'MAIN_AGENDA_ACTIONAUTO_BILL_PAYED',1,'1','chaine',0,'','2010-07-10 12:48:49'),(531,'MAIN_AGENDA_ACTIONAUTO_BILL_CANCEL',1,'1','chaine',0,'','2010-07-10 12:48:49'),(532,'MAIN_AGENDA_ACTIONAUTO_BILL_SENTBYMAIL',1,'1','chaine',0,'','2010-07-10 12:48:49'),(533,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_VALIDATE',1,'1','chaine',0,'','2010-07-10 12:48:50'),(534,'MAIN_AGENDA_ACTIONAUTO_BILL_SUPPLIER_VALIDATE',1,'1','chaine',0,'','2010-07-10 12:48:50'),(602,'MAIN_MODULE_PROJET',1,'1',NULL,0,NULL,'2010-07-11 13:26:54'),(610,'CASHDESK_ID_THIRDPARTY',1,'7','chaine',0,'','2010-07-11 17:08:18'),(611,'CASHDESK_ID_BANKACCOUNT_CASH',1,'3','chaine',0,'','2010-07-11 17:08:18'),(612,'CASHDESK_ID_BANKACCOUNT_CHEQUE',1,'1','chaine',0,'','2010-07-11 17:08:18'),(613,'CASHDESK_ID_BANKACCOUNT_CB',1,'1','chaine',0,'','2010-07-11 17:08:18'),(614,'CASHDESK_ID_WAREHOUSE',1,'2','chaine',0,'','2010-07-11 17:08:18'),(660,'LDAP_USER_DN',1,'ou=users,dc=my-domain,dc=com','chaine',0,NULL,'2010-07-18 10:25:27'),(661,'LDAP_GROUP_DN',1,'ou=groups,dc=my-domain,dc=com','chaine',0,NULL,'2010-07-18 10:25:27'),(662,'LDAP_FILTER_CONNECTION',1,'&(objectClass=user)(objectCategory=person)','chaine',0,NULL,'2010-07-18 10:25:27'),(663,'LDAP_FIELD_LOGIN',1,'uid','chaine',0,NULL,'2010-07-18 10:25:27'),(664,'LDAP_FIELD_FULLNAME',1,'cn','chaine',0,NULL,'2010-07-18 10:25:27'),(665,'LDAP_FIELD_NAME',1,'sn','chaine',0,NULL,'2010-07-18 10:25:27'),(666,'LDAP_FIELD_FIRSTNAME',1,'givenname','chaine',0,NULL,'2010-07-18 10:25:27'),(667,'LDAP_FIELD_MAIL',1,'mail','chaine',0,NULL,'2010-07-18 10:25:27'),(668,'LDAP_FIELD_PHONE',1,'telephonenumber','chaine',0,NULL,'2010-07-18 10:25:27'),(669,'LDAP_FIELD_FAX',1,'facsimiletelephonenumber','chaine',0,NULL,'2010-07-18 10:25:27'),(670,'LDAP_FIELD_MOBILE',1,'mobile','chaine',0,NULL,'2010-07-18 10:25:27'),(671,'LDAP_SERVER_TYPE',1,'openldap','chaine',0,'','2010-07-18 10:25:46'),(672,'LDAP_SERVER_PROTOCOLVERSION',1,'3','chaine',0,'','2010-07-18 10:25:47'),(673,'LDAP_SERVER_HOST',1,'localhost','chaine',0,'','2010-07-18 10:25:47'),(674,'LDAP_SERVER_PORT',1,'389','chaine',0,'','2010-07-18 10:25:47'),(675,'LDAP_SERVER_USE_TLS',1,'0','chaine',0,'','2010-07-18 10:25:47'),(676,'LDAP_SYNCHRO_ACTIVE',1,'dolibarr2ldap','chaine',0,'','2010-07-18 10:25:47'),(677,'LDAP_CONTACT_ACTIVE',1,'1','chaine',0,'','2010-07-18 10:25:47'),(678,'LDAP_MEMBER_ACTIVE',1,'1','chaine',0,'','2010-07-18 10:25:47'),(807,'MAIN_AGENDA_ACTIONAUTO_SHIPPING_VALIDATE',1,'1','chaine',0,NULL,'2011-07-18 17:27:52'),(808,'MAIN_AGENDA_ACTIONAUTO_SHIPPING_SENTBYMAIL',1,'1','chaine',0,NULL,'2011-07-18 17:27:52'),(834,'MAIN_MODULE_CASHDESK',1,'1',NULL,0,NULL,'2011-07-18 17:30:24'),(969,'MAIN_MODULE_PRELEVEMENT',1,'1',NULL,0,NULL,'2011-07-18 18:01:59'),(973,'MAIN_MODULE_WORKFLOW',1,'1',NULL,0,NULL,'2011-07-18 18:02:20'),(974,'MAIN_MODULE_WORKFLOW_TRIGGERS',1,'1','chaine',0,NULL,'2011-07-18 18:02:20'),(975,'WORKFLOW_PROPAL_AUTOCREATE_ORDER',1,'1','chaine',0,'','2011-07-18 18:02:24'),(978,'MAIN_MODULE_NOTIFICATION',1,'1',NULL,0,NULL,'2011-07-18 18:03:06'),(979,'PRELEVEMENT_USER',1,'1','chaine',0,'','2011-07-18 18:05:50'),(980,'PRELEVEMENT_NUMERO_NATIONAL_EMETTEUR',1,'1234567','chaine',0,'','2011-07-18 18:05:50'),(981,'PRELEVEMENT_ID_BANKACCOUNT',1,'1','chaine',0,'','2011-07-18 18:05:50'),(983,'FACTURE_RIB_NUMBER',1,'1','chaine',0,'','2011-07-18 18:35:14'),(984,'FACTURE_CHQ_NUMBER',1,'1','chaine',0,'','2011-07-18 18:35:14'),(1016,'GOOGLE_DUPLICATE_INTO_GCAL',1,'1','chaine',0,'','2011-07-18 21:40:20'),(1018,'MAIN_MODULE_SYSLOG',0,'1',NULL,0,NULL,'2011-07-20 11:36:47'),(1098,'MAIN_INFO_SOCIETE_LOGO',1,'dolibarr_125x125.png','chaine',0,'','2011-07-28 18:42:09'),(1099,'MAIN_INFO_SOCIETE_LOGO_SMALL',1,'dolibarr_125x125_small.png','chaine',0,'','2011-07-28 18:42:09'),(1100,'MAIN_INFO_SOCIETE_LOGO_MINI',1,'dolibarr_125x125_mini.png','chaine',0,'','2011-07-28 18:42:09'),(1138,'MAIN_VERSION_LAST_INSTALL',0,'3.1.0-beta','chaine',0,'Dolibarr version when install','2011-07-28 23:05:02'),(1152,'SOCIETE_CODECLIENT_ADDON',1,'mod_codeclient_monkey','chaine',0,'','2011-07-29 20:50:02'),(1231,'MAIN_UPLOAD_DOC',1,'2048','chaine',0,'','2011-07-29 21:04:00'),(1234,'MAIN_UMASK',1,'0664','chaine',0,'','2011-07-29 21:04:11'),(1240,'MAIN_LOGEVENTS_USER_LOGIN',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1241,'MAIN_LOGEVENTS_USER_LOGIN_FAILED',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1242,'MAIN_LOGEVENTS_USER_LOGOUT',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1243,'MAIN_LOGEVENTS_USER_CREATE',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1244,'MAIN_LOGEVENTS_USER_MODIFY',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1245,'MAIN_LOGEVENTS_USER_NEW_PASSWORD',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1246,'MAIN_LOGEVENTS_USER_ENABLEDISABLE',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1247,'MAIN_LOGEVENTS_USER_DELETE',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1248,'MAIN_LOGEVENTS_GROUP_CREATE',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1249,'MAIN_LOGEVENTS_GROUP_MODIFY',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1250,'MAIN_LOGEVENTS_GROUP_DELETE',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1251,'MAIN_BOXES_MAXLINES',1,'5','',0,'','2011-07-29 21:05:42'),(1379,'CABINETMED_RHEUMATOLOGY_ON',1,'1','chaine',1,'Enable features for rheumatology','2011-08-01 21:47:53'),(1482,'EXPEDITION_ADDON_NUMBER',1,'mod_expedition_safor','chaine',0,'Nom du gestionnaire de numerotation des expeditions','2011-08-05 17:53:11'),(1490,'CONTRACT_ADDON',1,'mod_contract_serpis','chaine',0,'Nom du gestionnaire de numerotation des contrats','2011-08-05 18:11:58'),(1677,'COMMANDE_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/orders','chaine',0,NULL,'2012-12-08 13:11:02'),(1698,'PRODUCT_CODEPRODUCT_ADDON',1,'mod_codeproduct_leopard','yesno',0,'Module to control product codes','2012-12-08 13:11:25'),(1718,'MAIN_MODULE_TAX',1,'1',NULL,0,NULL,'2012-12-08 13:12:41'),(1719,'ACCOUNTING_USEDICTTOEDIT',1,'1','chaine',1,'','2012-12-08 13:15:00'),(1724,'PROPALE_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/proposals','chaine',0,NULL,'2012-12-08 13:17:14'),(1730,'OPENSTREETMAP_ENABLE_MAPS',1,'1','chaine',0,'','2012-12-08 13:22:47'),(1731,'OPENSTREETMAP_ENABLE_MAPS_CONTACTS',1,'1','chaine',0,'','2012-12-08 13:22:47'),(1732,'OPENSTREETMAP_ENABLE_MAPS_MEMBERS',1,'1','chaine',0,'','2012-12-08 13:22:47'),(1733,'OPENSTREETMAP_MAPS_ZOOM_LEVEL',1,'15','chaine',0,'','2012-12-08 13:22:47'),(1737,'MAIN_INFO_SOCIETE_COUNTRY',2,'1:FR:France','chaine',0,'','2013-02-26 21:56:28'),(1738,'MAIN_INFO_SOCIETE_NOM',2,'aaa','chaine',0,'','2012-12-08 14:08:14'),(1739,'MAIN_INFO_SOCIETE_STATE',2,'0','chaine',0,'','2013-02-27 14:20:27'),(1740,'MAIN_MONNAIE',2,'EUR','chaine',0,'','2012-12-08 14:08:14'),(1741,'MAIN_LANG_DEFAULT',2,'auto','chaine',0,'','2012-12-08 14:08:14'),(1742,'MAIN_MAIL_EMAIL_FROM',2,'dolibarr-robot@domain.com','chaine',0,'EMail emetteur pour les emails automatiques Dolibarr','2012-12-08 14:08:14'),(1743,'MAIN_MENU_STANDARD',2,'eldy_menu.php','chaine',0,'Module de gestion de la barre de menu du haut pour utilisateurs internes','2013-02-11 19:43:54'),(1744,'MAIN_MENUFRONT_STANDARD',2,'eldy_menu.php','chaine',0,'Module de gestion de la barre de menu du haut pour utilisateurs externes','2013-02-11 19:43:54'),(1745,'MAIN_MENU_SMARTPHONE',2,'iphone_backoffice.php','chaine',0,'Module de gestion de la barre de menu smartphone pour utilisateurs internes','2012-12-08 14:08:14'),(1746,'MAIN_MENUFRONT_SMARTPHONE',2,'iphone_frontoffice.php','chaine',0,'Module de gestion de la barre de menu smartphone pour utilisateurs externes','2012-12-08 14:08:14'),(1747,'MAIN_THEME',2,'eldy','chaine',0,'Default theme','2012-12-08 14:08:14'),(1748,'MAIN_DELAY_ACTIONS_TODO',2,'7','chaine',0,'Tolérance de retard avant alerte (en jours) sur actions planifiées non réalisées','2012-12-08 14:08:14'),(1749,'MAIN_DELAY_ORDERS_TO_PROCESS',2,'2','chaine',0,'Tolérance de retard avant alerte (en jours) sur commandes clients non traitées','2012-12-08 14:08:14'),(1750,'MAIN_DELAY_SUPPLIER_ORDERS_TO_PROCESS',2,'7','chaine',0,'Tolérance de retard avant alerte (en jours) sur commandes fournisseurs non traitées','2012-12-08 14:08:14'),(1751,'MAIN_DELAY_PROPALS_TO_CLOSE',2,'31','chaine',0,'Tolérance de retard avant alerte (en jours) sur propales à cloturer','2012-12-08 14:08:14'),(1752,'MAIN_DELAY_PROPALS_TO_BILL',2,'7','chaine',0,'Tolérance de retard avant alerte (en jours) sur propales non facturées','2012-12-08 14:08:14'),(1753,'MAIN_DELAY_CUSTOMER_BILLS_UNPAYED',2,'31','chaine',0,'Tolérance de retard avant alerte (en jours) sur factures client impayées','2012-12-08 14:08:14'),(1754,'MAIN_DELAY_SUPPLIER_BILLS_TO_PAY',2,'2','chaine',0,'Tolérance de retard avant alerte (en jours) sur factures fournisseur impayées','2012-12-08 14:08:14'),(1755,'MAIN_DELAY_NOT_ACTIVATED_SERVICES',2,'0','chaine',0,'Tolérance de retard avant alerte (en jours) sur services à activer','2012-12-08 14:08:14'),(1756,'MAIN_DELAY_RUNNING_SERVICES',2,'0','chaine',0,'Tolérance de retard avant alerte (en jours) sur services expirés','2012-12-08 14:08:14'),(1757,'MAIN_DELAY_MEMBERS',2,'31','chaine',0,'Tolérance de retard avant alerte (en jours) sur cotisations adhérent en retard','2012-12-08 14:08:14'),(1758,'MAIN_DELAY_TRANSACTIONS_TO_CONCILIATE',2,'62','chaine',0,'Tolérance de retard avant alerte (en jours) sur rapprochements bancaires à faire','2012-12-08 14:08:14'),(1759,'MAILING_EMAIL_FROM',2,'dolibarr@domain.com','chaine',0,'EMail emmetteur pour les envois d emailings','2012-12-08 14:08:14'),(1760,'MAIN_INFO_SOCIETE_COUNTRY',3,'1:FR:France','chaine',0,'','2013-02-26 21:56:28'),(1761,'MAIN_INFO_SOCIETE_NOM',3,'bbb','chaine',0,'','2012-12-08 14:08:20'),(1762,'MAIN_INFO_SOCIETE_STATE',3,'0','chaine',0,'','2013-02-27 14:20:27'),(1763,'MAIN_MONNAIE',3,'EUR','chaine',0,'','2012-12-08 14:08:20'),(1764,'MAIN_LANG_DEFAULT',3,'auto','chaine',0,'','2012-12-08 14:08:20'),(1765,'MAIN_MAIL_EMAIL_FROM',3,'dolibarr-robot@domain.com','chaine',0,'EMail emetteur pour les emails automatiques Dolibarr','2012-12-08 14:08:20'),(1766,'MAIN_MENU_STANDARD',3,'eldy_menu.php','chaine',0,'Module de gestion de la barre de menu du haut pour utilisateurs internes','2013-02-11 19:43:54'),(1767,'MAIN_MENUFRONT_STANDARD',3,'eldy_menu.php','chaine',0,'Module de gestion de la barre de menu du haut pour utilisateurs externes','2013-02-11 19:43:54'),(1768,'MAIN_MENU_SMARTPHONE',3,'iphone_backoffice.php','chaine',0,'Module de gestion de la barre de menu smartphone pour utilisateurs internes','2012-12-08 14:08:20'),(1769,'MAIN_MENUFRONT_SMARTPHONE',3,'iphone_frontoffice.php','chaine',0,'Module de gestion de la barre de menu smartphone pour utilisateurs externes','2012-12-08 14:08:20'),(1770,'MAIN_THEME',3,'eldy','chaine',0,'Default theme','2012-12-08 14:08:20'),(1771,'MAIN_DELAY_ACTIONS_TODO',3,'7','chaine',0,'Tolérance de retard avant alerte (en jours) sur actions planifiées non réalisées','2012-12-08 14:08:20'),(1772,'MAIN_DELAY_ORDERS_TO_PROCESS',3,'2','chaine',0,'Tolérance de retard avant alerte (en jours) sur commandes clients non traitées','2012-12-08 14:08:20'),(1773,'MAIN_DELAY_SUPPLIER_ORDERS_TO_PROCESS',3,'7','chaine',0,'Tolérance de retard avant alerte (en jours) sur commandes fournisseurs non traitées','2012-12-08 14:08:20'),(1774,'MAIN_DELAY_PROPALS_TO_CLOSE',3,'31','chaine',0,'Tolérance de retard avant alerte (en jours) sur propales à cloturer','2012-12-08 14:08:20'),(1775,'MAIN_DELAY_PROPALS_TO_BILL',3,'7','chaine',0,'Tolérance de retard avant alerte (en jours) sur propales non facturées','2012-12-08 14:08:20'),(1776,'MAIN_DELAY_CUSTOMER_BILLS_UNPAYED',3,'31','chaine',0,'Tolérance de retard avant alerte (en jours) sur factures client impayées','2012-12-08 14:08:20'),(1777,'MAIN_DELAY_SUPPLIER_BILLS_TO_PAY',3,'2','chaine',0,'Tolérance de retard avant alerte (en jours) sur factures fournisseur impayées','2012-12-08 14:08:20'),(1778,'MAIN_DELAY_NOT_ACTIVATED_SERVICES',3,'0','chaine',0,'Tolérance de retard avant alerte (en jours) sur services à activer','2012-12-08 14:08:20'),(1779,'MAIN_DELAY_RUNNING_SERVICES',3,'0','chaine',0,'Tolérance de retard avant alerte (en jours) sur services expirés','2012-12-08 14:08:20'),(1780,'MAIN_DELAY_MEMBERS',3,'31','chaine',0,'Tolérance de retard avant alerte (en jours) sur cotisations adhérent en retard','2012-12-08 14:08:20'),(1781,'MAIN_DELAY_TRANSACTIONS_TO_CONCILIATE',3,'62','chaine',0,'Tolérance de retard avant alerte (en jours) sur rapprochements bancaires à faire','2012-12-08 14:08:20'),(1782,'MAILING_EMAIL_FROM',3,'dolibarr@domain.com','chaine',0,'EMail emmetteur pour les envois d emailings','2012-12-08 14:08:20'),(1803,'SYSLOG_FILE',1,'DOL_DATA_ROOT/dolibarr.log','chaine',0,'','2012-12-08 14:15:08'),(1804,'SYSLOG_HANDLERS',1,'[\"mod_syslog_file\"]','chaine',0,'','2012-12-08 14:15:08'),(1805,'MAIN_MODULE_SKINCOLOREDITOR',3,'1',NULL,0,NULL,'2012-12-08 14:35:40'),(1806,'MAIN_MODULE_SKINCOLOREDITOR_TABS_0',3,'user:+tabskincoloreditors:ColorEditor:skincoloreditor@skincoloreditor:/skincoloreditor/usercolors.php?id=__ID__','chaine',0,NULL,'2012-12-08 14:35:40'),(1867,'MAIN_MODULE_PAYPAL',1,'1',NULL,0,NULL,'2012-12-11 22:53:56'),(1922,'PAYPAL_API_SANDBOX',1,'1','chaine',0,'','2012-12-12 12:11:05'),(1923,'PAYPAL_API_USER',1,'seller_1355312017_biz_api1.nltechno.com','chaine',0,'','2012-12-12 12:11:05'),(1924,'PAYPAL_API_PASSWORD',1,'1355312040','chaine',0,'','2012-12-12 12:11:05'),(1925,'PAYPAL_API_SIGNATURE',1,'AXqqdsWBzvfn0q5iNmbuiDv1y.3EAXIMWyl4C5KvDReR9HDwwAd6dQ4Q','chaine',0,'','2012-12-12 12:11:05'),(1926,'PAYPAL_API_INTEGRAL_OR_PAYPALONLY',1,'integral','chaine',0,'','2012-12-12 12:11:05'),(1927,'PAYPAL_SECURITY_TOKEN',1,'50c82fab36bb3b6aa83e2a50691803b2','chaine',0,'','2012-12-12 12:11:05'),(1928,'PAYPAL_SECURITY_TOKEN_UNIQUE',1,'0','chaine',0,'','2012-12-12 12:11:05'),(1929,'PAYPAL_ADD_PAYMENT_URL',1,'1','chaine',0,'','2012-12-12 12:11:05'),(1980,'MAIN_PDF_FORMAT',1,'EUA4','chaine',0,'','2012-12-12 19:58:05'),(1981,'MAIN_PROFID1_IN_ADDRESS',1,'0','chaine',0,'','2012-12-12 19:58:05'),(1982,'MAIN_PROFID2_IN_ADDRESS',1,'0','chaine',0,'','2012-12-12 19:58:05'),(1983,'MAIN_PROFID3_IN_ADDRESS',1,'0','chaine',0,'','2012-12-12 19:58:05'),(1984,'MAIN_PROFID4_IN_ADDRESS',1,'0','chaine',0,'','2012-12-12 19:58:05'),(1985,'MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT',1,'0','chaine',0,'','2012-12-12 19:58:05'),(1990,'MAIN_SMS_SENDMODE',1,'ovh','chaine',0,'This is to enable OVH SMS engine','2012-12-17 21:19:01'),(2040,'MAIN_MAIL_SMTP_PORT',0,'465','chaine',0,'','2012-12-19 12:58:10'),(2041,'MAIN_MAIL_SMTP_SERVER',0,'smtp.gmail.com','chaine',0,'','2012-12-19 12:58:10'),(2044,'MAIN_MAIL_EMAIL_TLS',0,'1','chaine',0,'','2012-12-19 12:58:10'),(2251,'FCKEDITOR_TEST',1,'Test
\r\n\"\"fdfs','chaine',0,'','2012-12-19 19:12:24'),(2293,'SYSTEMTOOLS_MYSQLDUMP',1,'/usr/bin/mysqldump','chaine',0,'','2012-12-27 02:02:00'),(2305,'MAIN_MODULE_PROPALE',1,'1',NULL,0,NULL,'2013-01-02 20:33:16'),(2307,'MAIN_MODULE_CONTRAT',1,'1',NULL,0,NULL,'2013-01-02 20:33:17'),(2310,'MAIN_MODULE_EXPEDITION',1,'1',NULL,0,NULL,'2013-01-02 20:33:18'),(2315,'MAIN_MODULE_FICHEINTER',1,'1',NULL,0,NULL,'2013-01-02 20:33:21'),(2321,'MAIN_MODULE_HOLIDAY',1,'1',NULL,0,NULL,'2013-01-02 20:33:24'),(2322,'MAIN_MODULE_HOLIDAY_TABS_0',1,'user:+paidholidays:CPTitreMenu:holiday:$user->rights->holiday->write:/holiday/index.php?mainmenu=holiday&id=__ID__','chaine',0,NULL,'2013-01-02 20:33:24'),(2786,'MAIN_SOAP_DEBUG',1,'1','chaine',1,'','2013-01-13 12:37:21'),(2835,'MAIN_USE_CONNECT_TIMEOUT',1,'10','chaine',0,'','2013-01-16 19:28:50'),(2836,'MAIN_USE_RESPONSE_TIMEOUT',1,'30','chaine',0,'','2013-01-16 19:28:50'),(2837,'MAIN_PROXY_USE',1,'0','chaine',0,'','2013-01-16 19:28:50'),(2838,'MAIN_PROXY_HOST',1,'localhost','chaine',0,'','2013-01-16 19:28:50'),(2839,'MAIN_PROXY_PORT',1,'8080','chaine',0,'','2013-01-16 19:28:50'),(2840,'MAIN_PROXY_USER',1,'aaa','chaine',0,'','2013-01-16 19:28:50'),(2841,'MAIN_PROXY_PASS',1,'bbb','chaine',0,'','2013-01-16 19:28:50'),(2848,'OVHSMS_NICK',1,'BN196-OVH','chaine',0,'','2013-01-16 19:32:36'),(2849,'OVHSMS_PASS',1,'bigone-10','chaine',0,'','2013-01-16 19:32:36'),(2850,'OVHSMS_SOAPURL',1,'https://www.ovh.com/soapi/soapi-re-1.55.wsdl','chaine',0,'','2013-01-16 19:32:36'),(2854,'THEME_ELDY_RGB',1,'bfbf00','chaine',0,'','2013-01-18 10:02:53'),(2855,'THEME_ELDY_ENABLE_PERSONALIZED',1,'0','chaine',0,'','2013-01-18 10:02:55'),(2858,'MAIN_SESSION_TIMEOUT',1,'2000','chaine',0,'','2013-01-19 17:01:53'),(2862,'TICKET_ADDON',1,'mod_ticket_avenc','chaine',0,'Nom du gestionnaire de numerotation des tickets','2013-01-19 17:16:10'),(2866,'MAIN_MODULE_PRODUCT',1,'1',NULL,0,NULL,'2013-01-19 17:16:10'),(2867,'FACSIM_ADDON',1,'mod_facsim_alcoy','chaine',0,'','2013-01-19 17:16:25'),(2868,'POS_SERVICES',1,'0','chaine',0,'','2013-01-19 17:16:51'),(2869,'POS_USE_TICKETS',1,'1','chaine',0,'','2013-01-19 17:16:51'),(2870,'POS_MAX_TTC',1,'100','chaine',0,'','2013-01-19 17:16:51'),(3190,'MAIN_MODULE_HOLIDAY',2,'1',NULL,0,NULL,'2013-02-01 08:52:34'),(3191,'MAIN_MODULE_HOLIDAY_TABS_0',2,'user:+paidholidays:CPTitreMenu:holiday:$user->rights->holiday->write:/holiday/index.php?mainmenu=holiday&id=__ID__','chaine',0,NULL,'2013-02-01 08:52:34'),(3195,'INVOICE_SUPPLIER_ADDON_PDF',1,'canelle','chaine',0,'','2013-02-10 19:50:27'),(3199,'MAIN_FORCE_RELOAD_PAGE',1,'1','chaine',0,NULL,'2013-02-12 16:22:55'),(3217,'MAIN_PDF_TITLE_BACKGROUND_COLOR',1,'240,240,240','chaine',1,'','2013-02-13 15:18:02'),(3223,'OVH_THIRDPARTY_IMPORT',1,'2','chaine',0,'','2013-02-13 16:20:18'),(3241,'COMPANY_USE_SEARCH_TO_SELECT',1,'2','chaine',0,'','2013-02-17 14:33:39'),(3409,'AGENDA_USE_EVENT_TYPE',1,'1','chaine',0,'','2013-02-27 18:12:24'),(3886,'MAIN_REMOVE_INSTALL_WARNING',1,'1','chaine',1,'','2013-03-02 18:32:50'),(4013,'MAIN_DELAY_ACTIONS_TODO',1,'7','chaine',0,'','2013-03-06 08:59:12'),(4014,'MAIN_DELAY_PROPALS_TO_CLOSE',1,'31','chaine',0,'','2013-03-06 08:59:12'),(4015,'MAIN_DELAY_PROPALS_TO_BILL',1,'7','chaine',0,'','2013-03-06 08:59:12'),(4016,'MAIN_DELAY_ORDERS_TO_PROCESS',1,'2','chaine',0,'','2013-03-06 08:59:12'),(4017,'MAIN_DELAY_CUSTOMER_BILLS_UNPAYED',1,'31','chaine',0,'','2013-03-06 08:59:12'),(4018,'MAIN_DELAY_SUPPLIER_ORDERS_TO_PROCESS',1,'7','chaine',0,'','2013-03-06 08:59:12'),(4019,'MAIN_DELAY_SUPPLIER_BILLS_TO_PAY',1,'2','chaine',0,'','2013-03-06 08:59:12'),(4020,'MAIN_DELAY_RUNNING_SERVICES',1,'-15','chaine',0,'','2013-03-06 08:59:12'),(4021,'MAIN_DELAY_TRANSACTIONS_TO_CONCILIATE',1,'62','chaine',0,'','2013-03-06 08:59:13'),(4022,'MAIN_DELAY_MEMBERS',1,'31','chaine',0,'','2013-03-06 08:59:13'),(4023,'MAIN_DISABLE_METEO',1,'0','chaine',0,'','2013-03-06 08:59:13'),(4044,'ADHERENT_VAT_FOR_SUBSCRIPTIONS',1,'0','',0,'','2013-03-06 16:06:38'),(4047,'ADHERENT_BANK_USE',1,'bankviainvoice','',0,'','2013-03-06 16:12:30'),(4049,'PHPSANE_SCANIMAGE',1,'/usr/bin/scanimage','chaine',0,'','2013-03-06 21:54:13'),(4050,'PHPSANE_PNMTOJPEG',1,'/usr/bin/pnmtojpeg','chaine',0,'','2013-03-06 21:54:13'),(4051,'PHPSANE_PNMTOTIFF',1,'/usr/bin/pnmtotiff','chaine',0,'','2013-03-06 21:54:13'),(4052,'PHPSANE_OCR',1,'/usr/bin/gocr','chaine',0,'','2013-03-06 21:54:13'),(4548,'ECM_AUTO_TREE_ENABLED',1,'1','chaine',0,'','2013-03-10 15:57:21'),(4555,'WEBSERVICES_KEY',1,'dolibarrkey','chaine',0,'','2013-03-13 10:19:31'),(4579,'MAIN_MODULE_AGENDA',2,'1',NULL,0,NULL,'2013-03-13 15:29:19'),(4580,'MAIN_AGENDA_ACTIONAUTO_COMPANY_CREATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4581,'MAIN_AGENDA_ACTIONAUTO_CONTRACT_VALIDATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4582,'MAIN_AGENDA_ACTIONAUTO_PROPAL_VALIDATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4583,'MAIN_AGENDA_ACTIONAUTO_PROPAL_SENTBYMAIL',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4584,'MAIN_AGENDA_ACTIONAUTO_ORDER_VALIDATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4585,'MAIN_AGENDA_ACTIONAUTO_ORDER_SENTBYMAIL',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4586,'MAIN_AGENDA_ACTIONAUTO_BILL_VALIDATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4587,'MAIN_AGENDA_ACTIONAUTO_BILL_PAYED',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4588,'MAIN_AGENDA_ACTIONAUTO_BILL_CANCEL',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4589,'MAIN_AGENDA_ACTIONAUTO_BILL_SENTBYMAIL',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4590,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_VALIDATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4591,'MAIN_AGENDA_ACTIONAUTO_BILL_SUPPLIER_VALIDATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4592,'MAIN_AGENDA_ACTIONAUTO_SHIPPING_VALIDATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4593,'MAIN_AGENDA_ACTIONAUTO_SHIPPING_SENTBYMAIL',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4594,'MAIN_AGENDA_ACTIONAUTO_BILL_UNVALIDATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4595,'MAIN_MODULE_GOOGLE',2,'1',NULL,0,NULL,'2013-03-13 15:29:47'),(4596,'MAIN_MODULE_GOOGLE_TABS_0',2,'agenda:+gcal:MenuAgendaGoogle:google@google:$conf->google->enabled && $conf->global->GOOGLE_ENABLE_AGENDA:/google/index.php','chaine',0,NULL,'2013-03-13 15:29:47'),(4597,'MAIN_MODULE_GOOGLE_TABS_1',2,'user:+gsetup:GoogleUserConf:google@google:$conf->google->enabled && $conf->global->GOOGLE_DUPLICATE_INTO_GCAL:/google/admin/google_calsync_user.php?id=__ID__','chaine',0,NULL,'2013-03-13 15:29:47'),(4598,'MAIN_MODULE_GOOGLE_TRIGGERS',2,'1','chaine',0,NULL,'2013-03-13 15:29:47'),(4599,'MAIN_MODULE_GOOGLE_HOOKS',2,'[\"toprightmenu\"]','chaine',0,NULL,'2013-03-13 15:29:47'),(4688,'GOOGLE_ENABLE_AGENDA',2,'1','chaine',0,'','2013-03-13 15:36:29'),(4689,'GOOGLE_AGENDA_NAME1',2,'eldy','chaine',0,'','2013-03-13 15:36:29'),(4690,'GOOGLE_AGENDA_SRC1',2,'eldy10@gmail.com','chaine',0,'','2013-03-13 15:36:29'),(4691,'GOOGLE_AGENDA_COLOR1',2,'BE6D00','chaine',0,'','2013-03-13 15:36:29'),(4692,'GOOGLE_AGENDA_COLOR2',2,'7A367A','chaine',0,'','2013-03-13 15:36:29'),(4693,'GOOGLE_AGENDA_COLOR3',2,'7A367A','chaine',0,'','2013-03-13 15:36:29'),(4694,'GOOGLE_AGENDA_COLOR4',2,'7A367A','chaine',0,'','2013-03-13 15:36:29'),(4695,'GOOGLE_AGENDA_COLOR5',2,'7A367A','chaine',0,'','2013-03-13 15:36:29'),(4696,'GOOGLE_AGENDA_TIMEZONE',2,'Europe/Paris','chaine',0,'','2013-03-13 15:36:29'),(4697,'GOOGLE_AGENDA_NB',2,'5','chaine',0,'','2013-03-13 15:36:29'),(4698,'MAIN_DISABLE_ALL_MAILS',1,'0','chaine',0,'','2013-03-13 17:22:24'),(4699,'MAIN_MAIL_SENDMODE',0,'mail','chaine',0,'','2013-03-13 17:22:24'),(4700,'MAIN_MAIL_SMTPS_ID',0,'eldy10@gmail.com','chaine',0,'','2013-03-13 17:22:24'),(4701,'MAIN_MAIL_SMTPS_PW',0,'ld101010-ge','chaine',0,'','2013-03-13 17:22:24'),(4711,'GOOGLE_ENABLE_AGENDA',1,'1','chaine',0,'','2013-03-13 19:37:38'),(4712,'GOOGLE_AGENDA_NAME1',1,'asso master','chaine',0,'','2013-03-13 19:37:38'),(4713,'GOOGLE_AGENDA_SRC1',1,'assodolibarr@gmail.com','chaine',0,'','2013-03-13 19:37:38'),(4714,'GOOGLE_AGENDA_COLOR1',1,'1B887A','chaine',0,'','2013-03-13 19:37:38'),(4715,'GOOGLE_AGENDA_COLOR2',1,'7A367A','chaine',0,'','2013-03-13 19:37:38'),(4716,'GOOGLE_AGENDA_COLOR3',1,'7A367A','chaine',0,'','2013-03-13 19:37:38'),(4717,'GOOGLE_AGENDA_COLOR4',1,'7A367A','chaine',0,'','2013-03-13 19:37:38'),(4718,'GOOGLE_AGENDA_COLOR5',1,'7A367A','chaine',0,'','2013-03-13 19:37:38'),(4719,'GOOGLE_AGENDA_TIMEZONE',1,'Europe/Paris','chaine',0,'','2013-03-13 19:37:38'),(4720,'GOOGLE_AGENDA_NB',1,'5','chaine',0,'','2013-03-13 19:37:38'),(4725,'SOCIETE_CODECLIENT_ADDON',2,'mod_codeclient_leopard','chaine',0,'Module to control third parties codes','2013-03-13 20:21:35'),(4726,'SOCIETE_CODECOMPTA_ADDON',2,'mod_codecompta_panicum','chaine',0,'Module to control third parties codes','2013-03-13 20:21:35'),(4727,'SOCIETE_FISCAL_MONTH_START',2,'','chaine',0,'Mettre le numero du mois du debut d\\\'annee fiscale, ex: 9 pour septembre','2013-03-13 20:21:35'),(4728,'MAIN_SEARCHFORM_SOCIETE',2,'1','yesno',0,'Show form for quick company search','2013-03-13 20:21:35'),(4729,'MAIN_SEARCHFORM_CONTACT',2,'1','yesno',0,'Show form for quick contact search','2013-03-13 20:21:35'),(4730,'COMPANY_ADDON_PDF_ODT_PATH',2,'DOL_DATA_ROOT/doctemplates/thirdparties','chaine',0,NULL,'2013-03-13 20:21:35'),(4743,'MAIN_MODULE_CLICKTODIAL',2,'1',NULL,0,NULL,'2013-03-13 20:30:28'),(4744,'MAIN_MODULE_NOTIFICATION',2,'1',NULL,0,NULL,'2013-03-13 20:30:34'),(4745,'MAIN_MODULE_WEBSERVICES',2,'1',NULL,0,NULL,'2013-03-13 20:30:41'),(4746,'MAIN_MODULE_PROPALE',2,'1',NULL,0,NULL,'2013-03-13 20:32:38'),(4747,'PROPALE_ADDON_PDF',2,'azur','chaine',0,'Nom du gestionnaire de generation des propales en PDF','2013-03-13 20:32:38'),(4748,'PROPALE_ADDON',2,'mod_propale_marbre','chaine',0,'Nom du gestionnaire de numerotation des propales','2013-03-13 20:32:38'),(4749,'PROPALE_VALIDITY_DURATION',2,'15','chaine',0,'Duration of validity of business proposals','2013-03-13 20:32:38'),(4750,'PROPALE_ADDON_PDF_ODT_PATH',2,'DOL_DATA_ROOT/doctemplates/proposals','chaine',0,NULL,'2013-03-13 20:32:38'),(4752,'MAIN_MODULE_TAX',2,'1',NULL,0,NULL,'2013-03-13 20:32:47'),(4753,'MAIN_MODULE_DON',2,'1',NULL,0,NULL,'2013-03-13 20:32:54'),(4754,'DON_ADDON_MODEL',2,'html_cerfafr','chaine',0,'Nom du gestionnaire de generation de recu de dons','2013-03-13 20:32:54'),(4755,'POS_USE_TICKETS',2,'1','chaine',0,'','2013-03-13 20:33:09'),(4756,'POS_MAX_TTC',2,'100','chaine',0,'','2013-03-13 20:33:09'),(4757,'MAIN_MODULE_POS',2,'1',NULL,0,NULL,'2013-03-13 20:33:09'),(4758,'TICKET_ADDON',2,'mod_ticket_avenc','chaine',0,'Nom du gestionnaire de numerotation des tickets','2013-03-13 20:33:09'),(4759,'MAIN_MODULE_BANQUE',2,'1',NULL,0,NULL,'2013-03-13 20:33:09'),(4760,'MAIN_MODULE_FACTURE',2,'1',NULL,0,NULL,'2013-03-13 20:33:09'),(4761,'FACTURE_ADDON_PDF',2,'crabe','chaine',0,'Name of PDF model of invoice','2013-03-13 20:33:09'),(4762,'FACTURE_ADDON',2,'mod_facture_terre','chaine',0,'Name of numbering numerotation rules of invoice','2013-03-13 20:33:09'),(4763,'FACTURE_ADDON_PDF_ODT_PATH',2,'DOL_DATA_ROOT/doctemplates/invoices','chaine',0,NULL,'2013-03-13 20:33:09'),(4764,'MAIN_MODULE_SOCIETE',2,'1',NULL,0,NULL,'2013-03-13 20:33:09'),(4765,'MAIN_MODULE_PRODUCT',2,'1',NULL,0,NULL,'2013-03-13 20:33:09'),(4766,'PRODUCT_CODEPRODUCT_ADDON',2,'mod_codeproduct_leopard','chaine',0,'Module to control product codes','2013-03-13 20:33:09'),(4767,'MAIN_SEARCHFORM_PRODUITSERVICE',2,'1','yesno',0,'Show form for quick product search','2013-03-13 20:33:09'),(4772,'FACSIM_ADDON',2,'mod_facsim_alcoy','chaine',0,'','2013-03-13 20:33:32'),(4773,'MAIN_MODULE_MAILING',2,'1',NULL,0,NULL,'2013-03-13 20:33:37'),(4774,'MAIN_MODULE_OPENSURVEY',2,'1',NULL,0,NULL,'2013-03-13 20:33:42'),(4782,'AGENDA_USE_EVENT_TYPE',2,'1','chaine',0,'','2013-03-13 20:53:36'),(4884,'AGENDA_DISABLE_EXT',2,'1','chaine',0,'','2013-03-13 22:03:40'),(4919,'MAIN_MODULE_COMPTABILITE',1,'1',NULL,0,NULL,'2013-03-20 20:04:28'),(4922,'MAIN_MODULE_BANQUE',1,'1',NULL,0,NULL,'2013-03-20 20:04:28'),(4928,'COMMANDE_SUPPLIER_ADDON_NUMBER',1,'mod_commande_fournisseur_muguet','chaine',0,'Nom du gestionnaire de numerotation des commandes fournisseur','2013-03-22 09:24:29'),(4929,'INVOICE_SUPPLIER_ADDON_NUMBER',1,'mod_facture_fournisseur_cactus','chaine',0,'Nom du gestionnaire de numerotation des factures fournisseur','2013-03-22 09:24:29'),(4986,'MAIN_MODULE_CRON',1,'1',NULL,0,NULL,'2013-03-23 17:24:25'),(5001,'MAIN_CRON_KEY',0,'bc54582fe30d5d4a830c6f582ec28810','chaine',0,'','2013-03-23 17:54:53'),(5009,'CRON_KEY',0,'2c2e755c20be2014098f629865598006','chaine',0,'','2013-03-23 18:06:24'),(5075,'MAIN_MENU_STANDARD',1,'eldy_menu.php','chaine',0,'','2013-03-24 02:51:13'),(5076,'MAIN_MENU_SMARTPHONE',1,'eldy_menu.php','chaine',0,'','2013-03-24 02:51:13'),(5077,'MAIN_MENUFRONT_STANDARD',1,'eldy_menu.php','chaine',0,'','2013-03-24 02:51:13'),(5078,'MAIN_MENUFRONT_SMARTPHONE',1,'eldy_menu.php','chaine',0,'','2013-03-24 02:51:13'),(5079,'MAIN_MODULE_OPENSURVEY',1,'1',NULL,0,NULL,'2013-03-24 02:57:18'),(5102,'MAIN_INFO_SOCIETE_COUNTRY',1,'1:FR:France','chaine',0,'','2013-03-24 18:34:54'),(5103,'MAIN_INFO_SOCIETE_NOM',1,'MyBigCompany','chaine',0,'','2013-03-24 18:34:54'),(5104,'MAIN_INFO_SOCIETE_ADDRESS',1,'21 Jump street','chaine',0,'','2013-03-24 18:34:54'),(5105,'MAIN_INFO_SOCIETE_TOWN',1,'MyTown','chaine',0,'','2013-03-24 18:34:54'),(5106,'MAIN_INFO_SOCIETE_ZIP',1,'75500','chaine',0,'','2013-03-24 18:34:54'),(5107,'MAIN_INFO_SOCIETE_STATE',1,'0','chaine',0,'','2013-03-24 18:34:54'),(5108,'MAIN_MONNAIE',1,'EUR','chaine',0,'','2013-03-24 18:34:54'),(5109,'MAIN_INFO_SOCIETE_TEL',1,'09123123','chaine',0,'','2013-03-24 18:34:54'),(5110,'MAIN_INFO_SOCIETE_FAX',1,'09123124','chaine',0,'','2013-03-24 18:34:54'),(5111,'MAIN_INFO_SOCIETE_MAIL',1,'myemail@mybigcompany.com','chaine',0,'','2013-03-24 18:34:54'),(5112,'MAIN_INFO_SOCIETE_WEB',1,'http://www.dolibarr.org','chaine',0,'','2013-03-24 18:34:54'),(5113,'MAIN_INFO_SOCIETE_NOTE',1,'This is note about my company','chaine',0,'','2013-03-24 18:34:54'),(5114,'MAIN_INFO_CAPITAL',1,'10000','chaine',0,'','2013-03-24 18:34:54'),(5115,'MAIN_INFO_SOCIETE_FORME_JURIDIQUE',1,'0','chaine',0,'','2013-03-24 18:34:54'),(5116,'MAIN_INFO_TVAINTRA',1,'IN1234567','chaine',0,'','2013-03-24 18:34:54'),(5117,'SOCIETE_FISCAL_MONTH_START',1,'0','chaine',0,'','2013-03-24 18:34:54'),(5118,'FACTURE_TVAOPTION',1,'reel','chaine',0,'','2013-03-24 18:34:54'),(5119,'MAIN_LANG_DEFAULT',1,'en_US','chaine',0,'','2013-03-24 18:35:07'),(5120,'MAIN_MULTILANGS',1,'1','chaine',0,'','2013-03-24 18:35:07'),(5121,'MAIN_SIZE_LISTE_LIMIT',1,'25','chaine',0,'','2013-03-24 18:35:07'),(5122,'MAIN_DISABLE_JAVASCRIPT',1,'0','chaine',0,'','2013-03-24 18:35:07'),(5123,'MAIN_BUTTON_HIDE_UNAUTHORIZED',1,'0','chaine',0,'','2013-03-24 18:35:07'),(5124,'MAIN_START_WEEK',1,'1','chaine',0,'','2013-03-24 18:35:07'),(5125,'MAIN_SHOW_LOGO',1,'0','chaine',0,'','2013-03-24 18:35:07'),(5126,'MAIN_FIRSTNAME_NAME_POSITION',1,'0','chaine',0,'','2013-03-24 18:35:07'),(5127,'MAIN_THEME',1,'eldy','chaine',0,'','2013-03-24 18:35:07'),(5128,'MAIN_SEARCHFORM_CONTACT',1,'1','chaine',0,'','2013-03-24 18:35:07'),(5129,'MAIN_SEARCHFORM_SOCIETE',1,'1','chaine',0,'','2013-03-24 18:35:07'),(5130,'MAIN_SEARCHFORM_PRODUITSERVICE',1,'1','chaine',0,'','2013-03-24 18:35:07'),(5131,'MAIN_SEARCHFORM_ADHERENT',1,'1','chaine',0,'','2013-03-24 18:35:07'),(5132,'MAIN_HELPCENTER_DISABLELINK',0,'1','chaine',0,'','2013-03-24 18:35:07'),(5133,'MAIN_HOME',1,'__(NoteSomeFeaturesAreDisabled)__
\r\n
\r\n__(SomeTranslationAreUncomplete)__
','chaine',0,'','2013-03-24 18:35:07'),(5134,'MAIN_HELP_DISABLELINK',0,'0','chaine',0,'','2013-03-24 18:35:07'),(5135,'MAIN_BUGTRACK_ENABLELINK',1,'0','chaine',0,'','2013-03-24 18:35:07'),(5137,'MAIN_AGENDA_ACTIONAUTO_BILL_UNVALIDATE',1,'1','chaine',0,NULL,'2013-09-08 23:06:08'),(5139,'SOCIETE_ADD_REF_IN_LIST',1,'','yesno',0,'Display customer ref into select list','2013-09-08 23:06:08'),(5150,'PROJECT_TASK_ADDON_PDF',1,'','chaine',0,'Name of PDF/ODT tasks manager class','2013-09-08 23:06:14'),(5151,'PROJECT_TASK_ADDON',1,'mod_task_simple','chaine',0,'Name of Numbering Rule task manager class','2013-09-08 23:06:14'),(5152,'PROJECT_TASK_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/tasks','chaine',0,'','2013-09-08 23:06:14'),(5164,'MAIN_AGENDA_ACTIONAUTO_COMPANY_SENTBYMAIL',1,'1','chaine',0,NULL,'2013-11-06 23:35:12'),(5195,'GOOGLE_DUPLICATE_INTO_THIRDPARTIES',1,'1','chaine',0,'','2013-11-07 00:02:34'),(5196,'GOOGLE_DUPLICATE_INTO_CONTACTS',1,'0','chaine',0,'','2013-11-07 00:02:34'),(5197,'GOOGLE_DUPLICATE_INTO_MEMBERS',1,'0','chaine',0,'','2013-11-07 00:02:34'),(5198,'GOOGLE_CONTACT_LOGIN',1,'eldy10@gmail.com','chaine',0,'','2013-11-07 00:02:34'),(5199,'GOOGLE_CONTACT_PASSWORD',1,'ld101010-ge','chaine',0,'','2013-11-07 00:02:34'),(5200,'GOOGLE_TAG_PREFIX',1,'Dolibarr (Thirdparties)','chaine',0,'','2013-11-07 00:02:34'),(5201,'GOOGLE_TAG_PREFIX_CONTACTS',1,'Dolibarr (Contacts/Addresses)','chaine',0,'','2013-11-07 00:02:34'),(5202,'GOOGLE_TAG_PREFIX_MEMBERS',1,'Dolibarr (Members)','chaine',0,'','2013-11-07 00:02:34'),(5203,'MODULE_GOOGLE_DEBUG',1,'1','chaine',1,'','2013-11-07 00:16:31'),(5221,'MAIN_MODULE_AGENDA',1,'1',NULL,0,NULL,'2014-03-02 15:19:45'),(5222,'MAIN_MODULE_SOCIETE',1,'1',NULL,0,NULL,'2014-03-02 15:19:46'),(5223,'MAIN_MODULE_SERVICE',1,'1',NULL,0,NULL,'2014-03-02 15:19:46'),(5224,'MAIN_MODULE_COMMANDE',1,'1',NULL,0,NULL,'2014-03-02 15:19:46'),(5225,'MAIN_MODULE_FACTURE',1,'1',NULL,0,NULL,'2014-03-02 15:19:46'),(5226,'MAIN_MODULE_FOURNISSEUR',1,'1',NULL,0,NULL,'2014-03-02 15:19:46'),(5227,'MAIN_MODULE_USER',0,'1',NULL,0,NULL,'2014-03-02 15:19:46'),(5228,'MAIN_MODULE_DEPLACEMENT',1,'1',NULL,0,NULL,'2014-03-02 15:19:46'),(5229,'MAIN_MODULE_DON',1,'1',NULL,0,NULL,'2014-03-02 15:19:46'),(5230,'MAIN_MODULE_ECM',1,'1',NULL,0,NULL,'2014-03-02 15:19:46'),(5233,'MAIN_VERSION_LAST_UPGRADE',0,'3.6.0-alpha','chaine',0,'Dolibarr version for last upgrade','2014-03-02 15:20:57'),(5235,'MAIN_FEATURES_LEVEL',0,'0','chaine',1,'Level of features to show (0=stable only, 1=stable+experimental, 2=stable+experimental+development','2014-03-02 15:22:27'),(5236,'MAIN_MODULE_BARCODE',1,'1',NULL,0,NULL,'2014-03-02 15:37:26'),(5237,'MAIN_MODULE_GRAVATAR',1,'1',NULL,0,NULL,'2014-03-02 15:37:37'),(5238,'MAIN_MODULE_LDAP',1,'1',NULL,0,NULL,'2014-03-02 15:38:03'),(5239,'BOOKMARKS_SHOW_IN_MENU',1,'10','chaine',0,'','2014-03-02 15:42:26'); +/*!40000 ALTER TABLE `llx_const` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_contrat` +-- + +DROP TABLE IF EXISTS `llx_contrat`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_contrat` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `ref` varchar(30) DEFAULT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `datec` datetime DEFAULT NULL, + `date_contrat` datetime DEFAULT NULL, + `statut` smallint(6) DEFAULT '0', + `mise_en_service` datetime DEFAULT NULL, + `fin_validite` datetime DEFAULT NULL, + `date_cloture` datetime DEFAULT NULL, + `fk_soc` int(11) NOT NULL, + `fk_projet` int(11) DEFAULT NULL, + `fk_commercial_signature` int(11) NOT NULL, + `fk_commercial_suivi` int(11) NOT NULL, + `fk_user_author` int(11) NOT NULL DEFAULT '0', + `fk_user_mise_en_service` int(11) DEFAULT NULL, + `fk_user_cloture` int(11) DEFAULT NULL, + `note_private` text, + `note_public` text, + `import_key` varchar(14) DEFAULT NULL, + `extraparams` varchar(255) DEFAULT NULL, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_contrat_ref` (`ref`,`entity`), + KEY `idx_contrat_fk_soc` (`fk_soc`), + KEY `idx_contrat_fk_user_author` (`fk_user_author`), + CONSTRAINT `fk_contrat_fk_soc` FOREIGN KEY (`fk_soc`) REFERENCES `llx_societe` (`rowid`), + CONSTRAINT `fk_contrat_user_author` FOREIGN KEY (`fk_user_author`) REFERENCES `llx_user` (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_contrat` +-- + +LOCK TABLES `llx_contrat` WRITE; +/*!40000 ALTER TABLE `llx_contrat` DISABLE KEYS */; +INSERT INTO `llx_contrat` VALUES (1,'CONTRACT1',1,'2010-07-08 23:53:55','2010-07-09 01:53:25','2010-07-09 00:00:00',1,NULL,NULL,NULL,3,NULL,2,2,1,NULL,NULL,NULL,NULL,NULL,NULL),(2,'CONTRAT1',1,'2010-07-10 16:18:16','2010-07-10 18:13:37','2010-07-10 00:00:00',1,NULL,NULL,NULL,2,NULL,2,2,1,NULL,NULL,NULL,NULL,NULL,NULL),(3,'CT1303-0001',1,'2013-03-06 09:05:07','2013-03-06 10:04:57','2013-03-06 00:00:00',1,NULL,NULL,NULL,19,NULL,1,1,1,NULL,NULL,NULL,NULL,NULL,NULL); +/*!40000 ALTER TABLE `llx_contrat` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_contrat_extrafields` +-- + +DROP TABLE IF EXISTS `llx_contrat_extrafields`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_contrat_extrafields` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_object` int(11) NOT NULL, + `import_key` varchar(14) DEFAULT NULL, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_contrat_extrafields` +-- + +LOCK TABLES `llx_contrat_extrafields` WRITE; +/*!40000 ALTER TABLE `llx_contrat_extrafields` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_contrat_extrafields` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_contratdet` +-- + +DROP TABLE IF EXISTS `llx_contratdet`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_contratdet` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_contrat` int(11) NOT NULL, + `fk_product` int(11) DEFAULT NULL, + `statut` smallint(6) DEFAULT '0', + `label` text, + `description` text, + `fk_remise_except` int(11) DEFAULT NULL, + `date_commande` datetime DEFAULT NULL, + `date_ouverture_prevue` datetime DEFAULT NULL, + `date_ouverture` datetime DEFAULT NULL, + `date_fin_validite` datetime DEFAULT NULL, + `date_cloture` datetime DEFAULT NULL, + `tva_tx` double(6,3) DEFAULT '0.000', + `localtax1_tx` double(6,3) DEFAULT '0.000', + `localtax1_type` varchar(10) NOT NULL DEFAULT '0', + `localtax2_tx` double(6,3) DEFAULT '0.000', + `localtax2_type` varchar(10) NOT NULL DEFAULT '0', + `qty` double NOT NULL, + `remise_percent` double DEFAULT '0', + `subprice` double(24,8) DEFAULT '0.00000000', + `price_ht` double DEFAULT NULL, + `remise` double DEFAULT '0', + `total_ht` double(24,8) DEFAULT '0.00000000', + `total_tva` double(24,8) DEFAULT '0.00000000', + `total_localtax1` double(24,8) DEFAULT '0.00000000', + `total_localtax2` double(24,8) DEFAULT '0.00000000', + `total_ttc` double(24,8) DEFAULT '0.00000000', + `product_type` int(11) DEFAULT '1', + `info_bits` int(11) DEFAULT '0', + `fk_product_fournisseur_price` int(11) DEFAULT NULL, + `buy_price_ht` double(24,8) DEFAULT '0.00000000', + `fk_user_author` int(11) NOT NULL DEFAULT '0', + `fk_user_ouverture` int(11) DEFAULT NULL, + `fk_user_cloture` int(11) DEFAULT NULL, + `commentaire` text, + PRIMARY KEY (`rowid`), + KEY `idx_contratdet_fk_contrat` (`fk_contrat`), + KEY `idx_contratdet_fk_product` (`fk_product`), + KEY `idx_contratdet_date_ouverture_prevue` (`date_ouverture_prevue`), + KEY `idx_contratdet_date_ouverture` (`date_ouverture`), + KEY `idx_contratdet_date_fin_validite` (`date_fin_validite`), + CONSTRAINT `fk_contratdet_fk_contrat` FOREIGN KEY (`fk_contrat`) REFERENCES `llx_contrat` (`rowid`), + CONSTRAINT `fk_contratdet_fk_product` FOREIGN KEY (`fk_product`) REFERENCES `llx_product` (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_contratdet` +-- + +LOCK TABLES `llx_contratdet` WRITE; +/*!40000 ALTER TABLE `llx_contratdet` DISABLE KEYS */; +INSERT INTO `llx_contratdet` VALUES (1,'2013-03-06 09:00:00',1,3,4,'','',NULL,NULL,'2010-07-09 00:00:00','2010-07-09 12:00:00','2013-03-15 00:00:00',NULL,0.000,0.000,'',0.000,'',1,0,0.00000000,0,NULL,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,1,0,0,0.00000000,0,1,1,''),(2,'2010-07-10 16:14:14',2,NULL,0,'','Abonnement annuel assurance',NULL,NULL,'2010-07-10 00:00:00',NULL,'2011-07-10 00:00:00',NULL,1.000,0.000,'',0.000,'',1,0,10.00000000,10,0,10.00000000,0.10000000,0.00000000,0.00000000,10.10000000,1,0,NULL,0.00000000,0,NULL,NULL,NULL),(3,'2013-03-05 10:20:58',2,3,5,'','gdfg',NULL,NULL,'2010-07-10 00:00:00','2010-07-10 12:00:00','2011-07-09 00:00:00','2013-03-06 12:00:00',4.000,0.000,'',0.000,'',1,0,0.00000000,0,NULL,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,1,0,0,0.00000000,0,1,1,''),(4,'2012-12-08 13:11:17',2,3,0,'','',NULL,NULL,'2010-07-10 00:00:00',NULL,NULL,NULL,0.000,0.000,'',0.000,'',1,10,40.00000000,40,NULL,36.00000000,0.00000000,0.00000000,0.00000000,36.00000000,1,0,NULL,0.00000000,0,NULL,1,''),(5,'2013-03-06 09:05:40',3,NULL,4,'','gfdg',NULL,NULL,NULL,'2013-03-06 12:00:00','2013-03-07 12:00:00',NULL,0.000,0.000,'',0.000,'',1,0,10.00000000,10,NULL,10.00000000,0.00000000,0.00000000,0.00000000,10.00000000,1,0,0,0.00000000,0,1,1,''); +/*!40000 ALTER TABLE `llx_contratdet` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_contratdet_log` +-- + +DROP TABLE IF EXISTS `llx_contratdet_log`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_contratdet_log` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_contratdet` int(11) NOT NULL, + `date` datetime NOT NULL, + `statut` smallint(6) NOT NULL, + `fk_user_author` int(11) NOT NULL, + `commentaire` text, + PRIMARY KEY (`rowid`), + KEY `idx_contratdet_log_fk_contratdet` (`fk_contratdet`), + KEY `idx_contratdet_log_date` (`date`), + CONSTRAINT `fk_contratdet_log_fk_contratdet` FOREIGN KEY (`fk_contratdet`) REFERENCES `llx_contratdet` (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_contratdet_log` +-- + +LOCK TABLES `llx_contratdet_log` WRITE; +/*!40000 ALTER TABLE `llx_contratdet_log` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_contratdet_log` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_cotisation` +-- + +DROP TABLE IF EXISTS `llx_cotisation`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_cotisation` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `datec` datetime DEFAULT NULL, + `fk_adherent` int(11) DEFAULT NULL, + `dateadh` datetime DEFAULT NULL, + `datef` date DEFAULT NULL, + `cotisation` double DEFAULT NULL, + `fk_bank` int(11) DEFAULT NULL, + `note` text, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_cotisation` (`fk_adherent`,`dateadh`) +) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_cotisation` +-- + +LOCK TABLES `llx_cotisation` WRITE; +/*!40000 ALTER TABLE `llx_cotisation` DISABLE KEYS */; +INSERT INTO `llx_cotisation` VALUES (1,'2010-07-10 13:05:30','2010-07-10 15:05:30',2,'2010-07-10 00:00:00','2011-07-10',20,NULL,'Adhésion/cotisation 2010'),(2,'2010-07-11 14:20:00','2010-07-11 16:20:00',2,'2011-07-11 00:00:00','2012-07-10',10,NULL,'Adhésion/cotisation 2011'),(3,'2010-07-18 10:20:33','2010-07-18 12:20:33',2,'2012-07-11 00:00:00','2013-07-17',10,NULL,'Adhésion/cotisation 2012'),(4,'2013-03-06 15:43:37','2013-03-06 16:43:37',2,'2013-07-18 00:00:00','2014-07-17',10,NULL,'Adhésion/cotisation 2013'),(5,'2013-03-06 15:44:12','2013-03-06 16:44:12',2,'2014-07-18 00:00:00','2015-07-17',11,NULL,'Adhésion/cotisation 2014'),(6,'2013-03-06 15:47:48','2013-03-06 16:47:48',2,'2015-07-18 00:00:00','2016-07-17',10,NULL,'Adhésion/cotisation 2015'),(7,'2013-03-06 15:48:16','2013-03-06 16:48:16',2,'2016-07-18 00:00:00','2017-07-17',20,22,'Adhésion/cotisation 2016'),(8,'2013-03-20 13:17:57','2013-03-20 14:17:57',1,'2010-07-10 00:00:00','2011-07-09',10,NULL,'Adhésion/cotisation 2010'),(10,'2013-03-20 13:30:11','2013-03-20 14:30:11',1,'2011-07-10 00:00:00','2012-07-09',10,23,'Adhésion/cotisation 2011'); +/*!40000 ALTER TABLE `llx_cotisation` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_cronjob` +-- + +DROP TABLE IF EXISTS `llx_cronjob`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_cronjob` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `datec` datetime DEFAULT NULL, + `jobtype` varchar(10) NOT NULL, + `label` text NOT NULL, + `command` varchar(255) DEFAULT NULL, + `classesname` varchar(255) DEFAULT NULL, + `objectname` varchar(255) DEFAULT NULL, + `methodename` varchar(255) DEFAULT NULL, + `params` text NOT NULL, + `md5params` varchar(32) DEFAULT NULL, + `module_name` varchar(255) DEFAULT NULL, + `priority` int(11) DEFAULT '0', + `datelastrun` datetime DEFAULT NULL, + `datenextrun` datetime DEFAULT NULL, + `datestart` datetime DEFAULT NULL, + `dateend` datetime DEFAULT NULL, + `datelastresult` datetime DEFAULT NULL, + `lastresult` text, + `lastoutput` text, + `unitfrequency` int(11) NOT NULL DEFAULT '0', + `frequency` int(11) NOT NULL DEFAULT '0', + `nbrun` int(11) DEFAULT NULL, + `status` int(11) NOT NULL DEFAULT '1', + `fk_user_author` int(11) DEFAULT NULL, + `fk_user_mod` int(11) DEFAULT NULL, + `note` text, + `libname` varchar(255) DEFAULT NULL, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_cronjob` +-- + +LOCK TABLES `llx_cronjob` WRITE; +/*!40000 ALTER TABLE `llx_cronjob` DISABLE KEYS */; +INSERT INTO `llx_cronjob` VALUES (1,'2013-03-23 18:18:39','2013-03-23 19:18:39','command','aaa','aaaa','','','','','','',0,NULL,NULL,'2013-03-23 19:18:00',NULL,NULL,NULL,NULL,3600,3600,0,0,1,1,'',NULL); +/*!40000 ALTER TABLE `llx_cronjob` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_deplacement` +-- + +DROP TABLE IF EXISTS `llx_deplacement`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_deplacement` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `ref` varchar(30) DEFAULT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + `datec` datetime NOT NULL, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `dated` datetime DEFAULT NULL, + `fk_user` int(11) NOT NULL, + `fk_user_author` int(11) DEFAULT NULL, + `fk_user_modif` int(11) DEFAULT NULL, + `type` varchar(12) NOT NULL, + `fk_statut` int(11) NOT NULL DEFAULT '1', + `km` double DEFAULT NULL, + `fk_soc` int(11) DEFAULT NULL, + `fk_projet` int(11) DEFAULT '0', + `note_private` text, + `note_public` text, + `extraparams` varchar(255) DEFAULT NULL, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_deplacement` +-- + +LOCK TABLES `llx_deplacement` WRITE; +/*!40000 ALTER TABLE `llx_deplacement` DISABLE KEYS */; +INSERT INTO `llx_deplacement` VALUES (1,NULL,1,'2010-07-09 01:58:04','2010-07-08 23:58:18','2010-07-09 12:00:00',2,1,NULL,'TF_LUNCH',1,10,2,1,NULL,NULL,NULL); +/*!40000 ALTER TABLE `llx_deplacement` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_document_generator` +-- + +DROP TABLE IF EXISTS `llx_document_generator`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_document_generator` ( + `rowid` int(10) unsigned NOT NULL, + `name` varchar(255) NOT NULL, + `classfile` varchar(255) NOT NULL, + `class` varchar(255) NOT NULL, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_document_generator` +-- + +LOCK TABLES `llx_document_generator` WRITE; +/*!40000 ALTER TABLE `llx_document_generator` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_document_generator` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_document_model` +-- + +DROP TABLE IF EXISTS `llx_document_model`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_document_model` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `nom` varchar(50) DEFAULT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + `type` varchar(20) NOT NULL, + `libelle` varchar(255) DEFAULT NULL, + `description` text, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_document_model` (`nom`,`type`,`entity`) +) ENGINE=InnoDB AUTO_INCREMENT=224 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_document_model` +-- + +LOCK TABLES `llx_document_model` WRITE; +/*!40000 ALTER TABLE `llx_document_model` DISABLE KEYS */; +INSERT INTO `llx_document_model` VALUES (9,'merou',1,'shipping',NULL,NULL),(15,'fsfe.fr.php',1,'donation',NULL,NULL),(21,'baleine',1,'project',NULL,NULL),(174,'azur',1,'propal',NULL,NULL),(175,'rouget',1,'shipping',NULL,NULL),(176,'typhon',1,'delivery',NULL,NULL),(178,'soleil',1,'ficheinter',NULL,NULL),(181,'generic_invoice_odt',1,'invoice','ODT templates','FACTURE_ADDON_PDF_ODT_PATH'),(193,'canelle2',1,'invoice_supplier','canelle2',NULL),(195,'canelle',1,'invoice_supplier','canelle',NULL),(198,'azur',2,'propal',NULL,NULL),(199,'html_cerfafr',2,'donation',NULL,NULL),(200,'crabe',2,'invoice',NULL,NULL),(201,'generic_odt',1,'company','ODT templates','COMPANY_ADDON_PDF_ODT_PATH'),(220,'einstein',1,'order',NULL,NULL),(221,'crabe',1,'invoice',NULL,NULL),(222,'muscadet',1,'order_supplier',NULL,NULL),(223,'html_cerfafr',1,'donation',NULL,NULL); +/*!40000 ALTER TABLE `llx_document_model` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_dolicloud_emailstemplates` +-- + +DROP TABLE IF EXISTS `llx_dolicloud_emailstemplates`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_dolicloud_emailstemplates` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `emailtype` varchar(128) NOT NULL, + `lang` varchar(12) NOT NULL, + `topic` varchar(256) NOT NULL, + `content` text NOT NULL, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_dolicloud_emailstemplates` (`emailtype`,`lang`) +) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_dolicloud_emailstemplates` +-- + +LOCK TABLES `llx_dolicloud_emailstemplates` WRITE; +/*!40000 ALTER TABLE `llx_dolicloud_emailstemplates` DISABLE KEYS */; +INSERT INTO `llx_dolicloud_emailstemplates` VALUES (1,'PasswordAssistance','en_US','DoliCloud (online Dolibarr ERP & CRM) - Password assistance: how to reset your password','\n

Dear ${person.firstName},

\n

\n To continue the password reset process for the account ${person.email}\n click on the link below.
\n

\n

${resetPasswordLink}

\n

Note that this process is to reset the password for your dashboard, not for your application login. You may find more information on all different user/password reset process onto the following page.\n

\n

If clicking doesn\'t seem to work, you can copy and paste the link into your browser\'s\n address window, or retype it there. Once you have returned to our site, we will give instructions for resetting your password.

\n

If you did not request to have your password reset you can safely ignore this email.\n It is likely another user entered your email address by mistake while trying to reset a password. Rest assured your customer account is safe.

\n

We will never e-mail you and ask you to disclose or verify your password, credit card, or banking account number. \n If you receive a suspicious e-mail with a link to update your account information,\n do not click on the link - instead, report the e-mail to us for investigation.

\n

\n Sincerly,
\n The DoliCloud Team
\n -----------------------------------------
\n EMail: support@dolicloud.com
\n Web: http://www.dolicloud.com\n

\n '),(2,'InstanceDeployed','en_US','Welcome to DoliCloud (online Dolibarr ERP & CRM) - Your instance is ready',' \n

Hello ${person.firstName},

\n

\n We are delighted to welcome you as a user of DoliCloud, the Ondemand service of Dolibarr ERP & CRM.\n

\n

\n Your ${appPackage.name} is installed, setup and ready for you.\n Here are the details you need to get started:\n

\n
Your Dolibarr ERP & CRM :\n
    \n
  • URL: ${appInstance.url}
  • \n
  • Login: ${appPackage.defaultUser}
  • \n
  • Password: ${appInstance.defaultPassword}
  • \n
\n
Your Dolicloud dashboard :\n \n \n
\n Sincerly,
\n The DoliCloud Team
\n -----------------------------------------
\n EMail: support@dolicloud.com
\n Web: http://www.dolicloud.com\n \n '),(3,'InvoiceFailure','en_US','DoliCloud (online Dolibarr ERP & CRM) - Invoice Payment Failure',' \n

Dear DoliCloud Customer,

\n

\n An attempt to take payment for invoice(s) owed has failed. Please update your payment method, or contact your bank or payment method provider.
\n Should failure to take this payment continue, access to our service will be discontinued, and any data you have with us maybe lost.
\n
\nPlease login to your Dolicloud dashboard to update and fix your credit card or paypal information as soon as possible to prevent any interuptions in service.
\nRemind: Your DoliCloud dashboard login is ${person.email}
\n

\n

\n The error we received from your bank was:
\n ${invoice.notes.collect{ it }.join(\' \')}\n


\n\n Sincerly,
\n The DoliCloud Team
\n -----------------------------------------
\n EMail: support@dolicloud.com
\n Web: http://www.dolicloud.com\n \n '),(4,'CustomerInstanceClosed','en_US','DoliCloud (online Dolibarr ERP & CRM) - Account Closure',' \n

Dear Customer,

\n

\n We wish to inform you your account has now been closed. We are sorry to see you got, but thank you for your custom.\n We hope you will a customer of ours in the future.
\nIf you think this is an error, please contact us at support@dolicloud.com\n


\n Sincerly,
\n The DoliCloud Team
\n -----------------------------------------
\n EMail: support@dolicloud.com
\n Web: http://www.dolicloud.com\n \n '),(5,'CustomerInstanceClosureRequested','en_US','DoliCloud (online Dolibarr ERP & CRM) - Customer Account Closure Requested Confirmation','

Dear Customer,

We are sorry to see you go, and appreciate the custom you have given us.

The closure of your account will be executed at the end of your current trialing or billing period (${customerAccount.nextBillingDate.format(\'dd MMM yyyy\')}). Once the closure is complete your instance and its related data will be destroyed and unretrievable.
If you change your mind before that date you can halt the closure process, and continue being our customer. For this, go to your Dolicloud dashboard.
Remind: Your DoliCloud dashboard login is ${person.email}


Sincerly,
The DoliCloud Team
-----------------------------------------
EMail: support@dolicloud.com
Web: http://www.dolicloud.com '),(6,'CreditCardExpiring','en_US','DoliCloud (online Dolibarr ERP & CRM) - Urgent: Your credit card is expiring',' \n

Dear Customer,

\n

\n We wish to inform you that your payment method will soon expire.
\n \n Please login to your Dolicloud dashboard to update your credit card information as soon as possible to prevent any interuptions in service.
\nRemind: Your DoliCloud dashboard login is ${person.email}
\n

\n

If you have any questions relating to the above please do not hesitate get in touch.

\n
\n\n Sincerly,
\n The DoliCloud Team
\n -----------------------------------------
\n EMail: support@dolicloud.com
\n Web: http://www.dolicloud.com\n \n '),(7,'GentleTrialExpiringReminder','en_US','DoliCloud (online Dolibarr ERP & CRM) - Your Trial will soon expire',' \n

Hello ${person.firstName},

\n

\n Just a quick reminder that trial of your online Dolibarr ERP & CRM will expire soon. If you wish to continue using this service, please login to your DoliCloud console to add a payment method (credit card or paypal accepted).\n

\n

\nFor this, click to go on your DoliCloud dashboard: https://www.on.dolicloud.com/
\nRemind: Your DoliCloud dashboard login is ${person.email}
\n

\n
\n Sincerly,
\n The DoliCloud Team
\n -----------------------------------------
\n EMail: support@dolicloud.com
\n Web: http://www.dolicloud.com\n \n '),(8,'ChannelPartnerCreated','en_US','Channel Partner Created',' \n

Hello ${person.firstName},

\n

\n We are delighted to welcome you as a Channel Partner of ${appProvider.name}.\n

\n

\n Your account has been setup for you.\n Here are the details you need to get started:\n

\n
    \n
  • Login link: ${serverURL}
  • \n
  • Username: ${person.email}
  • \n
  • Temporary Password: ${person.tmpPassword}
  • \n
\n

\n Sincerly,
\n The ${appProvider.name} Team\n

\n \n '),(9,'CustomerAccountSuspended','en_US','DoliCloud (online Dolibarr ERP & CRM) - Account Suspension','\n

Dear Customer,

\n

We wish to inform you your account has been suspended. This is likely due to a payment problem. If you wish to engage with us in addressing this send an email to support@dolicloud.com


\n Sincerly,
\n The DoliCloud Team
\n ==========================================
\n EMail: support@dolicloud.com
\n Web: http://www.dolicloud.com\n \n '),(10,'CustomerInstanceUpdated','en_US','DoliCloud (online Dolibarr ERP & CRM) - Instance upgrade','\n

Dear Customer,

\n

We wish to inform you your instance has been upgraded to last stable version. If you experience problem after this upgrade, you can contact us at support@dolicloud.com


\n Sincerly,
\n The DoliCloud Team
\n ==========================================
\n EMail: support@dolicloud.com
\n Web: http://www.dolicloud.com\n \n '); +/*!40000 ALTER TABLE `llx_dolicloud_emailstemplates` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_domain` +-- + +DROP TABLE IF EXISTS `llx_domain`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_domain` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `datec` datetime DEFAULT NULL, + `label` varchar(255) DEFAULT NULL, + `note` text, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_domain` +-- + +LOCK TABLES `llx_domain` WRITE; +/*!40000 ALTER TABLE `llx_domain` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_domain` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_don` +-- + +DROP TABLE IF EXISTS `llx_don`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_don` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `ref` varchar(30) DEFAULT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_statut` smallint(6) NOT NULL DEFAULT '0', + `datec` datetime DEFAULT NULL, + `datedon` datetime DEFAULT NULL, + `amount` double DEFAULT '0', + `fk_paiement` int(11) DEFAULT NULL, + `firstname` varchar(50) DEFAULT NULL, + `lastname` varchar(50) DEFAULT NULL, + `societe` varchar(50) DEFAULT NULL, + `address` text, + `zip` varchar(10) DEFAULT NULL, + `town` varchar(50) DEFAULT NULL, + `country` varchar(50) DEFAULT NULL, + `email` varchar(255) DEFAULT NULL, + `phone` varchar(24) DEFAULT NULL, + `phone_mobile` varchar(24) DEFAULT NULL, + `public` smallint(6) NOT NULL DEFAULT '1', + `fk_don_projet` int(11) DEFAULT NULL, + `fk_user_author` int(11) NOT NULL, + `fk_user_valid` int(11) DEFAULT NULL, + `note_private` text, + `note_public` text, + `model_pdf` varchar(255) DEFAULT NULL, + `import_key` varchar(14) DEFAULT NULL, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_don` +-- + +LOCK TABLES `llx_don` WRITE; +/*!40000 ALTER TABLE `llx_don` DISABLE KEYS */; +INSERT INTO `llx_don` VALUES (1,NULL,1,'2010-07-08 23:57:17',1,'2010-07-09 01:55:33','2010-07-09 12:00:00',10,1,'Donator','','Guest company','','','','France','',NULL,NULL,1,1,1,1,'',NULL,'html_cerfafr',NULL); +/*!40000 ALTER TABLE `llx_don` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_ecm_directories` +-- + +DROP TABLE IF EXISTS `llx_ecm_directories`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_ecm_directories` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `label` varchar(64) NOT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + `fk_parent` int(11) DEFAULT NULL, + `description` varchar(255) NOT NULL, + `cachenbofdoc` int(11) NOT NULL DEFAULT '0', + `fullpath` varchar(255) DEFAULT NULL, + `extraparams` varchar(255) DEFAULT NULL, + `date_c` datetime DEFAULT NULL, + `date_m` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_user_c` int(11) DEFAULT NULL, + `fk_user_m` int(11) DEFAULT NULL, + `acl` text, + PRIMARY KEY (`rowid`), + UNIQUE KEY `idx_ecm_directories` (`label`,`fk_parent`,`entity`), + KEY `idx_ecm_directories_fk_user_c` (`fk_user_c`), + KEY `idx_ecm_directories_fk_user_m` (`fk_user_m`), + CONSTRAINT `fk_ecm_directories_fk_user_c` FOREIGN KEY (`fk_user_c`) REFERENCES `llx_user` (`rowid`), + CONSTRAINT `fk_ecm_directories_fk_user_m` FOREIGN KEY (`fk_user_m`) REFERENCES `llx_user` (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_ecm_directories` +-- + +LOCK TABLES `llx_ecm_directories` WRITE; +/*!40000 ALTER TABLE `llx_ecm_directories` DISABLE KEYS */; +INSERT INTO `llx_ecm_directories` VALUES (1,'Répertoire_1',1,0,'',1,NULL,NULL,'2010-07-11 16:27:26','2010-07-11 14:27:44',1,NULL,NULL),(2,'dddd',1,0,'',3,NULL,NULL,'2013-02-20 19:11:05','2013-02-20 18:11:05',1,NULL,NULL),(3,'bbb',1,2,'',0,NULL,NULL,'2013-02-20 19:11:05','2013-02-20 18:11:06',1,NULL,NULL),(4,'aaa',1,2,'',1,NULL,NULL,'2013-02-20 19:11:05','2013-02-20 18:11:06',1,NULL,NULL),(5,'gggggg',1,0,'',2,NULL,NULL,'2013-02-20 19:11:05','2013-02-20 18:11:05',1,NULL,NULL),(6,'mmm',1,0,'',0,NULL,NULL,'2013-02-20 19:11:05','2013-02-20 18:11:05',1,NULL,NULL),(7,'aaa',1,0,'',1,NULL,NULL,'2013-02-20 19:11:05','2013-02-20 18:11:05',1,NULL,NULL); +/*!40000 ALTER TABLE `llx_ecm_directories` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_ecm_documents` +-- + +DROP TABLE IF EXISTS `llx_ecm_documents`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_ecm_documents` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `ref` varchar(16) NOT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + `filename` varchar(255) NOT NULL, + `filesize` int(11) NOT NULL, + `filemime` varchar(32) NOT NULL, + `fullpath_dol` varchar(255) NOT NULL, + `fullpath_orig` varchar(255) NOT NULL, + `description` text, + `manualkeyword` text, + `fk_create` int(11) NOT NULL, + `fk_update` int(11) DEFAULT NULL, + `date_c` datetime NOT NULL, + `date_u` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_directory` int(11) DEFAULT NULL, + `fk_status` smallint(6) DEFAULT '0', + `private` smallint(6) DEFAULT '0', + `crc` varchar(32) NOT NULL DEFAULT '', + `cryptkey` varchar(50) NOT NULL DEFAULT '', + `cipher` varchar(50) NOT NULL DEFAULT 'twofish', + PRIMARY KEY (`rowid`), + UNIQUE KEY `idx_ecm_documents` (`fullpath_dol`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_ecm_documents` +-- + +LOCK TABLES `llx_ecm_documents` WRITE; +/*!40000 ALTER TABLE `llx_ecm_documents` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_ecm_documents` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_element_contact` +-- + +DROP TABLE IF EXISTS `llx_element_contact`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_element_contact` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `datecreate` datetime DEFAULT NULL, + `statut` smallint(6) DEFAULT '5', + `element_id` int(11) NOT NULL, + `fk_c_type_contact` int(11) NOT NULL, + `fk_socpeople` int(11) NOT NULL, + PRIMARY KEY (`rowid`), + UNIQUE KEY `idx_element_contact_idx1` (`element_id`,`fk_c_type_contact`,`fk_socpeople`), + KEY `fk_element_contact_fk_c_type_contact` (`fk_c_type_contact`), + KEY `idx_element_contact_fk_socpeople` (`fk_socpeople`), + CONSTRAINT `fk_element_contact_fk_c_type_contact` FOREIGN KEY (`fk_c_type_contact`) REFERENCES `llx_c_type_contact` (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=18 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_element_contact` +-- + +LOCK TABLES `llx_element_contact` WRITE; +/*!40000 ALTER TABLE `llx_element_contact` DISABLE KEYS */; +INSERT INTO `llx_element_contact` VALUES (1,'2010-07-09 00:49:43',4,1,160,1),(2,'2010-07-09 00:49:56',4,2,160,1),(3,'2010-07-09 00:50:19',4,3,160,1),(4,'2010-07-09 00:50:42',4,4,160,1),(5,'2010-07-09 01:52:36',4,1,120,1),(6,'2010-07-09 01:53:25',4,1,10,2),(7,'2010-07-09 01:53:25',4,1,11,2),(8,'2010-07-10 18:13:37',4,2,10,2),(9,'2010-07-10 18:13:37',4,2,11,2),(10,'2010-07-11 15:15:55',4,1,180,1),(11,'2010-07-11 16:22:36',4,5,160,1),(12,'2010-07-11 16:23:53',4,2,180,1),(13,'2013-01-23 15:04:27',4,19,200,5),(14,'2013-01-23 16:06:37',4,19,210,2),(15,'2013-01-23 16:12:43',4,19,220,2),(16,'2013-03-06 10:04:57',4,3,10,1),(17,'2013-03-06 10:04:57',4,3,11,1); +/*!40000 ALTER TABLE `llx_element_contact` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_element_element` +-- + +DROP TABLE IF EXISTS `llx_element_element`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_element_element` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_source` int(11) NOT NULL, + `sourcetype` varchar(32) NOT NULL, + `fk_target` int(11) NOT NULL, + `targettype` varchar(32) NOT NULL, + PRIMARY KEY (`rowid`), + UNIQUE KEY `idx_element_element_idx1` (`fk_source`,`sourcetype`,`fk_target`,`targettype`), + KEY `idx_element_element_fk_target` (`fk_target`) +) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_element_element` +-- + +LOCK TABLES `llx_element_element` WRITE; +/*!40000 ALTER TABLE `llx_element_element` DISABLE KEYS */; +INSERT INTO `llx_element_element` VALUES (7,1,'shipping',154,'facture'),(8,1,'shipping',155,'facture'),(9,1,'shipping',156,'facture'),(1,2,'contrat',2,'facture'),(2,2,'propal',1,'commande'),(11,2,'shipping',157,'facture'),(3,5,'commande',1,'shipping'),(6,5,'commande',153,'facture'),(10,7,'commande',2,'shipping'),(4,9,'propal',6,'commande'),(5,11,'propal',7,'commande'),(12,12,'propal',8,'commande'),(13,12,'propal',162,'facture'); +/*!40000 ALTER TABLE `llx_element_element` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_element_lock` +-- + +DROP TABLE IF EXISTS `llx_element_lock`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_element_lock` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_element` int(11) NOT NULL, + `elementtype` varchar(32) NOT NULL, + `datel` datetime DEFAULT NULL, + `datem` datetime DEFAULT NULL, + `sessionid` varchar(255) DEFAULT NULL, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_element_lock` +-- + +LOCK TABLES `llx_element_lock` WRITE; +/*!40000 ALTER TABLE `llx_element_lock` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_element_lock` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_element_rang` +-- + +DROP TABLE IF EXISTS `llx_element_rang`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_element_rang` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_parent` int(11) NOT NULL, + `parenttype` varchar(16) NOT NULL, + `fk_child` int(11) NOT NULL, + `childtype` varchar(16) NOT NULL, + `rang` int(11) DEFAULT '0', + PRIMARY KEY (`rowid`), + UNIQUE KEY `idx_element_rang_idx1` (`fk_parent`,`parenttype`,`fk_child`,`childtype`), + KEY `idx_element_rang_fk_parent` (`fk_parent`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_element_rang` +-- + +LOCK TABLES `llx_element_rang` WRITE; +/*!40000 ALTER TABLE `llx_element_rang` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_element_rang` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_element_tag` +-- + +DROP TABLE IF EXISTS `llx_element_tag`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_element_tag` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `entity` int(11) NOT NULL DEFAULT '1', + `lang` varchar(5) NOT NULL, + `tag` varchar(255) NOT NULL, + `fk_element` int(11) NOT NULL, + `element` varchar(64) NOT NULL, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_element_tag` (`entity`,`lang`,`tag`,`fk_element`,`element`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_element_tag` +-- + +LOCK TABLES `llx_element_tag` WRITE; +/*!40000 ALTER TABLE `llx_element_tag` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_element_tag` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_entity` +-- + +DROP TABLE IF EXISTS `llx_entity`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_entity` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `label` varchar(255) NOT NULL, + `description` text, + `datec` datetime DEFAULT NULL, + `fk_user_creat` int(11) DEFAULT NULL, + `options` text, + `visible` tinyint(4) NOT NULL DEFAULT '1', + `active` tinyint(4) NOT NULL DEFAULT '1', + PRIMARY KEY (`rowid`), + KEY `idx_entity_fk_user_creat` (`fk_user_creat`), + CONSTRAINT `fk_entity_fk_user_creat` FOREIGN KEY (`fk_user_creat`) REFERENCES `llx_user` (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_entity` +-- + +LOCK TABLES `llx_entity` WRITE; +/*!40000 ALTER TABLE `llx_entity` DISABLE KEYS */; +INSERT INTO `llx_entity` VALUES (1,'2012-12-08 14:07:29','Master entity','Master entity, can not be deleted','2012-12-08 15:07:29',1,NULL,1,1),(2,'2012-12-08 14:08:27','aaa','','2012-12-08 15:08:14',1,'{\"referent\":null,\"sharings\":{\"product\":null,\"societe\":null,\"category\":null}}',1,1),(3,'2012-12-08 14:08:26','bbb','','2012-12-08 15:08:20',1,'{\"referent\":null,\"sharings\":{\"product\":null,\"societe\":null,\"category\":null}}',1,1); +/*!40000 ALTER TABLE `llx_entity` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_entrepot` +-- + +DROP TABLE IF EXISTS `llx_entrepot`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_entrepot` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `datec` datetime DEFAULT NULL, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `label` varchar(255) NOT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + `description` text, + `lieu` varchar(64) DEFAULT NULL, + `address` varchar(255) DEFAULT NULL, + `zip` varchar(10) DEFAULT NULL, + `town` varchar(50) DEFAULT NULL, + `fk_departement` int(11) DEFAULT NULL, + `fk_pays` int(11) DEFAULT '0', + `statut` tinyint(4) DEFAULT '1', + `valo_pmp` float(12,4) DEFAULT NULL, + `fk_user_author` int(11) DEFAULT NULL, + `import_key` varchar(14) DEFAULT NULL, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_entrepot_label` (`label`,`entity`) +) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_entrepot` +-- + +LOCK TABLES `llx_entrepot` WRITE; +/*!40000 ALTER TABLE `llx_entrepot` DISABLE KEYS */; +INSERT INTO `llx_entrepot` VALUES (1,'2010-07-09 00:31:22','2010-07-08 22:40:36','WAREHOUSEHOUSTON',1,'Warehouse located at Houston','Warehouse houston','','','Houston',NULL,11,1,NULL,1,NULL),(2,'2010-07-09 00:41:03','2010-07-08 22:41:03','WAREHOUSEPARIS',1,'
','Warehouse Paris','','75000','Paris',NULL,1,1,NULL,1,NULL),(3,'2010-07-11 16:18:59','2010-07-11 14:18:59','Stock personnel Dupont',1,'Cet entrepôt représente le stock personnel de Alain Dupont','','','','',NULL,0,1,NULL,1,NULL),(4,'2013-01-23 17:52:27','2013-01-23 16:52:27','Stock personnel aaa',1,'Cet entrepôt représente le stock personnel de aaa','','','','',NULL,81,1,NULL,1,NULL),(5,'2013-01-23 17:52:37','2013-01-23 16:52:37','Stock personnel bbb',1,'Cet entrepôt représente le stock personnel de bbb','','','','',NULL,81,1,NULL,1,NULL),(6,'2013-02-16 20:22:40','2013-02-16 19:22:40','Stock personnel aaab',1,'Cet entrepôt représente le stock personnel de aaab','','','','',NULL,1,1,NULL,1,NULL),(7,'2013-02-16 20:48:15','2013-02-16 19:48:15','Stock personnel zzz',1,'Cet entrepôt représente le stock personnel de zzz','','','','',NULL,1,1,NULL,1,NULL),(8,'2013-02-16 20:50:07','2013-02-16 19:50:07','Stock personnel zzzg',1,'Cet entrepôt représente le stock personnel de zzzg','','','','',NULL,1,1,NULL,1,NULL); +/*!40000 ALTER TABLE `llx_entrepot` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_event_element` +-- + +DROP TABLE IF EXISTS `llx_event_element`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_event_element` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_source` int(11) NOT NULL, + `fk_target` int(11) NOT NULL, + `targettype` varchar(32) NOT NULL, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_event_element` +-- + +LOCK TABLES `llx_event_element` WRITE; +/*!40000 ALTER TABLE `llx_event_element` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_event_element` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_events` +-- + +DROP TABLE IF EXISTS `llx_events`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_events` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `type` varchar(32) NOT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + `dateevent` datetime DEFAULT NULL, + `fk_user` int(11) DEFAULT NULL, + `description` varchar(250) NOT NULL, + `ip` varchar(32) NOT NULL, + `user_agent` varchar(255) DEFAULT NULL, + `fk_object` int(11) DEFAULT NULL, + PRIMARY KEY (`rowid`), + KEY `idx_events_dateevent` (`dateevent`) +) ENGINE=InnoDB AUTO_INCREMENT=559 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_events` +-- + +LOCK TABLES `llx_events` WRITE; +/*!40000 ALTER TABLE `llx_events` DISABLE KEYS */; +INSERT INTO `llx_events` VALUES (30,'2011-07-18 18:23:06','USER_LOGOUT',1,'2011-07-18 20:23:06',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(31,'2011-07-18 18:23:12','USER_LOGIN_FAILED',1,'2011-07-18 20:23:12',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(32,'2011-07-18 18:23:17','USER_LOGIN',1,'2011-07-18 20:23:17',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(33,'2011-07-18 20:10:51','USER_LOGIN_FAILED',1,'2011-07-18 22:10:51',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(34,'2011-07-18 20:10:55','USER_LOGIN',1,'2011-07-18 22:10:55',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(35,'2011-07-18 21:18:57','USER_LOGIN',1,'2011-07-18 23:18:57',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(36,'2011-07-20 10:34:10','USER_LOGIN',1,'2011-07-20 12:34:10',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(37,'2011-07-20 12:36:44','USER_LOGIN',1,'2011-07-20 14:36:44',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(38,'2011-07-20 13:20:51','USER_LOGIN_FAILED',1,'2011-07-20 15:20:51',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(39,'2011-07-20 13:20:54','USER_LOGIN',1,'2011-07-20 15:20:54',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(40,'2011-07-20 15:03:46','USER_LOGIN_FAILED',1,'2011-07-20 17:03:46',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(41,'2011-07-20 15:03:55','USER_LOGIN',1,'2011-07-20 17:03:55',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(42,'2011-07-20 18:05:05','USER_LOGIN_FAILED',1,'2011-07-20 20:05:05',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(43,'2011-07-20 18:05:08','USER_LOGIN',1,'2011-07-20 20:05:08',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(44,'2011-07-20 21:08:53','USER_LOGIN_FAILED',1,'2011-07-20 23:08:53',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(45,'2011-07-20 21:08:56','USER_LOGIN',1,'2011-07-20 23:08:56',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(46,'2011-07-21 01:26:12','USER_LOGIN',1,'2011-07-21 03:26:12',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(47,'2011-07-21 22:35:45','USER_LOGIN_FAILED',1,'2011-07-22 00:35:45',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(48,'2011-07-21 22:35:49','USER_LOGIN',1,'2011-07-22 00:35:49',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(49,'2011-07-26 23:09:47','USER_LOGIN_FAILED',1,'2011-07-27 01:09:47',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(50,'2011-07-26 23:09:50','USER_LOGIN',1,'2011-07-27 01:09:50',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(51,'2011-07-27 17:02:27','USER_LOGIN_FAILED',1,'2011-07-27 19:02:27',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(52,'2011-07-27 17:02:32','USER_LOGIN',1,'2011-07-27 19:02:32',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(53,'2011-07-27 23:33:37','USER_LOGIN_FAILED',1,'2011-07-28 01:33:37',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(54,'2011-07-27 23:33:41','USER_LOGIN',1,'2011-07-28 01:33:41',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(55,'2011-07-28 18:20:36','USER_LOGIN_FAILED',1,'2011-07-28 20:20:36',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(56,'2011-07-28 18:20:38','USER_LOGIN',1,'2011-07-28 20:20:38',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(57,'2011-07-28 20:13:30','USER_LOGIN_FAILED',1,'2011-07-28 22:13:30',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(58,'2011-07-28 20:13:34','USER_LOGIN',1,'2011-07-28 22:13:34',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(59,'2011-07-28 20:22:51','USER_LOGIN',1,'2011-07-28 22:22:51',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(60,'2011-07-28 23:05:06','USER_LOGIN',1,'2011-07-29 01:05:06',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(61,'2011-07-29 20:15:50','USER_LOGIN_FAILED',1,'2011-07-29 22:15:50',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(62,'2011-07-29 20:15:53','USER_LOGIN',1,'2011-07-29 22:15:53',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(68,'2011-07-29 20:51:01','USER_LOGOUT',1,'2011-07-29 22:51:01',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(69,'2011-07-29 20:51:05','USER_LOGIN',1,'2011-07-29 22:51:05',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(70,'2011-07-30 08:46:20','USER_LOGIN_FAILED',1,'2011-07-30 10:46:20',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(71,'2011-07-30 08:46:38','USER_LOGIN_FAILED',1,'2011-07-30 10:46:38',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(72,'2011-07-30 08:46:42','USER_LOGIN',1,'2011-07-30 10:46:42',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(73,'2011-07-30 10:05:12','USER_LOGIN_FAILED',1,'2011-07-30 12:05:12',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(74,'2011-07-30 10:05:15','USER_LOGIN',1,'2011-07-30 12:05:15',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(75,'2011-07-30 12:15:46','USER_LOGIN',1,'2011-07-30 14:15:46',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(76,'2011-07-31 22:19:30','USER_LOGIN',1,'2011-08-01 00:19:30',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(77,'2011-07-31 23:32:52','USER_LOGIN',1,'2011-08-01 01:32:52',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(78,'2011-08-01 01:24:50','USER_LOGIN_FAILED',1,'2011-08-01 03:24:50',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(79,'2011-08-01 01:24:54','USER_LOGIN',1,'2011-08-01 03:24:54',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(80,'2011-08-01 19:31:36','USER_LOGIN_FAILED',1,'2011-08-01 21:31:35',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(81,'2011-08-01 19:31:39','USER_LOGIN',1,'2011-08-01 21:31:39',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(82,'2011-08-01 20:01:36','USER_LOGIN',1,'2011-08-01 22:01:36',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(83,'2011-08-01 20:52:54','USER_LOGIN_FAILED',1,'2011-08-01 22:52:54',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(84,'2011-08-01 20:52:58','USER_LOGIN',1,'2011-08-01 22:52:58',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(85,'2011-08-01 21:17:28','USER_LOGIN_FAILED',1,'2011-08-01 23:17:28',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(86,'2011-08-01 21:17:31','USER_LOGIN',1,'2011-08-01 23:17:31',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(87,'2011-08-04 11:55:17','USER_LOGIN',1,'2011-08-04 13:55:17',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(88,'2011-08-04 20:19:03','USER_LOGIN_FAILED',1,'2011-08-04 22:19:03',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(89,'2011-08-04 20:19:07','USER_LOGIN',1,'2011-08-04 22:19:07',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(90,'2011-08-05 17:51:42','USER_LOGIN_FAILED',1,'2011-08-05 19:51:42',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(91,'2011-08-05 17:51:47','USER_LOGIN',1,'2011-08-05 19:51:47',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(92,'2011-08-05 17:56:03','USER_LOGIN',1,'2011-08-05 19:56:03',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(93,'2011-08-05 17:59:10','USER_LOGIN',1,'2011-08-05 19:59:10',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.100 Safari/534.30',NULL),(94,'2011-08-05 18:01:58','USER_LOGIN',1,'2011-08-05 20:01:58',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.100 Safari/534.30',NULL),(95,'2011-08-05 19:59:56','USER_LOGIN',1,'2011-08-05 21:59:56',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(96,'2011-08-06 18:33:22','USER_LOGIN',1,'2011-08-06 20:33:22',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(97,'2011-08-07 00:56:59','USER_LOGIN',1,'2011-08-07 02:56:59',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(98,'2011-08-07 22:49:14','USER_LOGIN',1,'2011-08-08 00:49:14',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(99,'2011-08-07 23:05:18','USER_LOGOUT',1,'2011-08-08 01:05:18',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(105,'2011-08-08 00:41:09','USER_LOGIN',1,'2011-08-08 02:41:09',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(106,'2011-08-08 11:58:55','USER_LOGIN',1,'2011-08-08 13:58:55',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(107,'2011-08-08 14:35:48','USER_LOGIN',1,'2011-08-08 16:35:48',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(108,'2011-08-08 14:36:31','USER_LOGOUT',1,'2011-08-08 16:36:31',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(109,'2011-08-08 14:38:28','USER_LOGIN',1,'2011-08-08 16:38:28',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(110,'2011-08-08 14:39:02','USER_LOGOUT',1,'2011-08-08 16:39:02',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(111,'2011-08-08 14:39:10','USER_LOGIN',1,'2011-08-08 16:39:10',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(112,'2011-08-08 14:39:28','USER_LOGOUT',1,'2011-08-08 16:39:28',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(113,'2011-08-08 14:39:37','USER_LOGIN',1,'2011-08-08 16:39:37',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(114,'2011-08-08 14:50:02','USER_LOGOUT',1,'2011-08-08 16:50:02',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(115,'2011-08-08 14:51:45','USER_LOGIN_FAILED',1,'2011-08-08 16:51:45',NULL,'Identifiants login ou mot de passe incorrects - login=','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(116,'2011-08-08 14:51:52','USER_LOGIN',1,'2011-08-08 16:51:52',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(117,'2011-08-08 15:09:54','USER_LOGOUT',1,'2011-08-08 17:09:54',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(118,'2011-08-08 15:10:19','USER_LOGIN_FAILED',1,'2011-08-08 17:10:19',NULL,'Identifiants login ou mot de passe incorrects - login=','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(119,'2011-08-08 15:10:28','USER_LOGIN',1,'2011-08-08 17:10:28',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(121,'2011-08-08 15:14:58','USER_LOGOUT',1,'2011-08-08 17:14:58',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(122,'2011-08-08 15:15:00','USER_LOGIN_FAILED',1,'2011-08-08 17:15:00',NULL,'Identifiants login ou mot de passe incorrects - login=','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(123,'2011-08-08 15:17:57','USER_LOGIN',1,'2011-08-08 17:17:57',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(124,'2011-08-08 15:35:56','USER_LOGOUT',1,'2011-08-08 17:35:56',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(125,'2011-08-08 15:36:05','USER_LOGIN',1,'2011-08-08 17:36:05',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(126,'2011-08-08 17:32:42','USER_LOGIN',1,'2011-08-08 19:32:42',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(127,'2012-12-08 13:49:37','USER_LOGOUT',1,'2012-12-08 14:49:37',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(128,'2012-12-08 13:49:42','USER_LOGIN',1,'2012-12-08 14:49:42',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(129,'2012-12-08 13:50:12','USER_LOGOUT',1,'2012-12-08 14:50:12',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(130,'2012-12-08 13:50:14','USER_LOGIN',1,'2012-12-08 14:50:14',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(131,'2012-12-08 13:50:17','USER_LOGOUT',1,'2012-12-08 14:50:17',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(132,'2012-12-08 13:52:47','USER_LOGIN',1,'2012-12-08 14:52:47',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(133,'2012-12-08 13:53:08','USER_MODIFY',1,'2012-12-08 14:53:08',1,'User admin modified','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(134,'2012-12-08 14:08:45','USER_LOGOUT',1,'2012-12-08 15:08:45',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(135,'2012-12-08 14:09:09','USER_LOGIN',1,'2012-12-08 15:09:09',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(136,'2012-12-08 14:11:43','USER_LOGOUT',1,'2012-12-08 15:11:43',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(137,'2012-12-08 14:11:45','USER_LOGIN',1,'2012-12-08 15:11:45',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(138,'2012-12-08 14:22:53','USER_LOGOUT',1,'2012-12-08 15:22:53',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(139,'2012-12-08 14:22:54','USER_LOGIN',1,'2012-12-08 15:22:54',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(140,'2012-12-08 14:23:10','USER_LOGOUT',1,'2012-12-08 15:23:10',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(141,'2012-12-08 14:23:11','USER_LOGIN',1,'2012-12-08 15:23:11',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(142,'2012-12-08 14:23:49','USER_LOGOUT',1,'2012-12-08 15:23:49',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(143,'2012-12-08 14:23:50','USER_LOGIN',1,'2012-12-08 15:23:50',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(144,'2012-12-08 14:28:08','USER_LOGOUT',1,'2012-12-08 15:28:08',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(145,'2012-12-08 14:35:15','USER_LOGIN',1,'2012-12-08 15:35:15',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(146,'2012-12-08 14:35:18','USER_LOGOUT',1,'2012-12-08 15:35:18',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(147,'2012-12-08 14:36:07','USER_LOGIN',1,'2012-12-08 15:36:07',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(148,'2012-12-08 14:36:09','USER_LOGOUT',1,'2012-12-08 15:36:09',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(149,'2012-12-08 14:36:41','USER_LOGIN',1,'2012-12-08 15:36:41',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(150,'2012-12-08 15:59:13','USER_LOGIN',1,'2012-12-08 16:59:13',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(151,'2012-12-09 11:49:52','USER_LOGIN',1,'2012-12-09 12:49:52',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(152,'2012-12-09 13:46:31','USER_LOGIN',1,'2012-12-09 14:46:31',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(153,'2012-12-09 19:03:14','USER_LOGIN',1,'2012-12-09 20:03:14',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(154,'2012-12-10 00:16:31','USER_LOGIN',1,'2012-12-10 01:16:31',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(170,'2012-12-11 22:03:31','USER_LOGIN',1,'2012-12-11 23:03:31',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(171,'2012-12-12 00:32:39','USER_LOGIN',1,'2012-12-12 01:32:39',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(172,'2012-12-12 10:49:59','USER_LOGIN',1,'2012-12-12 11:49:59',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(175,'2012-12-12 10:57:40','USER_MODIFY',1,'2012-12-12 11:57:40',1,'Modification utilisateur admin','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(176,'2012-12-12 13:29:15','USER_LOGIN',1,'2012-12-12 14:29:15',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(177,'2012-12-12 13:30:15','USER_LOGIN',1,'2012-12-12 14:30:15',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(178,'2012-12-12 13:40:08','USER_LOGOUT',1,'2012-12-12 14:40:08',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(179,'2012-12-12 13:40:10','USER_LOGIN',1,'2012-12-12 14:40:10',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(180,'2012-12-12 13:40:26','USER_MODIFY',1,'2012-12-12 14:40:26',1,'Modification utilisateur admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(181,'2012-12-12 13:40:34','USER_LOGOUT',1,'2012-12-12 14:40:34',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(182,'2012-12-12 13:42:23','USER_LOGIN',1,'2012-12-12 14:42:23',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(183,'2012-12-12 13:43:02','USER_NEW_PASSWORD',1,'2012-12-12 14:43:02',NULL,'Changement mot de passe de admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(184,'2012-12-12 13:43:25','USER_LOGOUT',1,'2012-12-12 14:43:25',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(185,'2012-12-12 13:43:27','USER_LOGIN_FAILED',1,'2012-12-12 14:43:27',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(186,'2012-12-12 13:43:30','USER_LOGIN',1,'2012-12-12 14:43:30',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(187,'2012-12-12 14:52:11','USER_LOGIN',1,'2012-12-12 15:52:11',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(188,'2012-12-12 17:53:00','USER_LOGIN_FAILED',1,'2012-12-12 18:53:00',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(189,'2012-12-12 17:53:07','USER_LOGIN_FAILED',1,'2012-12-12 18:53:07',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(190,'2012-12-12 17:53:51','USER_NEW_PASSWORD',1,'2012-12-12 18:53:51',NULL,'Changement mot de passe de admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(191,'2012-12-12 17:54:00','USER_LOGIN',1,'2012-12-12 18:54:00',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(192,'2012-12-12 17:54:10','USER_NEW_PASSWORD',1,'2012-12-12 18:54:10',1,'Changement mot de passe de admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(193,'2012-12-12 17:54:10','USER_MODIFY',1,'2012-12-12 18:54:10',1,'Modification utilisateur admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(194,'2012-12-12 18:57:09','USER_LOGIN',1,'2012-12-12 19:57:09',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(195,'2012-12-12 23:04:08','USER_LOGIN',1,'2012-12-13 00:04:08',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(196,'2012-12-17 20:03:14','USER_LOGIN',1,'2012-12-17 21:03:14',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(197,'2012-12-17 21:18:45','USER_LOGIN',1,'2012-12-17 22:18:45',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(198,'2012-12-17 22:30:08','USER_LOGIN',1,'2012-12-17 23:30:08',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(199,'2012-12-18 23:32:03','USER_LOGIN',1,'2012-12-19 00:32:03',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(200,'2012-12-19 09:38:03','USER_LOGIN',1,'2012-12-19 10:38:03',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(201,'2012-12-19 11:23:35','USER_LOGIN',1,'2012-12-19 12:23:35',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(202,'2012-12-19 12:46:22','USER_LOGIN',1,'2012-12-19 13:46:22',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(214,'2012-12-19 19:11:31','USER_LOGIN',1,'2012-12-19 20:11:31',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(215,'2012-12-21 16:36:57','USER_LOGIN',1,'2012-12-21 17:36:57',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(216,'2012-12-21 16:38:43','USER_NEW_PASSWORD',1,'2012-12-21 17:38:43',1,'Changement mot de passe de adupont','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(217,'2012-12-21 16:38:43','USER_MODIFY',1,'2012-12-21 17:38:43',1,'Modification utilisateur adupont','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(218,'2012-12-21 16:38:51','USER_LOGOUT',1,'2012-12-21 17:38:51',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(219,'2012-12-21 16:38:55','USER_LOGIN',1,'2012-12-21 17:38:55',3,'(UserLogged,adupont)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(220,'2012-12-21 16:48:18','USER_LOGOUT',1,'2012-12-21 17:48:18',3,'(UserLogoff,adupont)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(221,'2012-12-21 16:48:20','USER_LOGIN',1,'2012-12-21 17:48:20',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(222,'2012-12-26 18:28:18','USER_LOGIN',1,'2012-12-26 19:28:18',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(223,'2012-12-26 20:00:24','USER_LOGIN',1,'2012-12-26 21:00:24',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(224,'2012-12-27 01:10:27','USER_LOGIN',1,'2012-12-27 02:10:27',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(225,'2012-12-28 19:12:08','USER_LOGIN',1,'2012-12-28 20:12:08',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(226,'2012-12-28 20:16:58','USER_LOGIN',1,'2012-12-28 21:16:58',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(227,'2012-12-29 14:35:46','USER_LOGIN',1,'2012-12-29 15:35:46',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(228,'2012-12-29 14:37:59','USER_LOGOUT',1,'2012-12-29 15:37:59',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(229,'2012-12-29 14:38:00','USER_LOGIN',1,'2012-12-29 15:38:00',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(230,'2012-12-29 17:16:48','USER_LOGIN',1,'2012-12-29 18:16:48',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(231,'2012-12-31 12:02:59','USER_LOGIN',1,'2012-12-31 13:02:59',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(232,'2013-01-02 20:32:51','USER_LOGIN',1,'2013-01-02 21:32:51',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:17.0) Gecko/20100101 Firefox/17.0',NULL),(233,'2013-01-02 20:58:59','USER_LOGIN',1,'2013-01-02 21:58:59',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(234,'2013-01-03 09:25:07','USER_LOGIN',1,'2013-01-03 10:25:07',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(235,'2013-01-03 19:39:31','USER_LOGIN',1,'2013-01-03 20:39:31',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(236,'2013-01-04 22:40:19','USER_LOGIN',1,'2013-01-04 23:40:19',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(237,'2013-01-05 12:59:59','USER_LOGIN',1,'2013-01-05 13:59:59',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(238,'2013-01-05 15:28:52','USER_LOGIN',1,'2013-01-05 16:28:52',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(239,'2013-01-05 17:02:08','USER_LOGIN',1,'2013-01-05 18:02:08',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(240,'2013-01-06 12:13:33','USER_LOGIN',1,'2013-01-06 13:13:33',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(241,'2013-01-07 01:21:15','USER_LOGIN',1,'2013-01-07 02:21:15',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(242,'2013-01-07 01:46:31','USER_LOGOUT',1,'2013-01-07 02:46:31',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(243,'2013-01-07 19:54:50','USER_LOGIN',1,'2013-01-07 20:54:50',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(244,'2013-01-08 21:55:01','USER_LOGIN',1,'2013-01-08 22:55:01',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(245,'2013-01-09 11:13:28','USER_LOGIN',1,'2013-01-09 12:13:28',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(246,'2013-01-10 18:30:46','USER_LOGIN',1,'2013-01-10 19:30:46',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(247,'2013-01-11 18:03:26','USER_LOGIN',1,'2013-01-11 19:03:26',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(248,'2013-01-12 11:15:04','USER_LOGIN',1,'2013-01-12 12:15:04',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(249,'2013-01-12 14:42:44','USER_LOGIN',1,'2013-01-12 15:42:44',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(250,'2013-01-13 12:07:17','USER_LOGIN',1,'2013-01-13 13:07:17',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(251,'2013-01-13 17:37:58','USER_LOGIN',1,'2013-01-13 18:37:58',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(252,'2013-01-13 19:24:21','USER_LOGIN',1,'2013-01-13 20:24:21',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(253,'2013-01-13 19:29:19','USER_LOGOUT',1,'2013-01-13 20:29:19',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(254,'2013-01-13 21:39:39','USER_LOGIN',1,'2013-01-13 22:39:39',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(255,'2013-01-14 00:52:21','USER_LOGIN',1,'2013-01-14 01:52:21',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(256,'2013-01-16 11:34:31','USER_LOGIN',1,'2013-01-16 12:34:31',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(257,'2013-01-16 15:36:21','USER_LOGIN',1,'2013-01-16 16:36:21',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(258,'2013-01-16 19:17:36','USER_LOGIN',1,'2013-01-16 20:17:36',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(259,'2013-01-16 19:48:08','GROUP_CREATE',1,'2013-01-16 20:48:08',1,'Création groupe ggg','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(260,'2013-01-16 21:48:53','USER_LOGIN',1,'2013-01-16 22:48:53',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(261,'2013-01-17 19:55:53','USER_LOGIN',1,'2013-01-17 20:55:53',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(262,'2013-01-18 09:48:01','USER_LOGIN',1,'2013-01-18 10:48:01',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(263,'2013-01-18 13:22:36','USER_LOGIN',1,'2013-01-18 14:22:36',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(264,'2013-01-18 16:10:23','USER_LOGIN',1,'2013-01-18 17:10:22',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(265,'2013-01-18 17:41:40','USER_LOGIN',1,'2013-01-18 18:41:40',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(266,'2013-01-19 14:33:48','USER_LOGIN',1,'2013-01-19 15:33:48',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(267,'2013-01-19 16:47:43','USER_LOGIN',1,'2013-01-19 17:47:43',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(268,'2013-01-19 16:59:43','USER_LOGIN',1,'2013-01-19 17:59:43',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(269,'2013-01-19 17:00:22','USER_LOGIN',1,'2013-01-19 18:00:22',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(270,'2013-01-19 17:04:16','USER_LOGOUT',1,'2013-01-19 18:04:16',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(271,'2013-01-19 17:04:18','USER_LOGIN',1,'2013-01-19 18:04:18',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(272,'2013-01-20 00:34:19','USER_LOGIN',1,'2013-01-20 01:34:19',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(273,'2013-01-21 11:54:17','USER_LOGIN',1,'2013-01-21 12:54:17',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(274,'2013-01-21 13:48:15','USER_LOGIN',1,'2013-01-21 14:48:15',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(275,'2013-01-21 14:30:22','USER_LOGIN',1,'2013-01-21 15:30:22',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(276,'2013-01-21 15:10:46','USER_LOGIN',1,'2013-01-21 16:10:46',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(277,'2013-01-21 17:27:43','USER_LOGIN',1,'2013-01-21 18:27:43',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(278,'2013-01-21 21:48:15','USER_LOGIN',1,'2013-01-21 22:48:15',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(279,'2013-01-21 21:50:42','USER_LOGIN',1,'2013-01-21 22:50:42',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(280,'2013-01-23 09:28:26','USER_LOGIN',1,'2013-01-23 10:28:26',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(281,'2013-01-23 13:21:57','USER_LOGIN',1,'2013-01-23 14:21:57',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(282,'2013-01-23 16:52:00','USER_LOGOUT',1,'2013-01-23 17:52:00',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(283,'2013-01-23 16:52:05','USER_LOGIN_FAILED',1,'2013-01-23 17:52:05',NULL,'Bad value for login or password - login=bbb','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(284,'2013-01-23 16:52:09','USER_LOGIN',1,'2013-01-23 17:52:09',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(285,'2013-01-23 16:52:27','USER_CREATE',1,'2013-01-23 17:52:27',1,'Création utilisateur aaa','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(286,'2013-01-23 16:52:27','USER_NEW_PASSWORD',1,'2013-01-23 17:52:27',1,'Changement mot de passe de aaa','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(287,'2013-01-23 16:52:37','USER_CREATE',1,'2013-01-23 17:52:37',1,'Création utilisateur bbb','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(288,'2013-01-23 16:52:37','USER_NEW_PASSWORD',1,'2013-01-23 17:52:37',1,'Changement mot de passe de bbb','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(289,'2013-01-23 16:53:15','USER_LOGOUT',1,'2013-01-23 17:53:15',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(290,'2013-01-23 16:53:20','USER_LOGIN',1,'2013-01-23 17:53:20',4,'(UserLogged,aaa)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(291,'2013-01-23 19:16:58','USER_LOGIN',1,'2013-01-23 20:16:58',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(292,'2013-01-26 10:54:07','USER_LOGIN',1,'2013-01-26 11:54:07',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(293,'2013-01-29 10:15:36','USER_LOGIN',1,'2013-01-29 11:15:36',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(294,'2013-01-30 17:42:50','USER_LOGIN',1,'2013-01-30 18:42:50',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(295,'2013-02-01 08:49:55','USER_LOGIN',1,'2013-02-01 09:49:55',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(296,'2013-02-01 08:51:57','USER_LOGOUT',1,'2013-02-01 09:51:57',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(297,'2013-02-01 08:52:39','USER_LOGIN',1,'2013-02-01 09:52:39',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(298,'2013-02-01 21:03:01','USER_LOGIN',1,'2013-02-01 22:03:01',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(299,'2013-02-10 19:48:39','USER_LOGIN',1,'2013-02-10 20:48:39',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(300,'2013-02-10 20:46:48','USER_LOGIN',1,'2013-02-10 21:46:48',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(301,'2013-02-10 21:39:23','USER_LOGIN',1,'2013-02-10 22:39:23',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(302,'2013-02-11 19:00:13','USER_LOGIN',1,'2013-02-11 20:00:13',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(303,'2013-02-11 19:43:44','USER_LOGIN_FAILED',1,'2013-02-11 20:43:44',NULL,'Unknown column \'u.fk_user\' in \'field list\'','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(304,'2013-02-11 19:44:01','USER_LOGIN',1,'2013-02-11 20:44:01',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(305,'2013-02-12 00:27:35','USER_LOGIN',1,'2013-02-12 01:27:35',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(306,'2013-02-12 00:27:38','USER_LOGOUT',1,'2013-02-12 01:27:38',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(307,'2013-02-12 00:28:07','USER_LOGIN',1,'2013-02-12 01:28:07',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(308,'2013-02-12 00:28:09','USER_LOGOUT',1,'2013-02-12 01:28:09',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(309,'2013-02-12 00:28:26','USER_LOGIN',1,'2013-02-12 01:28:26',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(310,'2013-02-12 00:28:30','USER_LOGOUT',1,'2013-02-12 01:28:30',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(311,'2013-02-12 12:42:15','USER_LOGIN',1,'2013-02-12 13:42:15',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(312,'2013-02-12 13:46:16','USER_LOGIN',1,'2013-02-12 14:46:16',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(313,'2013-02-12 14:54:28','USER_LOGIN',1,'2013-02-12 15:54:28',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(314,'2013-02-12 16:04:46','USER_LOGIN',1,'2013-02-12 17:04:46',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(315,'2013-02-13 14:02:43','USER_LOGIN',1,'2013-02-13 15:02:43',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(316,'2013-02-13 14:48:30','USER_LOGIN',1,'2013-02-13 15:48:30',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(317,'2013-02-13 17:44:53','USER_LOGIN',1,'2013-02-13 18:44:53',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(318,'2013-02-15 08:44:36','USER_LOGIN',1,'2013-02-15 09:44:36',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(319,'2013-02-15 08:53:20','USER_LOGIN',1,'2013-02-15 09:53:20',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(320,'2013-02-16 19:10:28','USER_LOGIN',1,'2013-02-16 20:10:28',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(321,'2013-02-16 19:22:40','USER_CREATE',1,'2013-02-16 20:22:40',1,'Création utilisateur aaab','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(322,'2013-02-16 19:22:40','USER_NEW_PASSWORD',1,'2013-02-16 20:22:40',1,'Changement mot de passe de aaab','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(323,'2013-02-16 19:48:15','USER_CREATE',1,'2013-02-16 20:48:15',1,'Création utilisateur zzz','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(324,'2013-02-16 19:48:15','USER_NEW_PASSWORD',1,'2013-02-16 20:48:15',1,'Changement mot de passe de zzz','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(325,'2013-02-16 19:50:08','USER_CREATE',1,'2013-02-16 20:50:08',1,'Création utilisateur zzzg','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(326,'2013-02-16 19:50:08','USER_NEW_PASSWORD',1,'2013-02-16 20:50:08',1,'Changement mot de passe de zzzg','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(327,'2013-02-16 21:20:03','USER_LOGIN',1,'2013-02-16 22:20:03',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(328,'2013-02-17 14:30:51','USER_LOGIN',1,'2013-02-17 15:30:51',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(329,'2013-02-17 17:21:22','USER_LOGIN',1,'2013-02-17 18:21:22',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(330,'2013-02-17 17:48:43','USER_MODIFY',1,'2013-02-17 18:48:43',1,'Modification utilisateur aaa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(331,'2013-02-17 17:48:47','USER_MODIFY',1,'2013-02-17 18:48:47',1,'Modification utilisateur aaa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(332,'2013-02-17 17:48:51','USER_MODIFY',1,'2013-02-17 18:48:51',1,'Modification utilisateur aaa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(333,'2013-02-17 17:48:56','USER_MODIFY',1,'2013-02-17 18:48:56',1,'Modification utilisateur aaa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(334,'2013-02-18 22:00:01','USER_LOGIN',1,'2013-02-18 23:00:01',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(335,'2013-02-19 08:19:52','USER_LOGIN',1,'2013-02-19 09:19:52',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(336,'2013-02-19 22:00:52','USER_LOGIN',1,'2013-02-19 23:00:52',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(337,'2013-02-20 09:34:52','USER_LOGIN',1,'2013-02-20 10:34:52',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(338,'2013-02-20 13:12:28','USER_LOGIN',1,'2013-02-20 14:12:28',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(339,'2013-02-20 17:19:44','USER_LOGIN',1,'2013-02-20 18:19:44',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(340,'2013-02-20 19:07:21','USER_MODIFY',1,'2013-02-20 20:07:21',1,'Modification utilisateur adupont','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(341,'2013-02-20 19:47:17','USER_LOGIN',1,'2013-02-20 20:47:17',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(342,'2013-02-20 19:48:01','USER_MODIFY',1,'2013-02-20 20:48:01',1,'Modification utilisateur aaa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(343,'2013-02-21 08:27:07','USER_LOGIN',1,'2013-02-21 09:27:07',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(344,'2013-02-23 13:34:13','USER_LOGIN',1,'2013-02-23 14:34:13',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(345,'2013-02-24 01:06:41','USER_LOGIN_FAILED',1,'2013-02-24 02:06:41',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(346,'2013-02-24 01:06:45','USER_LOGIN_FAILED',1,'2013-02-24 02:06:45',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(347,'2013-02-24 01:06:55','USER_LOGIN_FAILED',1,'2013-02-24 02:06:55',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(348,'2013-02-24 01:07:03','USER_LOGIN_FAILED',1,'2013-02-24 02:07:03',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(349,'2013-02-24 01:07:21','USER_LOGIN_FAILED',1,'2013-02-24 02:07:21',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(350,'2013-02-24 01:08:12','USER_LOGIN_FAILED',1,'2013-02-24 02:08:12',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(351,'2013-02-24 01:08:42','USER_LOGIN_FAILED',1,'2013-02-24 02:08:42',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(352,'2013-02-24 01:08:50','USER_LOGIN_FAILED',1,'2013-02-24 02:08:50',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(353,'2013-02-24 01:09:08','USER_LOGIN_FAILED',1,'2013-02-24 02:09:08',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(354,'2013-02-24 01:09:42','USER_LOGIN_FAILED',1,'2013-02-24 02:09:42',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(355,'2013-02-24 01:09:50','USER_LOGIN_FAILED',1,'2013-02-24 02:09:50',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(356,'2013-02-24 01:10:05','USER_LOGIN_FAILED',1,'2013-02-24 02:10:05',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(357,'2013-02-24 01:10:22','USER_LOGIN_FAILED',1,'2013-02-24 02:10:22',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(358,'2013-02-24 01:10:30','USER_LOGIN_FAILED',1,'2013-02-24 02:10:30',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(359,'2013-02-24 01:10:56','USER_LOGIN_FAILED',1,'2013-02-24 02:10:56',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(360,'2013-02-24 01:11:26','USER_LOGIN_FAILED',1,'2013-02-24 02:11:26',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(361,'2013-02-24 01:12:06','USER_LOGIN_FAILED',1,'2013-02-24 02:12:06',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(362,'2013-02-24 01:21:14','USER_LOGIN_FAILED',1,'2013-02-24 02:21:14',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(363,'2013-02-24 01:21:25','USER_LOGIN_FAILED',1,'2013-02-24 02:21:25',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(364,'2013-02-24 01:21:54','USER_LOGIN_FAILED',1,'2013-02-24 02:21:54',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(365,'2013-02-24 01:22:14','USER_LOGIN_FAILED',1,'2013-02-24 02:22:14',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(366,'2013-02-24 01:22:37','USER_LOGIN_FAILED',1,'2013-02-24 02:22:37',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(367,'2013-02-24 01:23:01','USER_LOGIN_FAILED',1,'2013-02-24 02:23:01',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(368,'2013-02-24 01:23:39','USER_LOGIN_FAILED',1,'2013-02-24 02:23:39',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(369,'2013-02-24 01:24:04','USER_LOGIN_FAILED',1,'2013-02-24 02:24:04',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(370,'2013-02-24 01:24:39','USER_LOGIN_FAILED',1,'2013-02-24 02:24:39',NULL,'Bad value for login or password - login=aa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(371,'2013-02-24 01:25:01','USER_LOGIN_FAILED',1,'2013-02-24 02:25:01',NULL,'Bad value for login or password - login=aa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(372,'2013-02-24 01:25:12','USER_LOGIN_FAILED',1,'2013-02-24 02:25:12',NULL,'Bad value for login or password - login=aa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(373,'2013-02-24 01:27:30','USER_LOGIN_FAILED',1,'2013-02-24 02:27:30',NULL,'Bad value for login or password - login=aa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(374,'2013-02-24 01:28:00','USER_LOGIN_FAILED',1,'2013-02-24 02:28:00',NULL,'Bad value for login or password - login=aa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(375,'2013-02-24 01:28:35','USER_LOGIN_FAILED',1,'2013-02-24 02:28:35',NULL,'Bad value for login or password - login=aa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(376,'2013-02-24 01:29:03','USER_LOGIN_FAILED',1,'2013-02-24 02:29:03',NULL,'Bad value for login or password - login=aa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(377,'2013-02-24 01:29:55','USER_LOGIN_FAILED',1,'2013-02-24 02:29:55',NULL,'Bad value for login or password - login=aa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(378,'2013-02-24 01:32:40','USER_LOGIN_FAILED',1,'2013-02-24 02:32:40',NULL,'Bad value for login or password - login=aa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(379,'2013-02-24 01:39:33','USER_LOGIN_FAILED',1,'2013-02-24 02:39:33',NULL,'Identifiants login ou mot de passe incorrects - login=aa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(380,'2013-02-24 01:39:38','USER_LOGIN_FAILED',1,'2013-02-24 02:39:38',NULL,'Identifiants login ou mot de passe incorrects - login=aa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(381,'2013-02-24 01:39:47','USER_LOGIN_FAILED',1,'2013-02-24 02:39:47',NULL,'Identifiants login ou mot de passe incorrects - login=lmkm','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(382,'2013-02-24 01:40:54','USER_LOGIN_FAILED',1,'2013-02-24 02:40:54',NULL,'Identifiants login ou mot de passe incorrects - login=lmkm','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(383,'2013-02-24 01:47:57','USER_LOGIN_FAILED',1,'2013-02-24 02:47:57',NULL,'Identifiants login ou mot de passe incorrects - login=lmkm','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(384,'2013-02-24 01:48:05','USER_LOGIN_FAILED',1,'2013-02-24 02:48:05',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(385,'2013-02-24 01:48:07','USER_LOGIN_FAILED',1,'2013-02-24 02:48:07',NULL,'Unknown column \'u.lastname\' in \'field list\'','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(386,'2013-02-24 01:48:35','USER_LOGIN',1,'2013-02-24 02:48:35',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(387,'2013-02-24 01:56:32','USER_LOGIN',1,'2013-02-24 02:56:32',1,'(UserLogged,admin)','192.168.0.254','Mozilla/5.0 (Linux; U; Android 2.2; en-us; sdk Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1',NULL),(388,'2013-02-24 02:05:55','USER_LOGOUT',1,'2013-02-24 03:05:55',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(389,'2013-02-24 02:39:52','USER_LOGIN',1,'2013-02-24 03:39:52',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(390,'2013-02-24 02:51:10','USER_LOGOUT',1,'2013-02-24 03:51:10',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(391,'2013-02-24 12:46:41','USER_LOGIN',1,'2013-02-24 13:46:41',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(392,'2013-02-24 12:46:52','USER_LOGOUT',1,'2013-02-24 13:46:52',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(393,'2013-02-24 12:46:56','USER_LOGIN',1,'2013-02-24 13:46:56',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(394,'2013-02-24 12:47:56','USER_LOGOUT',1,'2013-02-24 13:47:56',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(395,'2013-02-24 12:48:00','USER_LOGIN',1,'2013-02-24 13:48:00',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(396,'2013-02-24 12:48:11','USER_LOGOUT',1,'2013-02-24 13:48:11',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(397,'2013-02-24 12:48:32','USER_LOGIN',1,'2013-02-24 13:48:32',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(398,'2013-02-24 12:52:22','USER_LOGOUT',1,'2013-02-24 13:52:22',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(399,'2013-02-24 12:52:27','USER_LOGIN',1,'2013-02-24 13:52:27',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(400,'2013-02-24 12:52:54','USER_LOGOUT',1,'2013-02-24 13:52:54',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(401,'2013-02-24 12:52:59','USER_LOGIN',1,'2013-02-24 13:52:59',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(402,'2013-02-24 12:55:39','USER_LOGOUT',1,'2013-02-24 13:55:39',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(403,'2013-02-24 12:55:59','USER_LOGIN',1,'2013-02-24 13:55:59',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(404,'2013-02-24 12:56:07','USER_LOGOUT',1,'2013-02-24 13:56:07',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(405,'2013-02-24 12:56:23','USER_LOGIN',1,'2013-02-24 13:56:23',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(406,'2013-02-24 12:56:46','USER_LOGOUT',1,'2013-02-24 13:56:46',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(407,'2013-02-24 12:58:30','USER_LOGIN',1,'2013-02-24 13:58:30',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(408,'2013-02-24 12:58:33','USER_LOGOUT',1,'2013-02-24 13:58:33',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(409,'2013-02-24 12:58:51','USER_LOGIN',1,'2013-02-24 13:58:51',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(410,'2013-02-24 12:58:58','USER_LOGOUT',1,'2013-02-24 13:58:58',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(411,'2013-02-24 13:18:53','USER_LOGIN',1,'2013-02-24 14:18:53',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(412,'2013-02-24 13:19:52','USER_LOGOUT',1,'2013-02-24 14:19:52',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(413,'2013-02-24 15:39:31','USER_LOGIN_FAILED',1,'2013-02-24 16:39:31',NULL,'ErrorBadValueForCode - login=admin','127.0.0.1',NULL,NULL),(414,'2013-02-24 15:42:07','USER_LOGIN',1,'2013-02-24 16:42:07',1,'(UserLogged,admin)','127.0.0.1',NULL,NULL),(415,'2013-02-24 15:42:52','USER_LOGOUT',1,'2013-02-24 16:42:52',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7',NULL),(416,'2013-02-24 16:04:21','USER_LOGIN',1,'2013-02-24 17:04:21',1,'(UserLogged,admin)','192.168.0.254','Mozilla/5.0 (Linux; U; Android 2.2; en-us; sdk Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1',NULL),(417,'2013-02-24 16:11:28','USER_LOGIN_FAILED',1,'2013-02-24 17:11:28',NULL,'ErrorBadValueForCode - login=admin','127.0.0.1','Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7',NULL),(418,'2013-02-24 16:11:37','USER_LOGIN',1,'2013-02-24 17:11:37',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7',NULL),(419,'2013-02-24 16:36:52','USER_LOGOUT',1,'2013-02-24 17:36:52',1,'(UserLogoff,admin)','192.168.0.254','Mozilla/5.0 (Linux; U; Android 2.2; en-us; sdk Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1',NULL),(420,'2013-02-24 16:40:37','USER_LOGIN',1,'2013-02-24 17:40:37',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(421,'2013-02-24 16:57:16','USER_LOGIN',1,'2013-02-24 17:57:16',1,'(UserLogged,admin)','192.168.0.254','Mozilla/5.0 (Linux; U; Android 2.2; en-us; sdk Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1 - 2131034114',NULL),(422,'2013-02-24 17:01:30','USER_LOGOUT',1,'2013-02-24 18:01:30',1,'(UserLogoff,admin)','192.168.0.254','Mozilla/5.0 (Linux; U; Android 2.2; en-us; sdk Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1 - 2131034114',NULL),(423,'2013-02-24 17:02:33','USER_LOGIN',1,'2013-02-24 18:02:33',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(424,'2013-02-24 17:14:22','USER_LOGOUT',1,'2013-02-24 18:14:22',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(425,'2013-02-24 17:15:07','USER_LOGIN_FAILED',1,'2013-02-24 18:15:07',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(426,'2013-02-24 17:15:20','USER_LOGIN',1,'2013-02-24 18:15:20',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(427,'2013-02-24 17:20:14','USER_LOGIN',1,'2013-02-24 18:20:14',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(428,'2013-02-24 17:20:51','USER_LOGIN',1,'2013-02-24 18:20:51',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(429,'2013-02-24 17:20:54','USER_LOGOUT',1,'2013-02-24 18:20:54',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(430,'2013-02-24 17:21:19','USER_LOGIN',1,'2013-02-24 18:21:19',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(431,'2013-02-24 17:32:35','USER_LOGIN',1,'2013-02-24 18:32:35',1,'(UserLogged,admin)','192.168.0.254','Mozilla/5.0 (Linux; U; Android 2.2; en-us; sdk Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1 - 2131034114',NULL),(432,'2013-02-24 18:28:48','USER_LOGIN',1,'2013-02-24 19:28:48',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(433,'2013-02-24 18:29:27','USER_LOGOUT',1,'2013-02-24 19:29:27',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7',NULL),(434,'2013-02-24 18:29:32','USER_LOGIN',1,'2013-02-24 19:29:32',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7',NULL),(435,'2013-02-24 20:13:13','USER_LOGOUT',1,'2013-02-24 21:13:13',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(436,'2013-02-24 20:13:17','USER_LOGIN',1,'2013-02-24 21:13:17',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(437,'2013-02-25 08:57:16','USER_LOGIN',1,'2013-02-25 09:57:16',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(438,'2013-02-25 08:57:59','USER_LOGOUT',1,'2013-02-25 09:57:59',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(439,'2013-02-25 09:15:02','USER_LOGIN',1,'2013-02-25 10:15:02',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(440,'2013-02-25 09:15:50','USER_LOGOUT',1,'2013-02-25 10:15:50',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(441,'2013-02-25 09:15:57','USER_LOGIN',1,'2013-02-25 10:15:57',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(442,'2013-02-25 09:16:12','USER_LOGOUT',1,'2013-02-25 10:16:12',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(443,'2013-02-25 09:16:19','USER_LOGIN',1,'2013-02-25 10:16:19',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(444,'2013-02-25 09:16:25','USER_LOGOUT',1,'2013-02-25 10:16:25',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(445,'2013-02-25 09:16:39','USER_LOGIN_FAILED',1,'2013-02-25 10:16:39',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(446,'2013-02-25 09:16:42','USER_LOGIN_FAILED',1,'2013-02-25 10:16:42',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(447,'2013-02-25 09:16:54','USER_LOGIN_FAILED',1,'2013-02-25 10:16:54',NULL,'Identificadors d'usuari o contrasenya incorrectes - login=gfdg','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(448,'2013-02-25 09:17:53','USER_LOGIN',1,'2013-02-25 10:17:53',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(449,'2013-02-25 09:18:37','USER_LOGOUT',1,'2013-02-25 10:18:37',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(450,'2013-02-25 09:18:41','USER_LOGIN',1,'2013-02-25 10:18:41',4,'(UserLogged,aaa)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(451,'2013-02-25 09:18:47','USER_LOGOUT',1,'2013-02-25 10:18:47',4,'(UserLogoff,aaa)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(452,'2013-02-25 10:05:34','USER_LOGIN',1,'2013-02-25 11:05:34',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(453,'2013-02-26 21:51:40','USER_LOGIN',1,'2013-02-26 22:51:40',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(454,'2013-02-26 23:30:06','USER_LOGIN',1,'2013-02-27 00:30:06',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(455,'2013-02-27 14:13:11','USER_LOGIN',1,'2013-02-27 15:13:11',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(456,'2013-02-27 18:12:06','USER_LOGIN_FAILED',1,'2013-02-27 19:12:06',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(457,'2013-02-27 18:12:10','USER_LOGIN',1,'2013-02-27 19:12:10',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(458,'2013-02-27 20:20:08','USER_LOGIN',1,'2013-02-27 21:20:08',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(459,'2013-03-01 22:12:03','USER_LOGIN',1,'2013-03-01 23:12:03',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(460,'2013-03-02 11:45:50','USER_LOGIN',1,'2013-03-02 12:45:50',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(461,'2013-03-02 15:53:51','USER_LOGIN_FAILED',1,'2013-03-02 16:53:51',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(462,'2013-03-02 15:53:53','USER_LOGIN',1,'2013-03-02 16:53:53',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(463,'2013-03-02 18:32:32','USER_LOGIN',1,'2013-03-02 19:32:32',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(464,'2013-03-02 22:59:36','USER_LOGIN',1,'2013-03-02 23:59:36',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(465,'2013-03-03 16:26:26','USER_LOGIN',1,'2013-03-03 17:26:26',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(466,'2013-03-03 22:50:27','USER_LOGIN',1,'2013-03-03 23:50:27',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(467,'2013-03-04 08:29:27','USER_LOGIN',1,'2013-03-04 09:29:27',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(468,'2013-03-04 18:27:28','USER_LOGIN',1,'2013-03-04 19:27:28',1,'(UserLogged,admin)','192.168.0.254','Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0; NP06)',NULL),(469,'2013-03-04 19:27:23','USER_LOGIN',1,'2013-03-04 20:27:23',1,'(UserLogged,admin)','192.168.0.254','Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)',NULL),(470,'2013-03-04 19:35:14','USER_LOGIN',1,'2013-03-04 20:35:14',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(471,'2013-03-04 19:55:49','USER_LOGIN',1,'2013-03-04 20:55:49',1,'(UserLogged,admin)','192.168.0.254','Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0)',NULL),(472,'2013-03-04 21:16:13','USER_LOGIN',1,'2013-03-04 22:16:13',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(473,'2013-03-05 10:17:30','USER_LOGIN',1,'2013-03-05 11:17:30',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(474,'2013-03-05 11:02:43','USER_LOGIN',1,'2013-03-05 12:02:43',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(475,'2013-03-05 23:14:39','USER_LOGIN',1,'2013-03-06 00:14:39',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(476,'2013-03-06 08:58:57','USER_LOGIN',1,'2013-03-06 09:58:57',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(477,'2013-03-06 14:29:40','USER_LOGIN',1,'2013-03-06 15:29:40',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(478,'2013-03-06 21:53:02','USER_LOGIN',1,'2013-03-06 22:53:02',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(479,'2013-03-07 21:14:39','USER_LOGIN',1,'2013-03-07 22:14:39',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(480,'2013-03-08 00:06:05','USER_LOGIN',1,'2013-03-08 01:06:05',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(481,'2013-03-08 01:38:13','USER_LOGIN',1,'2013-03-08 02:38:13',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(482,'2013-03-08 08:59:50','USER_LOGIN',1,'2013-03-08 09:59:50',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(483,'2013-03-09 12:08:51','USER_LOGIN',1,'2013-03-09 13:08:51',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(484,'2013-03-09 15:19:53','USER_LOGIN',1,'2013-03-09 16:19:53',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(495,'2013-03-09 18:06:21','USER_LOGIN',1,'2013-03-09 19:06:21',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(496,'2013-03-09 20:01:24','USER_LOGIN',1,'2013-03-09 21:01:24',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(497,'2013-03-09 23:36:45','USER_LOGIN',1,'2013-03-10 00:36:45',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(498,'2013-03-10 14:37:13','USER_LOGIN',1,'2013-03-10 15:37:13',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(499,'2013-03-10 17:54:12','USER_LOGIN',1,'2013-03-10 18:54:12',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(500,'2013-03-11 08:57:09','USER_LOGIN',1,'2013-03-11 09:57:09',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(501,'2013-03-11 22:05:13','USER_LOGIN',1,'2013-03-11 23:05:13',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(502,'2013-03-12 08:34:27','USER_LOGIN',1,'2013-03-12 09:34:27',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(503,'2013-03-13 09:11:02','USER_LOGIN',1,'2013-03-13 10:11:02',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(504,'2013-03-13 10:02:11','USER_LOGIN',1,'2013-03-13 11:02:11',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(505,'2013-03-13 13:20:58','USER_LOGIN',1,'2013-03-13 14:20:58',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(506,'2013-03-13 16:19:28','USER_LOGIN',1,'2013-03-13 17:19:28',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(507,'2013-03-13 18:34:30','USER_LOGIN',1,'2013-03-13 19:34:30',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(508,'2013-03-14 08:25:02','USER_LOGIN',1,'2013-03-14 09:25:02',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(509,'2013-03-14 19:15:22','USER_LOGIN',1,'2013-03-14 20:15:22',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(510,'2013-03-14 21:58:53','USER_LOGIN',1,'2013-03-14 22:58:53',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(511,'2013-03-14 21:58:59','USER_LOGOUT',1,'2013-03-14 22:58:59',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(512,'2013-03-14 21:59:07','USER_LOGIN',1,'2013-03-14 22:59:07',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(513,'2013-03-14 22:58:22','USER_LOGOUT',1,'2013-03-14 23:58:22',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(514,'2013-03-14 23:00:25','USER_LOGIN',1,'2013-03-15 00:00:25',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(515,'2013-03-16 12:14:28','USER_LOGIN',1,'2013-03-16 13:14:28',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(516,'2013-03-16 16:09:01','USER_LOGIN',1,'2013-03-16 17:09:01',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(517,'2013-03-16 16:57:11','USER_LOGIN',1,'2013-03-16 17:57:11',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(518,'2013-03-16 19:31:31','USER_LOGIN',1,'2013-03-16 20:31:31',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(519,'2013-03-17 17:44:39','USER_LOGIN',1,'2013-03-17 18:44:39',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(520,'2013-03-17 20:40:57','USER_LOGIN',1,'2013-03-17 21:40:57',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(521,'2013-03-17 23:14:05','USER_LOGIN',1,'2013-03-18 00:14:05',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(522,'2013-03-17 23:28:47','USER_LOGOUT',1,'2013-03-18 00:28:47',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(523,'2013-03-17 23:28:54','USER_LOGIN',1,'2013-03-18 00:28:54',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(524,'2013-03-18 17:37:30','USER_LOGIN',1,'2013-03-18 18:37:30',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(525,'2013-03-18 18:11:37','USER_LOGIN',1,'2013-03-18 19:11:37',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(526,'2013-03-19 08:35:08','USER_LOGIN',1,'2013-03-19 09:35:08',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(527,'2013-03-19 09:20:23','USER_LOGIN',1,'2013-03-19 10:20:23',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(528,'2013-03-20 13:17:13','USER_LOGIN',1,'2013-03-20 14:17:13',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(529,'2013-03-20 14:44:31','USER_LOGIN',1,'2013-03-20 15:44:31',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(530,'2013-03-20 18:24:25','USER_LOGIN',1,'2013-03-20 19:24:25',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(531,'2013-03-20 19:15:54','USER_LOGIN',1,'2013-03-20 20:15:54',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(532,'2013-03-21 18:40:47','USER_LOGIN',1,'2013-03-21 19:40:47',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(533,'2013-03-21 21:42:24','USER_LOGIN',1,'2013-03-21 22:42:24',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(534,'2013-03-22 08:39:23','USER_LOGIN',1,'2013-03-22 09:39:23',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(535,'2013-03-23 13:04:55','USER_LOGIN',1,'2013-03-23 14:04:55',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(536,'2013-03-23 15:47:43','USER_LOGIN',1,'2013-03-23 16:47:43',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(537,'2013-03-23 22:56:36','USER_LOGIN',1,'2013-03-23 23:56:36',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(538,'2013-03-24 01:22:32','USER_LOGIN',1,'2013-03-24 02:22:32',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(539,'2013-03-24 14:40:42','USER_LOGIN',1,'2013-03-24 15:40:42',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(540,'2013-03-24 15:30:26','USER_LOGOUT',1,'2013-03-24 16:30:26',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(541,'2013-03-24 15:30:29','USER_LOGIN',1,'2013-03-24 16:30:29',2,'(UserLogged,demo)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(542,'2013-03-24 15:49:40','USER_LOGOUT',1,'2013-03-24 16:49:40',2,'(UserLogoff,demo)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(543,'2013-03-24 15:49:48','USER_LOGIN',1,'2013-03-24 16:49:48',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(544,'2013-03-24 15:52:35','USER_MODIFY',1,'2013-03-24 16:52:35',1,'Modification utilisateur zzzg','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(545,'2013-03-24 15:52:52','USER_MODIFY',1,'2013-03-24 16:52:52',1,'Modification utilisateur zzzg','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(546,'2013-03-24 15:53:09','USER_MODIFY',1,'2013-03-24 16:53:09',1,'Modification utilisateur zzzg','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(547,'2013-03-24 15:53:23','USER_MODIFY',1,'2013-03-24 16:53:23',1,'Modification utilisateur zzzg','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(548,'2013-03-24 16:00:04','USER_MODIFY',1,'2013-03-24 17:00:04',1,'Modification utilisateur zzzg','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(549,'2013-03-24 16:01:50','USER_MODIFY',1,'2013-03-24 17:01:50',1,'Modification utilisateur zzzg','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(550,'2013-03-24 16:10:14','USER_MODIFY',1,'2013-03-24 17:10:14',1,'Modification utilisateur zzzg','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(551,'2013-03-24 16:55:13','USER_LOGIN',1,'2013-03-24 17:55:13',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(552,'2013-03-24 17:44:29','USER_LOGIN',1,'2013-03-24 18:44:29',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(553,'2013-09-08 23:06:26','USER_LOGIN',1,'2013-09-09 01:06:26',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.57 Safari/537.36',NULL),(554,'2013-10-21 22:32:28','USER_LOGIN',1,'2013-10-22 00:32:28',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.66 Safari/537.36',NULL),(555,'2013-10-21 22:32:48','USER_LOGIN',1,'2013-10-22 00:32:48',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.66 Safari/537.36',NULL),(556,'2013-11-07 00:01:51','USER_LOGIN',1,'2013-11-07 01:01:51',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.114 Safari/537.36',NULL),(557,'2014-03-02 15:21:07','USER_LOGIN',1,'2014-03-02 16:21:07',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.117 Safari/537.36',NULL),(558,'2014-03-02 15:36:53','USER_LOGIN',1,'2014-03-02 16:36:53',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.117 Safari/537.36',NULL); +/*!40000 ALTER TABLE `llx_events` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_expedition` +-- + +DROP TABLE IF EXISTS `llx_expedition`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_expedition` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `ref` varchar(30) NOT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + `ref_customer` varchar(30) DEFAULT NULL, + `fk_soc` int(11) NOT NULL, + `ref_ext` varchar(30) DEFAULT NULL, + `ref_int` varchar(30) DEFAULT NULL, + `date_creation` datetime DEFAULT NULL, + `fk_user_author` int(11) DEFAULT NULL, + `date_valid` datetime DEFAULT NULL, + `fk_user_valid` int(11) DEFAULT NULL, + `date_expedition` datetime DEFAULT NULL, + `date_delivery` datetime DEFAULT NULL, + `fk_address` int(11) DEFAULT NULL, + `fk_shipping_method` int(11) DEFAULT NULL, + `tracking_number` varchar(50) DEFAULT NULL, + `fk_statut` smallint(6) DEFAULT '0', + `height` int(11) DEFAULT NULL, + `height_unit` int(11) DEFAULT NULL, + `width` int(11) DEFAULT NULL, + `size_units` int(11) DEFAULT NULL, + `size` int(11) DEFAULT NULL, + `weight_units` int(11) DEFAULT NULL, + `weight` int(11) DEFAULT NULL, + `note_private` text, + `note_public` text, + `model_pdf` varchar(255) DEFAULT NULL, + PRIMARY KEY (`rowid`), + UNIQUE KEY `idx_expedition_uk_ref` (`ref`,`entity`), + KEY `idx_expedition_fk_soc` (`fk_soc`), + KEY `idx_expedition_fk_user_author` (`fk_user_author`), + KEY `idx_expedition_fk_user_valid` (`fk_user_valid`), + KEY `idx_expedition_fk_shipping_method` (`fk_shipping_method`), + CONSTRAINT `fk_expedition_fk_shipping_method` FOREIGN KEY (`fk_shipping_method`) REFERENCES `llx_c_shipment_mode` (`rowid`), + CONSTRAINT `fk_expedition_fk_soc` FOREIGN KEY (`fk_soc`) REFERENCES `llx_societe` (`rowid`), + CONSTRAINT `fk_expedition_fk_user_author` FOREIGN KEY (`fk_user_author`) REFERENCES `llx_user` (`rowid`), + CONSTRAINT `fk_expedition_fk_user_valid` FOREIGN KEY (`fk_user_valid`) REFERENCES `llx_user` (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_expedition` +-- + +LOCK TABLES `llx_expedition` WRITE; +/*!40000 ALTER TABLE `llx_expedition` DISABLE KEYS */; +INSERT INTO `llx_expedition` VALUES (1,'2013-02-17 17:22:51','SH1302-0001',1,NULL,1,NULL,NULL,'2011-08-08 03:05:34',1,'2013-02-17 18:22:51',1,NULL,'2011-08-09 00:00:00',NULL,NULL,'',1,NULL,NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL),(2,'2013-02-17 17:38:47','SH1302-0002',1,'gfdf',18,NULL,NULL,'2013-02-17 18:38:37',1,'2013-02-17 18:38:47',1,NULL,NULL,NULL,NULL,'',1,NULL,NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL); +/*!40000 ALTER TABLE `llx_expedition` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_expedition_methode` +-- + +DROP TABLE IF EXISTS `llx_expedition_methode`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_expedition_methode` ( + `rowid` int(11) NOT NULL, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `code` varchar(30) NOT NULL, + `libelle` varchar(50) NOT NULL, + `description` text, + `active` tinyint(4) DEFAULT '0', + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_expedition_methode` +-- + +LOCK TABLES `llx_expedition_methode` WRITE; +/*!40000 ALTER TABLE `llx_expedition_methode` DISABLE KEYS */; +INSERT INTO `llx_expedition_methode` VALUES (1,'2010-07-08 11:18:00','CATCH','Catch','Catch by client',1),(2,'2010-07-08 11:18:00','TRANS','Transporter','Generic transporter',1),(3,'2010-07-08 11:18:01','COLSUI','Colissimo Suivi','Colissimo Suivi',0); +/*!40000 ALTER TABLE `llx_expedition_methode` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_expeditiondet` +-- + +DROP TABLE IF EXISTS `llx_expeditiondet`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_expeditiondet` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_expedition` int(11) NOT NULL, + `fk_origin_line` int(11) DEFAULT NULL, + `fk_entrepot` int(11) DEFAULT NULL, + `qty` double DEFAULT NULL, + `rang` int(11) DEFAULT '0', + PRIMARY KEY (`rowid`), + KEY `idx_expeditiondet_fk_expedition` (`fk_expedition`), + CONSTRAINT `fk_expeditiondet_fk_expedition` FOREIGN KEY (`fk_expedition`) REFERENCES `llx_expedition` (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_expeditiondet` +-- + +LOCK TABLES `llx_expeditiondet` WRITE; +/*!40000 ALTER TABLE `llx_expeditiondet` DISABLE KEYS */; +INSERT INTO `llx_expeditiondet` VALUES (1,1,10,3,1,0),(2,2,13,NULL,1,0),(3,2,16,NULL,1,0),(4,2,17,NULL,1,0); +/*!40000 ALTER TABLE `llx_expeditiondet` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_export_compta` +-- + +DROP TABLE IF EXISTS `llx_export_compta`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_export_compta` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `ref` varchar(12) NOT NULL, + `date_export` datetime NOT NULL, + `fk_user` int(11) NOT NULL, + `note` text, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_export_compta` +-- + +LOCK TABLES `llx_export_compta` WRITE; +/*!40000 ALTER TABLE `llx_export_compta` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_export_compta` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_export_model` +-- + +DROP TABLE IF EXISTS `llx_export_model`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_export_model` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_user` int(11) NOT NULL DEFAULT '0', + `label` varchar(50) NOT NULL, + `type` varchar(20) NOT NULL, + `field` text NOT NULL, + `filter` text, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_export_model` (`label`,`type`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_export_model` +-- + +LOCK TABLES `llx_export_model` WRITE; +/*!40000 ALTER TABLE `llx_export_model` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_export_model` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_extrafields` +-- + +DROP TABLE IF EXISTS `llx_extrafields`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_extrafields` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `elementtype` varchar(64) NOT NULL DEFAULT 'member', + `name` varchar(64) NOT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `label` varchar(255) NOT NULL, + `type` varchar(8) DEFAULT NULL, + `size` varchar(8) DEFAULT NULL, + `pos` int(11) DEFAULT '0', + `param` text, + `fieldunique` int(11) DEFAULT '0', + `fieldrequired` int(11) DEFAULT '0', + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_extrafields_name` (`name`,`entity`,`elementtype`) +) ENGINE=InnoDB AUTO_INCREMENT=23 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_extrafields` +-- + +LOCK TABLES `llx_extrafields` WRITE; +/*!40000 ALTER TABLE `llx_extrafields` DISABLE KEYS */; +INSERT INTO `llx_extrafields` VALUES (2,'adherent','zzz',1,'2013-09-08 23:04:20','zzz','varchar','255',0,NULL,0,0),(22,'societe','jjjj',1,'2013-09-08 23:04:20','jjj','varchar','255',0,NULL,0,0); +/*!40000 ALTER TABLE `llx_extrafields` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_facture` +-- + +DROP TABLE IF EXISTS `llx_facture`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_facture` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `facnumber` varchar(30) NOT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + `ref_ext` varchar(255) DEFAULT NULL, + `ref_int` varchar(255) DEFAULT NULL, + `type` smallint(6) NOT NULL DEFAULT '0', + `ref_client` varchar(255) DEFAULT NULL, + `increment` varchar(10) DEFAULT NULL, + `fk_soc` int(11) NOT NULL, + `datec` datetime DEFAULT NULL, + `datef` date DEFAULT NULL, + `date_valid` date DEFAULT NULL, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `paye` smallint(6) NOT NULL DEFAULT '0', + `amount` double(24,8) NOT NULL DEFAULT '0.00000000', + `remise_percent` double DEFAULT '0', + `remise_absolue` double DEFAULT '0', + `remise` double DEFAULT '0', + `close_code` varchar(16) DEFAULT NULL, + `close_note` varchar(128) DEFAULT NULL, + `tva` double(24,8) DEFAULT '0.00000000', + `localtax1` double(24,8) DEFAULT '0.00000000', + `localtax2` double(24,8) DEFAULT '0.00000000', + `revenuestamp` double(24,8) DEFAULT '0.00000000', + `total` double(24,8) DEFAULT '0.00000000', + `total_ttc` double(24,8) DEFAULT '0.00000000', + `fk_statut` smallint(6) NOT NULL DEFAULT '0', + `fk_user_author` int(11) DEFAULT NULL, + `fk_user_valid` int(11) DEFAULT NULL, + `fk_facture_source` int(11) DEFAULT NULL, + `fk_projet` int(11) DEFAULT NULL, + `fk_account` int(11) DEFAULT NULL, + `fk_currency` varchar(2) DEFAULT NULL, + `fk_cond_reglement` int(11) NOT NULL DEFAULT '1', + `fk_mode_reglement` int(11) DEFAULT NULL, + `date_lim_reglement` date DEFAULT NULL, + `note_private` text, + `note_public` text, + `model_pdf` varchar(255) DEFAULT NULL, + `import_key` varchar(14) DEFAULT NULL, + `extraparams` varchar(255) DEFAULT NULL, + PRIMARY KEY (`rowid`), + UNIQUE KEY `idx_facture_uk_facnumber` (`facnumber`,`entity`), + KEY `idx_facture_fk_soc` (`fk_soc`), + KEY `idx_facture_fk_user_author` (`fk_user_author`), + KEY `idx_facture_fk_user_valid` (`fk_user_valid`), + KEY `idx_facture_fk_facture_source` (`fk_facture_source`), + KEY `idx_facture_fk_projet` (`fk_projet`), + KEY `idx_facture_fk_account` (`fk_account`), + KEY `idx_facture_fk_currency` (`fk_currency`), + CONSTRAINT `fk_facture_fk_facture_source` FOREIGN KEY (`fk_facture_source`) REFERENCES `llx_facture` (`rowid`), + CONSTRAINT `fk_facture_fk_projet` FOREIGN KEY (`fk_projet`) REFERENCES `llx_projet` (`rowid`), + CONSTRAINT `fk_facture_fk_soc` FOREIGN KEY (`fk_soc`) REFERENCES `llx_societe` (`rowid`), + CONSTRAINT `fk_facture_fk_user_author` FOREIGN KEY (`fk_user_author`) REFERENCES `llx_user` (`rowid`), + CONSTRAINT `fk_facture_fk_user_valid` FOREIGN KEY (`fk_user_valid`) REFERENCES `llx_user` (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=212 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_facture` +-- + +LOCK TABLES `llx_facture` WRITE; +/*!40000 ALTER TABLE `llx_facture` DISABLE KEYS */; +INSERT INTO `llx_facture` VALUES (1,'FA1007-0001',1,NULL,NULL,0,NULL,NULL,9,'2010-07-10 14:55:26','2010-07-10',NULL,'2011-07-20 11:18:39',0,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,0.02000000,0.02000000,1,1,1,NULL,1,NULL,NULL,1,0,'2010-07-10',NULL,NULL,'crabe',NULL,NULL),(2,'FA1007-0002',1,NULL,NULL,0,NULL,NULL,2,'2010-07-10 18:20:13','2010-07-10',NULL,'2011-08-08 00:54:05',1,10.00000000,NULL,NULL,0,NULL,NULL,0.10000000,0.00000000,0.00000000,0.00000000,46.00000000,46.10000000,2,1,1,NULL,NULL,NULL,NULL,1,0,'2010-07-10',NULL,NULL,'crabe',NULL,NULL),(3,'FA1107-0006',1,NULL,NULL,0,NULL,NULL,10,'2011-07-18 20:33:35','2011-07-18',NULL,'2012-12-08 16:39:01',1,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,15.00000000,15.00000000,2,1,1,NULL,1,NULL,NULL,1,0,'2011-07-18',NULL,NULL,'crabe',NULL,NULL),(5,'FA1108-0003',1,NULL,NULL,0,NULL,NULL,7,'2011-08-01 03:34:11','2011-08-01',NULL,'2011-08-01 01:34:11',1,0.00000000,NULL,NULL,0,NULL,NULL,0.63000000,0.00000000,0.00000000,0.00000000,5.00000000,5.63000000,2,1,1,NULL,NULL,NULL,NULL,0,6,'2011-08-01',NULL,NULL,'',NULL,NULL),(6,'FA1108-0004',1,NULL,NULL,0,NULL,NULL,7,'2011-08-06 20:33:53','2011-08-06',NULL,'2011-08-06 18:35:13',1,0.00000000,NULL,NULL,0,NULL,NULL,0.98000000,0.00000000,0.00000000,0.00000000,5.00000000,5.98000000,2,1,1,NULL,NULL,NULL,NULL,0,4,'2011-08-06','Cash\nReceived : 6 EUR\nRendu : 0.02 EUR\n\n--------------------------------------',NULL,'crabe',NULL,NULL),(8,'FA1108-0005',1,NULL,NULL,3,NULL,NULL,2,'2011-08-08 02:41:44','2011-08-08',NULL,'2011-08-08 00:53:40',1,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,10.00000000,10.00000000,2,1,1,NULL,NULL,NULL,NULL,1,0,'2011-08-08',NULL,NULL,'crabe',NULL,NULL),(9,'FA1108-0007',1,NULL,NULL,3,NULL,NULL,10,'2011-08-08 02:55:14','2011-08-08',NULL,'2011-08-08 00:55:26',0,0.00000000,NULL,NULL,0,NULL,NULL,1.96000000,0.00000000,0.00000000,0.00000000,10.00000000,11.96000000,1,1,1,NULL,NULL,NULL,NULL,1,0,'2011-08-08',NULL,NULL,'crabe',NULL,NULL),(10,'AV1212-0001',1,NULL,NULL,2,NULL,NULL,10,'2012-12-08 17:45:20','2012-12-08','2012-12-08','2012-12-08 16:57:11',0,0.00000000,NULL,NULL,0,NULL,NULL,-0.63000000,0.00000000,0.00000000,0.00000000,-11.00000000,-11.63000000,1,1,1,3,NULL,NULL,NULL,0,0,'2012-12-08',NULL,NULL,'crabe',NULL,NULL),(11,'FA1212-0008',1,NULL,NULL,0,NULL,NULL,10,'2012-12-08 17:58:13','2012-12-08','2012-12-08','2012-12-08 16:58:27',0,0.00000000,NULL,NULL,0,NULL,NULL,0.63000000,0.00000000,0.00000000,0.00000000,5.00000000,5.63000000,1,1,1,NULL,NULL,NULL,NULL,1,0,'2012-12-08',NULL,NULL,'crabe',NULL,NULL),(12,'AV1212-0002',1,NULL,NULL,2,NULL,NULL,10,'2012-12-08 18:20:14','2012-12-08','2012-12-08','2012-12-09 17:35:07',1,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,-5.00000000,-5.00000000,2,1,1,3,NULL,NULL,NULL,0,0,'2012-12-08',NULL,NULL,'crabe',NULL,NULL),(13,'FA1212-0011',1,NULL,NULL,0,NULL,NULL,7,'2012-12-09 20:04:19','2012-12-09','2013-02-12','2013-02-12 14:54:37',0,0.00000000,NULL,NULL,0,NULL,NULL,2.74000000,0.00000000,0.00000000,0.00000000,14.00000000,16.74000000,1,1,1,NULL,NULL,NULL,NULL,1,0,'2012-12-09',NULL,NULL,'crabe',NULL,NULL),(32,'FA1212-0021',1,NULL,NULL,0,NULL,NULL,1,'2012-12-11 09:34:23','2012-12-11','2013-03-24','2013-03-24 14:54:00',0,0.00000000,NULL,NULL,0,NULL,NULL,90.00000000,0.00000000,0.00000000,0.60000000,520.00000000,610.60000000,1,1,1,NULL,NULL,NULL,NULL,1,0,'2012-12-11','This is a comment (private)','This is a comment (public)','crabe',NULL,NULL),(33,'(PROV33)',1,NULL,NULL,0,NULL,NULL,1,'2012-12-11 09:34:23','2012-12-11',NULL,'2012-12-11 08:34:23',0,0.00000000,NULL,NULL,0,NULL,NULL,0.24000000,0.00000000,0.00000000,0.00000000,2.48000000,2.72000000,0,1,NULL,NULL,NULL,NULL,NULL,1,0,'2012-12-11','This is a comment (private)','This is a comment (public)','',NULL,NULL),(55,'FA1212-0009',1,NULL,NULL,0,NULL,NULL,1,'2012-12-11 09:35:51','2012-12-11','2012-12-12','2012-12-12 17:54:19',0,0.00000000,NULL,NULL,0,NULL,NULL,0.24000000,0.00000000,0.00000000,0.00000000,2.48000000,2.72000000,1,1,1,NULL,NULL,NULL,NULL,1,0,'2012-12-11','This is a comment (private)','This is a comment (public)','',NULL,NULL),(56,'(PROV56)',1,NULL,NULL,0,NULL,NULL,1,'2012-12-11 09:35:52','2012-12-11',NULL,'2012-12-11 08:35:52',0,0.00000000,NULL,NULL,0,NULL,NULL,0.24000000,0.00000000,0.00000000,0.00000000,2.48000000,2.72000000,0,1,NULL,NULL,NULL,NULL,NULL,1,0,'2012-12-11','This is a comment (private)','This is a comment (public)','',NULL,NULL),(78,'(PROV78)',1,NULL,NULL,0,NULL,NULL,1,'2012-12-11 09:36:41','2012-12-11',NULL,'2012-12-11 08:36:41',0,0.00000000,NULL,NULL,0,NULL,NULL,0.24000000,0.00000000,0.00000000,0.00000000,2.48000000,2.72000000,0,1,NULL,NULL,NULL,NULL,NULL,1,0,'2012-12-11','This is a comment (private)','This is a comment (public)','',NULL,NULL),(79,'(PROV79)',1,NULL,NULL,0,NULL,NULL,1,'2012-12-11 09:36:41','2012-12-11',NULL,'2012-12-19 16:56:16',0,0.00000000,NULL,NULL,0,NULL,NULL,7.60000000,0.66000000,-3.00000000,0.00000000,50.00000000,55.26000000,0,1,NULL,NULL,NULL,NULL,NULL,1,0,'2012-12-11','This is a comment (private)','This is a comment (public)','',NULL,NULL),(121,'(PROV121)',1,NULL,NULL,0,NULL,NULL,1,'2012-12-19 18:39:38','2012-12-19',NULL,'2012-12-19 17:39:38',0,0.00000000,NULL,NULL,0,NULL,NULL,0.24000000,0.00000000,0.00000000,0.00000000,2.48000000,2.72000000,0,1,NULL,NULL,NULL,NULL,NULL,1,0,'2012-12-19','This is a comment (private)','This is a comment (public)','',NULL,NULL),(122,'(PROV122)',1,NULL,NULL,0,NULL,NULL,1,'2012-12-19 18:39:38','2012-12-19',NULL,'2012-12-19 17:39:38',0,0.00000000,NULL,NULL,0,NULL,NULL,0.24000000,0.00000000,0.00000000,0.00000000,2.48000000,2.72000000,0,1,NULL,NULL,NULL,NULL,NULL,1,0,'2012-12-19','This is a comment (private)','This is a comment (public)','',NULL,NULL),(146,'(PROV146)',1,NULL,NULL,0,NULL,NULL,1,'2012-12-19 18:48:41','2012-12-19',NULL,'2013-01-18 14:51:01',0,0.00000000,NULL,NULL,0,NULL,NULL,0.24000000,0.00000000,0.00000000,0.00000000,2.48000000,2.72000000,0,1,NULL,NULL,NULL,NULL,NULL,1,0,'2012-12-19','This is a comment (private)','This is a comment (public)','crabe',NULL,NULL),(147,'(PROV147)',1,NULL,NULL,0,NULL,NULL,1,'2012-12-19 18:48:42','2012-12-19',NULL,'2012-12-19 17:48:42',0,0.00000000,NULL,NULL,0,NULL,NULL,0.24000000,0.00000000,0.00000000,0.00000000,2.48000000,2.72000000,0,1,NULL,NULL,NULL,NULL,NULL,1,0,'2012-12-19','This is a comment (private)','This is a comment (public)','',NULL,NULL),(148,'FS1301-0001',1,NULL,NULL,0,NULL,NULL,1,'2013-01-19 18:22:48','2013-01-19','2013-01-19','2013-01-19 17:22:48',0,0.00000000,NULL,NULL,0,NULL,NULL,0.63000000,0.00000000,0.00000000,0.00000000,5.00000000,5.63000000,1,1,1,NULL,NULL,NULL,NULL,0,1,'2013-01-19',NULL,NULL,'',NULL,NULL),(149,'(PROV149)',1,NULL,NULL,0,NULL,NULL,1,'2013-01-19 18:30:05','2013-01-19',NULL,'2013-02-13 14:02:53',0,0.00000000,NULL,NULL,0,NULL,NULL,1.96000000,0.00000000,0.00000000,0.00000000,10.00000000,11.96000000,0,1,NULL,NULL,NULL,NULL,NULL,0,0,'2013-01-19',NULL,NULL,'crabe',NULL,NULL),(150,'FA6801-0010',1,NULL,NULL,0,NULL,NULL,1,'2013-01-19 18:31:10','2013-01-19','2013-01-19','2013-01-19 17:31:10',1,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,2,1,1,NULL,NULL,NULL,NULL,0,1,'2013-01-19',NULL,NULL,'',NULL,NULL),(151,'FS1301-0002',1,NULL,NULL,0,NULL,NULL,1,'2013-01-19 18:31:58','2013-01-19','2013-01-19','2013-01-19 17:31:58',1,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,2,1,1,NULL,NULL,NULL,NULL,0,1,'2013-01-19',NULL,NULL,'',NULL,NULL),(152,'FA1302-0012',1,NULL,NULL,0,NULL,NULL,18,'2013-02-17 16:26:53','2013-02-17','2013-02-17','2013-02-17 15:27:00',0,0.00000000,NULL,NULL,0,NULL,NULL,1.96000000,0.00000000,0.00000000,0.00000000,10.00000000,11.96000000,1,1,1,NULL,NULL,NULL,NULL,1,0,'2013-02-17',NULL,NULL,'crabe',NULL,NULL),(153,'(PROV153)',1,NULL,NULL,0,NULL,NULL,1,'2013-02-17 18:22:24','2013-02-17',NULL,'2013-02-17 17:22:24',0,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,10.00000000,10.00000000,0,1,NULL,NULL,NULL,NULL,NULL,1,0,'2013-02-17',NULL,NULL,'crabe',NULL,NULL),(154,'(PROV154)',1,NULL,NULL,0,NULL,NULL,1,'2013-02-17 18:24:21','2013-02-17',NULL,'2013-02-17 17:24:21',0,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,10.00000000,10.00000000,0,1,NULL,NULL,NULL,NULL,NULL,1,0,'2013-02-17',NULL,NULL,'crabe',NULL,NULL),(155,'(PROV155)',1,NULL,NULL,0,NULL,NULL,1,'2013-02-17 18:30:30','2013-02-17',NULL,'2013-02-17 17:30:30',0,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,10.00000000,10.00000000,0,1,NULL,NULL,NULL,NULL,NULL,1,0,'2013-02-17',NULL,NULL,'crabe',NULL,NULL),(156,'(PROV156)',1,NULL,NULL,0,NULL,NULL,1,'2013-02-17 18:37:01','2013-02-17',NULL,'2013-02-17 17:37:01',0,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,10.00000000,10.00000000,0,1,NULL,NULL,NULL,NULL,NULL,1,0,'2013-02-17',NULL,NULL,'crabe',NULL,NULL),(157,'(PROV157)',1,NULL,NULL,0,NULL,NULL,18,'2013-02-17 18:39:23','2013-02-17',NULL,'2013-02-17 17:39:23',0,0.00000000,NULL,NULL,0,NULL,NULL,3.22000000,0.00000000,0.00000000,0.00000000,20.00000000,23.22000000,0,1,NULL,NULL,NULL,NULL,NULL,1,0,'2013-02-17',NULL,NULL,'crabe',NULL,NULL),(158,'FA1307-0013',1,NULL,NULL,0,NULL,NULL,12,'2013-03-06 16:43:37','2013-07-18','2013-03-23','2013-03-23 17:23:03',0,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,10.00000000,10.00000000,1,1,1,NULL,NULL,NULL,NULL,1,0,'2013-07-18',NULL,NULL,'crabe',NULL,NULL),(159,'FA1407-0014',1,NULL,NULL,0,NULL,NULL,12,'2013-03-06 16:44:12','2014-07-18','2013-03-06','2013-03-06 15:44:12',0,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,11.00000000,11.00000000,1,1,1,NULL,NULL,NULL,NULL,1,0,'2014-07-18',NULL,NULL,'',NULL,NULL),(160,'FA1507-0015',1,NULL,NULL,0,NULL,NULL,12,'2013-03-06 16:47:48','2015-07-18','2013-03-06','2013-03-06 15:47:48',0,0.00000000,NULL,NULL,0,NULL,NULL,1.11000000,0.00000000,0.00000000,0.00000000,8.89000000,10.00000000,1,1,1,NULL,NULL,NULL,NULL,1,0,'2015-07-18',NULL,NULL,'',NULL,NULL),(161,'FA1607-0016',1,NULL,NULL,0,NULL,NULL,12,'2013-03-06 16:48:16','2016-07-18','2013-03-06','2013-03-06 15:48:16',0,0.00000000,NULL,NULL,0,NULL,NULL,2.22000000,0.00000000,0.00000000,0.00000000,17.78000000,20.00000000,1,1,1,NULL,NULL,NULL,NULL,1,0,'2016-07-18',NULL,NULL,'',NULL,NULL),(162,'(PROV162)',1,NULL,NULL,0,'fdfs',NULL,23,'2013-03-08 10:02:54','2013-03-08',NULL,'2013-03-08 09:02:54',0,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,5.00000000,5.00000000,0,1,NULL,NULL,NULL,NULL,NULL,1,0,'2013-03-08',NULL,NULL,'crabe',NULL,NULL),(184,'(PROV184)',1,NULL,NULL,0,NULL,NULL,1,'2013-03-09 18:19:36','2013-03-09',NULL,'2013-03-09 17:19:36',0,0.00000000,NULL,NULL,0,NULL,NULL,0.24000000,0.00000000,0.00000000,0.00000000,2.48000000,2.72000000,0,1,NULL,NULL,NULL,NULL,NULL,1,0,'2013-03-09','This is a comment (private)','This is a comment (public)','',NULL,NULL),(185,'(PROV185)',1,NULL,NULL,0,NULL,NULL,1,'2013-03-09 18:19:36','2013-03-09',NULL,'2013-03-09 17:19:36',0,0.00000000,NULL,NULL,0,NULL,NULL,0.24000000,0.00000000,0.00000000,0.00000000,2.48000000,2.72000000,0,1,NULL,NULL,NULL,NULL,NULL,1,0,'2013-03-09','This is a comment (private)','This is a comment (public)','',NULL,NULL),(186,'(PROV186)',1,NULL,NULL,0,NULL,NULL,1,'2013-03-09 18:26:56','2013-03-09',NULL,'2013-03-09 17:26:56',0,0.00000000,NULL,NULL,0,NULL,NULL,0.24000000,0.00000000,0.00000000,0.00000000,2.48000000,2.72000000,0,1,NULL,NULL,NULL,NULL,NULL,1,0,'2013-03-09','This is a comment (private)','This is a comment (public)','',NULL,NULL),(187,'(PROV187)',1,NULL,NULL,0,NULL,NULL,1,'2013-03-09 18:26:56','2013-03-09',NULL,'2013-03-09 17:26:56',0,0.00000000,NULL,NULL,0,NULL,NULL,0.24000000,0.00000000,0.00000000,0.00000000,2.48000000,2.72000000,0,1,NULL,NULL,NULL,NULL,NULL,1,0,'2013-03-09','This is a comment (private)','This is a comment (public)','',NULL,NULL),(206,'(PROV206)',1,NULL,NULL,0,NULL,NULL,1,'2013-03-09 18:34:05','2013-03-09',NULL,'2013-03-09 17:34:05',0,0.00000000,NULL,NULL,0,NULL,NULL,0.24000000,0.00000000,0.00000000,0.00000000,2.48000000,2.72000000,0,1,NULL,NULL,NULL,NULL,NULL,1,0,'2013-03-09','This is a comment (private)','This is a comment (public)','',NULL,NULL),(207,'(PROV207)',1,NULL,NULL,0,NULL,NULL,1,'2013-03-09 18:34:05','2013-03-09',NULL,'2013-03-10 14:45:36',0,0.00000000,NULL,NULL,0,NULL,NULL,0.24000000,0.00000000,0.00000000,0.00000000,2.48000000,2.72000000,0,1,NULL,NULL,NULL,NULL,NULL,1,0,'2013-03-09','This is a comment (private)','This is a comment (public)','generic_invoice_odt:/var/www/dolibarrnew/documents/doctemplates/invoices/template_invoice.odt',NULL,NULL),(208,'FA1303-0017',1,NULL,NULL,0,NULL,NULL,26,'2013-03-10 15:58:11','2013-03-10','2013-03-10','2013-03-10 14:58:34',0,0.00000000,NULL,NULL,0,NULL,NULL,1.25000000,0.00000000,0.00000000,0.00000000,10.00000000,11.25000000,1,1,1,NULL,NULL,NULL,NULL,1,0,'2013-03-10',NULL,NULL,'generic_invoice_odt:/var/www/dolibarrnew/documents/doctemplates/invoices/template_invoice.odt',NULL,NULL),(209,'FA1303-0018',1,NULL,NULL,0,NULL,NULL,19,'2013-03-19 09:37:51','2013-03-19','2013-03-19','2013-03-19 08:38:10',0,0.00000000,NULL,NULL,0,NULL,NULL,-1.25000000,0.00000000,0.00000000,0.00000000,10.00000000,8.75000000,1,1,1,NULL,NULL,NULL,NULL,1,0,'2013-03-19',NULL,NULL,'crabe',NULL,NULL),(210,'FA1107-0019',1,NULL,NULL,0,NULL,NULL,10,'2013-03-20 14:30:11','2011-07-10','2013-03-20','2013-03-20 13:30:11',0,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,10.00000000,10.00000000,1,1,1,NULL,NULL,NULL,NULL,1,0,'2011-07-10',NULL,NULL,'',NULL,NULL),(211,'FA1303-0020',1,NULL,NULL,0,NULL,NULL,19,'2013-03-22 09:40:10','2013-03-22','2013-03-23','2013-03-23 16:31:13',0,0.00000000,NULL,NULL,0,NULL,NULL,0.60000000,0.00000000,0.00000000,0.40000000,110.00000000,111.00000000,0,1,NULL,NULL,NULL,NULL,NULL,1,0,'2013-03-22',NULL,NULL,'crabe',NULL,NULL); +/*!40000 ALTER TABLE `llx_facture` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_facture_extrafields` +-- + +DROP TABLE IF EXISTS `llx_facture_extrafields`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_facture_extrafields` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_object` int(11) NOT NULL, + `import_key` varchar(14) DEFAULT NULL, + PRIMARY KEY (`rowid`), + KEY `idx_facture_extrafields` (`fk_object`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_facture_extrafields` +-- + +LOCK TABLES `llx_facture_extrafields` WRITE; +/*!40000 ALTER TABLE `llx_facture_extrafields` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_facture_extrafields` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_facture_fourn` +-- + +DROP TABLE IF EXISTS `llx_facture_fourn`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_facture_fourn` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `ref` varchar(30) DEFAULT NULL, + `ref_supplier` varchar(30) DEFAULT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + `ref_ext` varchar(30) DEFAULT NULL, + `type` smallint(6) NOT NULL DEFAULT '0', + `fk_soc` int(11) NOT NULL, + `datec` datetime DEFAULT NULL, + `datef` date DEFAULT NULL, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `libelle` varchar(255) DEFAULT NULL, + `paye` smallint(6) NOT NULL DEFAULT '0', + `amount` double(24,8) NOT NULL DEFAULT '0.00000000', + `remise` double(24,8) DEFAULT '0.00000000', + `close_code` varchar(16) DEFAULT NULL, + `close_note` varchar(128) DEFAULT NULL, + `tva` double(24,8) DEFAULT '0.00000000', + `localtax1` double(24,8) DEFAULT '0.00000000', + `localtax2` double(24,8) DEFAULT '0.00000000', + `total` double(24,8) DEFAULT '0.00000000', + `total_ht` double(24,8) DEFAULT '0.00000000', + `total_tva` double(24,8) DEFAULT '0.00000000', + `total_ttc` double(24,8) DEFAULT '0.00000000', + `fk_statut` smallint(6) NOT NULL DEFAULT '0', + `fk_user_author` int(11) DEFAULT NULL, + `fk_user_valid` int(11) DEFAULT NULL, + `fk_facture_source` int(11) DEFAULT NULL, + `fk_projet` int(11) DEFAULT NULL, + `fk_cond_reglement` int(11) DEFAULT NULL, + `fk_mode_reglement` int(11) DEFAULT NULL, + `date_lim_reglement` date DEFAULT NULL, + `note_private` text, + `note_public` text, + `model_pdf` varchar(255) DEFAULT NULL, + `import_key` varchar(14) DEFAULT NULL, + `extraparams` varchar(255) DEFAULT NULL, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_facture_fourn_ref_supplier` (`ref_supplier`,`fk_soc`,`entity`), + UNIQUE KEY `uk_facture_fourn_ref` (`ref`,`entity`), + KEY `idx_facture_fourn_date_lim_reglement` (`date_lim_reglement`), + KEY `idx_facture_fourn_fk_soc` (`fk_soc`), + KEY `idx_facture_fourn_fk_user_author` (`fk_user_author`), + KEY `idx_facture_fourn_fk_user_valid` (`fk_user_valid`), + KEY `idx_facture_fourn_fk_projet` (`fk_projet`), + CONSTRAINT `fk_facture_fourn_fk_projet` FOREIGN KEY (`fk_projet`) REFERENCES `llx_projet` (`rowid`), + CONSTRAINT `fk_facture_fourn_fk_soc` FOREIGN KEY (`fk_soc`) REFERENCES `llx_societe` (`rowid`), + CONSTRAINT `fk_facture_fourn_fk_user_author` FOREIGN KEY (`fk_user_author`) REFERENCES `llx_user` (`rowid`), + CONSTRAINT `fk_facture_fourn_fk_user_valid` FOREIGN KEY (`fk_user_valid`) REFERENCES `llx_user` (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=20 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_facture_fourn` +-- + +LOCK TABLES `llx_facture_fourn` WRITE; +/*!40000 ALTER TABLE `llx_facture_fourn` DISABLE KEYS */; +INSERT INTO `llx_facture_fourn` VALUES (1,NULL,'aaa',1,NULL,0,17,'2011-08-04 22:21:18','2011-08-04','2012-12-09 19:03:52','',0,0.00000000,0.00000000,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,16.00000000,3.14000000,19.14000000,0,1,NULL,NULL,NULL,1,NULL,NULL,'','',NULL,NULL,NULL),(16,NULL,'FR70813',1,NULL,0,1,'2012-12-19 15:24:11','2003-04-11','2013-02-10 20:55:42','OVH FR70813',0,0.00000000,0.00000000,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,829.00000000,162.48000000,991.48000000,1,1,1,NULL,NULL,1,NULL,'2003-04-11','','',NULL,NULL,NULL),(17,NULL,'FR81385',1,NULL,0,1,'2013-02-13 17:19:35','2003-06-04','2013-02-13 16:19:35','OVH FR81385',0,0.00000000,0.00000000,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,26.00000000,5.10000000,31.10000000,0,1,NULL,NULL,NULL,1,NULL,'2003-06-04','','',NULL,NULL,NULL),(18,NULL,'FR81385',1,NULL,0,2,'2013-02-13 17:20:25','2003-06-04','2013-02-13 16:20:25','OVH FR81385',0,0.00000000,0.00000000,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,26.00000000,5.10000000,31.10000000,0,1,NULL,NULL,NULL,1,NULL,'2003-06-04','','',NULL,NULL,NULL),(19,NULL,'FR813852',1,NULL,0,2,'2013-03-16 17:59:02','2013-03-16','2013-03-16 16:59:11','OVH FR81385',0,0.00000000,0.00000000,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,26.00000000,5.10000000,31.10000000,0,1,NULL,NULL,NULL,1,NULL,NULL,'','',NULL,NULL,NULL); +/*!40000 ALTER TABLE `llx_facture_fourn` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_facture_fourn_det` +-- + +DROP TABLE IF EXISTS `llx_facture_fourn_det`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_facture_fourn_det` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_facture_fourn` int(11) NOT NULL, + `fk_product` int(11) DEFAULT NULL, + `ref` varchar(50) DEFAULT NULL, + `label` varchar(255) DEFAULT NULL, + `description` text, + `pu_ht` double(24,8) DEFAULT NULL, + `pu_ttc` double(24,8) DEFAULT NULL, + `qty` double DEFAULT NULL, + `remise_percent` double DEFAULT '0', + `tva_tx` double(6,3) DEFAULT NULL, + `localtax1_tx` double(6,3) DEFAULT '0.000', + `localtax1_type` varchar(10) NOT NULL DEFAULT '0', + `localtax2_tx` double(6,3) DEFAULT '0.000', + `localtax2_type` varchar(10) NOT NULL DEFAULT '0', + `total_ht` double(24,8) DEFAULT NULL, + `tva` double(24,8) DEFAULT NULL, + `total_localtax1` double(24,8) DEFAULT '0.00000000', + `total_localtax2` double(24,8) DEFAULT '0.00000000', + `total_ttc` double(24,8) DEFAULT NULL, + `product_type` int(11) DEFAULT '0', + `date_start` datetime DEFAULT NULL, + `date_end` datetime DEFAULT NULL, + `info_bits` int(11) NOT NULL DEFAULT '0', + `import_key` varchar(14) DEFAULT NULL, + `fk_code_ventilation` int(11) NOT NULL DEFAULT '0', + PRIMARY KEY (`rowid`), + KEY `idx_facture_fourn_det_fk_facture` (`fk_facture_fourn`), + CONSTRAINT `fk_facture_fourn_det_fk_facture` FOREIGN KEY (`fk_facture_fourn`) REFERENCES `llx_facture_fourn` (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=53 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_facture_fourn_det` +-- + +LOCK TABLES `llx_facture_fourn_det` WRITE; +/*!40000 ALTER TABLE `llx_facture_fourn_det` DISABLE KEYS */; +INSERT INTO `llx_facture_fourn_det` VALUES (1,1,NULL,NULL,NULL,'aaa',10.00000000,11.96000000,1.6,0,19.600,0.000,'',0.000,'',16.00000000,3.14000000,0.00000000,0.00000000,19.14000000,0,NULL,NULL,0,NULL,0),(44,16,NULL,NULL,NULL,'ref :sd.loc.sp.512.6
6 mois - Location de SuperPlan avec la connexion 512kbs
Du 11/04/2003 à 11/10/2003',414.00000000,495.14400000,1,0,19.600,0.000,'',0.000,'',414.00000000,81.14000000,0.00000000,0.00000000,495.14000000,0,NULL,NULL,0,NULL,0),(45,16,NULL,NULL,NULL,'ref :sd.loc.sp.512.6
6 mois - Location de SuperPlan avec la connexion 512kbs
Du 11/10/2003 à 11/04/2004',414.00000000,495.14400000,1,0,19.600,0.000,'',0.000,'',414.00000000,81.14000000,0.00000000,0.00000000,495.14000000,0,NULL,NULL,0,NULL,0),(46,16,NULL,NULL,NULL,'ref :sd.installation.annuel
Frais de mise en service d\'un serveur dédié pour un paiement annuel
',1.00000000,1.19600000,1,0,19.600,0.000,'',0.000,'',1.00000000,0.20000000,0.00000000,0.00000000,1.20000000,0,NULL,NULL,0,NULL,0),(47,17,NULL,NULL,NULL,'ref :bk.full250.creation
Création du compte backup ftp 250Mo.
',1.00000000,1.19600000,1,0,19.600,0.000,'',0.000,'',1.00000000,0.20000000,0.00000000,0.00000000,1.20000000,0,NULL,NULL,0,NULL,0),(48,17,NULL,NULL,NULL,'ref :bk.full250.12
Redevance pour un backup de 250Mo sur 12 mois
',25.00000000,29.90000000,1,0,19.600,0.000,'',0.000,'',25.00000000,4.90000000,0.00000000,0.00000000,29.90000000,0,NULL,NULL,0,NULL,0),(49,18,NULL,NULL,NULL,'ref :bk.full250.creation
Création du compte backup ftp 250Mo.
',1.00000000,1.19600000,1,0,19.600,0.000,'',0.000,'',1.00000000,0.20000000,0.00000000,0.00000000,1.20000000,0,NULL,NULL,0,NULL,0),(50,18,NULL,NULL,NULL,'ref :bk.full250.12
Redevance pour un backup de 250Mo sur 12 mois
',25.00000000,29.90000000,1,0,19.600,0.000,'',0.000,'',25.00000000,4.90000000,0.00000000,0.00000000,29.90000000,0,NULL,NULL,0,NULL,0),(51,19,NULL,NULL,NULL,'ref :bk.full250.creation
Création du compte backup ftp 250Mo.
',1.00000000,1.19600000,1,0,19.600,0.000,'0',0.000,'0',1.00000000,0.20000000,0.00000000,0.00000000,1.20000000,0,NULL,NULL,0,NULL,0),(52,19,NULL,NULL,NULL,'ref :bk.full250.12
Redevance pour un backup de 250Mo sur 12 mois
',25.00000000,29.90000000,1,0,19.600,0.000,'0',0.000,'0',25.00000000,4.90000000,0.00000000,0.00000000,29.90000000,0,NULL,NULL,0,NULL,0); +/*!40000 ALTER TABLE `llx_facture_fourn_det` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_facture_fourn_extrafields` +-- + +DROP TABLE IF EXISTS `llx_facture_fourn_extrafields`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_facture_fourn_extrafields` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_object` int(11) NOT NULL, + `import_key` varchar(14) DEFAULT NULL, + PRIMARY KEY (`rowid`), + KEY `idx_facture_fourn_extrafields` (`fk_object`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_facture_fourn_extrafields` +-- + +LOCK TABLES `llx_facture_fourn_extrafields` WRITE; +/*!40000 ALTER TABLE `llx_facture_fourn_extrafields` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_facture_fourn_extrafields` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_facture_rec` +-- + +DROP TABLE IF EXISTS `llx_facture_rec`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_facture_rec` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `titre` varchar(50) NOT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + `fk_soc` int(11) NOT NULL, + `datec` datetime DEFAULT NULL, + `amount` double(24,8) NOT NULL DEFAULT '0.00000000', + `remise` double DEFAULT '0', + `remise_percent` double DEFAULT '0', + `remise_absolue` double DEFAULT '0', + `tva` double(24,8) DEFAULT '0.00000000', + `localtax1` double(24,8) DEFAULT '0.00000000', + `localtax2` double(24,8) DEFAULT '0.00000000', + `total` double(24,8) DEFAULT '0.00000000', + `total_ttc` double(24,8) DEFAULT '0.00000000', + `fk_user_author` int(11) DEFAULT NULL, + `fk_projet` int(11) DEFAULT NULL, + `fk_cond_reglement` int(11) DEFAULT '0', + `fk_mode_reglement` int(11) DEFAULT '0', + `date_lim_reglement` date DEFAULT NULL, + `note_private` text, + `note_public` text, + `last_gen` varchar(7) DEFAULT NULL, + `unit_frequency` varchar(2) DEFAULT 'd', + `date_when` datetime DEFAULT NULL, + `date_last_gen` datetime DEFAULT NULL, + `nb_gen_done` int(11) DEFAULT NULL, + `nb_gen_max` int(11) DEFAULT NULL, + `frequency` int(11) DEFAULT NULL, + `usenewprice` int(11) DEFAULT '0', + PRIMARY KEY (`rowid`), + UNIQUE KEY `idx_facture_rec_uk_titre` (`titre`,`entity`), + KEY `idx_facture_rec_fk_soc` (`fk_soc`), + KEY `idx_facture_rec_fk_user_author` (`fk_user_author`), + KEY `idx_facture_rec_fk_projet` (`fk_projet`), + CONSTRAINT `fk_facture_rec_fk_projet` FOREIGN KEY (`fk_projet`) REFERENCES `llx_projet` (`rowid`), + CONSTRAINT `fk_facture_rec_fk_soc` FOREIGN KEY (`fk_soc`) REFERENCES `llx_societe` (`rowid`), + CONSTRAINT `fk_facture_rec_fk_user_author` FOREIGN KEY (`fk_user_author`) REFERENCES `llx_user` (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_facture_rec` +-- + +LOCK TABLES `llx_facture_rec` WRITE; +/*!40000 ALTER TABLE `llx_facture_rec` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_facture_rec` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_facturedet` +-- + +DROP TABLE IF EXISTS `llx_facturedet`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_facturedet` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_facture` int(11) NOT NULL, + `fk_parent_line` int(11) DEFAULT NULL, + `fk_product` int(11) DEFAULT NULL, + `label` varchar(255) DEFAULT NULL, + `description` text, + `tva_tx` double(6,3) DEFAULT NULL, + `localtax1_tx` double(6,3) DEFAULT '0.000', + `localtax1_type` varchar(10) NOT NULL DEFAULT '0', + `localtax2_tx` double(6,3) DEFAULT '0.000', + `localtax2_type` varchar(10) NOT NULL DEFAULT '0', + `qty` double DEFAULT NULL, + `remise_percent` double DEFAULT '0', + `remise` double DEFAULT '0', + `fk_remise_except` int(11) DEFAULT NULL, + `subprice` double(24,8) DEFAULT NULL, + `price` double(24,8) DEFAULT NULL, + `total_ht` double(24,8) DEFAULT NULL, + `total_tva` double(24,8) DEFAULT NULL, + `total_localtax1` double(24,8) DEFAULT '0.00000000', + `total_localtax2` double(24,8) DEFAULT '0.00000000', + `total_ttc` double(24,8) DEFAULT NULL, + `product_type` int(11) DEFAULT '0', + `date_start` datetime DEFAULT NULL, + `date_end` datetime DEFAULT NULL, + `info_bits` int(11) DEFAULT '0', + `fk_product_fournisseur_price` int(11) DEFAULT NULL, + `buy_price_ht` double(24,8) DEFAULT '0.00000000', + `fk_code_ventilation` int(11) NOT NULL DEFAULT '0', + `special_code` int(10) unsigned DEFAULT '0', + `rang` int(11) DEFAULT '0', + `import_key` varchar(14) DEFAULT NULL, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_fk_remise_except` (`fk_remise_except`,`fk_facture`), + KEY `idx_facturedet_fk_facture` (`fk_facture`), + KEY `idx_facturedet_fk_product` (`fk_product`), + CONSTRAINT `fk_facturedet_fk_facture` FOREIGN KEY (`fk_facture`) REFERENCES `llx_facture` (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=1025 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_facturedet` +-- + +LOCK TABLES `llx_facturedet` WRITE; +/*!40000 ALTER TABLE `llx_facturedet` DISABLE KEYS */; +INSERT INTO `llx_facturedet` VALUES (1,1,NULL,4,NULL,'',0.000,0.000,'',0.000,'',2,0,0,NULL,0.01000000,0.01000000,0.02000000,0.00000000,0.00000000,0.00000000,0.02000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL),(3,2,NULL,3,NULL,'Service S1',0.000,0.000,'',0.000,'',1,10,4,NULL,40.00000000,36.00000000,36.00000000,0.00000000,0.00000000,0.00000000,36.00000000,1,'2010-07-10 00:00:00',NULL,0,NULL,0.00000000,0,0,2,NULL),(4,2,NULL,NULL,NULL,'Abonnement annuel assurance',1.000,0.000,'',0.000,'',1,0,0,NULL,10.00000000,10.00000000,10.00000000,0.10000000,0.00000000,0.00000000,10.10000000,0,'2010-07-10 00:00:00','2011-07-10 00:00:00',0,NULL,0.00000000,0,0,3,NULL),(11,3,NULL,4,NULL,'afsdfsdfsdfsdf',0.000,0.000,'',0.000,'',1,0,0,NULL,5.00000000,5.00000000,5.00000000,0.00000000,0.00000000,0.00000000,5.00000000,0,NULL,NULL,0,NULL,0.00000000,0,0,0,NULL),(12,3,NULL,NULL,NULL,'dfdfd',0.000,0.000,'',0.000,'',1,0,0,NULL,10.00000000,10.00000000,10.00000000,0.00000000,0.00000000,0.00000000,10.00000000,0,NULL,NULL,0,NULL,0.00000000,0,0,2,NULL),(13,5,NULL,4,NULL,'Decapsuleur',12.500,0.000,'',0.000,'',1,0,0,NULL,5.00000000,5.00000000,5.00000000,0.63000000,0.00000000,0.00000000,5.63000000,0,NULL,NULL,0,NULL,0.00000000,0,0,0,NULL),(14,6,NULL,4,NULL,'Decapsuleur',19.600,0.000,'',0.000,'',1,0,0,NULL,5.00000000,5.00000000,5.00000000,0.98000000,0.00000000,0.00000000,5.98000000,0,NULL,NULL,0,NULL,0.00000000,0,0,0,NULL),(21,8,NULL,NULL,NULL,'dddd',0.000,0.000,'',0.000,'',1,0,0,NULL,10.00000000,10.00000000,10.00000000,0.00000000,0.00000000,0.00000000,10.00000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL),(22,9,NULL,NULL,NULL,'ggg',19.600,0.000,'',0.000,'',1,0,0,NULL,10.00000000,10.00000000,10.00000000,1.96000000,0.00000000,0.00000000,11.96000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL),(23,10,NULL,4,NULL,'',12.500,0.000,'',0.000,'',1,0,0,NULL,-5.00000000,NULL,-5.00000000,-0.63000000,0.00000000,0.00000000,-5.63000000,0,NULL,NULL,0,NULL,12.00000000,0,0,1,NULL),(24,10,NULL,1,NULL,'A beatifull pink dress\r\nlkm',0.000,0.000,'',0.000,'',1,0,0,NULL,-6.00000000,NULL,-6.00000000,0.00000000,0.00000000,0.00000000,-6.00000000,0,NULL,NULL,0,0,0.00000000,0,0,2,NULL),(25,11,NULL,4,NULL,'jljk',12.500,0.000,'',0.000,'',1,0,0,NULL,5.00000000,NULL,5.00000000,0.63000000,0.00000000,0.00000000,5.63000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL),(26,12,NULL,1,NULL,'A beatifull pink dress\r\nhfghf',0.000,0.000,'',0.000,'',1,0,0,NULL,-5.00000000,NULL,-5.00000000,0.00000000,0.00000000,0.00000000,-5.00000000,0,NULL,NULL,0,0,0.00000000,0,0,1,NULL),(27,13,NULL,NULL,NULL,'gdfgdf',19.600,0.000,'',0.000,'',1.4,0,0,NULL,10.00000000,NULL,14.00000000,2.74000000,0.00000000,0.00000000,16.74000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL),(137,33,NULL,NULL,NULL,'Desc',10.000,0.000,'',0.000,'',1,0,0,NULL,1.24000000,NULL,1.24000000,0.12000000,0.00000000,0.00000000,1.36000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL),(138,33,NULL,NULL,NULL,'Desc',10.000,0.000,'',0.000,'',1,0,0,NULL,1.24000000,NULL,1.24000000,0.12000000,0.00000000,0.00000000,1.36000000,0,NULL,NULL,0,NULL,0.00000000,0,0,2,NULL),(256,55,NULL,NULL,NULL,'Desc',10.000,0.000,'',0.000,'',1,0,0,NULL,1.24000000,NULL,1.24000000,0.12000000,0.00000000,0.00000000,1.36000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL),(257,55,NULL,NULL,NULL,'Desc',10.000,0.000,'',0.000,'',1,0,0,NULL,1.24000000,NULL,1.24000000,0.12000000,0.00000000,0.00000000,1.36000000,0,NULL,NULL,0,NULL,0.00000000,0,0,2,NULL),(258,56,NULL,NULL,NULL,'Desc',10.000,0.000,'',0.000,'',1,0,0,NULL,1.24000000,NULL,1.24000000,0.12000000,0.00000000,0.00000000,1.36000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL),(259,56,NULL,NULL,NULL,'Desc',10.000,0.000,'',0.000,'',1,0,0,NULL,1.24000000,NULL,1.24000000,0.12000000,0.00000000,0.00000000,1.36000000,0,NULL,NULL,0,NULL,0.00000000,0,0,2,NULL),(377,78,NULL,NULL,NULL,'Desc',10.000,0.000,'',0.000,'',1,0,0,NULL,1.24000000,NULL,1.24000000,0.12000000,0.00000000,0.00000000,1.36000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL),(378,78,NULL,NULL,NULL,'Desc',10.000,0.000,'',0.000,'',1,0,0,NULL,1.24000000,NULL,1.24000000,0.12000000,0.00000000,0.00000000,1.36000000,0,NULL,NULL,0,NULL,0.00000000,0,0,2,NULL),(385,79,NULL,NULL,NULL,'hfghfg',10.000,1.400,'',-15.000,'',1,0,0,NULL,10.00000000,NULL,10.00000000,1.00000000,0.14000000,-1.50000000,9.64000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL),(386,79,NULL,NULL,NULL,'gdfg',15.000,0.000,'',0.000,'',1,0,0,NULL,10.00000000,NULL,10.00000000,1.50000000,0.00000000,0.00000000,11.50000000,0,NULL,NULL,0,NULL,0.00000000,0,0,2,NULL),(387,79,NULL,NULL,NULL,'fdsf',21.000,5.200,'',-15.000,'',1,0,0,NULL,10.00000000,NULL,10.00000000,2.10000000,0.52000000,-1.50000000,11.12000000,0,NULL,NULL,0,NULL,0.00000000,0,0,3,NULL),(388,79,NULL,NULL,NULL,'ghfgh',15.000,0.000,'',0.000,'',1,0,0,NULL,10.00000000,NULL,10.00000000,1.50000000,0.00000000,0.00000000,11.50000000,0,NULL,NULL,0,NULL,0.00000000,0,0,4,NULL),(389,79,NULL,NULL,NULL,'ghfgh',15.000,0.000,'',0.000,'',1,0,0,NULL,10.00000000,NULL,10.00000000,1.50000000,0.00000000,0.00000000,11.50000000,0,NULL,NULL,0,NULL,0.00000000,0,0,5,NULL),(618,121,NULL,NULL,NULL,'Desc',10.000,0.000,'',0.000,'',1,0,0,NULL,1.24000000,NULL,1.24000000,0.12000000,0.00000000,0.00000000,1.36000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL),(619,121,NULL,NULL,NULL,'Desc',10.000,0.000,'',0.000,'',1,0,0,NULL,1.24000000,NULL,1.24000000,0.12000000,0.00000000,0.00000000,1.36000000,0,NULL,NULL,0,NULL,0.00000000,0,0,2,NULL),(620,122,NULL,NULL,NULL,'Desc',10.000,0.000,'',0.000,'',1,0,0,NULL,1.24000000,NULL,1.24000000,0.12000000,0.00000000,0.00000000,1.36000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL),(621,122,NULL,NULL,NULL,'Desc',10.000,0.000,'',0.000,'',1,0,0,NULL,1.24000000,NULL,1.24000000,0.12000000,0.00000000,0.00000000,1.36000000,0,NULL,NULL,0,NULL,0.00000000,0,0,2,NULL),(749,146,NULL,NULL,NULL,'Desc',10.000,0.000,'',0.000,'',1,0,0,NULL,1.24000000,NULL,1.24000000,0.12000000,0.00000000,0.00000000,1.36000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL),(750,146,NULL,NULL,NULL,'Desc',10.000,0.000,'',0.000,'',1,0,0,NULL,1.24000000,NULL,1.24000000,0.12000000,0.00000000,0.00000000,1.36000000,0,NULL,NULL,0,NULL,0.00000000,0,0,2,NULL),(751,147,NULL,NULL,NULL,'Desc',10.000,0.000,'',0.000,'',1,0,0,NULL,1.24000000,NULL,1.24000000,0.12000000,0.00000000,0.00000000,1.36000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL),(752,147,NULL,NULL,NULL,'Desc',10.000,0.000,'',0.000,'',1,0,0,NULL,1.24000000,NULL,1.24000000,0.12000000,0.00000000,0.00000000,1.36000000,0,NULL,NULL,0,NULL,0.00000000,0,0,2,NULL),(753,13,NULL,2,NULL,'(Pays d\'origine: Albanie)',0.000,0.000,'',0.000,'',1,0,0,NULL,0.00000000,NULL,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,0,NULL,NULL,0,0,0.00000000,0,0,2,NULL),(754,148,NULL,11,NULL,'hfghf',0.000,0.000,'',0.000,'',1,0,0,NULL,0.00000000,NULL,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL),(755,148,NULL,4,NULL,'Decapsuleur',12.500,0.000,'',0.000,'',1,0,0,NULL,5.00000000,NULL,5.00000000,0.63000000,0.00000000,0.00000000,5.63000000,0,NULL,NULL,0,NULL,0.00000000,0,0,2,NULL),(756,149,NULL,5,NULL,'aaaa',19.600,0.000,'',0.000,'',1,0,0,NULL,10.00000000,NULL,10.00000000,1.96000000,0.00000000,0.00000000,11.96000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL),(757,150,NULL,2,NULL,'Product P1',12.500,0.000,'',0.000,'',1,0,0,NULL,0.00000000,NULL,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL),(758,151,NULL,2,NULL,'Product P1',12.500,0.000,'',0.000,'',1,0,0,NULL,0.00000000,NULL,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL),(759,152,NULL,NULL,NULL,'gdfgfd',19.600,0.000,'',0.000,'',1,0,0,NULL,10.00000000,NULL,10.00000000,1.96000000,0.00000000,0.00000000,11.96000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL),(760,153,NULL,NULL,NULL,'gfdgdf',0.000,0.000,'',0.000,'',1,0,0,NULL,10.00000000,NULL,10.00000000,0.00000000,0.00000000,0.00000000,10.00000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL),(761,154,NULL,NULL,NULL,'',0.000,0.000,'',0.000,'',1,0,0,NULL,10.00000000,NULL,10.00000000,0.00000000,0.00000000,0.00000000,10.00000000,0,NULL,NULL,0,NULL,0.00000000,0,0,0,NULL),(762,155,NULL,NULL,NULL,'',0.000,0.000,'',0.000,'',1,0,0,NULL,10.00000000,NULL,10.00000000,0.00000000,0.00000000,0.00000000,10.00000000,0,NULL,NULL,0,NULL,0.00000000,0,0,0,NULL),(763,156,NULL,NULL,NULL,'gfdgdf',0.000,0.000,'',0.000,'',1,0,0,NULL,10.00000000,NULL,10.00000000,0.00000000,0.00000000,0.00000000,10.00000000,0,NULL,NULL,0,NULL,0.00000000,0,0,0,NULL),(764,157,NULL,NULL,NULL,'gfdg',19.600,0.000,'',0.000,'',1,0,0,NULL,10.00000000,NULL,10.00000000,1.96000000,0.00000000,0.00000000,11.96000000,0,NULL,NULL,0,NULL,0.00000000,0,0,0,NULL),(765,157,NULL,4,NULL,'Decapsuleur',12.500,0.000,'',0.000,'',1,0,0,NULL,5.00000000,NULL,5.00000000,0.63000000,0.00000000,0.00000000,5.63000000,0,NULL,NULL,0,NULL,0.00000000,0,0,0,NULL),(766,157,NULL,4,NULL,'eeee',12.500,0.000,'',0.000,'',1,0,0,NULL,5.00000000,NULL,5.00000000,0.63000000,0.00000000,0.00000000,5.63000000,0,NULL,NULL,0,NULL,0.00000000,0,0,0,NULL),(768,32,NULL,NULL,NULL,'mlml',18.000,0.000,'',0.000,'',1,0,0,NULL,100.00000000,NULL,100.00000000,18.00000000,0.00000000,0.00000000,118.00000000,0,NULL,NULL,0,NULL,0.00000000,0,0,3,NULL),(769,32,NULL,NULL,NULL,'mlkml',18.000,0.000,'',0.000,'',1,0,0,NULL,400.00000000,NULL,400.00000000,72.00000000,0.00000000,0.00000000,472.00000000,0,NULL,NULL,0,NULL,0.00000000,0,0,4,NULL),(770,158,NULL,NULL,NULL,'Adhésion/cotisation 2013',0.000,0.000,'',0.000,'',1,0,0,NULL,10.00000000,NULL,10.00000000,0.00000000,0.00000000,0.00000000,10.00000000,1,'2013-07-18 00:00:00','2014-07-17 00:00:00',0,NULL,0.00000000,0,0,1,NULL),(771,159,NULL,NULL,NULL,'Adhésion/cotisation 2014',0.000,0.000,'',0.000,'',1,0,0,NULL,11.00000000,NULL,11.00000000,0.00000000,0.00000000,0.00000000,11.00000000,1,'2014-07-18 00:00:00','2015-07-17 00:00:00',0,NULL,0.00000000,0,0,1,NULL),(772,160,NULL,NULL,NULL,'Adhésion/cotisation 2015',12.500,0.000,'',0.000,'',1,0,0,NULL,8.88889000,NULL,8.89000000,1.11000000,0.00000000,0.00000000,10.00000000,1,'2015-07-18 00:00:00','2016-07-17 00:00:00',0,NULL,0.00000000,0,0,1,NULL),(773,161,NULL,NULL,NULL,'Adhésion/cotisation 2016',12.500,0.000,'',0.000,'',1,0,0,NULL,17.77778000,NULL,17.78000000,2.22000000,0.00000000,0.00000000,20.00000000,1,'2016-07-18 00:00:00','2017-07-17 00:00:00',0,NULL,0.00000000,0,0,1,NULL),(774,162,NULL,NULL,NULL,'fdsfs',0.000,0.000,'',0.000,'',1,0,0,NULL,10.00000000,NULL,10.00000000,0.00000000,0.00000000,0.00000000,10.00000000,0,NULL,NULL,0,NULL,0.00000000,0,0,3,NULL),(775,162,NULL,NULL,NULL,'fsdfsf',0.000,0.000,'',0.000,'',1,0,0,1,-5.00000000,NULL,-5.00000000,0.00000000,0.00000000,0.00000000,-5.00000000,0,NULL,NULL,2,NULL,0.00000000,0,0,1,NULL),(776,32,NULL,NULL,NULL,'fsdfsdfds',0.000,0.000,'0',0.000,'0',1,0,0,NULL,10.00000000,NULL,10.00000000,0.00000000,0.00000000,0.00000000,10.00000000,0,NULL,NULL,0,NULL,0.00000000,0,0,5,NULL),(777,32,NULL,NULL,NULL,'fsdfsdfds',0.000,0.000,'0',0.000,'0',1,0,0,NULL,10.00000000,NULL,10.00000000,0.00000000,0.00000000,0.00000000,10.00000000,0,NULL,NULL,0,NULL,0.00000000,0,0,6,NULL),(779,32,NULL,NULL,NULL,'fsdfds',0.000,0.000,'0',0.000,'0',0,0,0,NULL,0.00000000,NULL,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,9,NULL,NULL,0,0,0.00000000,0,0,2,NULL),(780,32,NULL,NULL,NULL,'ffsdf',0.000,0.000,'0',0.000,'0',0,0,0,NULL,0.00000000,NULL,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,9,NULL,NULL,0,NULL,0.00000000,0,1790,1,NULL),(781,162,NULL,NULL,NULL,'hh',0.000,0.000,'0',0.000,'0',0,0,0,NULL,0.00000000,NULL,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,9,NULL,NULL,0,NULL,0.00000000,0,1790,2,NULL),(899,184,NULL,NULL,NULL,'Desc',10.000,0.000,'0',0.000,'0',1,0,0,NULL,1.24000000,NULL,1.24000000,0.12000000,0.00000000,0.00000000,1.36000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL),(900,184,NULL,NULL,NULL,'Desc',10.000,0.000,'0',0.000,'0',1,0,0,NULL,1.24000000,NULL,1.24000000,0.12000000,0.00000000,0.00000000,1.36000000,0,NULL,NULL,0,NULL,0.00000000,0,0,2,NULL),(901,185,NULL,NULL,NULL,'Desc',10.000,0.000,'0',0.000,'0',1,0,0,NULL,1.24000000,NULL,1.24000000,0.12000000,0.00000000,0.00000000,1.36000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL),(902,185,NULL,NULL,NULL,'Desc',10.000,0.000,'0',0.000,'0',1,0,0,NULL,1.24000000,NULL,1.24000000,0.12000000,0.00000000,0.00000000,1.36000000,0,NULL,NULL,0,NULL,0.00000000,0,0,2,NULL),(903,186,NULL,NULL,NULL,'Desc',10.000,0.000,'0',0.000,'0',1,0,0,NULL,1.24000000,NULL,1.24000000,0.12000000,0.00000000,0.00000000,1.36000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL),(904,186,NULL,NULL,NULL,'Desc',10.000,0.000,'0',0.000,'0',1,0,0,NULL,1.24000000,NULL,1.24000000,0.12000000,0.00000000,0.00000000,1.36000000,0,NULL,NULL,0,NULL,0.00000000,0,0,2,NULL),(905,187,NULL,NULL,NULL,'Desc',10.000,0.000,'0',0.000,'0',1,0,0,NULL,1.24000000,NULL,1.24000000,0.12000000,0.00000000,0.00000000,1.36000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL),(906,187,NULL,NULL,NULL,'Desc',10.000,0.000,'0',0.000,'0',1,0,0,NULL,1.24000000,NULL,1.24000000,0.12000000,0.00000000,0.00000000,1.36000000,0,NULL,NULL,0,NULL,0.00000000,0,0,2,NULL),(1014,206,NULL,NULL,NULL,'Desc',10.000,0.000,'0',0.000,'0',1,0,0,NULL,1.24000000,NULL,1.24000000,0.12000000,0.00000000,0.00000000,1.36000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL),(1015,206,NULL,NULL,NULL,'Desc',10.000,0.000,'0',0.000,'0',1,0,0,NULL,1.24000000,NULL,1.24000000,0.12000000,0.00000000,0.00000000,1.36000000,0,NULL,NULL,0,NULL,0.00000000,0,0,2,NULL),(1016,207,NULL,NULL,NULL,'Desc',10.000,0.000,'0',0.000,'0',1,0,0,NULL,1.24000000,NULL,1.24000000,0.12000000,0.00000000,0.00000000,1.36000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL),(1017,207,NULL,NULL,NULL,'Desc',10.000,0.000,'0',0.000,'0',1,0,0,NULL,1.24000000,NULL,1.24000000,0.12000000,0.00000000,0.00000000,1.36000000,0,NULL,NULL,0,NULL,0.00000000,0,0,2,NULL),(1018,208,NULL,NULL,NULL,'ggdfg',12.500,0.000,'0',0.000,'0',1,0,0,NULL,10.00000000,NULL,10.00000000,1.25000000,0.00000000,0.00000000,11.25000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL),(1019,209,NULL,NULL,NULL,'hfghgf',12.500,0.000,'0',0.000,'0',1,0,0,2,-10.00000000,NULL,-10.00000000,-1.25000000,0.00000000,0.00000000,-11.25000000,0,NULL,NULL,2,NULL,0.00000000,0,0,-1,NULL),(1020,209,NULL,NULL,NULL,'fsdfsd',0.000,0.000,'0',0.000,'0',1,0,0,NULL,10.00000000,NULL,10.00000000,0.00000000,0.00000000,0.00000000,10.00000000,0,NULL,NULL,0,NULL,0.00000000,0,0,0,NULL),(1021,209,NULL,NULL,NULL,'hfg',0.000,0.000,'0',0.000,'0',1,0,0,NULL,10.00000000,NULL,10.00000000,0.00000000,0.00000000,0.00000000,10.00000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL),(1022,210,NULL,NULL,NULL,'Adhésion/cotisation 2011',0.000,0.000,'0',0.000,'0',1,0,0,NULL,10.00000000,NULL,10.00000000,0.00000000,0.00000000,0.00000000,10.00000000,1,'2011-07-10 00:00:00','2012-07-09 00:00:00',0,NULL,0.00000000,0,0,1,NULL),(1023,211,NULL,NULL,NULL,'gfdg',6.000,0.000,'0',0.000,'0',1,0,0,NULL,10.00000000,NULL,10.00000000,0.60000000,0.00000000,0.00000000,10.60000000,0,NULL,NULL,0,0,0.00000000,0,0,1,NULL),(1024,211,NULL,1,NULL,'A beatifull pink dress\nghkhgj',0.000,0.000,'0',0.000,'0',1,0,0,NULL,100.00000000,NULL,100.00000000,0.00000000,0.00000000,0.00000000,100.00000000,0,NULL,NULL,0,NULL,0.00000000,0,0,2,NULL); +/*!40000 ALTER TABLE `llx_facturedet` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_facturedet_extrafields` +-- + +DROP TABLE IF EXISTS `llx_facturedet_extrafields`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_facturedet_extrafields` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_object` int(11) NOT NULL, + `import_key` varchar(14) DEFAULT NULL, + PRIMARY KEY (`rowid`), + KEY `idx_facturedet_extrafields` (`fk_object`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_facturedet_extrafields` +-- + +LOCK TABLES `llx_facturedet_extrafields` WRITE; +/*!40000 ALTER TABLE `llx_facturedet_extrafields` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_facturedet_extrafields` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_facturedet_rec` +-- + +DROP TABLE IF EXISTS `llx_facturedet_rec`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_facturedet_rec` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_facture` int(11) NOT NULL, + `fk_parent_line` int(11) DEFAULT NULL, + `fk_product` int(11) DEFAULT NULL, + `product_type` int(11) DEFAULT '0', + `label` varchar(255) DEFAULT NULL, + `description` text, + `tva_tx` double(6,3) DEFAULT NULL, + `localtax1_tx` double(6,3) DEFAULT '0.000', + `localtax1_type` varchar(10) NOT NULL DEFAULT '0', + `localtax2_tx` double(6,3) DEFAULT '0.000', + `localtax2_type` varchar(10) NOT NULL DEFAULT '0', + `qty` double DEFAULT NULL, + `remise_percent` double DEFAULT '0', + `remise` double DEFAULT '0', + `subprice` double(24,8) DEFAULT NULL, + `price` double(24,8) DEFAULT NULL, + `total_ht` double(24,8) DEFAULT NULL, + `total_tva` double(24,8) DEFAULT NULL, + `total_localtax1` double(24,8) DEFAULT '0.00000000', + `total_localtax2` double(24,8) DEFAULT '0.00000000', + `total_ttc` double(24,8) DEFAULT NULL, + `info_bits` int(11) DEFAULT '0', + `special_code` int(10) unsigned DEFAULT '0', + `rang` int(11) DEFAULT '0', + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_facturedet_rec` +-- + +LOCK TABLES `llx_facturedet_rec` WRITE; +/*!40000 ALTER TABLE `llx_facturedet_rec` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_facturedet_rec` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_fichinter` +-- + +DROP TABLE IF EXISTS `llx_fichinter`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_fichinter` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_soc` int(11) NOT NULL, + `fk_projet` int(11) DEFAULT '0', + `fk_contrat` int(11) DEFAULT '0', + `ref` varchar(30) NOT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `datec` datetime DEFAULT NULL, + `date_valid` datetime DEFAULT NULL, + `datei` date DEFAULT NULL, + `fk_user_author` int(11) DEFAULT NULL, + `fk_user_valid` int(11) DEFAULT NULL, + `fk_statut` smallint(6) DEFAULT '0', + `duree` double DEFAULT NULL, + `description` text, + `note_private` text, + `note_public` text, + `model_pdf` varchar(255) DEFAULT NULL, + `extraparams` varchar(255) DEFAULT NULL, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_fichinter_ref` (`ref`,`entity`), + KEY `idx_fichinter_fk_soc` (`fk_soc`), + CONSTRAINT `fk_fichinter_fk_soc` FOREIGN KEY (`fk_soc`) REFERENCES `llx_societe` (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_fichinter` +-- + +LOCK TABLES `llx_fichinter` WRITE; +/*!40000 ALTER TABLE `llx_fichinter` DISABLE KEYS */; +INSERT INTO `llx_fichinter` VALUES (1,2,1,0,'FI1007-0001',1,'2010-07-08 23:51:54','2010-07-09 01:42:41','2010-07-09 01:51:54',NULL,1,1,1,51000,NULL,NULL,NULL,'soleil',NULL),(2,1,NULL,0,'FI1007-0002',1,'2012-12-08 13:11:07','2010-07-11 16:07:51',NULL,NULL,1,NULL,0,3600,'ferfrefeferf',NULL,NULL,'soleil',NULL); +/*!40000 ALTER TABLE `llx_fichinter` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_fichinter_extrafields` +-- + +DROP TABLE IF EXISTS `llx_fichinter_extrafields`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_fichinter_extrafields` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_object` int(11) NOT NULL, + `import_key` varchar(14) DEFAULT NULL, + PRIMARY KEY (`rowid`), + KEY `idx_ficheinter_extrafields` (`fk_object`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_fichinter_extrafields` +-- + +LOCK TABLES `llx_fichinter_extrafields` WRITE; +/*!40000 ALTER TABLE `llx_fichinter_extrafields` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_fichinter_extrafields` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_fichinterdet` +-- + +DROP TABLE IF EXISTS `llx_fichinterdet`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_fichinterdet` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_fichinter` int(11) DEFAULT NULL, + `fk_parent_line` int(11) DEFAULT NULL, + `date` datetime DEFAULT NULL, + `description` text, + `duree` int(11) DEFAULT NULL, + `rang` int(11) DEFAULT '0', + PRIMARY KEY (`rowid`), + KEY `idx_fichinterdet_fk_fichinter` (`fk_fichinter`), + CONSTRAINT `fk_fichinterdet_fk_fichinter` FOREIGN KEY (`fk_fichinter`) REFERENCES `llx_fichinter` (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_fichinterdet` +-- + +LOCK TABLES `llx_fichinterdet` WRITE; +/*!40000 ALTER TABLE `llx_fichinterdet` DISABLE KEYS */; +INSERT INTO `llx_fichinterdet` VALUES (1,1,NULL,'2010-07-07 04:00:00','Intervention sur site',3600,0),(2,1,NULL,'2010-07-08 11:00:00','Autre',47400,0),(3,2,NULL,'2010-07-11 05:00:00','Pres',3600,0); +/*!40000 ALTER TABLE `llx_fichinterdet` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_filemanager_roots` +-- + +DROP TABLE IF EXISTS `llx_filemanager_roots`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_filemanager_roots` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `datec` datetime DEFAULT NULL, + `rootlabel` varchar(64) DEFAULT NULL, + `rootpath` text, + `note` text, + `position` int(11) DEFAULT NULL, + `entity` int(11) DEFAULT NULL, + PRIMARY KEY (`rowid`), + UNIQUE KEY `idx_filemanager_root` (`rootlabel`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_filemanager_roots` +-- + +LOCK TABLES `llx_filemanager_roots` WRITE; +/*!40000 ALTER TABLE `llx_filemanager_roots` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_filemanager_roots` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_holiday` +-- + +DROP TABLE IF EXISTS `llx_holiday`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_holiday` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_user` int(11) NOT NULL, + `date_create` datetime NOT NULL, + `description` varchar(255) NOT NULL, + `date_debut` date NOT NULL, + `date_fin` date NOT NULL, + `halfday` int(11) DEFAULT '0', + `statut` int(11) NOT NULL DEFAULT '1', + `fk_validator` int(11) NOT NULL, + `date_valid` datetime DEFAULT NULL, + `fk_user_valid` int(11) DEFAULT NULL, + `date_refuse` datetime DEFAULT NULL, + `fk_user_refuse` int(11) DEFAULT NULL, + `date_cancel` datetime DEFAULT NULL, + `fk_user_cancel` int(11) DEFAULT NULL, + `detail_refuse` varchar(250) DEFAULT NULL, + `note_private` text, + `note_public` text, + `note` text, + PRIMARY KEY (`rowid`), + KEY `idx_holiday_fk_user` (`fk_user`), + KEY `idx_holiday_date_debut` (`date_debut`), + KEY `idx_holiday_date_fin` (`date_fin`) +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_holiday` +-- + +LOCK TABLES `llx_holiday` WRITE; +/*!40000 ALTER TABLE `llx_holiday` DISABLE KEYS */; +INSERT INTO `llx_holiday` VALUES (1,1,'2013-02-17 19:06:35','gdf','2013-02-10','2013-02-11',0,3,1,'2013-02-17 19:06:57',1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); +/*!40000 ALTER TABLE `llx_holiday` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_holiday_config` +-- + +DROP TABLE IF EXISTS `llx_holiday_config`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_holiday_config` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `name` varchar(255) NOT NULL, + `value` text, + PRIMARY KEY (`rowid`), + UNIQUE KEY `name` (`name`) +) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_holiday_config` +-- + +LOCK TABLES `llx_holiday_config` WRITE; +/*!40000 ALTER TABLE `llx_holiday_config` DISABLE KEYS */; +INSERT INTO `llx_holiday_config` VALUES (1,'userGroup','1'),(2,'lastUpdate','20130301231231'),(3,'nbUser',''),(4,'delayForRequest','31'),(5,'AlertValidatorDelay','0'),(6,'AlertValidatorSolde','0'),(7,'nbHolidayDeducted','1'),(8,'nbHolidayEveryMonth','2.08334'); +/*!40000 ALTER TABLE `llx_holiday_config` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_holiday_events` +-- + +DROP TABLE IF EXISTS `llx_holiday_events`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_holiday_events` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `entity` int(11) NOT NULL DEFAULT '1', + `name` varchar(255) NOT NULL, + `value` text NOT NULL, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_holiday_name` (`name`,`entity`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_holiday_events` +-- + +LOCK TABLES `llx_holiday_events` WRITE; +/*!40000 ALTER TABLE `llx_holiday_events` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_holiday_events` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_holiday_logs` +-- + +DROP TABLE IF EXISTS `llx_holiday_logs`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_holiday_logs` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `date_action` datetime NOT NULL, + `fk_user_action` int(11) NOT NULL, + `fk_user_update` int(11) NOT NULL, + `type_action` varchar(255) NOT NULL, + `prev_solde` varchar(255) NOT NULL, + `new_solde` varchar(255) NOT NULL, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=145 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_holiday_logs` +-- + +LOCK TABLES `llx_holiday_logs` WRITE; +/*!40000 ALTER TABLE `llx_holiday_logs` DISABLE KEYS */; +INSERT INTO `llx_holiday_logs` VALUES (1,'2013-01-17 21:03:15',1,1,'Event : Mise à jour mensuelle','0.00','2.08'),(2,'2013-01-17 21:03:15',1,2,'Event : Mise à jour mensuelle','0.00','2.08'),(3,'2013-01-17 21:03:15',1,3,'Event : Mise à jour mensuelle','0.00','2.08'),(4,'2013-02-01 09:53:26',1,1,'Event : Mise à jour mensuelle','2.08','4.16'),(5,'2013-02-01 09:53:26',1,2,'Event : Mise à jour mensuelle','2.08','4.16'),(6,'2013-02-01 09:53:26',1,3,'Event : Mise à jour mensuelle','2.08','4.16'),(7,'2013-02-01 09:53:26',1,1,'Event : Mise à jour mensuelle','4.17','6.25'),(8,'2013-02-01 09:53:26',1,2,'Event : Mise à jour mensuelle','4.17','6.25'),(9,'2013-02-01 09:53:26',1,3,'Event : Mise à jour mensuelle','4.17','6.25'),(10,'2013-02-01 09:53:26',1,4,'Event : Mise à jour mensuelle','0.00','2.08'),(11,'2013-02-01 09:53:31',1,1,'Event : Mise à jour mensuelle','6.25','8.33'),(12,'2013-02-01 09:53:31',1,2,'Event : Mise à jour mensuelle','6.25','8.33'),(13,'2013-02-01 09:53:31',1,3,'Event : Mise à jour mensuelle','6.25','8.33'),(14,'2013-02-01 09:53:31',1,4,'Event : Mise à jour mensuelle','2.08','4.16'),(15,'2013-02-01 09:53:31',1,1,'Event : Mise à jour mensuelle','8.33','10.41'),(16,'2013-02-01 09:53:31',1,2,'Event : Mise à jour mensuelle','8.33','10.41'),(17,'2013-02-01 09:53:31',1,3,'Event : Mise à jour mensuelle','8.33','10.41'),(18,'2013-02-01 09:53:31',1,4,'Event : Mise à jour mensuelle','4.17','6.25'),(19,'2013-02-01 09:53:33',1,1,'Event : Mise à jour mensuelle','10.42','12.50'),(20,'2013-02-01 09:53:33',1,2,'Event : Mise à jour mensuelle','10.42','12.50'),(21,'2013-02-01 09:53:33',1,3,'Event : Mise à jour mensuelle','10.42','12.50'),(22,'2013-02-01 09:53:33',1,4,'Event : Mise à jour mensuelle','6.25','8.33'),(23,'2013-02-01 09:53:34',1,1,'Event : Mise à jour mensuelle','12.50','14.58'),(24,'2013-02-01 09:53:34',1,2,'Event : Mise à jour mensuelle','12.50','14.58'),(25,'2013-02-01 09:53:34',1,3,'Event : Mise à jour mensuelle','12.50','14.58'),(26,'2013-02-01 09:53:34',1,4,'Event : Mise à jour mensuelle','8.33','10.41'),(27,'2013-02-01 09:53:34',1,1,'Event : Mise à jour mensuelle','14.58','16.66'),(28,'2013-02-01 09:53:34',1,2,'Event : Mise à jour mensuelle','14.58','16.66'),(29,'2013-02-01 09:53:34',1,3,'Event : Mise à jour mensuelle','14.58','16.66'),(30,'2013-02-01 09:53:34',1,4,'Event : Mise à jour mensuelle','10.42','12.50'),(31,'2013-02-01 09:53:36',1,1,'Event : Mise à jour mensuelle','16.67','18.75'),(32,'2013-02-01 09:53:36',1,2,'Event : Mise à jour mensuelle','16.67','18.75'),(33,'2013-02-01 09:53:36',1,3,'Event : Mise à jour mensuelle','16.67','18.75'),(34,'2013-02-01 09:53:36',1,4,'Event : Mise à jour mensuelle','12.50','14.58'),(35,'2013-02-01 09:53:36',1,1,'Event : Mise à jour mensuelle','18.75','20.83'),(36,'2013-02-01 09:53:36',1,2,'Event : Mise à jour mensuelle','18.75','20.83'),(37,'2013-02-01 09:53:36',1,3,'Event : Mise à jour mensuelle','18.75','20.83'),(38,'2013-02-01 09:53:36',1,4,'Event : Mise à jour mensuelle','14.58','16.66'),(39,'2013-02-01 09:53:37',1,1,'Event : Mise à jour mensuelle','20.83','22.91'),(40,'2013-02-01 09:53:37',1,2,'Event : Mise à jour mensuelle','20.83','22.91'),(41,'2013-02-01 09:53:37',1,3,'Event : Mise à jour mensuelle','20.83','22.91'),(42,'2013-02-01 09:53:37',1,4,'Event : Mise à jour mensuelle','16.67','18.75'),(43,'2013-02-01 09:53:37',1,1,'Event : Mise à jour mensuelle','22.92','25.00'),(44,'2013-02-01 09:53:37',1,2,'Event : Mise à jour mensuelle','22.92','25.00'),(45,'2013-02-01 09:53:37',1,3,'Event : Mise à jour mensuelle','22.92','25.00'),(46,'2013-02-01 09:53:37',1,4,'Event : Mise à jour mensuelle','18.75','20.83'),(47,'2013-02-01 09:53:44',1,1,'Event : Mise à jour mensuelle','25.00','27.08'),(48,'2013-02-01 09:53:44',1,2,'Event : Mise à jour mensuelle','25.00','27.08'),(49,'2013-02-01 09:53:44',1,3,'Event : Mise à jour mensuelle','25.00','27.08'),(50,'2013-02-01 09:53:44',1,4,'Event : Mise à jour mensuelle','20.83','22.91'),(51,'2013-02-01 09:53:47',1,1,'Event : Mise à jour mensuelle','27.08','29.16'),(52,'2013-02-01 09:53:47',1,2,'Event : Mise à jour mensuelle','27.08','29.16'),(53,'2013-02-01 09:53:47',1,3,'Event : Mise à jour mensuelle','27.08','29.16'),(54,'2013-02-01 09:53:47',1,4,'Event : Mise à jour mensuelle','22.92','25.00'),(55,'2013-02-01 09:53:47',1,1,'Event : Mise à jour mensuelle','29.17','31.25'),(56,'2013-02-01 09:53:47',1,2,'Event : Mise à jour mensuelle','29.17','31.25'),(57,'2013-02-01 09:53:47',1,3,'Event : Mise à jour mensuelle','29.17','31.25'),(58,'2013-02-01 09:53:47',1,4,'Event : Mise à jour mensuelle','25.00','27.08'),(59,'2013-02-01 09:53:49',1,1,'Event : Mise à jour mensuelle','31.25','33.33'),(60,'2013-02-01 09:53:49',1,2,'Event : Mise à jour mensuelle','31.25','33.33'),(61,'2013-02-01 09:53:49',1,3,'Event : Mise à jour mensuelle','31.25','33.33'),(62,'2013-02-01 09:53:49',1,4,'Event : Mise à jour mensuelle','27.08','29.16'),(63,'2013-02-01 09:53:52',1,1,'Event : Mise à jour mensuelle','33.33','35.41'),(64,'2013-02-01 09:53:52',1,2,'Event : Mise à jour mensuelle','33.33','35.41'),(65,'2013-02-01 09:53:52',1,3,'Event : Mise à jour mensuelle','33.33','35.41'),(66,'2013-02-01 09:53:52',1,4,'Event : Mise à jour mensuelle','29.17','31.25'),(67,'2013-02-01 09:53:52',1,1,'Event : Mise à jour mensuelle','35.42','37.50'),(68,'2013-02-01 09:53:52',1,2,'Event : Mise à jour mensuelle','35.42','37.50'),(69,'2013-02-01 09:53:52',1,3,'Event : Mise à jour mensuelle','35.42','37.50'),(70,'2013-02-01 09:53:52',1,4,'Event : Mise à jour mensuelle','31.25','33.33'),(71,'2013-02-01 09:53:53',1,1,'Event : Mise à jour mensuelle','37.50','39.58'),(72,'2013-02-01 09:53:53',1,2,'Event : Mise à jour mensuelle','37.50','39.58'),(73,'2013-02-01 09:53:53',1,3,'Event : Mise à jour mensuelle','37.50','39.58'),(74,'2013-02-01 09:53:53',1,4,'Event : Mise à jour mensuelle','33.33','35.41'),(75,'2013-02-01 09:53:54',1,1,'Event : Mise à jour mensuelle','39.58','41.66'),(76,'2013-02-01 09:53:54',1,2,'Event : Mise à jour mensuelle','39.58','41.66'),(77,'2013-02-01 09:53:54',1,3,'Event : Mise à jour mensuelle','39.58','41.66'),(78,'2013-02-01 09:53:54',1,4,'Event : Mise à jour mensuelle','35.42','37.50'),(79,'2013-02-01 09:53:54',1,1,'Event : Mise à jour mensuelle','41.67','43.75'),(80,'2013-02-01 09:53:54',1,2,'Event : Mise à jour mensuelle','41.67','43.75'),(81,'2013-02-01 09:53:54',1,3,'Event : Mise à jour mensuelle','41.67','43.75'),(82,'2013-02-01 09:53:54',1,4,'Event : Mise à jour mensuelle','37.50','39.58'),(83,'2013-02-01 09:55:49',1,1,'Event : Mise à jour mensuelle','43.75','45.83'),(84,'2013-02-01 09:55:49',1,2,'Event : Mise à jour mensuelle','43.75','45.83'),(85,'2013-02-01 09:55:49',1,3,'Event : Mise à jour mensuelle','43.75','45.83'),(86,'2013-02-01 09:55:49',1,4,'Event : Mise à jour mensuelle','39.58','41.66'),(87,'2013-02-01 09:55:56',1,1,'Event : Mise à jour mensuelle','45.83','47.91'),(88,'2013-02-01 09:55:56',1,2,'Event : Mise à jour mensuelle','45.83','47.91'),(89,'2013-02-01 09:55:56',1,3,'Event : Mise à jour mensuelle','45.83','47.91'),(90,'2013-02-01 09:55:56',1,4,'Event : Mise à jour mensuelle','41.67','43.75'),(91,'2013-02-01 09:56:01',1,1,'Event : Mise à jour mensuelle','47.92','50.00'),(92,'2013-02-01 09:56:01',1,2,'Event : Mise à jour mensuelle','47.92','50.00'),(93,'2013-02-01 09:56:01',1,3,'Event : Mise à jour mensuelle','47.92','50.00'),(94,'2013-02-01 09:56:01',1,4,'Event : Mise à jour mensuelle','43.75','45.83'),(95,'2013-02-01 09:56:01',1,1,'Event : Mise à jour mensuelle','50.00','52.08'),(96,'2013-02-01 09:56:01',1,2,'Event : Mise à jour mensuelle','50.00','52.08'),(97,'2013-02-01 09:56:01',1,3,'Event : Mise à jour mensuelle','50.00','52.08'),(98,'2013-02-01 09:56:01',1,4,'Event : Mise à jour mensuelle','45.83','47.91'),(99,'2013-02-01 09:56:03',1,1,'Event : Mise à jour mensuelle','52.08','54.16'),(100,'2013-02-01 09:56:03',1,2,'Event : Mise à jour mensuelle','52.08','54.16'),(101,'2013-02-01 09:56:03',1,3,'Event : Mise à jour mensuelle','52.08','54.16'),(102,'2013-02-01 09:56:03',1,4,'Event : Mise à jour mensuelle','47.92','50.00'),(103,'2013-02-01 09:56:03',1,1,'Event : Mise à jour mensuelle','54.17','56.25'),(104,'2013-02-01 09:56:03',1,2,'Event : Mise à jour mensuelle','54.17','56.25'),(105,'2013-02-01 09:56:03',1,3,'Event : Mise à jour mensuelle','54.17','56.25'),(106,'2013-02-01 09:56:03',1,4,'Event : Mise à jour mensuelle','50.00','52.08'),(107,'2013-02-01 09:56:05',1,1,'Event : Mise à jour mensuelle','56.25','58.33'),(108,'2013-02-01 09:56:05',1,2,'Event : Mise à jour mensuelle','56.25','58.33'),(109,'2013-02-01 09:56:05',1,3,'Event : Mise à jour mensuelle','56.25','58.33'),(110,'2013-02-01 09:56:05',1,4,'Event : Mise à jour mensuelle','52.08','54.16'),(111,'2013-02-01 09:56:06',1,1,'Event : Mise à jour mensuelle','58.33','60.41'),(112,'2013-02-01 09:56:06',1,2,'Event : Mise à jour mensuelle','58.33','60.41'),(113,'2013-02-01 09:56:06',1,3,'Event : Mise à jour mensuelle','58.33','60.41'),(114,'2013-02-01 09:56:06',1,4,'Event : Mise à jour mensuelle','54.17','56.25'),(115,'2013-02-01 09:56:06',1,1,'Event : Mise à jour mensuelle','60.42','62.50'),(116,'2013-02-01 09:56:06',1,2,'Event : Mise à jour mensuelle','60.42','62.50'),(117,'2013-02-01 09:56:06',1,3,'Event : Mise à jour mensuelle','60.42','62.50'),(118,'2013-02-01 09:56:06',1,4,'Event : Mise à jour mensuelle','56.25','58.33'),(119,'2013-02-01 09:56:07',1,1,'Event : Mise à jour mensuelle','62.50','64.58'),(120,'2013-02-01 09:56:07',1,2,'Event : Mise à jour mensuelle','62.50','64.58'),(121,'2013-02-01 09:56:07',1,3,'Event : Mise à jour mensuelle','62.50','64.58'),(122,'2013-02-01 09:56:07',1,4,'Event : Mise à jour mensuelle','58.33','60.41'),(123,'2013-02-01 09:56:07',1,1,'Event : Mise à jour mensuelle','64.58','66.66'),(124,'2013-02-01 09:56:07',1,2,'Event : Mise à jour mensuelle','64.58','66.66'),(125,'2013-02-01 09:56:07',1,3,'Event : Mise à jour mensuelle','64.58','66.66'),(126,'2013-02-01 09:56:07',1,4,'Event : Mise à jour mensuelle','60.42','62.50'),(127,'2013-02-01 09:56:50',1,1,'Event : Mise à jour mensuelle','66.67','68.75'),(128,'2013-02-01 09:56:50',1,2,'Event : Mise à jour mensuelle','66.67','68.75'),(129,'2013-02-01 09:56:50',1,3,'Event : Mise à jour mensuelle','66.67','68.75'),(130,'2013-02-01 09:56:50',1,4,'Event : Mise à jour mensuelle','62.50','64.58'),(131,'2013-02-01 09:56:50',1,1,'Event : Mise à jour mensuelle','68.75','70.83'),(132,'2013-02-01 09:56:50',1,2,'Event : Mise à jour mensuelle','68.75','70.83'),(133,'2013-02-01 09:56:50',1,3,'Event : Mise à jour mensuelle','68.75','70.83'),(134,'2013-02-01 09:56:50',1,4,'Event : Mise à jour mensuelle','64.58','66.66'),(135,'2013-02-17 18:49:21',1,1,'Event : Mise à jour mensuelle','70.83','72.91'),(136,'2013-02-17 18:49:21',1,2,'Event : Mise à jour mensuelle','70.83','72.91'),(137,'2013-02-17 18:49:21',1,3,'Event : Mise à jour mensuelle','70.83','72.91'),(138,'2013-02-17 18:49:21',1,4,'Event : Mise à jour mensuelle','66.67','68.75'),(139,'2013-02-17 19:06:57',1,1,'Event : Holiday','72.92','71.92'),(140,'2013-03-01 23:12:31',1,1,'Event : Mise à jour mensuelle','71.92','74.00'),(141,'2013-03-01 23:12:31',1,2,'Event : Mise à jour mensuelle','72.92','75.00'),(142,'2013-03-01 23:12:31',1,3,'Event : Mise à jour mensuelle','72.92','75.00'),(143,'2013-03-01 23:12:31',1,4,'Event : Mise à jour mensuelle','68.75','70.83'),(144,'2013-03-01 23:12:31',1,5,'Event : Mise à jour mensuelle','0.00','2.08'); +/*!40000 ALTER TABLE `llx_holiday_logs` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_holiday_users` +-- + +DROP TABLE IF EXISTS `llx_holiday_users`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_holiday_users` ( + `fk_user` int(11) NOT NULL, + `nb_holiday` double NOT NULL DEFAULT '0', + PRIMARY KEY (`fk_user`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_holiday_users` +-- + +LOCK TABLES `llx_holiday_users` WRITE; +/*!40000 ALTER TABLE `llx_holiday_users` DISABLE KEYS */; +INSERT INTO `llx_holiday_users` VALUES (0,0),(1,74.00334000000001),(2,75.00024000000003),(3,75.00024000000003),(4,70.83356000000002),(5,2.08334),(6,0); +/*!40000 ALTER TABLE `llx_holiday_users` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_import_model` +-- + +DROP TABLE IF EXISTS `llx_import_model`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_import_model` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_user` int(11) NOT NULL DEFAULT '0', + `label` varchar(50) NOT NULL, + `type` varchar(20) NOT NULL, + `field` text NOT NULL, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_import_model` (`label`,`type`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_import_model` +-- + +LOCK TABLES `llx_import_model` WRITE; +/*!40000 ALTER TABLE `llx_import_model` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_import_model` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_links` +-- + +DROP TABLE IF EXISTS `llx_links`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_links` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `entity` int(11) NOT NULL DEFAULT '1', + `datea` datetime NOT NULL, + `url` varchar(255) NOT NULL, + `label` varchar(255) NOT NULL, + `objecttype` varchar(255) NOT NULL, + `objectid` int(11) NOT NULL, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_links` +-- + +LOCK TABLES `llx_links` WRITE; +/*!40000 ALTER TABLE `llx_links` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_links` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_livraison` +-- + +DROP TABLE IF EXISTS `llx_livraison`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_livraison` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `ref` varchar(30) NOT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + `ref_customer` varchar(30) DEFAULT NULL, + `fk_soc` int(11) NOT NULL, + `ref_ext` varchar(30) DEFAULT NULL, + `ref_int` varchar(30) DEFAULT NULL, + `date_creation` datetime DEFAULT NULL, + `fk_user_author` int(11) DEFAULT NULL, + `date_valid` datetime DEFAULT NULL, + `fk_user_valid` int(11) DEFAULT NULL, + `date_delivery` date DEFAULT NULL, + `fk_address` int(11) DEFAULT NULL, + `fk_statut` smallint(6) DEFAULT '0', + `total_ht` double(24,8) DEFAULT '0.00000000', + `note_private` text, + `note_public` text, + `model_pdf` varchar(255) DEFAULT NULL, + PRIMARY KEY (`rowid`), + UNIQUE KEY `idx_livraison_uk_ref` (`ref`,`entity`), + KEY `idx_livraison_fk_soc` (`fk_soc`), + KEY `idx_livraison_fk_user_author` (`fk_user_author`), + KEY `idx_livraison_fk_user_valid` (`fk_user_valid`), + CONSTRAINT `fk_livraison_fk_soc` FOREIGN KEY (`fk_soc`) REFERENCES `llx_societe` (`rowid`), + CONSTRAINT `fk_livraison_fk_user_author` FOREIGN KEY (`fk_user_author`) REFERENCES `llx_user` (`rowid`), + CONSTRAINT `fk_livraison_fk_user_valid` FOREIGN KEY (`fk_user_valid`) REFERENCES `llx_user` (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_livraison` +-- + +LOCK TABLES `llx_livraison` WRITE; +/*!40000 ALTER TABLE `llx_livraison` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_livraison` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_livraisondet` +-- + +DROP TABLE IF EXISTS `llx_livraisondet`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_livraisondet` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_livraison` int(11) DEFAULT NULL, + `fk_origin_line` int(11) DEFAULT NULL, + `fk_product` int(11) DEFAULT NULL, + `description` text, + `qty` double DEFAULT NULL, + `subprice` double(24,8) DEFAULT '0.00000000', + `total_ht` double(24,8) DEFAULT '0.00000000', + `rang` int(11) DEFAULT '0', + PRIMARY KEY (`rowid`), + KEY `idx_livraisondet_fk_expedition` (`fk_livraison`), + CONSTRAINT `fk_livraisondet_fk_livraison` FOREIGN KEY (`fk_livraison`) REFERENCES `llx_livraison` (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_livraisondet` +-- + +LOCK TABLES `llx_livraisondet` WRITE; +/*!40000 ALTER TABLE `llx_livraisondet` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_livraisondet` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_localtax` +-- + +DROP TABLE IF EXISTS `llx_localtax`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_localtax` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `entity` int(11) NOT NULL DEFAULT '1', + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `datep` date DEFAULT NULL, + `datev` date DEFAULT NULL, + `amount` double NOT NULL DEFAULT '0', + `label` varchar(255) DEFAULT NULL, + `note` text, + `fk_bank` int(11) DEFAULT NULL, + `fk_user_creat` int(11) DEFAULT NULL, + `fk_user_modif` int(11) DEFAULT NULL, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_localtax` +-- + +LOCK TABLES `llx_localtax` WRITE; +/*!40000 ALTER TABLE `llx_localtax` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_localtax` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_mailing` +-- + +DROP TABLE IF EXISTS `llx_mailing`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_mailing` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `statut` smallint(6) DEFAULT '0', + `titre` varchar(60) DEFAULT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + `sujet` varchar(60) DEFAULT NULL, + `body` mediumtext, + `bgcolor` varchar(8) DEFAULT NULL, + `bgimage` varchar(255) DEFAULT NULL, + `cible` varchar(60) DEFAULT NULL, + `nbemail` int(11) DEFAULT NULL, + `email_from` varchar(160) DEFAULT NULL, + `email_replyto` varchar(160) DEFAULT NULL, + `email_errorsto` varchar(160) DEFAULT NULL, + `tag` varchar(128) DEFAULT NULL, + `date_creat` datetime DEFAULT NULL, + `date_valid` datetime DEFAULT NULL, + `date_appro` datetime DEFAULT NULL, + `date_envoi` datetime DEFAULT NULL, + `fk_user_creat` int(11) DEFAULT NULL, + `fk_user_valid` int(11) DEFAULT NULL, + `fk_user_appro` int(11) DEFAULT NULL, + `joined_file1` varchar(255) DEFAULT NULL, + `joined_file2` varchar(255) DEFAULT NULL, + `joined_file3` varchar(255) DEFAULT NULL, + `joined_file4` varchar(255) DEFAULT NULL, + `extraparams` varchar(255) DEFAULT NULL, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_mailing` +-- + +LOCK TABLES `llx_mailing` WRITE; +/*!40000 ALTER TABLE `llx_mailing` DISABLE KEYS */; +INSERT INTO `llx_mailing` VALUES (3,1,'My commercial emailing',1,'Buy my product','Please buy my product','','',NULL,2,'dolibarr@domain.com','','',NULL,'2010-07-11 13:15:59','2010-07-11 13:46:20',NULL,NULL,1,1,NULL,NULL,NULL,NULL,NULL,NULL),(4,0,'Copy of My commercial emailing',1,'Buy my product','This is a new éEéé"Mailing content
\r\n
\r\n\r\nYou can adit it with the WYSIWYG editor.
\r\nIt is\r\n
    \r\n
  • \r\n Fast
  • \r\n
  • \r\n Easy to use
  • \r\n
  • \r\n Pretty
  • \r\n
','','',NULL,NULL,'dolibarr@domain.com','','',NULL,'2011-07-18 20:44:33',NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL); +/*!40000 ALTER TABLE `llx_mailing` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_mailing_cibles` +-- + +DROP TABLE IF EXISTS `llx_mailing_cibles`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_mailing_cibles` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_mailing` int(11) NOT NULL, + `fk_contact` int(11) NOT NULL, + `lastname` varchar(50) DEFAULT NULL, + `firstname` varchar(50) DEFAULT NULL, + `email` varchar(160) NOT NULL, + `other` varchar(255) DEFAULT NULL, + `tag` varchar(128) DEFAULT NULL, + `statut` smallint(6) NOT NULL DEFAULT '0', + `source_url` varchar(160) DEFAULT NULL, + `source_id` int(11) DEFAULT NULL, + `source_type` varchar(16) DEFAULT NULL, + `date_envoi` datetime DEFAULT NULL, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_mailing_cibles` (`fk_mailing`,`email`), + KEY `idx_mailing_cibles_email` (`email`) +) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_mailing_cibles` +-- + +LOCK TABLES `llx_mailing_cibles` WRITE; +/*!40000 ALTER TABLE `llx_mailing_cibles` DISABLE KEYS */; +INSERT INTO `llx_mailing_cibles` VALUES (1,1,0,'Dupont','Alain','toto@aa.com','Date fin=10/07/2011',NULL,0,'0',NULL,NULL,NULL),(2,2,0,'Swiss customer supplier','','abademail@aa.com','',NULL,0,'0',NULL,NULL,NULL),(3,2,0,'Smith Vick','','vsmith@email.com','',NULL,0,'0',NULL,NULL,NULL),(4,3,0,'Swiss customer supplier','','abademail@aa.com','',NULL,0,'0',NULL,NULL,NULL),(5,3,0,'Smith Vick','','vsmith@email.com','',NULL,0,'0',NULL,NULL,NULL); +/*!40000 ALTER TABLE `llx_mailing_cibles` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_menu` +-- + +DROP TABLE IF EXISTS `llx_menu`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_menu` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `menu_handler` varchar(16) NOT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + `module` varchar(64) DEFAULT NULL, + `type` varchar(4) NOT NULL, + `mainmenu` varchar(100) NOT NULL, + `fk_menu` int(11) NOT NULL, + `fk_leftmenu` varchar(24) DEFAULT NULL, + `fk_mainmenu` varchar(24) DEFAULT NULL, + `position` int(11) NOT NULL, + `url` varchar(255) NOT NULL, + `target` varchar(100) DEFAULT NULL, + `titre` varchar(255) NOT NULL, + `langs` varchar(100) DEFAULT NULL, + `level` smallint(6) DEFAULT NULL, + `leftmenu` varchar(100) DEFAULT NULL, + `perms` varchar(255) DEFAULT NULL, + `enabled` varchar(255) DEFAULT '1', + `usertype` int(11) NOT NULL DEFAULT '0', + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`rowid`), + UNIQUE KEY `idx_menu_uk_menu` (`menu_handler`,`fk_menu`,`position`,`url`,`entity`), + KEY `idx_menu_menuhandler_type` (`menu_handler`,`type`) +) ENGINE=InnoDB AUTO_INCREMENT=108459 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_menu` +-- + +LOCK TABLES `llx_menu` WRITE; +/*!40000 ALTER TABLE `llx_menu` DISABLE KEYS */; +INSERT INTO `llx_menu` VALUES (19289,'all',1,'cashdesk','top','cashdesk',0,NULL,NULL,100,'/cashdesk/index.php?user=__LOGIN__','pointofsale','CashDeskMenu','cashdesk',NULL,NULL,'1','$conf->cashdesk->enabled',0,'2012-12-08 13:11:09'),(87422,'smartphone',1,NULL,'top','home',0,NULL,NULL,1,'/index.php?mainmenu=home&leftmenu=','','Home','',-1,'','','1',2,'2013-02-24 18:29:15'),(87423,'smartphone',1,NULL,'top','companies',0,NULL,NULL,2,'/societe/index.php?mainmenu=companies&leftmenu=','','ThirdParties','companies',-1,'','$user->rights->societe->lire || $user->rights->societe->contact->lire','$conf->societe->enabled || $conf->fournisseur->enabled',2,'2013-02-24 18:29:15'),(87424,'smartphone',1,NULL,'top','products',0,NULL,NULL,3,'/product/index.php?mainmenu=products&leftmenu=','','Products/Services','products',-1,'','$user->rights->produit->lire||$user->rights->service->lire','$conf->product->enabled || $conf->service->enabled',0,'2013-02-24 18:29:15'),(87426,'smartphone',1,NULL,'top','commercial',0,NULL,NULL,5,'/comm/index.php?mainmenu=commercial&leftmenu=','','Commercial','commercial',-1,'','$user->rights->societe->lire || $user->rights->societe->contact->lire','$conf->societe->enabled',2,'2013-02-24 18:29:15'),(87427,'smartphone',1,NULL,'top','accountancy',0,NULL,NULL,6,'/compta/index.php?mainmenu=accountancy&leftmenu=','','MenuFinancial','compta',-1,'','$user->rights->compta->resultat->lire || $user->rights->accounting->plancompte->lire || $user->rights->commande->lire || $user->rights->facture->lire','$conf->comptabilite->enabled || $conf->accounting->enabled || $conf->facture->enabled || $conf->deplacement->enabled || $conf->don->enabled',2,'2013-02-24 18:29:15'),(87428,'smartphone',1,NULL,'top','project',0,NULL,NULL,7,'/projet/index.php?mainmenu=project&leftmenu=','','Projects','projects',-1,'','$user->rights->projet->lire','$conf->projet->enabled',0,'2013-02-24 18:29:15'),(87429,'smartphone',1,NULL,'top','tools',0,NULL,NULL,8,'/core/tools.php?mainmenu=tools&leftmenu=','','Tools','other',-1,'','$user->rights->mailing->lire || $user->rights->export->lire || $user->rights->import->run','$conf->mailing->enabled || $conf->export->enabled || $conf->import->enabled',2,'2013-02-24 18:29:15'),(87432,'smartphone',1,NULL,'top','shop',0,NULL,NULL,11,'/boutique/index.php?mainmenu=shop&leftmenu=','','OSCommerce','shop',-1,'','','! empty($conf->boutique->enabled)',0,'2013-02-24 18:29:15'),(87434,'smartphone',1,NULL,'top','members',0,NULL,NULL,15,'/adherents/index.php?mainmenu=members&leftmenu=','','Members','members',-1,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2013-02-24 18:29:15'),(87435,'smartphone',1,NULL,'top','bank',0,NULL,NULL,6,'/compta/bank/index.php?mainmenu=bank&leftmenu=bank','','MenuBankCash','banks',-1,'','$user->rights->banque->lire || $user->rights->prelevement->bons->lire','$conf->banque->enabled || $conf->prelevement->enabled',2,'2013-02-24 18:29:15'),(87521,'smartphone',1,NULL,'left','home',87422,NULL,NULL,0,'/admin/index.php?leftmenu=setup','','Setup','admin',0,'','','$user->admin',2,'2013-02-24 18:29:15'),(87522,'smartphone',1,NULL,'left','home',87521,NULL,NULL,1,'/admin/company.php?leftmenu=setup','','MenuCompanySetup','admin',1,'','','1',2,'2013-02-24 18:29:15'),(87523,'smartphone',1,NULL,'left','home',87521,NULL,NULL,4,'/admin/ihm.php?leftmenu=setup','','GUISetup','admin',1,'','','1',2,'2013-02-24 18:29:15'),(87524,'smartphone',1,NULL,'left','home',87521,NULL,NULL,2,'/admin/modules.php?leftmenu=setup','','Modules','admin',1,'','','1',2,'2013-02-24 18:29:15'),(87525,'smartphone',1,NULL,'left','home',87521,NULL,NULL,5,'/admin/boxes.php?leftmenu=setup','','Boxes','admin',1,'','','1',2,'2013-02-24 18:29:15'),(87526,'smartphone',1,NULL,'left','home',87521,NULL,NULL,3,'/admin/menus.php?leftmenu=setup','','Menus','admin',1,'','','1',2,'2013-02-24 18:29:15'),(87527,'smartphone',1,NULL,'left','home',87521,NULL,NULL,6,'/admin/delais.php?leftmenu=setup','','Alerts','admin',1,'','','1',2,'2013-02-24 18:29:15'),(87529,'smartphone',1,NULL,'left','home',87521,NULL,NULL,7,'/admin/perms.php?leftmenu=setup','','Security','admin',1,'','','1',2,'2013-02-24 18:29:15'),(87530,'smartphone',1,NULL,'left','home',87521,NULL,NULL,9,'/admin/mails.php?leftmenu=setup','','Emails','admin',1,'','','1',2,'2013-02-24 18:29:15'),(87531,'smartphone',1,NULL,'left','home',87521,NULL,NULL,8,'/admin/limits.php?leftmenu=setup','','MenuLimits','admin',1,'','','1',2,'2013-02-24 18:29:15'),(87532,'smartphone',1,NULL,'left','home',87521,NULL,NULL,10,'/admin/dict.php?leftmenu=setup','','DictionarySetup','admin',1,'','','1',2,'2013-02-24 18:29:15'),(87533,'smartphone',1,NULL,'left','home',87521,NULL,NULL,11,'/admin/const.php?leftmenu=setup','','OtherSetup','admin',1,'','','1',2,'2013-02-24 18:29:15'),(87621,'smartphone',1,NULL,'left','home',87422,NULL,NULL,1,'/admin/system/index.php?leftmenu=system','','SystemInfo','admin',0,'','','$user->admin',2,'2013-02-24 18:29:15'),(87622,'smartphone',1,NULL,'left','home',87621,NULL,NULL,0,'/admin/system/dolibarr.php?leftmenu=system','','Dolibarr','admin',1,'','','1',2,'2013-02-24 18:29:15'),(87623,'smartphone',1,NULL,'left','home',87622,NULL,NULL,1,'/admin/system/constall.php?leftmenu=system','','AllParameters','admin',2,'','','1',2,'2013-02-24 18:29:15'),(87624,'smartphone',1,NULL,'left','home',87622,NULL,NULL,4,'/admin/system/about.php?leftmenu=system','','About','admin',2,'','','1',2,'2013-02-24 18:29:15'),(87625,'smartphone',1,NULL,'left','home',87621,NULL,NULL,1,'/admin/system/os.php?leftmenu=system','','OS','admin',1,'','','1',2,'2013-02-24 18:29:15'),(87626,'smartphone',1,NULL,'left','home',87621,NULL,NULL,2,'/admin/system/web.php?leftmenu=system','','WebServer','admin',1,'','','1',2,'2013-02-24 18:29:15'),(87627,'smartphone',1,NULL,'left','home',87621,NULL,NULL,3,'/admin/system/phpinfo.php?leftmenu=system','','Php','admin',1,'','','1',2,'2013-02-24 18:29:15'),(87628,'smartphone',1,NULL,'left','home',87622,NULL,NULL,3,'/admin/triggers.php?leftmenu=system','','Triggers','admin',2,'','','1',2,'2013-02-24 18:29:15'),(87629,'smartphone',1,NULL,'left','home',87622,NULL,NULL,2,'/admin/system/modules.php?leftmenu=system','','Modules','admin',2,'','','1',2,'2013-02-24 18:29:15'),(87631,'smartphone',1,NULL,'left','home',87621,NULL,NULL,4,'/admin/system/database.php?leftmenu=system','','Database','admin',1,'','','1',2,'2013-02-24 18:29:15'),(87632,'smartphone',1,NULL,'left','home',87631,NULL,NULL,0,'/admin/system/database-tables.php?leftmenu=system','','Tables','admin',2,'','','1',2,'2013-02-24 18:29:15'),(87721,'smartphone',1,NULL,'left','home',87422,NULL,NULL,2,'/admin/tools/index.php?leftmenu=admintools','','SystemTools','admin',0,'','','$user->admin',2,'2013-02-24 18:29:15'),(87722,'smartphone',1,NULL,'left','home',87721,NULL,NULL,0,'/admin/tools/dolibarr_export.php?leftmenu=admintools','','Backup','admin',1,'','','1',2,'2013-02-24 18:29:15'),(87723,'smartphone',1,NULL,'left','home',87721,NULL,NULL,1,'/admin/tools/dolibarr_import.php?leftmenu=admintools','','Restore','admin',1,'','','1',2,'2013-02-24 18:29:15'),(87724,'smartphone',1,NULL,'left','home',87721,NULL,NULL,6,'/admin/tools/purge.php?leftmenu=admintools','','Purge','admin',1,'','','1',2,'2013-02-24 18:29:15'),(87725,'smartphone',1,NULL,'left','home',87721,NULL,NULL,3,'/admin/tools/eaccelerator.php?leftmenu=admintools','','EAccelerator','admin',1,'','','1 && function_exists(\'eaccelerator_info\')',2,'2013-02-24 18:29:15'),(87726,'smartphone',1,NULL,'left','home',87721,NULL,NULL,2,'/admin/tools/update.php?leftmenu=admintools','','MenuUpgrade','admin',1,'','','1',2,'2013-02-24 18:29:15'),(87727,'smartphone',1,NULL,'left','home',87721,NULL,NULL,4,'/admin/tools/listevents.php?leftmenu=admintools','','Audit','admin',1,'','','1',2,'2013-02-24 18:29:15'),(87728,'smartphone',1,NULL,'left','home',87721,NULL,NULL,7,'/support/index.php?leftmenu=admintools','_blank','HelpCenter','help',1,'','','1',2,'2013-02-24 18:29:15'),(87729,'smartphone',1,NULL,'left','home',87721,NULL,NULL,5,'/admin/tools/listsessions.php?leftmenu=admintools','','Sessions','admin',1,'','','1',2,'2013-02-24 18:29:15'),(87821,'smartphone',1,NULL,'left','home',87422,NULL,NULL,3,'/user/home.php?leftmenu=users','','MenuUsersAndGroups','users',0,'','','1',2,'2013-02-24 18:29:15'),(87822,'smartphone',1,NULL,'left','home',87821,NULL,NULL,0,'/user/index.php?leftmenu=users','','Users','users',1,'','$user->rights->user->user->lire || $user->admin','1',2,'2013-02-24 18:29:15'),(87823,'smartphone',1,NULL,'left','home',87822,NULL,NULL,0,'/user/fiche.php?leftmenu=users&action=create','','NewUser','users',2,'','$user->rights->user->user->creer || $user->admin','1',2,'2013-02-24 18:29:15'),(87824,'smartphone',1,NULL,'left','home',87821,NULL,NULL,1,'/user/group/index.php?leftmenu=users','','Groups','users',1,'','($conf->global->MAIN_USE_ADVANCED_PERMS?$user->rights->user->group_advance->read:$user->rights->user->user->lire) || $user->admin','1',2,'2013-02-24 18:29:15'),(87825,'smartphone',1,NULL,'left','home',87824,NULL,NULL,0,'/user/group/fiche.php?leftmenu=users&action=create','','NewGroup','users',2,'','($conf->global->MAIN_USE_ADVANCED_PERMS?$user->rights->user->group_advance->write:$user->rights->user->user->creer) || $user->admin','1',2,'2013-02-24 18:29:15'),(87921,'smartphone',1,NULL,'left','companies',87423,NULL,NULL,0,'/societe/societe.php','','ThirdParty','companies',0,'','$user->rights->societe->lire','$conf->societe->enabled',2,'2013-02-24 18:29:15'),(87922,'smartphone',1,NULL,'left','companies',87921,NULL,NULL,0,'/societe/soc.php?action=create','','MenuNewThirdParty','companies',1,'','$user->rights->societe->lire','$conf->societe->enabled',2,'2013-02-24 18:29:15'),(87924,'smartphone',1,NULL,'left','companies',87921,NULL,NULL,5,'/fourn/liste.php?leftmenu=suppliers','','ListSuppliersShort','suppliers',1,'','$user->rights->societe->lire && $user->rights->fournisseur->lire','$conf->societe->enabled && $conf->fournisseur->enabled',2,'2013-02-24 18:29:15'),(87925,'smartphone',1,NULL,'left','companies',87924,NULL,NULL,0,'/societe/soc.php?leftmenu=supplier&action=create&type=f','','NewSupplier','suppliers',2,'','$user->rights->societe->creer','$conf->societe->enabled && $conf->fournisseur->enabled',2,'2013-02-24 18:29:15'),(87927,'smartphone',1,NULL,'left','companies',87921,NULL,NULL,3,'/comm/prospect/list.php?leftmenu=prospects','','ListProspectsShort','companies',1,'','$user->rights->societe->lire','$conf->societe->enabled',2,'2013-02-24 18:29:15'),(87928,'smartphone',1,NULL,'left','companies',87927,NULL,NULL,0,'/societe/soc.php?leftmenu=prospects&action=create&type=p','','MenuNewProspect','companies',2,'','$user->rights->societe->creer','$conf->societe->enabled',2,'2013-02-24 18:29:15'),(87930,'smartphone',1,NULL,'left','companies',87921,NULL,NULL,4,'/comm/list.php?leftmenu=customers','','ListCustomersShort','companies',1,'','$user->rights->societe->lire','$conf->societe->enabled',2,'2013-02-24 18:29:15'),(87931,'smartphone',1,NULL,'left','companies',87930,NULL,NULL,0,'/societe/soc.php?leftmenu=customers&action=create&type=c','','MenuNewCustomer','companies',2,'','$user->rights->societe->creer','$conf->societe->enabled',2,'2013-02-24 18:29:15'),(88021,'smartphone',1,NULL,'left','companies',87423,NULL,NULL,1,'/contact/list.php?leftmenu=contacts','','ContactsAddresses||Contacts@$conf->global->SOCIETE_ADDRESSES_MANAGEMENT','companies',0,'','$user->rights->societe->lire','$conf->societe->enabled',2,'2013-02-24 18:29:15'),(88022,'smartphone',1,NULL,'left','companies',88021,NULL,NULL,0,'/contact/fiche.php?leftmenu=contacts&action=create','','NewContactAddress||NewContact@$conf->global->SOCIETE_ADDRESSES_MANAGEMENT','companies',1,'','$user->rights->societe->creer','$conf->societe->enabled',2,'2013-02-24 18:29:15'),(88023,'smartphone',1,NULL,'left','companies',88021,NULL,NULL,1,'/contact/list.php?leftmenu=contacts','','List','companies',1,'','$user->rights->societe->lire','$conf->societe->enabled',2,'2013-02-24 18:29:15'),(88025,'smartphone',1,NULL,'left','companies',88023,NULL,NULL,1,'/contact/list.php?leftmenu=contacts&type=p','','Prospects','companies',2,'','$user->rights->societe->contact->lire','$conf->societe->enabled',2,'2013-02-24 18:29:15'),(88026,'smartphone',1,NULL,'left','companies',88023,NULL,NULL,2,'/contact/list.php?leftmenu=contacts&type=c','','Customers','companies',2,'','$user->rights->societe->contact->lire','$conf->societe->enabled',2,'2013-02-24 18:29:15'),(88027,'smartphone',1,NULL,'left','companies',88023,NULL,NULL,3,'/contact/list.php?leftmenu=contacts&type=f','','Suppliers','companies',2,'','$user->rights->societe->contact->lire','$conf->societe->enabled && $conf->fournisseur->enabled',2,'2013-02-24 18:29:15'),(88028,'smartphone',1,NULL,'left','companies',88023,NULL,NULL,4,'/contact/list.php?leftmenu=contacts&type=o','','Others','companies',2,'','$user->rights->societe->contact->lire','$conf->societe->enabled',2,'2013-02-24 18:29:15'),(88071,'smartphone',1,NULL,'left','companies',87423,NULL,NULL,3,'/categories/index.php?leftmenu=cat&type=1','','SuppliersCategoriesShort','categories',0,'','$user->rights->categorie->lire','$conf->societe->enabled && $conf->categorie->enabled',2,'2013-02-24 18:29:15'),(88072,'smartphone',1,NULL,'left','companies',88071,NULL,NULL,0,'/categories/fiche.php?action=create&type=1','','NewCategory','categories',1,'','$user->rights->categorie->creer','$conf->societe->enabled && $conf->categorie->enabled',2,'2013-02-24 18:29:15'),(88081,'smartphone',1,NULL,'left','companies',87423,NULL,NULL,4,'/categories/index.php?leftmenu=cat&type=2','','CustomersProspectsCategoriesShort','categories',0,'','$user->rights->categorie->lire','$conf->fournisseur->enabled && $conf->categorie->enabled',2,'2013-02-24 18:29:15'),(88082,'smartphone',1,NULL,'left','companies',88081,NULL,NULL,0,'/categories/fiche.php?action=create&type=2','','NewCategory','categories',1,'','$user->rights->categorie->creer','$conf->fournisseur->enabled && $conf->categorie->enabled',2,'2013-02-24 18:29:15'),(88121,'smartphone',1,NULL,'left','commercial',87426,NULL,NULL,1,'/comm/prospect/index.php?leftmenu=prospects','','Prospects','companies',0,'','$user->rights->societe->lire','$conf->societe->enabled',0,'2013-02-24 18:29:15'),(88122,'smartphone',1,NULL,'left','commercial',88121,NULL,NULL,0,'/societe/soc.php?leftmenu=prospects&action=create&type=p','','MenuNewProspect','companies',1,'','$user->rights->societe->creer','$conf->societe->enabled',0,'2013-02-24 18:29:15'),(88123,'smartphone',1,NULL,'left','commercial',88121,NULL,NULL,1,'/comm/prospect/list.php?leftmenu=prospects','','List','companies',1,'','$user->rights->societe->lire','$conf->societe->enabled',0,'2013-02-24 18:29:15'),(88124,'smartphone',1,NULL,'left','commercial',88123,NULL,NULL,0,'/comm/prospect/list.php?sortfield=s.datec&sortorder=desc&begin=&stcomm=-1','','LastProspectDoNotContact','companies',2,'','$user->rights->societe->lire','$conf->societe->enabled && $leftmenu==\"prospects\"',0,'2013-02-24 18:29:15'),(88125,'smartphone',1,NULL,'left','commercial',88123,NULL,NULL,1,'/comm/prospect/list.php?sortfield=s.datec&sortorder=desc&begin=&stcomm=0','','LastProspectNeverContacted','companies',2,'','$user->rights->societe->lire','$conf->societe->enabled && $leftmenu==\"prospects\"',0,'2013-02-24 18:29:15'),(88126,'smartphone',1,NULL,'left','commercial',88123,NULL,NULL,2,'/comm/prospect/list.php?sortfield=s.datec&sortorder=desc&begin=&stcomm=1','','LastProspectToContact','companies',2,'','$user->rights->societe->lire','$conf->societe->enabled && $leftmenu==\"prospects\"',0,'2013-02-24 18:29:15'),(88127,'smartphone',1,NULL,'left','commercial',88123,NULL,NULL,3,'/comm/prospect/list.php?sortfield=s.datec&sortorder=desc&begin=&stcomm=2','','LastProspectContactInProcess','companies',2,'','$user->rights->societe->lire','$conf->societe->enabled && $leftmenu==\"prospects\"',0,'2013-02-24 18:29:15'),(88128,'smartphone',1,NULL,'left','commercial',88123,NULL,NULL,4,'/comm/prospect/list.php?sortfield=s.datec&sortorder=desc&begin=&stcomm=3','','LastProspectContactDone','companies',2,'','$user->rights->societe->lire','$conf->societe->enabled && $leftmenu==\"prospects\"',0,'2013-02-24 18:29:15'),(88129,'smartphone',1,NULL,'left','commercial',88121,NULL,NULL,2,'/contact/list.php?leftmenu=prospects&type=p','','Contacts','companies',1,'','$user->rights->societe->lire','$conf->societe->enabled',0,'2013-02-24 18:29:15'),(88221,'smartphone',1,NULL,'left','commercial',87426,NULL,NULL,2,'/comm/index.php?leftmenu=customers','','Customers','companies',0,'','$user->rights->societe->lire','$conf->societe->enabled',0,'2013-02-24 18:29:15'),(88222,'smartphone',1,NULL,'left','commercial',88221,NULL,NULL,0,'/societe/soc.php?leftmenu=customers&action=create&type=c','','MenuNewCustomer','companies',1,'','$user->rights->societe->creer','$conf->societe->enabled',0,'2013-02-24 18:29:15'),(88223,'smartphone',1,NULL,'left','commercial',88221,NULL,NULL,1,'/comm/list.php?leftmenu=customers','','List','companies',1,'','$user->rights->societe->lire','$conf->societe->enabled',0,'2013-02-24 18:29:15'),(88224,'smartphone',1,NULL,'left','commercial',88221,NULL,NULL,2,'/contact/list.php?leftmenu=customers&type=c','','Contacts','companies',1,'','$user->rights->societe->lire','$conf->societe->enabled',0,'2013-02-24 18:29:15'),(88321,'smartphone',1,NULL,'left','commercial',87426,NULL,NULL,3,'/contact/list.php?leftmenu=contacts','','Contacts','companies',0,'','$user->rights->societe->lire','$conf->societe->enabled',0,'2013-02-24 18:29:15'),(88322,'smartphone',1,NULL,'left','commercial',88321,NULL,NULL,0,'/contact/fiche.php?leftmenu=contacts&action=create','','NewContactAddress||NewContact@$conf->global->SOCIETE_ADDRESSES_MANAGEMENT','companies',1,'','$user->rights->societe->creer','$conf->societe->enabled',0,'2013-02-24 18:29:15'),(88323,'smartphone',1,NULL,'left','commercial',88321,NULL,NULL,1,'/contact/list.php?leftmenu=contacts&action=create','','List','companies',1,'','$user->rights->societe->lire','$conf->societe->enabled',0,'2013-02-24 18:29:15'),(88331,'smartphone',1,NULL,'left','commercial',88323,NULL,NULL,1,'/contact/list.php?leftmenu=contacts&type=p','','Prospects','companies',1,'','$user->rights->societe->lire','$conf->societe->enabled && $leftmenu==\"prospects\"',0,'2013-02-24 18:29:15'),(88332,'smartphone',1,NULL,'left','commercial',88323,NULL,NULL,1,'/contact/list.php?leftmenu=contacts&type=c','','Customers','companies',1,'','$user->rights->societe->lire','$conf->societe->enabled && $leftmenu==\"prospects\"',0,'2013-02-24 18:29:15'),(88333,'smartphone',1,NULL,'left','commercial',88323,NULL,NULL,1,'/contact/list.php?leftmenu=contacts&type=f','','Suppliers','companies',1,'','$user->rights->societe->lire && $user->rights->fournisseur->lire','$conf->societe->enabled && $conf->fournisseur->enabled && $leftmenu==\"prospects\"',0,'2013-02-24 18:29:15'),(88334,'smartphone',1,NULL,'left','commercial',88323,NULL,NULL,1,'/contact/list.php?leftmenu=contacts&type=o','','Other','companies',1,'','$user->rights->societe->lire','$conf->societe->enabled && $leftmenu==\"prospects\"',0,'2013-02-24 18:29:15'),(88521,'smartphone',1,NULL,'left','commercial',87426,NULL,NULL,4,'/comm/propal.php?leftmenu=propals','','Prop','propal',0,'','$user->rights->propale->lire','$conf->propal->enabled',2,'2013-02-24 18:29:15'),(88522,'smartphone',1,NULL,'left','commercial',88521,NULL,NULL,0,'/societe/societe.php?leftmenu=propals','','NewPropal','propal',1,'','$user->rights->propale->creer','$conf->propal->enabled && $leftmenu==\"propals\"',2,'2013-02-24 18:29:15'),(88523,'smartphone',1,NULL,'left','commercial',88521,NULL,NULL,1,'/comm/propal.php?viewstatut=0','','PropalsDraft','propal',1,'','$user->rights->propale->lire','$conf->propal->enabled && $leftmenu==\"propals\"',2,'2013-02-24 18:29:15'),(88524,'smartphone',1,NULL,'left','commercial',88521,NULL,NULL,2,'/comm/propal.php?viewstatut=1','','PropalsOpened','propal',1,'','$user->rights->propale->lire','$conf->propal->enabled && $leftmenu==\"propals\"',2,'2013-02-24 18:29:15'),(88525,'smartphone',1,NULL,'left','commercial',88521,NULL,NULL,3,'/comm/propal.php?viewstatut=2,3,4','','PropalStatusClosedShort','propal',1,'','$user->rights->propale->lire','$conf->propal->enabled && $leftmenu==\"propals\"',2,'2013-02-24 18:29:15'),(88526,'smartphone',1,NULL,'left','commercial',88521,NULL,NULL,4,'/comm/propal/stats/index.php?leftmenu=propals','','Statistics','propal',1,'','$user->rights->propale->lire','$conf->propal->enabled && $leftmenu==\"propals\"',2,'2013-02-24 18:29:15'),(88621,'smartphone',1,NULL,'left','commercial',87426,NULL,NULL,5,'/commande/index.php?leftmenu=orders','','CustomersOrders','orders',0,'','$user->rights->commande->lire','$conf->commande->enabled',2,'2013-02-24 18:29:15'),(88622,'smartphone',1,NULL,'left','commercial',88621,NULL,NULL,0,'/societe/societe.php?leftmenu=orders','','NewOrder','orders',1,'','$user->rights->commande->creer','$conf->commande->enabled && $leftmenu==\"orders\"',2,'2013-02-24 18:29:15'),(88623,'smartphone',1,NULL,'left','commercial',88621,NULL,NULL,1,'/commande/liste.php?leftmenu=orders','','List','orders',1,'','$user->rights->commande->lire','$conf->commande->enabled && $leftmenu==\"orders\"',2,'2013-02-24 18:29:15'),(88624,'smartphone',1,NULL,'left','commercial',88623,NULL,NULL,2,'/commande/liste.php?leftmenu=orders&viewstatut=0','','StatusOrderDraftShort','orders',1,'','$user->rights->commande->lire','$conf->commande->enabled && $leftmenu==\"orders\"',2,'2013-02-24 18:29:15'),(88625,'smartphone',1,NULL,'left','commercial',88623,NULL,NULL,3,'/commande/liste.php?leftmenu=orders&viewstatut=1','','StatusOrderValidated','orders',1,'','$user->rights->commande->lire','$conf->commande->enabled && $leftmenu==\"orders\"',2,'2013-02-24 18:29:15'),(88626,'smartphone',1,NULL,'left','commercial',88623,NULL,NULL,4,'/commande/liste.php?leftmenu=orders&viewstatut=2','','StatusOrderOnProcessShort','orders',1,'','$user->rights->commande->lire','$conf->commande->enabled && $leftmenu==\"orders\"',2,'2013-02-24 18:29:15'),(88627,'smartphone',1,NULL,'left','commercial',88623,NULL,NULL,5,'/commande/liste.php?leftmenu=orders&viewstatut=3','','StatusOrderToBill','orders',1,'','$user->rights->commande->lire','$conf->commande->enabled && $leftmenu==\"orders\"',2,'2013-02-24 18:29:15'),(88628,'smartphone',1,NULL,'left','commercial',88623,NULL,NULL,6,'/commande/liste.php?leftmenu=orders&viewstatut=4','','StatusOrderProcessed','orders',1,'','$user->rights->commande->lire','$conf->commande->enabled && $leftmenu==\"orders\"',2,'2013-02-24 18:29:15'),(88629,'smartphone',1,NULL,'left','commercial',88623,NULL,NULL,7,'/commande/liste.php?leftmenu=orders&viewstatut=-1','','StatusOrderCanceledShort','orders',1,'','$user->rights->commande->lire','$conf->commande->enabled && $leftmenu==\"orders\"',2,'2013-02-24 18:29:15'),(88630,'smartphone',1,NULL,'left','commercial',88621,NULL,NULL,4,'/commande/stats/index.php?leftmenu=orders','','Statistics','orders',1,'','$user->rights->commande->lire','$conf->commande->enabled && $leftmenu==\"orders\"',2,'2013-02-24 18:29:15'),(88721,'smartphone',1,NULL,'left','commercial',87424,NULL,NULL,6,'/expedition/index.php?leftmenu=sendings','','Shipments','orders',0,'','$user->rights->expedition->lire','$conf->expedition->enabled',2,'2013-02-24 18:29:15'),(88722,'smartphone',1,NULL,'left','commercial',88721,NULL,NULL,0,'/expedition/liste.php?leftmenu=sendings','','List','orders',1,'','$user->rights->expedition->lire','$conf->expedition->enabled && $leftmenu==\"sendings\"',2,'2013-02-24 18:29:15'),(88723,'smartphone',1,NULL,'left','commercial',88721,NULL,NULL,1,'/expedition/stats/index.php?leftmenu=sendings','','Statistics','orders',1,'','$user->rights->expedition->lire','$conf->expedition->enabled && $leftmenu==\"sendings\"',2,'2013-02-24 18:29:15'),(88821,'smartphone',1,NULL,'left','commercial',87426,NULL,NULL,7,'/contrat/index.php?leftmenu=contracts','','Contracts','contracts',0,'','$user->rights->contrat->lire','$conf->contrat->enabled',2,'2013-02-24 18:29:15'),(88822,'smartphone',1,NULL,'left','commercial',88821,NULL,NULL,0,'/societe/societe.php?leftmenu=contracts','','NewContract','contracts',1,'','$user->rights->contrat->creer','$conf->contrat->enabled',2,'2013-02-24 18:29:15'),(88823,'smartphone',1,NULL,'left','commercial',88821,NULL,NULL,1,'/contrat/liste.php?leftmenu=contracts','','List','contracts',1,'','$user->rights->contrat->lire','$conf->contrat->enabled',2,'2013-02-24 18:29:15'),(88824,'smartphone',1,NULL,'left','commercial',88821,NULL,NULL,2,'/contrat/services.php?leftmenu=contracts','','MenuServices','contracts',1,'','$user->rights->contrat->lire','$conf->contrat->enabled',2,'2013-02-24 18:29:15'),(88825,'smartphone',1,NULL,'left','commercial',88824,NULL,NULL,0,'/contrat/services.php?leftmenu=contracts&mode=0','','MenuInactiveServices','contracts',2,'','$user->rights->contrat->lire','$conf->contrat->enabled&&$leftmenu==\"contracts\"',2,'2013-02-24 18:29:15'),(88826,'smartphone',1,NULL,'left','commercial',88824,NULL,NULL,1,'/contrat/services.php?leftmenu=contracts&mode=4','','MenuRunningServices','contracts',2,'','$user->rights->contrat->lire','$conf->contrat->enabled&&$leftmenu==\"contracts\"',2,'2013-02-24 18:29:15'),(88827,'smartphone',1,NULL,'left','commercial',88824,NULL,NULL,2,'/contrat/services.php?leftmenu=contracts&mode=4&filter=expired','','MenuExpiredServices','contracts',2,'','$user->rights->contrat->lire','$conf->contrat->enabled&&$leftmenu==\"contracts\"',2,'2013-02-24 18:29:15'),(88828,'smartphone',1,NULL,'left','commercial',88824,NULL,NULL,3,'/contrat/services.php?leftmenu=contracts&mode=5','','MenuClosedServices','contracts',2,'','$user->rights->contrat->lire','$conf->contrat->enabled&&$leftmenu==\"contracts\"',2,'2013-02-24 18:29:15'),(88921,'smartphone',1,NULL,'left','commercial',87426,NULL,NULL,8,'/fichinter/list.php?leftmenu=ficheinter','','Interventions','interventions',0,'','$user->rights->ficheinter->lire','$conf->ficheinter->enabled',2,'2013-02-24 18:29:15'),(88922,'smartphone',1,NULL,'left','commercial',88921,NULL,NULL,0,'/fichinter/fiche.php?action=create&leftmenu=ficheinter','','NewIntervention','interventions',1,'','$user->rights->ficheinter->creer','$conf->ficheinter->enabled && $leftmenu==\"ficheinter\"',2,'2013-02-24 18:29:15'),(88923,'smartphone',1,NULL,'left','commercial',88921,NULL,NULL,1,'/fichinter/list.php?leftmenu=ficheinter','','List','interventions',1,'','$user->rights->ficheinter->lire','$conf->ficheinter->enabled && $leftmenu==\"ficheinter\"',2,'2013-02-24 18:29:15'),(89021,'smartphone',1,NULL,'left','accountancy',87427,NULL,NULL,3,'/fourn/facture/index.php?leftmenu=suppliers_bills','','BillsSuppliers','bills',0,'','$user->rights->fournisseur->facture->lire','$conf->fournisseur->enabled',2,'2013-02-24 18:29:15'),(89022,'smartphone',1,NULL,'left','accountancy',89021,NULL,NULL,0,'/fourn/facture/fiche.php?action=create&leftmenu=suppliers_bills','','NewBill','bills',1,'','$user->rights->fournisseur->facture->creer','$conf->fournisseur->enabled',2,'2013-02-24 18:29:15'),(89023,'smartphone',1,NULL,'left','accountancy',89021,NULL,NULL,1,'/fourn/facture/impayees.php?leftmenu=suppliers_bills','','Unpaid','bills',1,'','$user->rights->fournisseur->facture->lire','$conf->fournisseur->enabled',2,'2013-02-24 18:29:15'),(89024,'smartphone',1,NULL,'left','accountancy',89021,NULL,NULL,2,'/fourn/facture/paiement.php?leftmenu=suppliers_bills','','Payments','bills',1,'','$user->rights->fournisseur->facture->lire','$conf->fournisseur->enabled',2,'2013-02-24 18:29:15'),(89121,'smartphone',1,NULL,'left','accountancy',87427,NULL,NULL,3,'/compta/facture/list.php?leftmenu=customers_bills','','BillsCustomers','bills',0,'','$user->rights->facture->lire','$conf->societe->enabled',2,'2013-02-24 18:29:15'),(89122,'smartphone',1,NULL,'left','accountancy',89121,NULL,NULL,3,'/compta/clients.php?action=facturer&leftmenu=customers_bills','','NewBill','bills',1,'','$user->rights->facture->creer','$conf->societe->enabled',2,'2013-02-24 18:29:15'),(89123,'smartphone',1,NULL,'left','accountancy',89121,NULL,NULL,4,'/compta/facture/fiche-rec.php?leftmenu=customers_bills','','Repeatable','bills',1,'','$user->rights->facture->lire','$conf->societe->enabled',2,'2013-02-24 18:29:15'),(89124,'smartphone',1,NULL,'left','accountancy',89121,NULL,NULL,5,'/compta/facture/impayees.php?action=facturer&leftmenu=customers_bills','','Unpaid','bills',1,'','$user->rights->facture->lire','$conf->societe->enabled',2,'2013-02-24 18:29:15'),(89125,'smartphone',1,NULL,'left','accountancy',89121,NULL,NULL,6,'/compta/paiement/liste.php?leftmenu=customers_bills','','Payments','bills',1,'','$user->rights->facture->lire','$conf->societe->enabled',2,'2013-02-24 18:29:15'),(89131,'smartphone',1,NULL,'left','accountancy',89125,NULL,NULL,1,'/compta/paiement/rapport.php?leftmenu=customers_bills','','Reportings','bills',2,'','$user->rights->facture->lire','$conf->societe->enabled',2,'2013-02-24 18:29:15'),(89132,'smartphone',1,NULL,'left','accountancy',87435,NULL,NULL,9,'/compta/paiement/cheque/index.php?leftmenu=checks&mainmenu=bank','','MenuChequeDeposits','bills',0,'','$user->rights->facture->lire','$conf->facture->enabled && $conf->banque->enabled',2,'2013-02-24 18:29:15'),(89133,'smartphone',1,NULL,'left','accountancy',89132,NULL,NULL,0,'/compta/paiement/cheque/fiche.php?leftmenu=checks&action=new','','NewCheckDeposit','bills',1,'','$user->rights->facture->lire','$conf->facture->enabled && $conf->banque->enabled',2,'2013-02-24 18:29:15'),(89134,'smartphone',1,NULL,'left','accountancy',89132,NULL,NULL,1,'/compta/paiement/cheque/liste.php?leftmenu=checks','','List','bills',1,'','$user->rights->facture->lire','$conf->facture->enabled && $conf->banque->enabled',2,'2013-02-24 18:29:15'),(89135,'smartphone',1,NULL,'left','accountancy',89121,NULL,NULL,8,'/compta/facture/stats/index.php?leftmenu=customers_bills','','Statistics','bills',1,'','$user->rights->facture->lire','$conf->facture->enabled && $conf->banque->enabled',2,'2013-02-24 18:29:15'),(89321,'smartphone',1,NULL,'left','accountancy',87427,NULL,NULL,3,'/commande/liste.php?leftmenu=orders&viewstatut=3','','MenuOrdersToBill','orders',0,'','$user->rights->commande->lire','$conf->commande->enabled',0,'2013-02-24 18:29:15'),(89421,'smartphone',1,NULL,'left','accountancy',87427,NULL,NULL,4,'/compta/dons/index.php?leftmenu=donations&mainmenu=accountancy','','Donations','donations',0,'','$user->rights->don->lire','$conf->don->enabled',2,'2013-02-24 18:29:15'),(89422,'smartphone',1,NULL,'left','accountancy',89421,NULL,NULL,0,'/compta/dons/fiche.php?leftmenu=donations&mainmenu=accountancy&action=create','','NewDonation','donations',1,'','$user->rights->don->creer','$conf->don->enabled && $leftmenu==\"donations\"',2,'2013-02-24 18:29:15'),(89423,'smartphone',1,NULL,'left','accountancy',89421,NULL,NULL,1,'/compta/dons/liste.php?leftmenu=donations&mainmenu=accountancy','','List','donations',1,'','$user->rights->don->lire','$conf->don->enabled && $leftmenu==\"donations\"',2,'2013-02-24 18:29:15'),(89521,'smartphone',1,NULL,'left','accountancy',87427,NULL,NULL,5,'/compta/deplacement/index.php?leftmenu=tripsandexpenses','','TripsAndExpenses','trips',0,'','$user->rights->deplacement->lire','$conf->deplacement->enabled',0,'2013-02-24 18:29:15'),(89522,'smartphone',1,NULL,'left','accountancy',89521,NULL,NULL,1,'/compta/deplacement/fiche.php?action=create&leftmenu=tripsandexpenses','','New','trips',1,'','$user->rights->deplacement->creer','$conf->deplacement->enabled && $leftmenu==\"tripsandexpenses\"',0,'2013-02-24 18:29:15'),(89523,'smartphone',1,NULL,'left','accountancy',89521,NULL,NULL,2,'/compta/deplacement/index.php?leftmenu=tripsandexpenses','','List','trips',1,'','$user->rights->deplacement->lire','$conf->deplacement->enabled && $leftmenu==\"tripsandexpenses\"',0,'2013-02-24 18:29:15'),(89524,'smartphone',1,NULL,'left','accountancy',89521,NULL,NULL,2,'/compta/deplacement/stats/index.php?leftmenu=tripsandexpenses','','Statistics','trips',1,'','$user->rights->deplacement->lire','$conf->deplacement->enabled && $leftmenu==\"tripsandexpenses\"',0,'2013-02-24 18:29:15'),(89621,'smartphone',1,NULL,'left','accountancy',87427,NULL,NULL,6,'/compta/charges/index.php?leftmenu=tax&mainmenu=accountancy','','MenuTaxAndDividends','compta',0,'','$user->rights->tax->charges->lire','$conf->tax->enabled',0,'2013-02-24 18:29:15'),(89622,'smartphone',1,NULL,'left','accountancy',89621,NULL,NULL,1,'/compta/sociales/index.php?leftmenu=tax_social','','SocialContributions','',1,'','$user->rights->tax->charges->lire','$conf->tax->enabled',0,'2013-02-24 18:29:15'),(89623,'smartphone',1,NULL,'left','accountancy',89622,NULL,NULL,2,'/compta/sociales/charges.php?leftmenu=tax_social&action=create','','MenuNewSocialContribution','',2,'','$user->rights->tax->charges->creer','$conf->tax->enabled && $leftmenu==\"tax_social\"',0,'2013-02-24 18:29:15'),(89624,'smartphone',1,NULL,'left','accountancy',89622,NULL,NULL,3,'/compta/charges/index.php?leftmenu=tax_social&mainmenu=accountancy&mode=sconly','','Payments','',2,'','$user->rights->tax->charges->lire','$conf->tax->enabled && $leftmenu==\"tax_social\"',0,'2013-02-24 18:29:15'),(89721,'smartphone',1,NULL,'left','accountancy',89621,NULL,NULL,7,'/compta/tva/index.php?leftmenu=tax_vat&mainmenu=accountancy','','VAT','companies',1,'','$user->rights->tax->charges->lire','$conf->tax->enabled && empty($conf->global->TAX_DISABLE_VAT_MENUS)',0,'2013-02-24 18:29:15'),(89722,'smartphone',1,NULL,'left','accountancy',89721,NULL,NULL,0,'/compta/tva/fiche.php?leftmenu=tax_vat&action=create','','NewPayment','companies',2,'','$user->rights->tax->charges->creer','$conf->tax->enabled && empty($conf->global->TAX_DISABLE_VAT_MENUS) && $leftmenu==\"tax_vat\"',0,'2013-02-24 18:29:15'),(89723,'smartphone',1,NULL,'left','accountancy',89721,NULL,NULL,1,'/compta/tva/reglement.php?leftmenu=tax_vat','','Payments','companies',2,'','$user->rights->tax->charges->lire','$conf->tax->enabled && empty($conf->global->TAX_DISABLE_VAT_MENUS) && $leftmenu==\"tax_vat\"',0,'2013-02-24 18:29:15'),(89724,'smartphone',1,NULL,'left','accountancy',89721,NULL,NULL,2,'/compta/tva/clients.php?leftmenu=tax_vat','','ReportByCustomers','companies',2,'','$user->rights->tax->charges->lire','$conf->tax->enabled && empty($conf->global->TAX_DISABLE_VAT_MENUS) && $leftmenu==\"tax_vat\"',0,'2013-02-24 18:29:15'),(89725,'smartphone',1,NULL,'left','accountancy',89721,NULL,NULL,3,'/compta/tva/quadri_detail.php?leftmenu=tax_vat','','ReportByQuarter','companies',2,'','$user->rights->tax->charges->lire','$conf->tax->enabled && empty($conf->global->TAX_DISABLE_VAT_MENUS) && $leftmenu==\"tax_vat\"',0,'2013-02-24 18:29:15'),(89821,'smartphone',1,NULL,'left','accountancy',87427,NULL,NULL,8,'/compta/ventilation/index.php?leftmenu=ventil','','Ventilation','companies',0,'','$user->rights->compta->ventilation->lire','$conf->comptabilite->enabled && $conf->global->FACTURE_VENTILATION',0,'2013-02-24 18:29:15'),(89822,'smartphone',1,NULL,'left','accountancy',89821,NULL,NULL,0,'/compta/ventilation/liste.php','','ToDispatch','companies',1,'','$user->rights->compta->ventilation->lire','$conf->comptabilite->enabled && $conf->global->FACTURE_VENTILATION',0,'2013-02-24 18:29:15'),(89823,'smartphone',1,NULL,'left','accountancy',89821,NULL,NULL,1,'/compta/ventilation/lignes.php','','Dispatched','companies',1,'','$user->rights->compta->ventilation->lire','$conf->comptabilite->enabled && $conf->global->FACTURE_VENTILATION',0,'2013-02-24 18:29:15'),(89824,'smartphone',1,NULL,'left','accountancy',89821,NULL,NULL,2,'/compta/param/','','Setup','companies',1,'','$user->rights->compta->ventilation->parametrer','$conf->comptabilite->enabled && $conf->global->FACTURE_VENTILATION',0,'2013-02-24 18:29:15'),(89825,'smartphone',1,NULL,'left','accountancy',89824,NULL,NULL,0,'/compta/param/comptes/liste.php','','List','companies',2,'','$user->rights->compta->ventilation->parametrer','$conf->comptabilite->enabled && $conf->global->FACTURE_VENTILATION',0,'2013-02-24 18:29:15'),(89826,'smartphone',1,NULL,'left','accountancy',89824,NULL,NULL,1,'/compta/param/comptes/fiche.php?action=create','','New','companies',2,'','$user->rights->compta->ventilation->parametrer','$conf->comptabilite->enabled && $conf->global->FACTURE_VENTILATION',0,'2013-02-24 18:29:15'),(89827,'smartphone',1,NULL,'left','accountancy',89821,NULL,NULL,3,'/compta/export/','','Export','companies',1,'','$user->rights->compta->ventilation->lire','$conf->comptabilite->enabled && $conf->global->FACTURE_VENTILATION',0,'2013-02-24 18:29:15'),(89828,'smartphone',1,NULL,'left','accountancy',89827,NULL,NULL,0,'/compta/export/index.php','','New','companies',2,'','$user->rights->compta->ventilation->lire','$conf->comptabilite->enabled && $conf->global->FACTURE_VENTILATION',0,'2013-02-24 18:29:15'),(89829,'smartphone',1,NULL,'left','accountancy',89827,NULL,NULL,1,'/compta/export/liste.php','','List','companies',2,'','$user->rights->compta->ventilation->lire','$conf->comptabilite->enabled && $conf->global->FACTURE_VENTILATION',0,'2013-02-24 18:29:15'),(89921,'smartphone',1,NULL,'left','accountancy',87435,NULL,NULL,9,'/compta/prelevement/index.php?leftmenu=withdraw&mainmenu=bank','','StandingOrders','withdrawals',0,'','$user->rights->prelevement->bons->lire','$conf->prelevement->enabled',2,'2013-02-24 18:29:15'),(89922,'smartphone',1,NULL,'left','accountancy',89921,NULL,NULL,1,'/compta/prelevement/demandes.php?status=0&leftmenu=withdraw','','StandingOrderToProcess','withdrawals',1,'','$user->rights->prelevement->bons->lire','$conf->prelevement->enabled && $leftmenu==\"withdraw\"',2,'2013-02-24 18:29:15'),(89923,'smartphone',1,NULL,'left','accountancy',89921,NULL,NULL,0,'/compta/prelevement/create.php?leftmenu=withdraw','','NewStandingOrder','withdrawals',1,'','$user->rights->prelevement->bons->lire','$conf->prelevement->enabled && $leftmenu==\"withdraw\"',2,'2013-02-24 18:29:15'),(89924,'smartphone',1,NULL,'left','accountancy',89921,NULL,NULL,2,'/compta/prelevement/bons.php?leftmenu=withdraw','','WithdrawalsReceipts','withdrawals',1,'','$user->rights->prelevement->bons->lire','$conf->prelevement->enabled && $leftmenu==\"withdraw\"',2,'2013-02-24 18:29:15'),(89925,'smartphone',1,NULL,'left','accountancy',89921,NULL,NULL,3,'/compta/prelevement/liste.php?leftmenu=withdraw','','WithdrawalsLines','withdrawals',1,'','$user->rights->prelevement->bons->lire','$conf->prelevement->enabled && $leftmenu==\"withdraw\"',2,'2013-02-24 18:29:15'),(89927,'smartphone',1,NULL,'left','accountancy',89921,NULL,NULL,5,'/compta/prelevement/rejets.php?leftmenu=withdraw','','Rejects','withdrawals',1,'','$user->rights->prelevement->bons->lire','$conf->prelevement->enabled && $leftmenu==\"withdraw\"',2,'2013-02-24 18:29:15'),(89928,'smartphone',1,NULL,'left','accountancy',89921,NULL,NULL,6,'/compta/prelevement/stats.php?leftmenu=withdraw','','Statistics','withdrawals',1,'','$user->rights->prelevement->bons->lire','$conf->prelevement->enabled && $leftmenu==\"withdraw\"',2,'2013-02-24 18:29:15'),(90021,'smartphone',1,NULL,'left','accountancy',87435,NULL,NULL,1,'/compta/bank/index.php?leftmenu=bank&mainmenu=bank','','MenuBankCash','banks',0,'','$user->rights->banque->lire','$conf->banque->enabled',0,'2013-02-24 18:29:15'),(90022,'smartphone',1,NULL,'left','accountancy',90021,NULL,NULL,0,'/compta/bank/fiche.php?action=create&leftmenu=bank','','MenuNewFinancialAccount','banks',1,'','$user->rights->banque->configurer','$conf->banque->enabled && $leftmenu==bank',0,'2013-02-24 18:29:15'),(90023,'smartphone',1,NULL,'left','accountancy',90021,NULL,NULL,1,'/compta/bank/categ.php?leftmenu=bank','','Rubriques','categories',1,'','$user->rights->banque->configurer','$conf->banque->enabled && $leftmenu==bank',0,'2013-02-24 18:29:15'),(90024,'smartphone',1,NULL,'left','accountancy',90021,NULL,NULL,2,'/compta/bank/search.php?leftmenu=bank','','ListTransactions','banks',1,'','$user->rights->banque->lire','$conf->banque->enabled && $leftmenu==bank',0,'2013-02-24 18:29:15'),(90025,'smartphone',1,NULL,'left','accountancy',90021,NULL,NULL,3,'/compta/bank/budget.php?leftmenu=bank','','ListTransactionsByCategory','banks',1,'','$user->rights->banque->lire','$conf->banque->enabled && $leftmenu==bank',0,'2013-02-24 18:29:15'),(90027,'smartphone',1,NULL,'left','accountancy',90021,NULL,NULL,5,'/compta/bank/virement.php?leftmenu=bank','','BankTransfers','banks',1,'','$user->rights->banque->transfer','$conf->banque->enabled && $leftmenu==bank',0,'2013-02-24 18:29:15'),(90121,'smartphone',1,NULL,'left','accountancy',87427,NULL,NULL,11,'/compta/resultat/index.php?leftmenu=ca&mainmenu=accountancy','','Reportings','main',0,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->comptabilite->enabled || $conf->accounting->enabled',0,'2013-02-24 18:29:15'),(90122,'smartphone',1,NULL,'left','accountancy',90121,NULL,NULL,0,'/compta/resultat/index.php?leftmenu=ca','','ReportInOut','main',1,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->comptabilite->enabled || $conf->accounting->enabled',0,'2013-02-24 18:29:15'),(90123,'smartphone',1,NULL,'left','accountancy',90122,NULL,NULL,0,'/compta/resultat/clientfourn.php?leftmenu=ca','','ByCompanies','main',2,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->comptabilite->enabled || $conf->accounting->enabled',0,'2013-02-24 18:29:15'),(90124,'smartphone',1,NULL,'left','accountancy',90121,NULL,NULL,1,'/compta/stats/index.php?leftmenu=ca','','ReportTurnover','main',1,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->comptabilite->enabled || $conf->accounting->enabled',0,'2013-02-24 18:29:15'),(90125,'smartphone',1,NULL,'left','accountancy',90124,NULL,NULL,0,'/compta/stats/casoc.php?leftmenu=ca','','ByCompanies','main',2,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->comptabilite->enabled || $conf->accounting->enabled',0,'2013-02-24 18:29:15'),(90126,'smartphone',1,NULL,'left','accountancy',90124,NULL,NULL,1,'/compta/stats/cabyuser.php?leftmenu=ca','','ByUsers','main',2,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->comptabilite->enabled || $conf->accounting->enabled',0,'2013-02-24 18:29:15'),(90221,'smartphone',1,NULL,'left','products',87424,NULL,NULL,0,'/product/index.php?leftmenu=product&type=0','','Products','products',0,'','$user->rights->produit->lire','$conf->product->enabled',2,'2013-02-24 18:29:15'),(90222,'smartphone',1,NULL,'left','products',90221,NULL,NULL,0,'/product/fiche.php?leftmenu=product&action=create&type=0','','NewProduct','products',1,'','$user->rights->produit->creer','$conf->product->enabled',2,'2013-02-24 18:29:15'),(90223,'smartphone',1,NULL,'left','products',90221,NULL,NULL,1,'/product/liste.php?leftmenu=product&type=0','','List','products',1,'','$user->rights->produit->lire','$conf->product->enabled',2,'2013-02-24 18:29:15'),(90224,'smartphone',1,NULL,'left','products',90221,NULL,NULL,4,'/product/reassort.php?type=0','','Stocks','products',1,'','$user->rights->produit->lire && $user->rights->stock->lire','$conf->product->enabled',2,'2013-02-24 18:29:15'),(90321,'smartphone',1,NULL,'left','products',87424,NULL,NULL,1,'/product/index.php?leftmenu=service&type=1','','Services','products',0,'','$user->rights->service->lire','$conf->service->enabled',2,'2013-02-24 18:29:15'),(90322,'smartphone',1,NULL,'left','products',90321,NULL,NULL,0,'/product/fiche.php?leftmenu=service&action=create&type=1','','NewService','products',1,'','$user->rights->service->creer','$conf->service->enabled',2,'2013-02-24 18:29:15'),(90323,'smartphone',1,NULL,'left','products',90321,NULL,NULL,1,'/product/liste.php?leftmenu=service&type=1','','List','products',1,'','$user->rights->service->lire','$conf->service->enabled',2,'2013-02-24 18:29:15'),(90421,'smartphone',1,NULL,'left','products',87424,NULL,NULL,2,'/product/stats/index.php?leftmenu=stats','','Statistics','main',0,'','$user->rights->service->lire','$conf->product->enabled || $conf->service->enabled',2,'2013-02-24 18:29:15'),(90422,'smartphone',1,NULL,'left','products',90421,NULL,NULL,0,'/product/popuprop.php?leftmenu=stats','','Popularity','main',1,'','$user->rights->produit->lire && $user->rights->produit>lire','$conf->propal->enabled',2,'2013-02-24 18:29:15'),(90521,'smartphone',1,NULL,'left','products',87424,NULL,NULL,3,'/product/stock/index.php?leftmenu=stock','','Stock','stocks',0,'','$user->rights->stock->lire','$conf->stock->enabled',2,'2013-02-24 18:29:15'),(90522,'smartphone',1,NULL,'left','products',90521,NULL,NULL,0,'/product/stock/fiche.php?action=create','','MenuNewWarehouse','stocks',1,'','$user->rights->stock->creer','$conf->stock->enabled',2,'2013-02-24 18:29:15'),(90523,'smartphone',1,NULL,'left','products',90521,NULL,NULL,1,'/product/stock/liste.php','','List','stocks',1,'','$user->rights->stock->lire','$conf->stock->enabled',2,'2013-02-24 18:29:15'),(90524,'smartphone',1,NULL,'left','products',90521,NULL,NULL,2,'/product/stock/valo.php','','EnhancedValue','stocks',1,'','$user->rights->stock->lire','$conf->stock->enabled',2,'2013-02-24 18:29:15'),(90525,'smartphone',1,NULL,'left','products',90521,NULL,NULL,3,'/product/stock/mouvement.php','','Movements','stocks',1,'','$user->rights->stock->mouvement->lire','$conf->stock->enabled',2,'2013-02-24 18:29:15'),(90621,'smartphone',1,NULL,'left','products',87424,NULL,NULL,4,'/categories/index.php?leftmenu=cat&type=0','','Categories','categories',0,'','$user->rights->categorie->lire','$conf->categorie->enabled',2,'2013-02-24 18:29:15'),(90622,'smartphone',1,NULL,'left','products',90621,NULL,NULL,0,'/categories/fiche.php?action=create&type=0','','NewCategory','categories',1,'','$user->rights->categorie->creer','$conf->categorie->enabled',2,'2013-02-24 18:29:15'),(91021,'smartphone',1,NULL,'left','project',87428,NULL,NULL,0,'/projet/index.php?leftmenu=projects','','Projects','projects',0,'','$user->rights->projet->lire','$conf->projet->enabled',2,'2013-02-24 18:29:15'),(91022,'smartphone',1,NULL,'left','project',91021,NULL,NULL,1,'/projet/fiche.php?leftmenu=projects&action=create','','NewProject','projects',1,'','$user->rights->projet->creer','$conf->projet->enabled',2,'2013-02-24 18:29:15'),(91023,'smartphone',1,NULL,'left','project',91021,NULL,NULL,2,'/projet/liste.php?leftmenu=projects','','List','projects',1,'','$user->rights->projet->lire','$conf->projet->enabled',2,'2013-02-24 18:29:15'),(91031,'smartphone',1,NULL,'left','project',87428,NULL,NULL,0,'/projet/index.php?leftmenu=projects&mode=mine','','MyProjects','projects',0,'','$user->rights->projet->lire','$conf->projet->enabled',2,'2013-02-24 18:29:15'),(91032,'smartphone',1,NULL,'left','project',91031,NULL,NULL,1,'/projet/fiche.php?leftmenu=projects&action=create&mode=mine','','NewProject','projects',1,'','$user->rights->projet->creer','$conf->projet->enabled',2,'2013-02-24 18:29:15'),(91033,'smartphone',1,NULL,'left','project',91031,NULL,NULL,2,'/projet/liste.php?leftmenu=projects&mode=mine','','List','projects',1,'','$user->rights->projet->lire','$conf->projet->enabled',2,'2013-02-24 18:29:15'),(91121,'smartphone',1,NULL,'left','project',87428,NULL,NULL,0,'/projet/activity/index.php?leftmenu=projects','','Activities','projects',0,'','$user->rights->projet->lire','$conf->projet->enabled',2,'2013-02-24 18:29:15'),(91122,'smartphone',1,NULL,'left','project',91121,NULL,NULL,1,'/projet/tasks.php?leftmenu=projects&action=create','','NewTask','projects',1,'','$user->rights->projet->creer','$conf->projet->enabled',2,'2013-02-24 18:29:15'),(91123,'smartphone',1,NULL,'left','project',91121,NULL,NULL,2,'/projet/tasks/index.php?leftmenu=projects','','List','projects',1,'','$user->rights->projet->lire','$conf->projet->enabled',2,'2013-02-24 18:29:15'),(91124,'smartphone',1,NULL,'left','project',91121,NULL,NULL,3,'/projet/activity/list.php?leftmenu=projects','','NewTimeSpent','projects',1,'','$user->rights->projet->lire','$conf->projet->enabled',2,'2013-02-24 18:29:15'),(91221,'smartphone',1,NULL,'left','project',87428,NULL,NULL,0,'/projet/activity/index.php?leftmenu=projects&mode=mine','','MyActivities','projects',0,'','$user->rights->projet->lire','$conf->projet->enabled',2,'2013-02-24 18:29:15'),(91222,'smartphone',1,NULL,'left','project',91221,NULL,NULL,1,'/projet/tasks.php?leftmenu=projects&action=create&mode=mine','','NewTask','projects',1,'','$user->rights->projet->creer','$conf->projet->enabled',2,'2013-02-24 18:29:15'),(91223,'smartphone',1,NULL,'left','project',91221,NULL,NULL,2,'/projet/tasks/index.php?leftmenu=projects&mode=mine','','List','projects',1,'','$user->rights->projet->lire','$conf->projet->enabled',2,'2013-02-24 18:29:15'),(91224,'smartphone',1,NULL,'left','project',91221,NULL,NULL,3,'/projet/activity/list.php?leftmenu=projects&mode=mine','','NewTimeSpent','projects',1,'','$user->rights->projet->lire','$conf->projet->enabled',2,'2013-02-24 18:29:15'),(91321,'smartphone',1,NULL,'left','tools',87429,NULL,NULL,0,'/comm/mailing/index.php?leftmenu=mailing','','EMailings','mails',0,'','$user->rights->mailing->lire','$conf->mailing->enabled',0,'2013-02-24 18:29:15'),(91322,'smartphone',1,NULL,'left','tools',91321,NULL,NULL,0,'/comm/mailing/fiche.php?leftmenu=mailing&action=create','','NewMailing','mails',1,'','$user->rights->mailing->creer','$conf->mailing->enabled',0,'2013-02-24 18:29:15'),(91323,'smartphone',1,NULL,'left','tools',91321,NULL,NULL,1,'/comm/mailing/liste.php?leftmenu=mailing','','List','mails',1,'','$user->rights->mailing->lire','$conf->mailing->enabled',0,'2013-02-24 18:29:15'),(91521,'smartphone',1,NULL,'left','tools',87429,NULL,NULL,2,'/exports/index.php?leftmenu=export','','FormatedExport','exports',0,'','$user->rights->export->lire','$conf->export->enabled',2,'2013-02-24 18:29:15'),(91522,'smartphone',1,NULL,'left','tools',91521,NULL,NULL,0,'/exports/export.php?leftmenu=export','','NewExport','exports',1,'','$user->rights->export->creer','$conf->export->enabled',2,'2013-02-24 18:29:15'),(91551,'smartphone',1,NULL,'left','tools',87429,NULL,NULL,2,'/imports/index.php?leftmenu=import','','FormatedImport','exports',0,'','$user->rights->import->run','$conf->import->enabled',2,'2013-02-24 18:29:15'),(91552,'smartphone',1,NULL,'left','tools',91551,NULL,NULL,0,'/imports/import.php?leftmenu=import','','NewImport','exports',1,'','$user->rights->import->run','$conf->import->enabled',2,'2013-02-24 18:29:15'),(91621,'smartphone',1,NULL,'left','members',87434,NULL,NULL,0,'/adherents/index.php?leftmenu=members&mainmenu=members','','Members','members',0,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2013-02-24 18:29:15'),(91622,'smartphone',1,NULL,'left','members',91621,NULL,NULL,0,'/adherents/fiche.php?action=create','','NewMember','members',1,'','$user->rights->adherent->creer','$conf->adherent->enabled',2,'2013-02-24 18:29:15'),(91623,'smartphone',1,NULL,'left','members',91621,NULL,NULL,1,'/adherents/liste.php','','List','members',1,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2013-02-24 18:29:15'),(91624,'smartphone',1,NULL,'left','members',91623,NULL,NULL,2,'/adherents/liste.php?statut=-1','','MenuMembersToValidate','members',2,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2013-02-24 18:29:15'),(91625,'smartphone',1,NULL,'left','members',91623,NULL,NULL,3,'/adherents/liste.php?statut=1','','MenuMembersValidated','members',2,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2013-02-24 18:29:15'),(91626,'smartphone',1,NULL,'left','members',91623,NULL,NULL,4,'/adherents/liste.php?statut=1&filter=outofdate','','MenuMembersNotUpToDate','members',2,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2013-02-24 18:29:15'),(91627,'smartphone',1,NULL,'left','members',91623,NULL,NULL,5,'/adherents/liste.php?statut=1&filter=uptodate','','MenuMembersUpToDate','members',2,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2013-02-24 18:29:15'),(91628,'smartphone',1,NULL,'left','members',91623,NULL,NULL,6,'/adherents/liste.php?statut=0','','MenuMembersResiliated','members',2,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2013-02-24 18:29:15'),(91721,'smartphone',1,NULL,'left','members',87434,NULL,NULL,1,'/adherents/index.php?leftmenu=accountancy&mainmenu=members','','Subscriptions','compta',0,'','$user->rights->adherent->cotisation->lire','$conf->adherent->enabled',2,'2013-02-24 18:29:15'),(91722,'smartphone',1,NULL,'left','members',91721,NULL,NULL,0,'/adherents/liste.php?statut=-1&leftmenu=accountancy&mainmenu=members','','NewSubscription','compta',1,'','$user->rights->adherent->cotisation->creer','$conf->adherent->enabled',2,'2013-02-24 18:29:15'),(91723,'smartphone',1,NULL,'left','members',91721,NULL,NULL,1,'/adherents/cotisations.php?leftmenu=accountancy','','List','compta',1,'','$user->rights->adherent->cotisation->lire','$conf->adherent->enabled',2,'2013-02-24 18:29:15'),(91921,'smartphone',1,NULL,'left','members',87434,NULL,NULL,3,'/adherents/index.php?leftmenu=export&mainmenu=members','','Exports','members',0,'','$user->rights->adherent->export','$conf->adherent->enabled',2,'2013-02-24 18:29:15'),(91922,'smartphone',1,NULL,'left','members',91921,NULL,NULL,0,'/exports/index.php?leftmenu=export','','Datas','members',1,'','$user->rights->adherent->export','$conf->adherent->enabled && $conf->export->enabled',2,'2013-02-24 18:29:15'),(91923,'smartphone',1,NULL,'left','members',91921,NULL,NULL,1,'/adherents/htpasswd.php?leftmenu=export','','Filehtpasswd','members',1,'','$user->rights->adherent->export','$conf->adherent->enabled',2,'2013-02-24 18:29:15'),(91924,'smartphone',1,NULL,'left','members',91921,NULL,NULL,2,'/adherents/cartes/carte.php?leftmenu=export','','MembersCards','members',1,'','$user->rights->adherent->export','$conf->adherent->enabled',2,'2013-02-24 18:29:15'),(92121,'smartphone',1,NULL,'left','members',87434,NULL,NULL,5,'/adherents/index.php?leftmenu=setup&mainmenu=members','','Setup','members',0,'','$user->rights->adherent->configurer','$conf->adherent->enabled',2,'2013-02-24 18:29:15'),(92122,'smartphone',1,NULL,'left','members',92121,NULL,NULL,0,'/adherents/type.php?leftmenu=setup','','MembersTypes','members',1,'','$user->rights->adherent->configurer','$conf->adherent->enabled',2,'2013-02-24 18:29:15'),(92123,'smartphone',1,NULL,'left','members',92121,NULL,NULL,1,'/adherents/options.php?leftmenu=setup','','MembersAttributes','members',1,'','$user->rights->adherent->configurer','$conf->adherent->enabled',2,'2013-02-24 18:29:15'),(92421,'smartphone',1,NULL,'left','commercial',87426,NULL,NULL,0,'/compta/index.php?leftmenu=suppliers','','Suppliers','companies',0,'','$user->rights->societe->lire && $user->rights->fournisseur->lire','$conf->fournisseur->enabled',2,'2013-02-24 18:29:15'),(92422,'smartphone',1,NULL,'left','commercial',92421,NULL,NULL,0,'/societe/soc.php?leftmenu=suppliers&action=create&type=f','','NewSupplier','companies',1,'','$user->rights->societe->creer && $user->rights->fournisseur->lire','$conf->fournisseur->enabled',2,'2013-02-24 18:29:15'),(92423,'smartphone',1,NULL,'left','commercial',92421,NULL,NULL,1,'/fourn/liste.php?leftmenu=suppliers','','List','companies',1,'','$user->rights->societe->lire && $user->rights->fournisseur->lire','$conf->fournisseur->enabled',2,'2013-02-24 18:29:15'),(92424,'smartphone',1,NULL,'left','commercial',92421,NULL,NULL,2,'/contact/list.php?leftmenu=suppliers&type=f','','Contacts','companies',1,'','$user->rights->societe->lire && $user->rights->fournisseur->lire','$conf->fournisseur->enabled',2,'2013-02-24 18:29:15'),(92521,'smartphone',1,NULL,'left','commercial',87426,NULL,NULL,6,'/fourn/commande/index.php?leftmenu=orders_suppliers','','SuppliersOrders','orders',0,'','$user->rights->fournisseur->commande->lire','$conf->commande->enabled',2,'2013-02-24 18:29:15'),(92522,'smartphone',1,NULL,'left','commercial',92521,NULL,NULL,0,'/societe/societe.php?leftmenu=orders_suppliers','','NewOrder','orders',1,'','$user->rights->fournisseur->commande->creer','$conf->commande->enabled && $leftmenu==\"orders_suppliers\"',2,'2013-02-24 18:29:15'),(92523,'smartphone',1,NULL,'left','commercial',92521,NULL,NULL,1,'/fourn/commande/liste.php?leftmenu=orders_suppliers&viewstatut=0','','List','orders',1,'','$user->rights->fournisseur->commande->lire','$conf->commande->enabled && $leftmenu==\"orders_suppliers\"',2,'2013-02-24 18:29:15'),(92529,'smartphone',1,NULL,'left','commercial',92521,NULL,NULL,7,'/commande/stats/index.php?leftmenu=orders_suppliers&mode=supplier','','Statistics','orders',1,'','$user->rights->fournisseur->commande->lire','$conf->commande->enabled && $leftmenu==\"orders_suppliers\"',2,'2013-02-24 18:29:15'),(92621,'smartphone',1,NULL,'left','members',87434,NULL,NULL,3,'/categories/index.php?leftmenu=cat&type=3','','MembersCategoriesShort','categories',0,'','$user->rights->categorie->lire','$conf->adherent->enabled && $conf->categorie->enabled',2,'2013-02-24 18:29:15'),(92622,'smartphone',1,NULL,'left','members',92621,NULL,NULL,0,'/categories/fiche.php?action=create&type=3','','NewCategory','categories',1,'','$user->rights->categorie->creer','$conf->adherent->enabled && $conf->categorie->enabled',2,'2013-02-24 18:29:15'),(103094,'all',2,'agenda','top','agenda',0,NULL,NULL,100,'/comm/action/index.php','','Agenda','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2013-03-13 15:29:19'),(103095,'all',2,'agenda','left','agenda',103094,NULL,NULL,100,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda','','Actions','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2013-03-13 15:29:19'),(103096,'all',2,'agenda','left','agenda',103095,NULL,NULL,101,'/comm/action/fiche.php?mainmenu=agenda&leftmenu=agenda&action=create','','NewAction','commercial',NULL,NULL,'($user->rights->agenda->myactions->create||$user->rights->agenda->allactions->create)','$conf->agenda->enabled',2,'2013-03-13 15:29:19'),(103097,'all',2,'agenda','left','agenda',103095,NULL,NULL,102,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda','','Calendar','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2013-03-13 15:29:19'),(103098,'all',2,'agenda','left','agenda',103097,NULL,NULL,103,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda&status=todo&filter=mine','','MenuToDoMyActions','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2013-03-13 15:29:19'),(103099,'all',2,'agenda','left','agenda',103097,NULL,NULL,104,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda&status=done&filter=mine','','MenuDoneMyActions','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2013-03-13 15:29:19'),(103100,'all',2,'agenda','left','agenda',103097,NULL,NULL,105,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda&status=todo','','MenuToDoActions','agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$user->rights->agenda->allactions->read',2,'2013-03-13 15:29:19'),(103101,'all',2,'agenda','left','agenda',103097,NULL,NULL,106,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda&status=done','','MenuDoneActions','agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$user->rights->agenda->allactions->read',2,'2013-03-13 15:29:19'),(103102,'all',2,'agenda','left','agenda',103095,NULL,NULL,112,'/comm/action/listactions.php?mainmenu=agenda&leftmenu=agenda','','List','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2013-03-13 15:29:19'),(103103,'all',2,'agenda','left','agenda',103102,NULL,NULL,113,'/comm/action/listactions.php?mainmenu=agenda&leftmenu=agenda&status=todo&filter=mine','','MenuToDoMyActions','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2013-03-13 15:29:19'),(103104,'all',2,'agenda','left','agenda',103102,NULL,NULL,114,'/comm/action/listactions.php?mainmenu=agenda&leftmenu=agenda&status=done&filter=mine','','MenuDoneMyActions','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2013-03-13 15:29:19'),(103105,'all',2,'agenda','left','agenda',103102,NULL,NULL,115,'/comm/action/listactions.php?mainmenu=agenda&leftmenu=agenda&status=todo','','MenuToDoActions','agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$user->rights->agenda->allactions->read',2,'2013-03-13 15:29:19'),(103106,'all',2,'agenda','left','agenda',103102,NULL,NULL,116,'/comm/action/listactions.php?mainmenu=agenda&leftmenu=agenda&status=done','','MenuDoneActions','agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$user->rights->agenda->allactions->read',2,'2013-03-13 15:29:19'),(103107,'all',2,'agenda','left','agenda',103095,NULL,NULL,120,'/comm/action/rapport/index.php?mainmenu=agenda&leftmenu=agenda','','Reportings','agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$conf->agenda->enabled',2,'2013-03-13 15:29:19'),(103108,'all',2,'pos','top','pos',0,NULL,NULL,100,'/pos/backend/listefac.php','','POS','pos@pos',NULL,'1','1','1',2,'2013-03-13 20:33:09'),(103109,'all',2,'pos','left','pos',103108,NULL,NULL,100,'/pos/backend/liste.php','','Tickets','pos@pos',NULL,NULL,'$user->rights->pos->backend','$conf->global->POS_USE_TICKETS',0,'2013-03-13 20:33:09'),(103110,'all',2,'pos','left','pos',103109,NULL,NULL,100,'/pos/backend/liste.php','','List','main',NULL,NULL,'$user->rights->pos->backend','$conf->global->POS_USE_TICKETS',0,'2013-03-13 20:33:09'),(103111,'all',2,'pos','left','pos',103110,NULL,NULL,100,'/pos/backend/liste.php?viewstatut=0','','StatusTicketDraft','pos@pos',NULL,NULL,'$user->rights->pos->backend','$conf->global->POS_USE_TICKETS',0,'2013-03-13 20:33:09'),(103112,'all',2,'pos','left','@pos',103110,NULL,NULL,100,'/pos/backend/liste.php?viewstatut=1','','StatusTicketClosed','main',NULL,NULL,'$user->rights->pos->backend','$conf->global->POS_USE_TICKETS',0,'2013-03-13 20:33:09'),(103113,'all',2,'pos','left','@pos',103110,NULL,NULL,100,'/pos/backend/liste.php?viewstatut=2','','StatusTicketProcessed','main',NULL,NULL,'$user->rights->pos->backend','$conf->global->POS_USE_TICKETS',0,'2013-03-13 20:33:09'),(103114,'all',2,'pos','left','@pos',103110,NULL,NULL,100,'/pos/backend/liste.php?viewtype=1','','StatusTicketReturned','main',NULL,NULL,'$user->rights->pos->backend','$conf->global->POS_USE_TICKETS',0,'2013-03-13 20:33:09'),(103115,'all',2,'pos','left','pos',103108,NULL,NULL,100,'/pos/backend/listefac.php','','Factures','pos@pos',NULL,NULL,'$user->rights->pos->backend','1',0,'2013-03-13 20:33:09'),(103116,'all',2,'pos','left','pos',103115,NULL,NULL,100,'/pos/backend/listefac.php','','List','main',NULL,NULL,'$user->rights->pos->backend','1',0,'2013-03-13 20:33:09'),(103117,'all',2,'pos','left','pos',103116,NULL,NULL,100,'/pos/backend/listefac.php?viewstatut=0','','BillStatusDraft','bills',NULL,NULL,'$user->rights->pos->backend','1',0,'2013-03-13 20:33:09'),(103118,'all',2,'pos','left','@pos',103116,NULL,NULL,100,'/pos/backend/listefac.php?viewstatut=1','','BillStatusValidated','bills',NULL,NULL,'$user->rights->pos->backend','1',0,'2013-03-13 20:33:09'),(103119,'all',2,'pos','left','@pos',103116,NULL,NULL,100,'/pos/backend/listefac.php?viewstatut=2&viewtype=0','','BillStatusPaid','bills',NULL,NULL,'$user->rights->pos->backend','1',0,'2013-03-13 20:33:09'),(103120,'all',2,'pos','left','@pos',103116,NULL,NULL,100,'/pos/backend/listefac.php?viewtype=2','','BillStatusReturned','main',NULL,NULL,'$user->rights->pos->backend','1',0,'2013-03-13 20:33:09'),(103121,'all',2,'pos','left','@pos',103108,NULL,NULL,100,'/pos/frontend/index.php','','POS','main',NULL,NULL,'$user->rights->pos->frontend','1',0,'2013-03-13 20:33:09'),(103122,'all',2,'pos','left','@pos',103121,NULL,NULL,100,'/pos/frontend/index.php','','NewTicket','main',NULL,NULL,'$user->rights->pos->frontend','1',0,'2013-03-13 20:33:09'),(103123,'all',2,'pos','left','@pos',103121,NULL,NULL,101,'/pos/backend/closes.php','','CloseandArching','main',NULL,NULL,'$user->rights->pos->backend','1',0,'2013-03-13 20:33:09'),(103124,'all',2,'pos','left','@pos',103108,NULL,NULL,100,'/pos/backend/terminal/cash.php','','Terminal','main',NULL,NULL,'$user->rights->pos->backend','1',0,'2013-03-13 20:33:09'),(103125,'all',2,'pos','left','@pos',103124,NULL,NULL,100,'/pos/backend/terminal/fiche.php?action=create','','NewCash','main',NULL,NULL,'$user->rights->pos->backend','1',0,'2013-03-13 20:33:09'),(103126,'all',2,'pos','left','@pos',103124,NULL,NULL,101,'/pos/backend/terminal/cash.php','','List','main',NULL,NULL,'$user->rights->pos->backend','1',0,'2013-03-13 20:33:09'),(103127,'all',2,'pos','left','@pos',103123,NULL,NULL,101,'/pos/backend/closes.php?viewstatut=0','','Arqueo','main',NULL,NULL,'$user->rights->pos->backend','1',0,'2013-03-13 20:33:09'),(103128,'all',2,'pos','left','@pos',103123,NULL,NULL,102,'/pos/backend/closes.php?viewstatut=1','','Closes','main',NULL,NULL,'$user->rights->pos->backend','1',0,'2013-03-13 20:33:09'),(103129,'all',2,'pos','left','@pos',103108,NULL,NULL,102,'/pos/backend/transfers.php','','Transfer','main',NULL,NULL,'$user->rights->pos->transfer','1',0,'2013-03-13 20:33:09'),(103130,'all',2,'pos','left','@pos',103108,NULL,NULL,102,'/pos/backend/resultat/index.php','','Rapport','main',NULL,NULL,'$user->rights->pos->stats','1',0,'2013-03-13 20:33:09'),(103131,'all',2,'pos','left','@pos',103130,NULL,NULL,102,'/pos/backend/resultat/casoc.php','','ReportsCustomer','main',NULL,NULL,'$user->rights->pos->stats','1',0,'2013-03-13 20:33:09'),(103132,'all',2,'pos','left','@pos',103130,NULL,NULL,102,'/pos/backend/resultat/causer.php','','ReportsUser','main',NULL,NULL,'$user->rights->pos->stats','1',0,'2013-03-13 20:33:09'),(103133,'all',2,'pos','left','@pos',103130,NULL,NULL,102,'/pos/backend/resultat/sellsjournal.php','','ReportsSells','main',NULL,NULL,'$user->rights->pos->stats','1',0,'2013-03-13 20:33:09'),(103134,'all',2,'opensurvey','top','opensurvey',0,NULL,NULL,200,'/opensurvey/index.php','','Surveys','opensurvey',NULL,NULL,'$user->rights->opensurvey->survey->read','$conf->opensurvey->enabled',0,'2013-03-13 20:33:42'),(103135,'all',2,'opensurvey','left','opensurvey',-1,NULL,'opensurvey',200,'/opensurvey/index.php?mainmenu=opensurvey&leftmenu=opensurvey','','Survey','opensurvey@opensurvey',NULL,'opensurvey','','$conf->opensurvey->enabled',0,'2013-03-13 20:33:42'),(103136,'all',2,'opensurvey','left','opensurvey',-1,'opensurvey','opensurvey',210,'/opensurvey/public/index.php','_blank','NewSurvey','opensurvey@opensurvey',NULL,'opensurvey_new','','$conf->opensurvey->enabled',0,'2013-03-13 20:33:42'),(103137,'all',2,'opensurvey','left','opensurvey',-1,'opensurvey','opensurvey',220,'/opensurvey/list.php','','List','opensurvey@opensurvey',NULL,'opensurvey_list','','$conf->opensurvey->enabled',0,'2013-03-13 20:33:42'),(103160,'all',1,'cron','left','home',-1,'modulesadmintools','home',200,'/cron/list.php?status=1','','CronListActive','cron',NULL,NULL,'$user->rights->cron->read','$leftmenu==\'modulesadmintools\'',2,'2013-03-23 17:24:25'),(103161,'all',1,'cron','left','home',-1,'modulesadmintools','home',201,'/cron/list.php?status=0','','CronListInactive','cron',NULL,NULL,'$user->rights->cron->read','$leftmenu==\'modulesadmintools\'',2,'2013-03-23 17:24:25'),(103162,'auguria',1,'','top','home',0,NULL,NULL,1,'/index.php?mainmenu=home&leftmenu=','','Home','',-1,'','','1',2,'2013-03-24 02:31:47'),(103163,'auguria',1,'societe|fournisseur','top','companies',0,NULL,NULL,2,'/societe/index.php?mainmenu=companies&leftmenu=','','ThirdParties','companies',-1,'','$user->rights->societe->lire || $user->rights->societe->contact->lire','$conf->societe->enabled || $conf->fournisseur->enabled',2,'2013-03-24 02:31:47'),(103164,'auguria',1,'product|service','top','products',0,NULL,NULL,3,'/product/index.php?mainmenu=products&leftmenu=','','Products/Services','products',-1,'','$user->rights->produit->lire||$user->rights->service->lire','$conf->product->enabled || $conf->service->enabled',0,'2013-03-24 02:31:47'),(103166,'auguria',1,'propal|commande|fournisseur|contrat|ficheinter','top','commercial',0,NULL,NULL,5,'/comm/index.php?mainmenu=commercial&leftmenu=','','Commercial','commercial',-1,'','$user->rights->societe->lire || $user->rights->societe->contact->lire','$conf->comptabilite->enabled || $conf->accounting->enabled || $conf->facture->enabled || $conf->deplacement->enabled || $conf->don->enabled || $conf->tax->enabled',2,'2013-03-24 02:31:47'),(103167,'auguria',1,'comptabilite|accounting|facture|deplacement|don|tax','top','accountancy',0,NULL,NULL,6,'/compta/index.php?mainmenu=accountancy&leftmenu=','','MenuFinancial','compta',-1,'','$user->rights->compta->resultat->lire || $user->rights->accounting->plancompte->lire || $user->rights->facture->lire|| $user->rights->deplacement->lire || $user->rights->don->lire || $user->rights->tax->charges->lire','$conf->comptabilite->enabled || $conf->accounting->enabled || $conf->facture->enabled || $conf->deplacement->enabled || $conf->don->enabled || $conf->tax->enabled',2,'2013-03-24 02:31:47'),(103168,'auguria',1,'projet','top','project',0,NULL,NULL,7,'/projet/index.php?mainmenu=project&leftmenu=','','Projects','projects',-1,'','$user->rights->projet->lire','$conf->projet->enabled',2,'2013-03-24 02:31:47'),(103169,'auguria',1,'mailing|export|import','top','tools',0,NULL,NULL,8,'/core/tools.php?mainmenu=tools&leftmenu=','','Tools','other',-1,'','$user->rights->mailing->lire || $user->rights->export->lire || $user->rights->import->run','$conf->mailing->enabled || $conf->export->enabled || $conf->import->enabled',2,'2013-03-24 02:31:47'),(103172,'auguria',1,'boutique','top','shop',0,NULL,NULL,11,'/boutique/index.php?mainmenu=shop&leftmenu=','','OSCommerce','shop',-1,'','','! empty($conf->boutique->enabled)',0,'2013-03-24 02:31:47'),(103174,'auguria',1,'adherent','top','members',0,NULL,NULL,15,'/adherents/index.php?mainmenu=members&leftmenu=','','Members','members',-1,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2013-03-24 02:31:47'),(103175,'auguria',1,'banque|prelevement','top','bank',0,NULL,NULL,6,'/compta/bank/index.php?mainmenu=bank&leftmenu=bank','','MenuBankCash','banks',-1,'','$user->rights->banque->lire || $user->rights->prelevement->bons->lire','$conf->banque->enabled || $conf->prelevement->enabled',0,'2013-03-24 02:31:47'),(103261,'auguria',1,'','left','home',103162,NULL,NULL,0,'/admin/index.php?leftmenu=setup','','Setup','admin',0,'setup','','$user->admin',2,'2013-03-24 02:31:47'),(103262,'auguria',1,'','left','home',103261,NULL,NULL,1,'/admin/company.php?leftmenu=setup','','MenuCompanySetup','admin',1,'','','$leftmenu==\'setup\'',2,'2013-03-24 02:31:47'),(103263,'auguria',1,'','left','home',103261,NULL,NULL,4,'/admin/ihm.php?leftmenu=setup','','GUISetup','admin',1,'','','$leftmenu==\'setup\'',2,'2013-03-24 02:31:47'),(103264,'auguria',1,'','left','home',103261,NULL,NULL,2,'/admin/modules.php?leftmenu=setup','','Modules','admin',1,'','','$leftmenu==\'setup\'',2,'2013-03-24 02:31:47'),(103265,'auguria',1,'','left','home',103261,NULL,NULL,5,'/admin/boxes.php?leftmenu=setup','','Boxes','admin',1,'','','$leftmenu==\'setup\'',2,'2013-03-24 02:31:47'),(103266,'auguria',1,'','left','home',103261,NULL,NULL,3,'/admin/menus.php?leftmenu=setup','','Menus','admin',1,'','','$leftmenu==\'setup\'',2,'2013-03-24 02:31:47'),(103267,'auguria',1,'','left','home',103261,NULL,NULL,6,'/admin/delais.php?leftmenu=setup','','Alerts','admin',1,'','','$leftmenu==\'setup\'',2,'2013-03-24 02:31:47'),(103268,'auguria',1,'','left','home',103261,NULL,NULL,9,'/admin/pdf.php?leftmenu=setup','','PDF','admin',1,'','','$leftmenu==\'setup\'',2,'2013-03-24 02:31:47'),(103269,'auguria',1,'','left','home',103261,NULL,NULL,7,'/admin/proxy.php?leftmenu=setup','','Security','admin',1,'','','$leftmenu==\'setup\'',2,'2013-03-24 02:31:47'),(103270,'auguria',1,'','left','home',103261,NULL,NULL,10,'/admin/mails.php?leftmenu=setup','','Emails','admin',1,'','','$leftmenu==\'setup\'',2,'2013-03-24 02:31:47'),(103271,'auguria',1,'','left','home',103261,NULL,NULL,8,'/admin/limits.php?leftmenu=setup','','MenuLimits','admin',1,'','','$leftmenu==\'setup\'',2,'2013-03-24 02:31:47'),(103272,'auguria',1,'','left','home',103261,NULL,NULL,12,'/admin/dict.php?leftmenu=setup','','DictionnarySetup','admin',1,'','','$leftmenu==\'setup\'',2,'2013-03-24 02:31:47'),(103273,'auguria',1,'','left','home',103261,NULL,NULL,13,'/admin/const.php?leftmenu=setup','','OtherSetup','admin',1,'','','$leftmenu==\'setup\'',2,'2013-03-24 02:31:47'),(103274,'auguria',1,'','left','home',103261,NULL,NULL,11,'/admin/sms.php?leftmenu=setup','','Sms','admin',1,'','','$leftmenu==\'setup\'',2,'2013-03-24 02:31:47'),(103362,'auguria',1,'','left','home',103461,NULL,NULL,0,'/admin/system/dolibarr.php?leftmenu=admintools','','InfoDolibarr','admin',1,'','','$leftmenu==\'admintools\'',2,'2013-03-24 02:31:47'),(103364,'auguria',1,'','left','home',103461,NULL,NULL,13,'/admin/system/about.php?leftmenu=admintools','','About','admin',1,'','','$leftmenu==\'admintools\'',2,'2013-03-24 02:31:47'),(103365,'auguria',1,'','left','home',103461,NULL,NULL,1,'/admin/system/os.php?leftmenu=admintools','','InfoOS','admin',1,'','','$leftmenu==\'admintools\'',2,'2013-03-24 02:31:47'),(103366,'auguria',1,'','left','home',103461,NULL,NULL,2,'/admin/system/web.php?leftmenu=admintools','','InfoWebServer','admin',1,'','','$leftmenu==\'admintools\'',2,'2013-03-24 02:31:47'),(103367,'auguria',1,'','left','home',103461,NULL,NULL,3,'/admin/system/phpinfo.php?leftmenu=admintools','','InfoPHP','admin',1,'','','$leftmenu==\'admintools\'',2,'2013-03-24 02:31:47'),(103368,'auguria',1,'','left','home',103362,NULL,NULL,3,'/admin/triggers.php?leftmenu=admintools','','Triggers','admin',2,'','','$leftmenu==\'admintools\'',2,'2013-03-24 02:31:47'),(103369,'auguria',1,'','left','home',103362,NULL,NULL,2,'/admin/system/modules.php?leftmenu=admintools','','Modules','admin',2,'','','$leftmenu==\'admintools\'',2,'2013-03-24 02:31:47'),(103371,'auguria',1,'','left','home',103461,NULL,NULL,4,'/admin/system/database.php?leftmenu=admintools','','InfoDatabase','admin',1,'','','$leftmenu==\'admintools\'',2,'2013-03-24 02:31:47'),(103461,'auguria',1,'','left','home',103162,NULL,NULL,2,'/admin/tools/index.php?leftmenu=admintools','','SystemTools','admin',0,'admintools','','$user->admin',2,'2013-03-24 02:31:47'),(103462,'auguria',1,'','left','home',103461,NULL,NULL,5,'/admin/tools/dolibarr_export.php?leftmenu=admintools','','Backup','admin',1,'','','$leftmenu==\'admintools\'',2,'2013-03-24 02:31:47'),(103463,'auguria',1,'','left','home',103461,NULL,NULL,6,'/admin/tools/dolibarr_import.php?leftmenu=admintools','','Restore','admin',1,'','','$leftmenu==\'admintools\'',2,'2013-03-24 02:31:47'),(103464,'auguria',1,'','left','home',103461,NULL,NULL,11,'/admin/tools/purge.php?leftmenu=admintools','','Purge','admin',1,'','','$leftmenu==\'admintools\'',2,'2013-03-24 02:31:47'),(103465,'auguria',1,'','left','home',103461,NULL,NULL,8,'/admin/tools/eaccelerator.php?leftmenu=admintools','','EAccelerator','admin',1,'','','$leftmenu==\'admintools\' && function_exists(\'eaccelerator_info\')',2,'2013-03-24 02:31:47'),(103466,'auguria',1,'','left','home',103461,NULL,NULL,7,'/admin/tools/update.php?leftmenu=admintools','','MenuUpgrade','admin',1,'','','$leftmenu==\'admintools\'',2,'2013-03-24 02:31:47'),(103467,'auguria',1,'','left','home',103461,NULL,NULL,9,'/admin/tools/listevents.php?leftmenu=admintools','','Audit','admin',1,'','','$leftmenu==\'admintools\'',2,'2013-03-24 02:31:47'),(103468,'auguria',1,'','left','home',103461,NULL,NULL,12,'/support/index.php?leftmenu=admintools','_blank','HelpCenter','help',1,'','','$leftmenu==\'admintools\'',2,'2013-03-24 02:31:47'),(103469,'auguria',1,'','left','home',103461,NULL,NULL,10,'/admin/tools/listsessions.php?leftmenu=admintools','','Sessions','admin',1,'','','$leftmenu==\'admintools\'',2,'2013-03-24 02:31:47'),(103561,'auguria',1,'','left','home',103162,NULL,NULL,3,'/user/home.php?leftmenu=users','','MenuUsersAndGroups','users',0,'users','','1',2,'2013-03-24 02:31:47'),(103562,'auguria',1,'','left','home',103561,NULL,NULL,0,'/user/index.php?leftmenu=users','','Users','users',1,'','$user->rights->user->user->lire || $user->admin','$leftmenu==\'users\'',2,'2013-03-24 02:31:47'),(103563,'auguria',1,'','left','home',103562,NULL,NULL,0,'/user/fiche.php?leftmenu=users&action=create','','NewUser','users',2,'','$user->rights->user->user->creer || $user->admin','$leftmenu==\'users\'',2,'2013-03-24 02:31:47'),(103564,'auguria',1,'','left','home',103561,NULL,NULL,1,'/user/group/index.php?leftmenu=users','','Groups','users',1,'','($conf->global->MAIN_USE_ADVANCED_PERMS?$user->rights->user->group_advance->read:$user->rights->user->user->lire) || $user->admin','$leftmenu==\'users\'',2,'2013-03-24 02:31:47'),(103565,'auguria',1,'','left','home',103564,NULL,NULL,0,'/user/group/fiche.php?leftmenu=users&action=create','','NewGroup','users',2,'','($conf->global->MAIN_USE_ADVANCED_PERMS?$user->rights->user->group_advance->write:$user->rights->user->user->creer) || $user->admin','$leftmenu==\'users\'',2,'2013-03-24 02:31:47'),(103661,'auguria',1,'','left','companies',103163,NULL,NULL,0,'/societe/index.php?leftmenu=thirdparties','','ThirdParty','companies',0,'thirdparties','$user->rights->societe->lire','$conf->societe->enabled',2,'2013-03-24 02:31:47'),(103662,'auguria',1,'','left','companies',103661,NULL,NULL,0,'/societe/soc.php?action=create','','MenuNewThirdParty','companies',1,'','$user->rights->societe->lire','$conf->societe->enabled',2,'2013-03-24 02:31:47'),(103664,'auguria',1,'','left','companies',103661,NULL,NULL,5,'/fourn/liste.php?leftmenu=suppliers','','ListSuppliersShort','suppliers',1,'','$user->rights->societe->lire && $user->rights->fournisseur->lire','$conf->societe->enabled && $conf->fournisseur->enabled',2,'2013-03-24 02:31:47'),(103665,'auguria',1,'','left','companies',103664,NULL,NULL,0,'/societe/soc.php?leftmenu=supplier&action=create&type=f','','NewSupplier','suppliers',2,'','$user->rights->societe->creer','$conf->societe->enabled && $conf->fournisseur->enabled',2,'2013-03-24 02:31:47'),(103667,'auguria',1,'','left','companies',103661,NULL,NULL,3,'/comm/prospect/list.php?leftmenu=prospects','','ListProspectsShort','companies',1,'','$user->rights->societe->lire','$conf->societe->enabled',2,'2013-03-24 02:31:47'),(103668,'auguria',1,'','left','companies',103667,NULL,NULL,0,'/societe/soc.php?leftmenu=prospects&action=create&type=p','','MenuNewProspect','companies',2,'','$user->rights->societe->creer','$conf->societe->enabled',2,'2013-03-24 02:31:47'),(103670,'auguria',1,'','left','companies',103661,NULL,NULL,4,'/comm/list.php?leftmenu=customers','','ListCustomersShort','companies',1,'','$user->rights->societe->lire','$conf->societe->enabled',2,'2013-03-24 02:31:47'),(103671,'auguria',1,'','left','companies',103670,NULL,NULL,0,'/societe/soc.php?leftmenu=customers&action=create&type=c','','MenuNewCustomer','companies',2,'','$user->rights->societe->creer','$conf->societe->enabled',2,'2013-03-24 02:31:47'),(103761,'auguria',1,'','left','companies',103163,NULL,NULL,1,'/contact/list.php?leftmenu=contacts','','ContactsAddresses','companies',0,'contacts','$user->rights->societe->lire','$conf->societe->enabled',2,'2013-03-24 02:31:47'),(103762,'auguria',1,'','left','companies',103761,NULL,NULL,0,'/contact/fiche.php?leftmenu=contacts&action=create','','NewContactAddress','companies',1,'','$user->rights->societe->creer','$conf->societe->enabled',2,'2013-03-24 02:31:47'),(103763,'auguria',1,'','left','companies',103761,NULL,NULL,1,'/contact/list.php?leftmenu=contacts','','List','companies',1,'','$user->rights->societe->lire','$conf->societe->enabled',2,'2013-03-24 02:31:47'),(103765,'auguria',1,'','left','companies',103763,NULL,NULL,1,'/contact/list.php?leftmenu=contacts&type=p','','Prospects','companies',2,'','$user->rights->societe->contact->lire','$conf->societe->enabled',2,'2013-03-24 02:31:47'),(103766,'auguria',1,'','left','companies',103763,NULL,NULL,2,'/contact/list.php?leftmenu=contacts&type=c','','Customers','companies',2,'','$user->rights->societe->contact->lire','$conf->societe->enabled',2,'2013-03-24 02:31:47'),(103767,'auguria',1,'','left','companies',103763,NULL,NULL,3,'/contact/list.php?leftmenu=contacts&type=f','','Suppliers','companies',2,'','$user->rights->societe->contact->lire','$conf->societe->enabled && $conf->fournisseur->enabled',2,'2013-03-24 02:31:47'),(103768,'auguria',1,'','left','companies',103763,NULL,NULL,4,'/contact/list.php?leftmenu=contacts&type=o','','Others','companies',2,'','$user->rights->societe->contact->lire','$conf->societe->enabled',2,'2013-03-24 02:31:47'),(103811,'auguria',1,'','left','companies',103163,NULL,NULL,3,'/categories/index.php?leftmenu=cat&type=1','','SuppliersCategoriesShort','categories',0,'cat','$user->rights->categorie->lire','$conf->societe->enabled && $conf->categorie->enabled',2,'2013-03-24 02:31:47'),(103812,'auguria',1,'','left','companies',103811,NULL,NULL,0,'/categories/fiche.php?action=create&type=1','','NewCategory','categories',1,'','$user->rights->categorie->creer','$conf->societe->enabled && $conf->categorie->enabled',2,'2013-03-24 02:31:47'),(103821,'auguria',1,'','left','companies',103163,NULL,NULL,4,'/categories/index.php?leftmenu=cat&type=2','','CustomersProspectsCategoriesShort','categories',0,'cat','$user->rights->categorie->lire','$conf->fournisseur->enabled && $conf->categorie->enabled',2,'2013-03-24 02:31:47'),(103822,'auguria',1,'','left','companies',103821,NULL,NULL,0,'/categories/fiche.php?action=create&type=2','','NewCategory','categories',1,'','$user->rights->categorie->creer','$conf->fournisseur->enabled && $conf->categorie->enabled',2,'2013-03-24 02:31:47'),(104261,'auguria',1,'','left','commercial',103166,NULL,NULL,4,'/comm/propal/index.php?leftmenu=propals','','Prop','propal',0,'propals','$user->rights->propale->lire','$conf->propal->enabled',2,'2013-03-24 02:31:47'),(104262,'auguria',1,'','left','commercial',104261,NULL,NULL,0,'/societe/societe.php?leftmenu=propals','','NewPropal','propal',1,'','$user->rights->propale->creer','$conf->propal->enabled',2,'2013-03-24 02:31:47'),(104263,'auguria',1,'','left','commercial',104261,NULL,NULL,1,'/comm/propal/list.php?leftmenu=propals','','List','propal',1,'','$user->rights->propale->lire','$conf->propal->enabled',2,'2013-03-24 02:31:47'),(104264,'auguria',1,'','left','commercial',104263,NULL,NULL,2,'/comm/propal/list.php?leftmenu=propals&viewstatut=0','','PropalsDraft','propal',1,'','$user->rights->propale->lire','$conf->propal->enabled && $leftmenu==\"propals\"',2,'2013-03-24 02:31:47'),(104265,'auguria',1,'','left','commercial',104263,NULL,NULL,3,'/comm/propal/list.php?leftmenu=propals&viewstatut=1','','PropalsOpened','propal',1,'','$user->rights->propale->lire','$conf->propal->enabled && $leftmenu==\"propals\"',2,'2013-03-24 02:31:47'),(104266,'auguria',1,'','left','commercial',104263,NULL,NULL,4,'/comm/propal/list.php?leftmenu=propals&viewstatut=2','','PropalStatusSigned','propal',1,'','$user->rights->propale->lire','$conf->propal->enabled && $leftmenu==\"propals\"',2,'2013-03-24 02:31:47'),(104267,'auguria',1,'','left','commercial',104263,NULL,NULL,5,'/comm/propal/list.php?leftmenu=propals&viewstatut=3','','PropalStatusNotSigned','propal',1,'','$user->rights->propale->lire','$conf->propal->enabled && $leftmenu==\"propals\"',2,'2013-03-24 02:31:47'),(104268,'auguria',1,'','left','commercial',104263,NULL,NULL,6,'/comm/propal/list.php?leftmenu=propals&viewstatut=4','','PropalStatusBilled','propal',1,'','$user->rights->propale->lire','$conf->propal->enabled && $leftmenu==\"propals\"',2,'2013-03-24 02:31:47'),(104271,'auguria',1,'','left','commercial',104261,NULL,NULL,4,'/comm/propal/stats/index.php?leftmenu=propals','','Statistics','propal',1,'','$user->rights->propale->lire','$conf->propal->enabled',2,'2013-03-24 02:31:47'),(104361,'auguria',1,'','left','commercial',103166,NULL,NULL,5,'/commande/index.php?leftmenu=orders','','CustomersOrders','orders',0,'orders','$user->rights->commande->lire','$conf->commande->enabled',2,'2013-03-24 02:31:47'),(104362,'auguria',1,'','left','commercial',104361,NULL,NULL,0,'/societe/societe.php?leftmenu=orders','','NewOrder','orders',1,'','$user->rights->commande->creer','$conf->commande->enabled',2,'2013-03-24 02:31:47'),(104363,'auguria',1,'','left','commercial',104361,NULL,NULL,1,'/commande/liste.php?leftmenu=orders','','List','orders',1,'','$user->rights->commande->lire','$conf->commande->enabled',2,'2013-03-24 02:31:47'),(104364,'auguria',1,'','left','commercial',104363,NULL,NULL,2,'/commande/liste.php?leftmenu=orders&viewstatut=0','','StatusOrderDraftShort','orders',1,'','$user->rights->commande->lire','$conf->commande->enabled && $leftmenu==\"orders\"',2,'2013-03-24 02:31:47'),(104365,'auguria',1,'','left','commercial',104363,NULL,NULL,3,'/commande/liste.php?leftmenu=orders&viewstatut=1','','StatusOrderValidated','orders',1,'','$user->rights->commande->lire','$conf->commande->enabled && $leftmenu==\"orders\"',2,'2013-03-24 02:31:47'),(104366,'auguria',1,'','left','commercial',104363,NULL,NULL,4,'/commande/liste.php?leftmenu=orders&viewstatut=2','','StatusOrderOnProcessShort','orders',1,'','$user->rights->commande->lire','$conf->commande->enabled && $leftmenu==\"orders\"',2,'2013-03-24 02:31:47'),(104367,'auguria',1,'','left','commercial',104363,NULL,NULL,5,'/commande/liste.php?leftmenu=orders&viewstatut=3','','StatusOrderToBill','orders',1,'','$user->rights->commande->lire','$conf->commande->enabled && $leftmenu==\"orders\"',2,'2013-03-24 02:31:47'),(104368,'auguria',1,'','left','commercial',104363,NULL,NULL,6,'/commande/liste.php?leftmenu=orders&viewstatut=4','','StatusOrderProcessed','orders',1,'','$user->rights->commande->lire','$conf->commande->enabled && $leftmenu==\"orders\"',2,'2013-03-24 02:31:47'),(104369,'auguria',1,'','left','commercial',104363,NULL,NULL,7,'/commande/liste.php?leftmenu=orders&viewstatut=-1','','StatusOrderCanceledShort','orders',1,'','$user->rights->commande->lire','$conf->commande->enabled && $leftmenu==\"orders\"',2,'2013-03-24 02:31:47'),(104370,'auguria',1,'','left','commercial',104361,NULL,NULL,4,'/commande/stats/index.php?leftmenu=orders','','Statistics','orders',1,'','$user->rights->commande->lire','$conf->commande->enabled',2,'2013-03-24 02:31:47'),(104461,'auguria',1,'','left','commercial',103164,NULL,NULL,6,'/expedition/index.php?leftmenu=sendings','','Shipments','sendings',0,'sendings','$user->rights->expedition->lire','$conf->expedition->enabled',2,'2013-03-24 02:31:47'),(104462,'auguria',1,'','left','commercial',104461,NULL,NULL,0,'/expedition/fiche.php?action=create2&leftmenu=sendings','','NewSending','sendings',1,'','$user->rights->expedition->creer','$conf->expedition->enabled && $leftmenu==\"sendings\"',2,'2013-03-24 02:31:47'),(104463,'auguria',1,'','left','commercial',104461,NULL,NULL,1,'/expedition/liste.php?leftmenu=sendings','','List','sendings',1,'','$user->rights->expedition->lire','$conf->expedition->enabled && $leftmenu==\"sendings\"',2,'2013-03-24 02:31:47'),(104464,'auguria',1,'','left','commercial',104461,NULL,NULL,2,'/expedition/stats/index.php?leftmenu=sendings','','Statistics','sendings',1,'','$user->rights->expedition->lire','$conf->expedition->enabled && $leftmenu==\"sendings\"',2,'2013-03-24 02:31:47'),(104561,'auguria',1,'','left','commercial',103166,NULL,NULL,7,'/contrat/index.php?leftmenu=contracts','','Contracts','contracts',0,'contracts','$user->rights->contrat->lire','$conf->contrat->enabled',2,'2013-03-24 02:31:47'),(104562,'auguria',1,'','left','commercial',104561,NULL,NULL,0,'/societe/societe.php?leftmenu=contracts','','NewContract','contracts',1,'','$user->rights->contrat->creer','$conf->contrat->enabled',2,'2013-03-24 02:31:47'),(104563,'auguria',1,'','left','commercial',104561,NULL,NULL,1,'/contrat/liste.php?leftmenu=contracts','','List','contracts',1,'','$user->rights->contrat->lire','$conf->contrat->enabled',2,'2013-03-24 02:31:47'),(104564,'auguria',1,'','left','commercial',104561,NULL,NULL,2,'/contrat/services.php?leftmenu=contracts','','MenuServices','contracts',1,'','$user->rights->contrat->lire','$conf->contrat->enabled',2,'2013-03-24 02:31:47'),(104565,'auguria',1,'','left','commercial',104564,NULL,NULL,0,'/contrat/services.php?leftmenu=contracts&mode=0','','MenuInactiveServices','contracts',2,'','$user->rights->contrat->lire','$conf->contrat->enabled&&$leftmenu==\"contracts\"',2,'2013-03-24 02:31:47'),(104566,'auguria',1,'','left','commercial',104564,NULL,NULL,1,'/contrat/services.php?leftmenu=contracts&mode=4','','MenuRunningServices','contracts',2,'','$user->rights->contrat->lire','$conf->contrat->enabled&&$leftmenu==\"contracts\"',2,'2013-03-24 02:31:47'),(104567,'auguria',1,'','left','commercial',104564,NULL,NULL,2,'/contrat/services.php?leftmenu=contracts&mode=4&filter=expired','','MenuExpiredServices','contracts',2,'','$user->rights->contrat->lire','$conf->contrat->enabled&&$leftmenu==\"contracts\"',2,'2013-03-24 02:31:47'),(104568,'auguria',1,'','left','commercial',104564,NULL,NULL,3,'/contrat/services.php?leftmenu=contracts&mode=5','','MenuClosedServices','contracts',2,'','$user->rights->contrat->lire','$conf->contrat->enabled&&$leftmenu==\"contracts\"',2,'2013-03-24 02:31:47'),(104661,'auguria',1,'','left','commercial',103166,NULL,NULL,8,'/fichinter/list.php?leftmenu=ficheinter','','Interventions','interventions',0,'ficheinter','$user->rights->ficheinter->lire','$conf->ficheinter->enabled',2,'2013-03-24 02:31:47'),(104662,'auguria',1,'','left','commercial',104661,NULL,NULL,0,'/fichinter/fiche.php?action=create&leftmenu=ficheinter','','NewIntervention','interventions',1,'','$user->rights->ficheinter->creer','$conf->ficheinter->enabled',2,'2013-03-24 02:31:47'),(104663,'auguria',1,'','left','commercial',104661,NULL,NULL,1,'/fichinter/list.php?leftmenu=ficheinter','','List','interventions',1,'','$user->rights->ficheinter->lire','$conf->ficheinter->enabled',2,'2013-03-24 02:31:47'),(104761,'auguria',1,'','left','accountancy',103167,NULL,NULL,3,'/fourn/facture/index.php?leftmenu=suppliers_bills','','BillsSuppliers','bills',0,'supplier_bills','$user->rights->fournisseur->facture->lire','$conf->fournisseur->enabled',2,'2013-03-24 02:31:47'),(104762,'auguria',1,'','left','accountancy',104761,NULL,NULL,0,'/fourn/facture/fiche.php?action=create&leftmenu=suppliers_bills','','NewBill','bills',1,'','$user->rights->fournisseur->facture->creer','$conf->fournisseur->enabled',2,'2013-03-24 02:31:47'),(104763,'auguria',1,'','left','accountancy',104761,NULL,NULL,1,'/fourn/facture/impayees.php?leftmenu=suppliers_bills','','Unpaid','bills',1,'','$user->rights->fournisseur->facture->lire','$conf->fournisseur->enabled',2,'2013-03-24 02:31:47'),(104764,'auguria',1,'','left','accountancy',104761,NULL,NULL,2,'/fourn/facture/paiement.php?leftmenu=suppliers_bills','','Payments','bills',1,'','$user->rights->fournisseur->facture->lire','$conf->fournisseur->enabled',2,'2013-03-24 02:31:47'),(104765,'auguria',1,'','left','accountancy',104761,NULL,NULL,8,'/compta/facture/stats/index.php?leftmenu=customers_bills&mode=supplier','','Statistics','bills',1,'','$user->rights->fournisseur->facture->lire','$conf->fournisseur->enabled',2,'2013-03-24 02:31:47'),(104861,'auguria',1,'','left','accountancy',103167,NULL,NULL,3,'/compta/facture/list.php?leftmenu=customers_bills','','BillsCustomers','bills',0,'customer_bills','$user->rights->facture->lire','$conf->facture->enabled',2,'2013-03-24 02:31:47'),(104862,'auguria',1,'','left','accountancy',104861,NULL,NULL,3,'/compta/clients.php?action=facturer&leftmenu=customers_bills','','NewBill','bills',1,'','$user->rights->facture->creer','$conf->facture->enabled',2,'2013-03-24 02:31:47'),(104863,'auguria',1,'','left','accountancy',104861,NULL,NULL,4,'/compta/facture/fiche-rec.php?leftmenu=customers_bills','','Repeatable','bills',1,'','$user->rights->facture->lire','$conf->facture->enabled',2,'2013-03-24 02:31:47'),(104864,'auguria',1,'','left','accountancy',104861,NULL,NULL,5,'/compta/facture/impayees.php?action=facturer&leftmenu=customers_bills','','Unpaid','bills',1,'','$user->rights->facture->lire','$conf->facture->enabled',2,'2013-03-24 02:31:47'),(104865,'auguria',1,'','left','accountancy',104861,NULL,NULL,6,'/compta/paiement/liste.php?leftmenu=customers_bills','','Payments','bills',1,'','$user->rights->facture->lire','$conf->facture->enabled',2,'2013-03-24 02:31:47'),(104871,'auguria',1,'','left','accountancy',104865,NULL,NULL,1,'/compta/paiement/rapport.php?leftmenu=customers_bills','','Reportings','bills',2,'','$user->rights->facture->lire','$conf->facture->enabled',2,'2013-03-24 02:31:47'),(104872,'auguria',1,'','left','accountancy',103175,NULL,NULL,9,'/compta/paiement/cheque/index.php?leftmenu=checks&mainmenu=bank','','MenuChequeDeposits','bills',0,'checks','$user->rights->facture->lire','$conf->facture->enabled && $conf->banque->enabled',2,'2013-03-24 02:31:47'),(104873,'auguria',1,'','left','accountancy',104872,NULL,NULL,0,'/compta/paiement/cheque/fiche.php?leftmenu=checks&action=new','','NewCheckDeposit','compta',1,'','$user->rights->facture->lire','$conf->facture->enabled && $conf->banque->enabled',2,'2013-03-24 02:31:47'),(104874,'auguria',1,'','left','accountancy',104872,NULL,NULL,1,'/compta/paiement/cheque/liste.php?leftmenu=checks','','List','bills',1,'','$user->rights->facture->lire','$conf->facture->enabled && $conf->banque->enabled',2,'2013-03-24 02:31:47'),(104875,'auguria',1,'','left','accountancy',104861,NULL,NULL,8,'/compta/facture/stats/index.php?leftmenu=customers_bills','','Statistics','bills',1,'','$user->rights->facture->lire','$conf->facture->enabled',2,'2013-03-24 02:31:47'),(105061,'auguria',1,'','left','accountancy',103167,NULL,NULL,3,'/commande/liste.php?leftmenu=orders&viewstatut=3','','MenuOrdersToBill','orders',0,'orders','$user->rights->commande->lire','$conf->commande->enabled',0,'2013-03-24 02:31:47'),(105161,'auguria',1,'','left','accountancy',103167,NULL,NULL,4,'/compta/dons/index.php?leftmenu=donations&mainmenu=accountancy','','Donations','donations',0,'donations','$user->rights->don->lire','$conf->don->enabled',2,'2013-03-24 02:31:47'),(105162,'auguria',1,'','left','accountancy',105161,NULL,NULL,0,'/compta/dons/fiche.php?leftmenu=donations&mainmenu=accountancy&action=create','','NewDonation','donations',1,'','$user->rights->don->creer','$conf->don->enabled && $leftmenu==\"donations\"',2,'2013-03-24 02:31:47'),(105163,'auguria',1,'','left','accountancy',105161,NULL,NULL,1,'/compta/dons/liste.php?leftmenu=donations&mainmenu=accountancy','','List','donations',1,'','$user->rights->don->lire','$conf->don->enabled && $leftmenu==\"donations\"',2,'2013-03-24 02:31:47'),(105261,'auguria',1,'','left','accountancy',103167,NULL,NULL,5,'/compta/deplacement/index.php?leftmenu=tripsandexpenses','','TripsAndExpenses','trips',0,'tripsandexpenses','$user->rights->deplacement->lire','$conf->deplacement->enabled',0,'2013-03-24 02:31:47'),(105262,'auguria',1,'','left','accountancy',105261,NULL,NULL,1,'/compta/deplacement/fiche.php?action=create&leftmenu=tripsandexpenses','','New','trips',1,'','$user->rights->deplacement->creer','$conf->deplacement->enabled && $leftmenu==\"tripsandexpenses\"',0,'2013-03-24 02:31:47'),(105263,'auguria',1,'','left','accountancy',105261,NULL,NULL,2,'/compta/deplacement/list.php?leftmenu=tripsandexpenses','','List','trips',1,'','$user->rights->deplacement->lire','$conf->deplacement->enabled && $leftmenu==\"tripsandexpenses\"',0,'2013-03-24 02:31:47'),(105264,'auguria',1,'','left','accountancy',105261,NULL,NULL,2,'/compta/deplacement/stats/index.php?leftmenu=tripsandexpenses','','Statistics','trips',1,'','$user->rights->deplacement->lire','$conf->deplacement->enabled && $leftmenu==\"tripsandexpenses\"',0,'2013-03-24 02:31:47'),(105361,'auguria',1,'','left','accountancy',103167,NULL,NULL,6,'/compta/charges/index.php?leftmenu=tax&mainmenu=accountancy','','MenuTaxAndDividends','compta',0,'tax','$user->rights->tax->charges->lire','$conf->tax->enabled',0,'2013-03-24 02:31:47'),(105362,'auguria',1,'','left','accountancy',105361,NULL,NULL,1,'/compta/sociales/index.php?leftmenu=tax_social','','SocialContributions','',1,'tax_social','$user->rights->tax->charges->lire','$conf->tax->enabled',0,'2013-03-24 02:31:47'),(105363,'auguria',1,'','left','accountancy',105362,NULL,NULL,2,'/compta/sociales/charges.php?leftmenu=tax_social&action=create','','MenuNewSocialContribution','',2,'','$user->rights->tax->charges->creer','$conf->tax->enabled && $leftmenu==\"tax_social\"',0,'2013-03-24 02:31:47'),(105364,'auguria',1,'','left','accountancy',105362,NULL,NULL,3,'/compta/charges/index.php?leftmenu=tax_social&mainmenu=accountancy&mode=sconly','','Payments','',2,'','$user->rights->tax->charges->lire','$conf->tax->enabled && $leftmenu==\"tax_social\"',0,'2013-03-24 02:31:47'),(105461,'auguria',1,'','left','accountancy',105361,NULL,NULL,7,'/compta/tva/index.php?leftmenu=tax_vat&mainmenu=accountancy','','VAT','companies',1,'tax_vat','$user->rights->tax->charges->lire','$conf->tax->enabled && empty($conf->global->TAX_DISABLE_VAT_MENUS)',0,'2013-03-24 02:31:47'),(105462,'auguria',1,'','left','accountancy',105461,NULL,NULL,0,'/compta/tva/fiche.php?leftmenu=tax_vat&action=create','','NewPayment','companies',2,'','$user->rights->tax->charges->creer','$conf->tax->enabled && empty($conf->global->TAX_DISABLE_VAT_MENUS) && $leftmenu==\"tax_vat\"',0,'2013-03-24 02:31:47'),(105463,'auguria',1,'','left','accountancy',105461,NULL,NULL,1,'/compta/tva/reglement.php?leftmenu=tax_vat','','Payments','companies',2,'','$user->rights->tax->charges->lire','$conf->tax->enabled && empty($conf->global->TAX_DISABLE_VAT_MENUS) && $leftmenu==\"tax_vat\"',0,'2013-03-24 02:31:47'),(105464,'auguria',1,'','left','accountancy',105461,NULL,NULL,2,'/compta/tva/clients.php?leftmenu=tax_vat','','ReportByCustomers','companies',2,'','$user->rights->tax->charges->lire','$conf->tax->enabled && empty($conf->global->TAX_DISABLE_VAT_MENUS) && $leftmenu==\"tax_vat\"',0,'2013-03-24 02:31:47'),(105465,'auguria',1,'','left','accountancy',105461,NULL,NULL,3,'/compta/tva/quadri_detail.php?leftmenu=tax_vat','','ReportByQuarter','companies',2,'','$user->rights->tax->charges->lire','$conf->tax->enabled && empty($conf->global->TAX_DISABLE_VAT_MENUS) && $leftmenu==\"tax_vat\"',0,'2013-03-24 02:31:47'),(105561,'auguria',1,'','left','accountancy',103167,NULL,NULL,8,'/compta/ventilation/index.php?leftmenu=ventil','','Ventilation','companies',0,'ventil','$user->rights->compta->ventilation->lire','$conf->comptabilite->enabled && $conf->global->FACTURE_VENTILATION',0,'2013-03-24 02:31:47'),(105562,'auguria',1,'','left','accountancy',105561,NULL,NULL,0,'/compta/ventilation/liste.php','','ToDispatch','companies',1,'','$user->rights->compta->ventilation->lire','$conf->comptabilite->enabled && $conf->global->FACTURE_VENTILATION',0,'2013-03-24 02:31:47'),(105563,'auguria',1,'','left','accountancy',105561,NULL,NULL,1,'/compta/ventilation/lignes.php','','Dispatched','companies',1,'','$user->rights->compta->ventilation->lire','$conf->comptabilite->enabled && $conf->global->FACTURE_VENTILATION',0,'2013-03-24 02:31:47'),(105564,'auguria',1,'','left','accountancy',105561,NULL,NULL,2,'/compta/param/','','Setup','companies',1,'','$user->rights->compta->ventilation->parametrer','$conf->comptabilite->enabled && $conf->global->FACTURE_VENTILATION',0,'2013-03-24 02:31:47'),(105565,'auguria',1,'','left','accountancy',105564,NULL,NULL,0,'/compta/param/comptes/liste.php','','List','companies',2,'','$user->rights->compta->ventilation->parametrer','$conf->comptabilite->enabled && $conf->global->FACTURE_VENTILATION',0,'2013-03-24 02:31:47'),(105566,'auguria',1,'','left','accountancy',105564,NULL,NULL,1,'/compta/param/comptes/fiche.php?action=create','','New','companies',2,'','$user->rights->compta->ventilation->parametrer','$conf->comptabilite->enabled && $conf->global->FACTURE_VENTILATION',0,'2013-03-24 02:31:47'),(105567,'auguria',1,'','left','accountancy',105561,NULL,NULL,3,'/compta/export/','','Export','companies',1,'','$user->rights->compta->ventilation->lire','$conf->comptabilite->enabled && $conf->global->FACTURE_VENTILATION',0,'2013-03-24 02:31:47'),(105568,'auguria',1,'','left','accountancy',105567,NULL,NULL,0,'/compta/export/index.php','','New','companies',2,'','$user->rights->compta->ventilation->lire','$conf->comptabilite->enabled && $conf->global->FACTURE_VENTILATION',0,'2013-03-24 02:31:47'),(105569,'auguria',1,'','left','accountancy',105567,NULL,NULL,1,'/compta/export/liste.php','','List','companies',2,'','$user->rights->compta->ventilation->lire','$conf->comptabilite->enabled && $conf->global->FACTURE_VENTILATION',0,'2013-03-24 02:31:47'),(105661,'auguria',1,'','left','accountancy',103175,NULL,NULL,9,'/compta/prelevement/index.php?leftmenu=withdraw&mainmenu=bank','','StandingOrders','withdrawals',0,'withdraw','$user->rights->prelevement->bons->lire','$conf->prelevement->enabled',2,'2013-03-24 02:31:47'),(105663,'auguria',1,'','left','accountancy',105661,NULL,NULL,0,'/compta/prelevement/create.php?leftmenu=withdraw','','NewStandingOrder','withdrawals',1,'','$user->rights->prelevement->bons->lire','$conf->prelevement->enabled && $leftmenu==\"withdraw\"',2,'2013-03-24 02:31:47'),(105664,'auguria',1,'','left','accountancy',105661,NULL,NULL,2,'/compta/prelevement/bons.php?leftmenu=withdraw','','WithdrawalsReceipts','withdrawals',1,'','$user->rights->prelevement->bons->lire','$conf->prelevement->enabled && $leftmenu==\"withdraw\"',2,'2013-03-24 02:31:47'),(105665,'auguria',1,'','left','accountancy',105661,NULL,NULL,3,'/compta/prelevement/liste.php?leftmenu=withdraw','','WithdrawalsLines','withdrawals',1,'','$user->rights->prelevement->bons->lire','$conf->prelevement->enabled && $leftmenu==\"withdraw\"',2,'2013-03-24 02:31:47'),(105667,'auguria',1,'','left','accountancy',105661,NULL,NULL,5,'/compta/prelevement/rejets.php?leftmenu=withdraw','','Rejects','withdrawals',1,'','$user->rights->prelevement->bons->lire','$conf->prelevement->enabled && $leftmenu==\"withdraw\"',2,'2013-03-24 02:31:47'),(105668,'auguria',1,'','left','accountancy',105661,NULL,NULL,6,'/compta/prelevement/stats.php?leftmenu=withdraw','','Statistics','withdrawals',1,'','$user->rights->prelevement->bons->lire','$conf->prelevement->enabled && $leftmenu==\"withdraw\"',2,'2013-03-24 02:31:47'),(105761,'auguria',1,'','left','accountancy',103175,NULL,NULL,1,'/compta/bank/index.php?leftmenu=bank&mainmenu=bank','','MenuBankCash','banks',0,'bank','$user->rights->banque->lire','$conf->banque->enabled',0,'2013-03-24 02:31:47'),(105762,'auguria',1,'','left','accountancy',105761,NULL,NULL,0,'/compta/bank/fiche.php?action=create&leftmenu=bank','','MenuNewFinancialAccount','banks',1,'','$user->rights->banque->configurer','$conf->banque->enabled && ($leftmenu==\"bank\" || $leftmenu==\"checks\" || $leftmenu==\"withdraw\")',0,'2013-03-24 02:31:47'),(105763,'auguria',1,'','left','accountancy',105761,NULL,NULL,1,'/compta/bank/categ.php?leftmenu=bank','','Rubriques','categories',1,'','$user->rights->banque->configurer','$conf->banque->enabled && ($leftmenu==\"bank\" || $leftmenu==\"checks\" || $leftmenu==\"withdraw\")',0,'2013-03-24 02:31:47'),(105764,'auguria',1,'','left','accountancy',105761,NULL,NULL,2,'/compta/bank/search.php?leftmenu=bank','','ListTransactions','banks',1,'','$user->rights->banque->lire','$conf->banque->enabled && ($leftmenu==\"bank\" || $leftmenu==\"checks\" || $leftmenu==\"withdraw\")',0,'2013-03-24 02:31:47'),(105765,'auguria',1,'','left','accountancy',105761,NULL,NULL,3,'/compta/bank/budget.php?leftmenu=bank','','ListTransactionsByCategory','banks',1,'','$user->rights->banque->lire','$conf->banque->enabled && ($leftmenu==\"bank\" || $leftmenu==\"checks\" || $leftmenu==\"withdraw\")',0,'2013-03-24 02:31:47'),(105767,'auguria',1,'','left','accountancy',105761,NULL,NULL,5,'/compta/bank/virement.php?leftmenu=bank','','BankTransfers','banks',1,'','$user->rights->banque->transfer','$conf->banque->enabled && ($leftmenu==\"bank\" || $leftmenu==\"checks\" || $leftmenu==\"withdraw\")',0,'2013-03-24 02:31:47'),(105861,'auguria',1,'','left','accountancy',103167,NULL,NULL,11,'/compta/resultat/index.php?leftmenu=ca&mainmenu=accountancy','','Reportings','main',0,'ca','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->comptabilite->enabled || $conf->accounting->enabled',0,'2013-03-24 02:31:47'),(105862,'auguria',1,'','left','accountancy',105861,NULL,NULL,0,'/compta/resultat/index.php?leftmenu=ca','','ReportInOut','main',1,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->comptabilite->enabled || $conf->accounting->enabled',0,'2013-03-24 02:31:47'),(105863,'auguria',1,'','left','accountancy',105862,NULL,NULL,0,'/compta/resultat/clientfourn.php?leftmenu=ca','','ByCompanies','main',2,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->comptabilite->enabled || $conf->accounting->enabled',0,'2013-03-24 02:31:47'),(105864,'auguria',1,'','left','accountancy',105861,NULL,NULL,1,'/compta/stats/index.php?leftmenu=ca','','ReportTurnover','main',1,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->comptabilite->enabled || $conf->accounting->enabled',0,'2013-03-24 02:31:47'),(105865,'auguria',1,'','left','accountancy',105864,NULL,NULL,0,'/compta/stats/casoc.php?leftmenu=ca','','ByCompanies','main',2,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->comptabilite->enabled || $conf->accounting->enabled',0,'2013-03-24 02:31:47'),(105866,'auguria',1,'','left','accountancy',105864,NULL,NULL,1,'/compta/stats/cabyuser.php?leftmenu=ca','','ByUsers','main',2,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->comptabilite->enabled || $conf->accounting->enabled',0,'2013-03-24 02:31:47'),(105867,'auguria',1,'','left','accountancy',105861,NULL,NULL,1,'/compta/journal/sellsjournal.php?leftmenu=ca','','SellsJournal','main',1,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->comptabilite->enabled || $conf->accounting->enabled',0,'2013-03-24 02:31:47'),(105868,'auguria',1,'','left','accountancy',105861,NULL,NULL,1,'/compta/journal/purchasesjournal.php?leftmenu=ca','','PurchasesJournal','main',1,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->comptabilite->enabled || $conf->accounting->enabled',0,'2013-03-24 02:31:47'),(105961,'auguria',1,'','left','products',103164,NULL,NULL,0,'/product/index.php?leftmenu=product&type=0','','Products','products',0,'product','$user->rights->produit->lire','$conf->product->enabled',2,'2013-03-24 02:31:47'),(105962,'auguria',1,'','left','products',105961,NULL,NULL,0,'/product/fiche.php?leftmenu=product&action=create&type=0','','NewProduct','products',1,'','$user->rights->produit->creer','$conf->product->enabled',2,'2013-03-24 02:31:47'),(105963,'auguria',1,'','left','products',105961,NULL,NULL,1,'/product/liste.php?leftmenu=product&type=0','','List','products',1,'','$user->rights->produit->lire','$conf->product->enabled',2,'2013-03-24 02:31:47'),(105964,'auguria',1,'','left','products',105961,NULL,NULL,4,'/product/reassort.php?type=0','','Stocks','products',1,'','$user->rights->produit->lire && $user->rights->stock->lire','$conf->product->enabled',2,'2013-03-24 02:31:47'),(105965,'auguria',1,'','left','products',105961,NULL,NULL,5,'/product/popuprop.php?leftmenu=stats&type=0','','Statistics','main',1,'','$user->rights->produit->lire','$conf->propal->enabled',2,'2013-03-24 02:31:47'),(106061,'auguria',1,'','left','products',103164,NULL,NULL,1,'/product/index.php?leftmenu=service&type=1','','Services','products',0,'service','$user->rights->service->lire','$conf->service->enabled',2,'2013-03-24 02:31:47'),(106062,'auguria',1,'','left','products',106061,NULL,NULL,0,'/product/fiche.php?leftmenu=service&action=create&type=1','','NewService','products',1,'','$user->rights->service->creer','$conf->service->enabled',2,'2013-03-24 02:31:47'),(106063,'auguria',1,'','left','products',106061,NULL,NULL,1,'/product/liste.php?leftmenu=service&type=1','','List','products',1,'','$user->rights->service->lire','$conf->service->enabled',2,'2013-03-24 02:31:47'),(106064,'auguria',1,'','left','products',106061,NULL,NULL,5,'/product/popuprop.php?leftmenu=stats&type=1','','Statistics','main',1,'','$user->rights->service->lire','$conf->propal->enabled',2,'2013-03-24 02:31:47'),(106261,'auguria',1,'','left','products',103164,NULL,NULL,3,'/product/stock/index.php?leftmenu=stock','','Stock','stocks',0,'stock','$user->rights->stock->lire','$conf->stock->enabled',2,'2013-03-24 02:31:47'),(106262,'auguria',1,'','left','products',106261,NULL,NULL,0,'/product/stock/fiche.php?action=create','','MenuNewWarehouse','stocks',1,'','$user->rights->stock->creer','$conf->stock->enabled',2,'2013-03-24 02:31:47'),(106263,'auguria',1,'','left','products',106261,NULL,NULL,1,'/product/stock/liste.php','','List','stocks',1,'','$user->rights->stock->lire','$conf->stock->enabled',2,'2013-03-24 02:31:47'),(106264,'auguria',1,'','left','products',106261,NULL,NULL,2,'/product/stock/valo.php','','EnhancedValue','stocks',1,'','$user->rights->stock->lire','$conf->stock->enabled',2,'2013-03-24 02:31:47'),(106265,'auguria',1,'','left','products',106261,NULL,NULL,3,'/product/stock/mouvement.php','','Movements','stocks',1,'','$user->rights->stock->mouvement->lire','$conf->stock->enabled',2,'2013-03-24 02:31:47'),(106361,'auguria',1,'','left','products',103164,NULL,NULL,4,'/categories/index.php?leftmenu=cat&type=0','','Categories','categories',0,'cat','$user->rights->categorie->lire','$conf->categorie->enabled',2,'2013-03-24 02:31:47'),(106362,'auguria',1,'','left','products',106361,NULL,NULL,0,'/categories/fiche.php?action=create&type=0','','NewCategory','categories',1,'','$user->rights->categorie->creer','$conf->categorie->enabled',2,'2013-03-24 02:31:47'),(106761,'auguria',1,'','left','project',103168,NULL,NULL,0,'/projet/index.php?leftmenu=projects','','Projects','projects',0,'projects','$user->rights->projet->lire','$conf->projet->enabled',2,'2013-03-24 02:31:47'),(106762,'auguria',1,'','left','project',106761,NULL,NULL,1,'/projet/fiche.php?leftmenu=projects&action=create','','NewProject','projects',1,'','$user->rights->projet->creer','$conf->projet->enabled',2,'2013-03-24 02:31:47'),(106763,'auguria',1,'','left','project',106761,NULL,NULL,2,'/projet/liste.php?leftmenu=projects','','List','projects',1,'','$user->rights->projet->lire','$conf->projet->enabled',2,'2013-03-24 02:31:47'),(106771,'auguria',1,'','left','project',103168,NULL,NULL,0,'/projet/index.php?leftmenu=projects&mode=mine','','MyProjects','projects',0,'','$user->rights->projet->lire','$conf->projet->enabled',2,'2013-03-24 02:31:47'),(106772,'auguria',1,'','left','project',106771,NULL,NULL,1,'/projet/fiche.php?leftmenu=projects&action=create&mode=mine','','NewProject','projects',1,'','$user->rights->projet->creer','$conf->projet->enabled',2,'2013-03-24 02:31:47'),(106773,'auguria',1,'','left','project',106771,NULL,NULL,2,'/projet/liste.php?leftmenu=projects&mode=mine','','List','projects',1,'','$user->rights->projet->lire','$conf->projet->enabled',2,'2013-03-24 02:31:47'),(106861,'auguria',1,'','left','project',103168,NULL,NULL,0,'/projet/activity/index.php?leftmenu=projects','','Activities','projects',0,'','$user->rights->projet->lire','$conf->projet->enabled',2,'2013-03-24 02:31:47'),(106862,'auguria',1,'','left','project',106861,NULL,NULL,1,'/projet/tasks.php?leftmenu=projects&action=create','','NewTask','projects',1,'','$user->rights->projet->creer','$conf->projet->enabled',2,'2013-03-24 02:31:47'),(106863,'auguria',1,'','left','project',106861,NULL,NULL,2,'/projet/tasks/index.php?leftmenu=projects','','List','projects',1,'','$user->rights->projet->lire','$conf->projet->enabled',2,'2013-03-24 02:31:47'),(106864,'auguria',1,'','left','project',106861,NULL,NULL,3,'/projet/activity/list.php?leftmenu=projects','','NewTimeSpent','projects',1,'','$user->rights->projet->lire','$conf->projet->enabled',2,'2013-03-24 02:31:47'),(106961,'auguria',1,'','left','project',103168,NULL,NULL,0,'/projet/activity/index.php?leftmenu=projects&mode=mine','','MyActivities','projects',0,'','$user->rights->projet->lire','$conf->projet->enabled',2,'2013-03-24 02:31:47'),(106962,'auguria',1,'','left','project',106961,NULL,NULL,1,'/projet/tasks.php?leftmenu=projects&action=create&mode=mine','','NewTask','projects',1,'','$user->rights->projet->creer','$conf->projet->enabled',2,'2013-03-24 02:31:47'),(106963,'auguria',1,'','left','project',106961,NULL,NULL,2,'/projet/tasks/index.php?leftmenu=projects&mode=mine','','List','projects',1,'','$user->rights->projet->lire','$conf->projet->enabled',2,'2013-03-24 02:31:47'),(106964,'auguria',1,'','left','project',106961,NULL,NULL,3,'/projet/activity/list.php?leftmenu=projects&mode=mine','','NewTimeSpent','projects',1,'','$user->rights->projet->lire','$conf->projet->enabled',2,'2013-03-24 02:31:47'),(107061,'auguria',1,'','left','tools',103169,NULL,NULL,0,'/comm/mailing/index.php?leftmenu=mailing','','EMailings','mails',0,'mailing','$user->rights->mailing->lire','$conf->mailing->enabled',0,'2013-03-24 02:31:47'),(107062,'auguria',1,'','left','tools',107061,NULL,NULL,0,'/comm/mailing/fiche.php?leftmenu=mailing&action=create','','NewMailing','mails',1,'','$user->rights->mailing->creer','$conf->mailing->enabled',0,'2013-03-24 02:31:47'),(107063,'auguria',1,'','left','tools',107061,NULL,NULL,1,'/comm/mailing/liste.php?leftmenu=mailing','','List','mails',1,'','$user->rights->mailing->lire','$conf->mailing->enabled',0,'2013-03-24 02:31:47'),(107261,'auguria',1,'','left','tools',103169,NULL,NULL,2,'/exports/index.php?leftmenu=export','','FormatedExport','exports',0,'export','$user->rights->export->lire','$conf->export->enabled',2,'2013-03-24 02:31:47'),(107262,'auguria',1,'','left','tools',107261,NULL,NULL,0,'/exports/export.php?leftmenu=export','','NewExport','exports',1,'','$user->rights->export->creer','$conf->export->enabled',2,'2013-03-24 02:31:47'),(107291,'auguria',1,'','left','tools',103169,NULL,NULL,2,'/imports/index.php?leftmenu=import','','FormatedImport','exports',0,'import','$user->rights->import->run','$conf->import->enabled',2,'2013-03-24 02:31:47'),(107292,'auguria',1,'','left','tools',107291,NULL,NULL,0,'/imports/import.php?leftmenu=import','','NewImport','exports',1,'','$user->rights->import->run','$conf->import->enabled',2,'2013-03-24 02:31:47'),(107361,'auguria',1,'','left','members',103174,NULL,NULL,0,'/adherents/index.php?leftmenu=members&mainmenu=members','','Members','members',0,'members','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2013-03-24 02:31:48'),(107362,'auguria',1,'','left','members',107361,NULL,NULL,0,'/adherents/fiche.php?leftmenu=members&action=create','','NewMember','members',1,'','$user->rights->adherent->creer','$conf->adherent->enabled',2,'2013-03-24 02:31:48'),(107363,'auguria',1,'','left','members',107361,NULL,NULL,1,'/adherents/liste.php','','List','members',1,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2013-03-24 02:31:48'),(107364,'auguria',1,'','left','members',107363,NULL,NULL,2,'/adherents/liste.php?leftmenu=members&statut=-1','','MenuMembersToValidate','members',2,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2013-03-24 02:31:48'),(107365,'auguria',1,'','left','members',107363,NULL,NULL,3,'/adherents/liste.php?leftmenu=members&statut=1','','MenuMembersValidated','members',2,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2013-03-24 02:31:48'),(107366,'auguria',1,'','left','members',107363,NULL,NULL,4,'/adherents/liste.php?leftmenu=members&statut=1&filter=outofdate','','MenuMembersNotUpToDate','members',2,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2013-03-24 02:31:48'),(107367,'auguria',1,'','left','members',107363,NULL,NULL,5,'/adherents/liste.php?leftmenu=members&statut=1&filter=uptodate','','MenuMembersUpToDate','members',2,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2013-03-24 02:31:48'),(107368,'auguria',1,'','left','members',107363,NULL,NULL,6,'/adherents/liste.php?leftmenu=members&statut=0','','MenuMembersResiliated','members',2,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2013-03-24 02:31:48'),(107369,'auguria',1,'','left','members',107361,NULL,NULL,7,'/adherents/stats/geo.php?leftmenu=members&mode=memberbycountry','','MenuMembersStats','members',1,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2013-03-24 02:31:48'),(107461,'auguria',1,'','left','members',103174,NULL,NULL,1,'/adherents/index.php?leftmenu=members&mainmenu=members','','Subscriptions','compta',0,'','$user->rights->adherent->cotisation->lire','$conf->adherent->enabled',2,'2013-03-24 02:31:48'),(107462,'auguria',1,'','left','members',107461,NULL,NULL,0,'/adherents/liste.php?statut=-1&leftmenu=accountancy&mainmenu=members','','NewSubscription','compta',1,'','$user->rights->adherent->cotisation->creer','$conf->adherent->enabled',2,'2013-03-24 02:31:48'),(107463,'auguria',1,'','left','members',107461,NULL,NULL,1,'/adherents/cotisations.php?leftmenu=members','','List','compta',1,'','$user->rights->adherent->cotisation->lire','$conf->adherent->enabled',2,'2013-03-24 02:31:48'),(107464,'auguria',1,'','left','members',107461,NULL,NULL,7,'/adherents/stats/index.php?leftmenu=members','','MenuMembersStats','members',1,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2013-03-24 02:31:48'),(107661,'auguria',1,'','left','members',103174,NULL,NULL,3,'/adherents/index.php?leftmenu=export&mainmenu=members','','Exports','members',0,'export','$user->rights->adherent->export','$conf->adherent->enabled',2,'2013-03-24 02:31:48'),(107662,'auguria',1,'','left','members',107661,NULL,NULL,0,'/exports/index.php?leftmenu=export','','Datas','members',1,'','$user->rights->adherent->export','$conf->adherent->enabled && $conf->export->enabled',2,'2013-03-24 02:31:48'),(107663,'auguria',1,'','left','members',107661,NULL,NULL,1,'/adherents/htpasswd.php?leftmenu=export','','Filehtpasswd','members',1,'','$user->rights->adherent->export','$conf->adherent->enabled',2,'2013-03-24 02:31:48'),(107664,'auguria',1,'','left','members',107661,NULL,NULL,2,'/adherents/cartes/carte.php?leftmenu=export','','MembersCards','members',1,'','$user->rights->adherent->export','$conf->adherent->enabled',2,'2013-03-24 02:31:48'),(107861,'auguria',1,'','left','members',103174,NULL,NULL,5,'/adherents/type.php?leftmenu=setup&mainmenu=members','','MembersTypes','members',0,'setup','$user->rights->adherent->configurer','$conf->adherent->enabled',2,'2013-03-24 02:31:48'),(107862,'auguria',1,'','left','members',107861,NULL,NULL,0,'/adherents/type.php?leftmenu=setup&mainmenu=members&action=create','','New','members',1,'','$user->rights->adherent->configurer','$conf->adherent->enabled',2,'2013-03-24 02:31:48'),(107863,'auguria',1,'','left','members',107861,NULL,NULL,1,'/adherents/type.php?leftmenu=setup&mainmenu=members','','List','members',1,'','$user->rights->adherent->configurer','$conf->adherent->enabled',2,'2013-03-24 02:31:48'),(108261,'auguria',1,'','left','commercial',103166,NULL,NULL,6,'/fourn/commande/index.php?leftmenu=orders_suppliers','','SuppliersOrders','orders',0,'orders_suppliers','$user->rights->fournisseur->commande->lire','$conf->fournisseur->enabled',2,'2013-03-24 02:31:47'),(108262,'auguria',1,'','left','commercial',108261,NULL,NULL,0,'/societe/societe.php?leftmenu=orders_suppliers','','NewOrder','orders',1,'','$user->rights->fournisseur->commande->creer','$conf->fournisseur->enabled',2,'2013-03-24 02:31:47'),(108263,'auguria',1,'','left','commercial',108261,NULL,NULL,1,'/fourn/commande/liste.php?leftmenu=orders_suppliers&viewstatut=0','','List','orders',1,'','$user->rights->fournisseur->commande->lire','$conf->fournisseur->enabled',2,'2013-03-24 02:31:47'),(108269,'auguria',1,'','left','commercial',108261,NULL,NULL,7,'/commande/stats/index.php?leftmenu=orders_suppliers&mode=supplier','','Statistics','orders',1,'','$user->rights->fournisseur->commande->lire','$conf->fournisseur->enabled',2,'2013-03-24 02:31:47'),(108361,'auguria',1,'','left','members',103174,NULL,NULL,3,'/categories/index.php?leftmenu=cat&type=3','','MembersCategoriesShort','categories',0,'cat','$user->rights->categorie->lire','$conf->adherent->enabled && $conf->categorie->enabled',2,'2013-03-24 02:31:48'),(108362,'auguria',1,'','left','members',108361,NULL,NULL,0,'/categories/fiche.php?action=create&type=3','','NewCategory','categories',1,'','$user->rights->categorie->creer','$conf->adherent->enabled && $conf->categorie->enabled',2,'2013-03-24 02:31:48'),(108363,'all',1,'opensurvey','top','opensurvey',0,NULL,NULL,200,'/opensurvey/index.php','','Surveys','opensurvey@opensurvey',NULL,NULL,'$user->rights->opensurvey->survey->read','$conf->opensurvey->enabled',0,'2013-03-24 02:57:18'),(108364,'all',1,'opensurvey','left','opensurvey',-1,NULL,'opensurvey',200,'/opensurvey/index.php?mainmenu=opensurvey&leftmenu=opensurvey','','Survey','opensurvey@opensurvey',NULL,'opensurvey','','$conf->opensurvey->enabled',0,'2013-03-24 02:57:18'),(108365,'all',1,'opensurvey','left','opensurvey',-1,'opensurvey','opensurvey',210,'/opensurvey/public/index.php?origin=dolibarr','_blank','NewSurvey','opensurvey@opensurvey',NULL,'opensurvey_new','','$conf->opensurvey->enabled',0,'2013-03-24 02:57:18'),(108366,'all',1,'opensurvey','left','opensurvey',-1,'opensurvey','opensurvey',220,'/opensurvey/list.php','','List','opensurvey@opensurvey',NULL,'opensurvey_list','','$conf->opensurvey->enabled',0,'2013-03-24 02:57:18'),(108439,'all',1,'agenda','top','agenda',0,NULL,NULL,100,'/comm/action/index.php','','Agenda','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2014-03-02 15:19:46'),(108440,'all',1,'agenda','left','agenda',108439,NULL,NULL,100,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda','','Actions','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2014-03-02 15:19:46'),(108441,'all',1,'agenda','left','agenda',108440,NULL,NULL,101,'/comm/action/fiche.php?mainmenu=agenda&leftmenu=agenda&action=create','','NewAction','commercial',NULL,NULL,'($user->rights->agenda->myactions->create||$user->rights->agenda->allactions->create)','$conf->agenda->enabled',2,'2014-03-02 15:19:46'),(108442,'all',1,'agenda','left','agenda',108440,NULL,NULL,102,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda','','Calendar','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2014-03-02 15:19:46'),(108443,'all',1,'agenda','left','agenda',108442,NULL,NULL,103,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda&status=todo&filter=mine','','MenuToDoMyActions','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2014-03-02 15:19:46'),(108444,'all',1,'agenda','left','agenda',108442,NULL,NULL,104,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda&status=done&filter=mine','','MenuDoneMyActions','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2014-03-02 15:19:46'),(108445,'all',1,'agenda','left','agenda',108442,NULL,NULL,105,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda&status=todo','','MenuToDoActions','agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$user->rights->agenda->allactions->read',2,'2014-03-02 15:19:46'),(108446,'all',1,'agenda','left','agenda',108442,NULL,NULL,106,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda&status=done','','MenuDoneActions','agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$user->rights->agenda->allactions->read',2,'2014-03-02 15:19:46'),(108447,'all',1,'agenda','left','agenda',108440,NULL,NULL,112,'/comm/action/listactions.php?mainmenu=agenda&leftmenu=agenda','','List','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2014-03-02 15:19:46'),(108448,'all',1,'agenda','left','agenda',108447,NULL,NULL,113,'/comm/action/listactions.php?mainmenu=agenda&leftmenu=agenda&status=todo&filter=mine','','MenuToDoMyActions','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2014-03-02 15:19:46'),(108449,'all',1,'agenda','left','agenda',108447,NULL,NULL,114,'/comm/action/listactions.php?mainmenu=agenda&leftmenu=agenda&status=done&filter=mine','','MenuDoneMyActions','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2014-03-02 15:19:46'),(108450,'all',1,'agenda','left','agenda',108447,NULL,NULL,115,'/comm/action/listactions.php?mainmenu=agenda&leftmenu=agenda&status=todo','','MenuToDoActions','agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$user->rights->agenda->allactions->read',2,'2014-03-02 15:19:46'),(108451,'all',1,'agenda','left','agenda',108447,NULL,NULL,116,'/comm/action/listactions.php?mainmenu=agenda&leftmenu=agenda&status=done','','MenuDoneActions','agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$user->rights->agenda->allactions->read',2,'2014-03-02 15:19:46'),(108452,'all',1,'agenda','left','agenda',108440,NULL,NULL,120,'/comm/action/rapport/index.php?mainmenu=agenda&leftmenu=agenda','','Reportings','agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$conf->agenda->enabled',2,'2014-03-02 15:19:46'),(108453,'all',1,'ecm','top','ecm',0,NULL,NULL,100,'/ecm/index.php','','MenuECM','ecm',NULL,NULL,'$user->rights->ecm->read || $user->rights->ecm->upload || $user->rights->ecm->setup','$conf->ecm->enabled',2,'2014-03-02 15:19:46'),(108454,'all',1,'ecm','left','ecm',108453,NULL,NULL,101,'/ecm/index.php','','ECMArea','ecm',NULL,NULL,'$user->rights->ecm->read || $user->rights->ecm->upload','$user->rights->ecm->read || $user->rights->ecm->upload',2,'2014-03-02 15:19:46'),(108455,'all',1,'ecm','left','ecm',108454,NULL,NULL,100,'/ecm/docdir.php?action=create','','ECMNewSection','ecm',NULL,NULL,'$user->rights->ecm->setup','$user->rights->ecm->setup',2,'2014-03-02 15:19:46'),(108456,'all',1,'ecm','left','ecm',108454,NULL,NULL,102,'/ecm/index.php?action=file_manager','','ECMFileManager','ecm',NULL,NULL,'$user->rights->ecm->read || $user->rights->ecm->upload','$user->rights->ecm->read || $user->rights->ecm->upload',2,'2014-03-02 15:19:46'),(108457,'all',1,'barcode','left','tools',-1,NULL,'tools',200,'/barcode/printsheet.php?mainmenu=home&leftmenu=modulesadmintools','','BarCodePrintsheet','products',NULL,'barcodeprint','1','$conf->barcode->enabled',2,'2014-03-02 15:37:26'),(108458,'all',1,'barcode','left','home',-1,'modulesadmintools','home',300,'/barcode/codeinit.php?mainmenu=home&leftmenu=modulesadmintools','','MassBarcodeInit','products',NULL,NULL,'1','$conf->barcode->enabled && $leftmenu==\"modulesadmintools\"',0,'2014-03-02 15:37:26'); +/*!40000 ALTER TABLE `llx_menu` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_milestone` +-- + +DROP TABLE IF EXISTS `llx_milestone`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_milestone` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_element` int(11) NOT NULL, + `elementtype` varchar(16) NOT NULL, + `label` varchar(255) NOT NULL, + `options` varchar(255) DEFAULT NULL, + `priority` int(11) DEFAULT '0', + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_user_modif` int(11) DEFAULT NULL, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_milestone_fk_element` (`fk_element`,`elementtype`), + KEY `idx_milestone_fk_user_modif` (`fk_user_modif`), + CONSTRAINT `fk_milestone_fk_user_modif` FOREIGN KEY (`fk_user_modif`) REFERENCES `llx_user` (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_milestone` +-- + +LOCK TABLES `llx_milestone` WRITE; +/*!40000 ALTER TABLE `llx_milestone` DISABLE KEYS */; +INSERT INTO `llx_milestone` VALUES (2,779,'facture','azerty',NULL,0,'2013-03-09 12:19:30',NULL),(3,780,'facture','fsdf',NULL,0,'2013-03-09 13:01:08',NULL),(4,781,'facture','hhh',NULL,0,'2013-03-09 14:06:37',NULL); +/*!40000 ALTER TABLE `llx_milestone` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_monitoring_probes` +-- + +DROP TABLE IF EXISTS `llx_monitoring_probes`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_monitoring_probes` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `title` varchar(64) NOT NULL, + `groupname` varchar(64) DEFAULT NULL, + `url` varchar(250) NOT NULL, + `useproxy` int(11) DEFAULT '0', + `checkkey` varchar(250) DEFAULT NULL, + `maxval` int(11) DEFAULT NULL, + `frequency` int(11) DEFAULT '60', + `active` int(11) DEFAULT '1', + `status` int(11) DEFAULT '0', + `lastreset` datetime DEFAULT NULL, + `oldesterrortext` text, + `oldesterrordate` datetime DEFAULT NULL, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_monitoring_probes` (`title`) +) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_monitoring_probes` +-- + +LOCK TABLES `llx_monitoring_probes` WRITE; +/*!40000 ALTER TABLE `llx_monitoring_probes` DISABLE KEYS */; +INSERT INTO `llx_monitoring_probes` VALUES (1,'aaa',NULL,'http://www.chiensderace.com',0,'chiens',1000,10,1,1,'2011-04-20 23:46:41',NULL,NULL),(2,'ChatsDeRace',NULL,'http://www.chatsderace.com',0,'chats',1000,5,1,1,'2011-04-20 23:46:41',NULL,NULL); +/*!40000 ALTER TABLE `llx_monitoring_probes` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_notify` +-- + +DROP TABLE IF EXISTS `llx_notify`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_notify` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `daten` datetime DEFAULT NULL, + `fk_action` int(11) NOT NULL, + `fk_contact` int(11) DEFAULT NULL, + `fk_user` int(11) DEFAULT NULL, + `objet_type` varchar(24) NOT NULL, + `objet_id` int(11) NOT NULL, + `email` varchar(255) DEFAULT NULL, + `type` varchar(16) DEFAULT 'email', + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_notify` +-- + +LOCK TABLES `llx_notify` WRITE; +/*!40000 ALTER TABLE `llx_notify` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_notify` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_notify_def` +-- + +DROP TABLE IF EXISTS `llx_notify_def`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_notify_def` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `datec` date DEFAULT NULL, + `fk_action` int(11) NOT NULL, + `fk_soc` int(11) NOT NULL, + `fk_contact` int(11) DEFAULT NULL, + `fk_user` int(11) DEFAULT NULL, + `type` varchar(16) DEFAULT 'email', + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_notify_def` +-- + +LOCK TABLES `llx_notify_def` WRITE; +/*!40000 ALTER TABLE `llx_notify_def` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_notify_def` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_opensurvey_comments` +-- + +DROP TABLE IF EXISTS `llx_opensurvey_comments`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_opensurvey_comments` ( + `id_comment` int(10) unsigned NOT NULL AUTO_INCREMENT, + `id_sondage` char(16) NOT NULL, + `comment` text NOT NULL, + `usercomment` text, + PRIMARY KEY (`id_comment`), + KEY `idx_id_comment` (`id_comment`), + KEY `idx_id_sondage` (`id_sondage`) +) ENGINE=InnoDB AUTO_INCREMENT=32 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_opensurvey_comments` +-- + +LOCK TABLES `llx_opensurvey_comments` WRITE; +/*!40000 ALTER TABLE `llx_opensurvey_comments` DISABLE KEYS */; +INSERT INTO `llx_opensurvey_comments` VALUES (2,'434dio8rxfljs3p1','aaa','aaa'),(5,'434dio8rxfljs3p1','aaa','aaa'),(6,'434dio8rxfljs3p1','gfh','jj'),(11,'434dio8rxfljs3p1','fsdf','fdsf'),(12,'3imby4hf7joiilsu','fsdf','aa'),(16,'3imby4hf7joiilsu','gdfg','gfdg'),(17,'3imby4hf7joiilsu','gfdgd','gdfgd'),(18,'om4e7azfiurnjtqe','fds','fdsf'),(26,'qgsfrgb922rqzocy','gfdg','gfdg'),(27,'qgsfrgb922rqzocy','gfdg','gfd'),(28,'m4467s2mtk6khmxc','hgf','hgfh'),(29,'m4467s2mtk6khmxc','fgh','hgf'),(30,'ckanvbe7kt3rdb3h','hfgh','fdfds'),(31,'m4467s2mtk6khmxc','hgfh','hgf'); +/*!40000 ALTER TABLE `llx_opensurvey_comments` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_opensurvey_sondage` +-- + +DROP TABLE IF EXISTS `llx_opensurvey_sondage`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_opensurvey_sondage` ( + `id_sondage` varchar(16) NOT NULL, + `id_sondage_admin` char(24) DEFAULT NULL, + `commentaires` text, + `mail_admin` varchar(128) DEFAULT NULL, + `nom_admin` varchar(64) DEFAULT NULL, + `fk_user_creat` int(11) NOT NULL, + `titre` text NOT NULL, + `date_fin` datetime NOT NULL, + `format` varchar(2) NOT NULL, + `mailsonde` tinyint(4) NOT NULL DEFAULT '0', + `survey_link_visible` int(11) DEFAULT '1', + `origin` varchar(64) DEFAULT NULL, + `tms` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + PRIMARY KEY (`id_sondage`), + KEY `idx_id_sondage_admin` (`id_sondage_admin`), + KEY `idx_date_fin` (`date_fin`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_opensurvey_sondage` +-- + +LOCK TABLES `llx_opensurvey_sondage` WRITE; +/*!40000 ALTER TABLE `llx_opensurvey_sondage` DISABLE KEYS */; +INSERT INTO `llx_opensurvey_sondage` VALUES ('m4467s2mtk6khmxc','m4467s2mtk6khmxci2ysw682','fdffdshfghfj jhgjgh','aaa@aaa.com','fdfds',0,'fdffds','2013-03-07 00:00:00','D+',1,1,'dolibarr','0000-00-00 00:00:00'); +/*!40000 ALTER TABLE `llx_opensurvey_sondage` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_opensurvey_sujet_studs` +-- + +DROP TABLE IF EXISTS `llx_opensurvey_sujet_studs`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_opensurvey_sujet_studs` ( + `id_sondage` char(16) NOT NULL, + `sujet` text +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_opensurvey_sujet_studs` +-- + +LOCK TABLES `llx_opensurvey_sujet_studs` WRITE; +/*!40000 ALTER TABLE `llx_opensurvey_sujet_studs` DISABLE KEYS */; +INSERT INTO `llx_opensurvey_sujet_studs` VALUES ('434dio8rxfljs3p1','1362697200,1363734000'),('3eyn2drokozf3j4s','1362438000@10h,1363129200@10h'),('z2qcqjh5pm1q4p99','résolution 1,résolution 2,aaa,fdsfsdfsd@checkbox'),('xfwtrseu3ok1c4m6','gdfgfd@yesno,gfdgd@pourcontre,llll@pourcontre'),('om4e7azfiurnjtqe','g dfgdfdfg dfg dg dfg g fdg dfgd fg fg d@pourcontre,mmlml@checkbox'),('fubmr7n293akha5j','check@checkbox,yesno@yesno,pc@pourcontre'),('icaanayi59qto4fl','check@checkbox,yesno@yesno,pc@pourcontre'),('ipbkufzz4lr2vbpx','pc@pourcontre,fdsffd@checkbox'),('3imby4hf7joiilsu','fsdf@yesno,fsdfsd@checkbox,fsdf@pourcontre'),('q41jpgfd4ii3g9vx','fdfsd@pourcontre,fdsfs@pourcontre,fdsfsdf@checkbox'),('xm6hysvkspo7gbx6','fdfsd@pourcontre,fdsfs@pourcontre,fdsfsdf@checkbox'),('99sbps3ba3s8pq7b','fdfsd@pourcontre,fdsfs@pourcontre,fdsfsdf@checkbox'),('6wstlvu2z9kxqweh','fdfsd@pourcontre,fdsfs@pourcontre,fdsfsdf@checkbox'),('783p7f377offci4v','fdfsd@pourcontre,fdsfs@pourcontre,fdsfsdf@checkbox'),('u4umbl5yb6lpydci','fdfsd@pourcontre,fdsfs@pourcontre,fdsfsdf@checkbox'),('dn2euwlf2d4wyy6m','fdfsd@pourcontre,fdsfs@pourcontre,fdsfsdf@checkbox'),('t896ed7af3ujdprx','fdfsd@pourcontre,fdsfs@pourcontre,fdsfsdf@checkbox'),('q5c4kucbbkuxjz8g','fdsfsd@pourcontre,fdsfs@pourcontre,fdsfsd@pourcontre'),('8mcdnf2hgcntfibe','fdsfsd@pourcontre,fdsfs@pourcontre,fdsfsd@pourcontre'),('7shynoad2x4zl8sw','fdsfsd@pourcontre,fdsfs@pourcontre,fdsfsd@pourcontre'),('x82rfs19p8fa21et','fdsfsd@pourcontre,fdsfs@pourcontre,fdsfsd@pourcontre'),('qgsfrgb922rqzocy','1364338800@20H-21H,1364338800@21H-22H,1364425200@20H-21H,1364425200@21H-22H,1364511600@20H-21H,1364511600@21H-22H'),('ah9xvaqu1ajjrqse','1391295600@2h-5h,1391295600@2h-5h,1364338800@20H-21H,1364338800@21H-22H,1364425200@20H-21H,1391295600@2h-5h'),('ckanvbe7kt3rdb3h','1363734000,1363820400'),('6v9xq6f9lemjiuba','1363734000,1363820400,1363906800,1363993200'),('m4467s2mtk6khmxc','1398981600,1357081200,1363734000,1363820400,1363993200,1398981600'); +/*!40000 ALTER TABLE `llx_opensurvey_sujet_studs` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_opensurvey_user_studs` +-- + +DROP TABLE IF EXISTS `llx_opensurvey_user_studs`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_opensurvey_user_studs` ( + `id_users` int(11) NOT NULL AUTO_INCREMENT, + `nom` varchar(64) NOT NULL, + `id_sondage` varchar(16) NOT NULL, + `reponses` varchar(100) NOT NULL, + PRIMARY KEY (`id_users`), + KEY `idx_id_users` (`id_users`), + KEY `idx_nom` (`nom`), + KEY `idx_id_sondage` (`id_sondage`), + KEY `idx_opensurvey_user_studs_id_users` (`id_users`), + KEY `idx_opensurvey_user_studs_nom` (`nom`), + KEY `idx_opensurvey_user_studs_id_sondage` (`id_sondage`) +) ENGINE=InnoDB AUTO_INCREMENT=25 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_opensurvey_user_studs` +-- + +LOCK TABLES `llx_opensurvey_user_studs` WRITE; +/*!40000 ALTER TABLE `llx_opensurvey_user_studs` DISABLE KEYS */; +INSERT INTO `llx_opensurvey_user_studs` VALUES (1,'gfdgdf','om4e7azfiurnjtqe','01'),(2,'aa','3imby4hf7joiilsu','210'),(3,'fsdf','z2qcqjh5pm1q4p99','0110'),(5,'hfghf','z2qcqjh5pm1q4p99','1110'),(6,'qqqq','ah9xvaqu1ajjrqse','000111'),(7,'hjgh','ah9xvaqu1ajjrqse','000010'),(8,'bcvb','qgsfrgb922rqzocy','011000'),(9,'gdfg','ah9xvaqu1ajjrqse','001000'),(10,'ggg','ah9xvaqu1ajjrqse','000100'),(11,'gfdgd','ah9xvaqu1ajjrqse','001000'),(12,'hhhh','ah9xvaqu1ajjrqse','010000'),(13,'iii','ah9xvaqu1ajjrqse','000100'),(14,'kkk','ah9xvaqu1ajjrqse','001000'),(15,'lllll','ah9xvaqu1ajjrqse','000001'),(16,'kk','ah9xvaqu1ajjrqse','000001'),(17,'gggg','ah9xvaqu1ajjrqse','001000'),(18,'mmmm','ah9xvaqu1ajjrqse','000000'),(19,'jkjkj','ah9xvaqu1ajjrqse','000001'),(20,'azerty','8mcdnf2hgcntfibe','012'),(21,'hfghfg','8mcdnf2hgcntfibe','012'),(22,'fd','ckanvbe7kt3rdb3h','10'),(23,'gfdgdf','m4467s2mtk6khmxc','00011'),(24,'hgfh','m4467s2mtk6khmxc','000111'); +/*!40000 ALTER TABLE `llx_opensurvey_user_studs` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_paiement` +-- + +DROP TABLE IF EXISTS `llx_paiement`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_paiement` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `entity` int(11) NOT NULL DEFAULT '1', + `datec` datetime DEFAULT NULL, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `datep` datetime DEFAULT NULL, + `amount` double(24,8) DEFAULT NULL, + `fk_paiement` int(11) NOT NULL, + `num_paiement` varchar(50) DEFAULT NULL, + `note` text, + `fk_bank` int(11) NOT NULL DEFAULT '0', + `fk_user_creat` int(11) DEFAULT NULL, + `fk_user_modif` int(11) DEFAULT NULL, + `statut` smallint(6) NOT NULL DEFAULT '0', + `fk_export_compta` int(11) NOT NULL DEFAULT '0', + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=26 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_paiement` +-- + +LOCK TABLES `llx_paiement` WRITE; +/*!40000 ALTER TABLE `llx_paiement` DISABLE KEYS */; +INSERT INTO `llx_paiement` VALUES (1,1,'2010-07-10 14:59:41','2010-07-10 12:59:41','2010-07-10 12:00:00',0.02000000,4,'','',4,1,NULL,0,0),(2,1,'2011-07-18 20:50:24','2011-07-18 18:50:24','2011-07-08 12:00:00',20.00000000,6,'','',5,1,NULL,0,0),(3,1,'2011-07-18 20:50:47','2011-07-18 18:50:47','2011-07-08 12:00:00',10.00000000,4,'','',6,1,NULL,0,0),(5,1,'2011-08-01 03:34:11','2011-08-01 01:34:11','2011-08-01 03:34:11',5.63000000,6,'','Payment Invoice FA1108-0003',8,1,NULL,0,0),(6,1,'2011-08-06 20:33:54','2011-08-06 18:33:54','2011-08-06 20:33:53',5.98000000,4,'','Payment Invoice FA1108-0004',13,1,NULL,0,0),(8,1,'2011-08-08 02:53:40','2011-08-08 00:53:40','2011-08-08 12:00:00',26.10000000,4,'','',14,1,NULL,0,0),(9,1,'2011-08-08 02:55:58','2011-08-08 00:55:58','2011-08-08 12:00:00',26.96000000,1,'','',15,1,NULL,0,0),(17,1,'2012-12-09 15:28:44','2012-12-09 14:28:44','2012-12-09 12:00:00',2.00000000,4,'','',16,1,NULL,0,0),(18,1,'2012-12-09 15:28:53','2012-12-09 14:28:53','2012-12-09 12:00:00',-2.00000000,4,'','',17,1,NULL,0,0),(19,1,'2012-12-09 17:35:55','2012-12-09 16:35:55','2012-12-09 12:00:00',-2.00000000,4,'','',18,1,NULL,0,0),(20,1,'2012-12-09 17:37:02','2012-12-09 16:37:02','2012-12-09 12:00:00',2.00000000,4,'','',19,1,NULL,0,0),(21,1,'2012-12-09 18:35:07','2012-12-09 17:35:07','2012-12-09 12:00:00',-2.00000000,4,'','',20,1,NULL,0,0),(23,1,'2012-12-12 18:54:33','2012-12-12 17:54:33','2012-12-12 12:00:00',1.00000000,1,'','',21,1,NULL,0,0),(24,1,'2013-03-06 16:48:16','2013-03-06 15:48:16','2013-03-06 00:00:00',20.00000000,4,'','Adhésion/cotisation 2016',22,1,NULL,0,0),(25,1,'2013-03-20 14:30:11','2013-03-20 13:30:11','2013-03-20 00:00:00',10.00000000,2,'','Adhésion/cotisation 2011',23,1,NULL,0,0); +/*!40000 ALTER TABLE `llx_paiement` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_paiement_facture` +-- + +DROP TABLE IF EXISTS `llx_paiement_facture`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_paiement_facture` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_paiement` int(11) DEFAULT NULL, + `fk_facture` int(11) DEFAULT NULL, + `amount` double(24,8) DEFAULT NULL, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_paiement_facture` (`fk_paiement`,`fk_facture`), + KEY `idx_paiement_facture_fk_facture` (`fk_facture`), + KEY `idx_paiement_facture_fk_paiement` (`fk_paiement`), + CONSTRAINT `fk_paiement_facture_fk_facture` FOREIGN KEY (`fk_facture`) REFERENCES `llx_facture` (`rowid`), + CONSTRAINT `fk_paiement_facture_fk_paiement` FOREIGN KEY (`fk_paiement`) REFERENCES `llx_paiement` (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=31 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_paiement_facture` +-- + +LOCK TABLES `llx_paiement_facture` WRITE; +/*!40000 ALTER TABLE `llx_paiement_facture` DISABLE KEYS */; +INSERT INTO `llx_paiement_facture` VALUES (1,1,1,0.02000000),(2,2,2,20.00000000),(3,3,2,10.00000000),(5,5,5,5.63000000),(6,6,6,5.98000000),(9,8,2,16.10000000),(10,8,8,10.00000000),(11,9,3,15.00000000),(12,9,9,11.96000000),(20,17,11,2.00000000),(21,18,12,-2.00000000),(22,19,10,-1.00000000),(23,19,12,-1.00000000),(24,20,9,1.00000000),(25,20,11,1.00000000),(26,21,12,-2.00000000),(28,23,55,1.00000000),(29,24,161,20.00000000),(30,25,210,10.00000000); +/*!40000 ALTER TABLE `llx_paiement_facture` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_paiementcharge` +-- + +DROP TABLE IF EXISTS `llx_paiementcharge`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_paiementcharge` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_charge` int(11) DEFAULT NULL, + `datec` datetime DEFAULT NULL, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `datep` datetime DEFAULT NULL, + `amount` double DEFAULT '0', + `fk_typepaiement` int(11) NOT NULL, + `num_paiement` varchar(50) DEFAULT NULL, + `note` text, + `fk_bank` int(11) NOT NULL, + `fk_user_creat` int(11) DEFAULT NULL, + `fk_user_modif` int(11) DEFAULT NULL, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_paiementcharge` +-- + +LOCK TABLES `llx_paiementcharge` WRITE; +/*!40000 ALTER TABLE `llx_paiementcharge` DISABLE KEYS */; +INSERT INTO `llx_paiementcharge` VALUES (4,4,'2011-08-05 23:11:37','2011-08-05 21:11:37','2011-08-05 12:00:00',10,2,'','',12,1,NULL); +/*!40000 ALTER TABLE `llx_paiementcharge` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_paiementfourn` +-- + +DROP TABLE IF EXISTS `llx_paiementfourn`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_paiementfourn` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `datec` datetime DEFAULT NULL, + `datep` datetime DEFAULT NULL, + `amount` double DEFAULT '0', + `fk_user_author` int(11) DEFAULT NULL, + `fk_paiement` int(11) NOT NULL, + `num_paiement` varchar(50) DEFAULT NULL, + `note` text, + `fk_bank` int(11) NOT NULL, + `statut` smallint(6) NOT NULL DEFAULT '0', + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_paiementfourn` +-- + +LOCK TABLES `llx_paiementfourn` WRITE; +/*!40000 ALTER TABLE `llx_paiementfourn` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_paiementfourn` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_paiementfourn_facturefourn` +-- + +DROP TABLE IF EXISTS `llx_paiementfourn_facturefourn`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_paiementfourn_facturefourn` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_paiementfourn` int(11) DEFAULT NULL, + `fk_facturefourn` int(11) DEFAULT NULL, + `amount` double DEFAULT '0', + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_paiementfourn_facturefourn` (`fk_paiementfourn`,`fk_facturefourn`), + KEY `idx_paiementfourn_facturefourn_fk_facture` (`fk_facturefourn`), + KEY `idx_paiementfourn_facturefourn_fk_paiement` (`fk_paiementfourn`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_paiementfourn_facturefourn` +-- + +LOCK TABLES `llx_paiementfourn_facturefourn` WRITE; +/*!40000 ALTER TABLE `llx_paiementfourn_facturefourn` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_paiementfourn_facturefourn` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_pos_cash` +-- + +DROP TABLE IF EXISTS `llx_pos_cash`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_pos_cash` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `entity` int(11) NOT NULL DEFAULT '1', + `code` varchar(3) DEFAULT NULL, + `name` varchar(30) DEFAULT NULL, + `tactil` tinyint(4) NOT NULL DEFAULT '0', + `fk_paycash` int(11) DEFAULT NULL, + `fk_modepaycash` int(11) DEFAULT NULL, + `fk_paybank` int(11) DEFAULT NULL, + `fk_modepaybank` int(11) DEFAULT NULL, + `fk_warehouse` int(11) DEFAULT NULL, + `fk_device` int(11) DEFAULT NULL, + `fk_soc` int(11) DEFAULT NULL, + `is_used` tinyint(4) DEFAULT '0', + `fk_user_u` int(11) DEFAULT NULL, + `fk_user_c` int(11) DEFAULT NULL, + `fk_user_m` int(11) DEFAULT NULL, + `datec` datetime DEFAULT NULL, + `datea` datetime DEFAULT NULL, + `is_closed` tinyint(4) DEFAULT '0', + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_pos_cash` +-- + +LOCK TABLES `llx_pos_cash` WRITE; +/*!40000 ALTER TABLE `llx_pos_cash` DISABLE KEYS */; +INSERT INTO `llx_pos_cash` VALUES (1,1,'aaa','aaa',0,3,1,1,1,1,NULL,1,0,0,1,NULL,'2013-01-19 18:18:39','2013-01-19 18:18:39',0); +/*!40000 ALTER TABLE `llx_pos_cash` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_pos_control_cash` +-- + +DROP TABLE IF EXISTS `llx_pos_control_cash`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_pos_control_cash` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `entity` int(11) NOT NULL DEFAULT '1', + `fk_cash` int(11) DEFAULT NULL, + `fk_user` int(11) DEFAULT NULL, + `date_c` datetime DEFAULT NULL, + `type_control` tinyint(4) DEFAULT '0', + `amount_teor` double(24,8) DEFAULT NULL, + `amount_real` double(24,8) DEFAULT NULL, + `amount_diff` double(24,8) DEFAULT NULL, + `amount_mov_out` double(24,8) DEFAULT NULL, + `amount_mov_int` double(24,8) DEFAULT NULL, + `amount_next_day` double(24,8) DEFAULT NULL, + `comment` text, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_pos_control_cash` +-- + +LOCK TABLES `llx_pos_control_cash` WRITE; +/*!40000 ALTER TABLE `llx_pos_control_cash` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_pos_control_cash` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_pos_facture` +-- + +DROP TABLE IF EXISTS `llx_pos_facture`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_pos_facture` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_cash` int(11) NOT NULL, + `fk_facture` int(11) NOT NULL, + `fk_control_cash` int(11) DEFAULT NULL, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_pos_facture` +-- + +LOCK TABLES `llx_pos_facture` WRITE; +/*!40000 ALTER TABLE `llx_pos_facture` DISABLE KEYS */; +INSERT INTO `llx_pos_facture` VALUES (1,1,148,NULL),(2,1,149,NULL),(3,1,150,NULL),(4,1,151,NULL); +/*!40000 ALTER TABLE `llx_pos_facture` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_pos_moviments` +-- + +DROP TABLE IF EXISTS `llx_pos_moviments`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_pos_moviments` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `entity` int(11) NOT NULL DEFAULT '1', + `fk_cash` int(11) DEFAULT NULL, + `fk_user` int(11) DEFAULT NULL, + `date_m` datetime DEFAULT NULL, + `amount` double(24,8) DEFAULT NULL, + `type` tinyint(4) DEFAULT NULL, + `comment` text, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_pos_moviments` +-- + +LOCK TABLES `llx_pos_moviments` WRITE; +/*!40000 ALTER TABLE `llx_pos_moviments` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_pos_moviments` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_pos_ticketdet` +-- + +DROP TABLE IF EXISTS `llx_pos_ticketdet`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_pos_ticketdet` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_ticket` int(11) NOT NULL, + `fk_parent_line` int(11) DEFAULT NULL, + `fk_product` int(11) DEFAULT NULL, + `description` text, + `tva_tx` double(6,3) DEFAULT NULL, + `localtax1_tx` double(6,3) DEFAULT '0.000', + `localtax2_tx` double(6,3) DEFAULT '0.000', + `qty` double DEFAULT NULL, + `remise_percent` double DEFAULT '0', + `remise` double DEFAULT '0', + `fk_remise_except` int(11) DEFAULT NULL, + `subprice` double(24,8) DEFAULT NULL, + `price` double(24,8) DEFAULT NULL, + `total_ht` double(24,8) DEFAULT NULL, + `total_tva` double(24,8) DEFAULT NULL, + `total_localtax1` double(24,8) DEFAULT '0.00000000', + `total_localtax2` double(24,8) DEFAULT '0.00000000', + `total_ttc` double(24,8) DEFAULT NULL, + `product_type` int(11) DEFAULT '0', + `date_start` datetime DEFAULT NULL, + `date_end` datetime DEFAULT NULL, + `info_bits` int(11) DEFAULT '0', + `fk_code_ventilation` int(11) NOT NULL DEFAULT '0', + `fk_export_compta` int(11) NOT NULL DEFAULT '0', + `rang` int(11) DEFAULT '0', + `import_key` varchar(14) DEFAULT NULL, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_fk_remise_except` (`fk_remise_except`,`fk_ticket`), + KEY `idx_ticketdet_fk_ticket` (`fk_ticket`), + KEY `idx_ticketdet_fk_product` (`fk_product`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_pos_ticketdet` +-- + +LOCK TABLES `llx_pos_ticketdet` WRITE; +/*!40000 ALTER TABLE `llx_pos_ticketdet` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_pos_ticketdet` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_prelevement_bons` +-- + +DROP TABLE IF EXISTS `llx_prelevement_bons`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_prelevement_bons` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `ref` varchar(12) DEFAULT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + `datec` datetime DEFAULT NULL, + `amount` double DEFAULT '0', + `statut` smallint(6) DEFAULT '0', + `credite` smallint(6) DEFAULT '0', + `note` text, + `date_trans` datetime DEFAULT NULL, + `method_trans` smallint(6) DEFAULT NULL, + `fk_user_trans` int(11) DEFAULT NULL, + `date_credit` datetime DEFAULT NULL, + `fk_user_credit` int(11) DEFAULT NULL, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_prelevement_bons_ref` (`ref`,`entity`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_prelevement_bons` +-- + +LOCK TABLES `llx_prelevement_bons` WRITE; +/*!40000 ALTER TABLE `llx_prelevement_bons` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_prelevement_bons` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_prelevement_facture` +-- + +DROP TABLE IF EXISTS `llx_prelevement_facture`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_prelevement_facture` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_facture` int(11) NOT NULL, + `fk_prelevement_lignes` int(11) NOT NULL, + PRIMARY KEY (`rowid`), + KEY `idx_prelevement_facture_fk_prelevement_lignes` (`fk_prelevement_lignes`), + CONSTRAINT `fk_prelevement_facture_fk_prelevement_lignes` FOREIGN KEY (`fk_prelevement_lignes`) REFERENCES `llx_prelevement_lignes` (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_prelevement_facture` +-- + +LOCK TABLES `llx_prelevement_facture` WRITE; +/*!40000 ALTER TABLE `llx_prelevement_facture` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_prelevement_facture` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_prelevement_facture_demande` +-- + +DROP TABLE IF EXISTS `llx_prelevement_facture_demande`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_prelevement_facture_demande` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_facture` int(11) NOT NULL, + `amount` double NOT NULL, + `date_demande` datetime NOT NULL, + `traite` smallint(6) DEFAULT '0', + `date_traite` datetime DEFAULT NULL, + `fk_prelevement_bons` int(11) DEFAULT NULL, + `fk_user_demande` int(11) NOT NULL, + `code_banque` varchar(7) DEFAULT NULL, + `code_guichet` varchar(6) DEFAULT NULL, + `number` varchar(255) DEFAULT NULL, + `cle_rib` varchar(5) DEFAULT NULL, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_prelevement_facture_demande` +-- + +LOCK TABLES `llx_prelevement_facture_demande` WRITE; +/*!40000 ALTER TABLE `llx_prelevement_facture_demande` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_prelevement_facture_demande` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_prelevement_lignes` +-- + +DROP TABLE IF EXISTS `llx_prelevement_lignes`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_prelevement_lignes` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_prelevement_bons` int(11) DEFAULT NULL, + `fk_soc` int(11) NOT NULL, + `statut` smallint(6) DEFAULT '0', + `client_nom` varchar(255) DEFAULT NULL, + `amount` double DEFAULT '0', + `code_banque` varchar(7) DEFAULT NULL, + `code_guichet` varchar(6) DEFAULT NULL, + `number` varchar(255) DEFAULT NULL, + `cle_rib` varchar(5) DEFAULT NULL, + `note` text, + PRIMARY KEY (`rowid`), + KEY `idx_prelevement_lignes_fk_prelevement_bons` (`fk_prelevement_bons`), + CONSTRAINT `fk_prelevement_lignes_fk_prelevement_bons` FOREIGN KEY (`fk_prelevement_bons`) REFERENCES `llx_prelevement_bons` (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_prelevement_lignes` +-- + +LOCK TABLES `llx_prelevement_lignes` WRITE; +/*!40000 ALTER TABLE `llx_prelevement_lignes` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_prelevement_lignes` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_prelevement_rejet` +-- + +DROP TABLE IF EXISTS `llx_prelevement_rejet`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_prelevement_rejet` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_prelevement_lignes` int(11) DEFAULT NULL, + `date_rejet` datetime DEFAULT NULL, + `motif` int(11) DEFAULT NULL, + `date_creation` datetime DEFAULT NULL, + `fk_user_creation` int(11) DEFAULT NULL, + `note` text, + `afacturer` tinyint(4) DEFAULT '0', + `fk_facture` int(11) DEFAULT NULL, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_prelevement_rejet` +-- + +LOCK TABLES `llx_prelevement_rejet` WRITE; +/*!40000 ALTER TABLE `llx_prelevement_rejet` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_prelevement_rejet` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_printer_ipp` +-- + +DROP TABLE IF EXISTS `llx_printer_ipp`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_printer_ipp` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `datec` datetime DEFAULT NULL, + `printer_name` text NOT NULL, + `printer_location` text NOT NULL, + `printer_uri` varchar(256) NOT NULL, + `copy` int(11) NOT NULL DEFAULT '1', + `module` varchar(16) NOT NULL, + `login` varchar(32) NOT NULL, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_printer_ipp` +-- + +LOCK TABLES `llx_printer_ipp` WRITE; +/*!40000 ALTER TABLE `llx_printer_ipp` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_printer_ipp` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_product` +-- + +DROP TABLE IF EXISTS `llx_product`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_product` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `datec` datetime DEFAULT NULL, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `virtual` tinyint(4) NOT NULL DEFAULT '0', + `fk_parent` int(11) DEFAULT '0', + `ref` varchar(128) NOT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + `ref_ext` varchar(128) DEFAULT NULL, + `label` varchar(255) NOT NULL, + `description` text, + `note` text, + `customcode` varchar(32) DEFAULT NULL, + `fk_country` int(11) DEFAULT NULL, + `price` double(24,8) DEFAULT '0.00000000', + `price_ttc` double(24,8) DEFAULT '0.00000000', + `price_min` double(24,8) DEFAULT '0.00000000', + `price_min_ttc` double(24,8) DEFAULT '0.00000000', + `price_base_type` varchar(3) DEFAULT 'HT', + `tva_tx` double(6,3) DEFAULT NULL, + `recuperableonly` int(11) NOT NULL DEFAULT '0', + `localtax1_tx` double(6,3) DEFAULT '0.000', + `localtax2_tx` double(6,3) DEFAULT '0.000', + `fk_user_author` int(11) DEFAULT NULL, + `tosell` tinyint(4) DEFAULT '1', + `tobuy` tinyint(4) DEFAULT '1', + `fk_product_type` int(11) DEFAULT '0', + `duration` varchar(6) DEFAULT NULL, + `seuil_stock_alerte` int(11) DEFAULT '0', + `barcode` varchar(255) DEFAULT NULL, + `fk_barcode_type` int(11) DEFAULT '0', + `accountancy_code_sell` varchar(15) DEFAULT NULL, + `accountancy_code_buy` varchar(15) DEFAULT NULL, + `partnumber` varchar(32) DEFAULT NULL, + `weight` float DEFAULT NULL, + `weight_units` tinyint(4) DEFAULT NULL, + `length` float DEFAULT NULL, + `length_units` tinyint(4) DEFAULT NULL, + `surface` float DEFAULT NULL, + `surface_units` tinyint(4) DEFAULT NULL, + `volume` float DEFAULT NULL, + `volume_units` tinyint(4) DEFAULT NULL, + `stock` int(11) DEFAULT NULL, + `pmp` double(24,8) NOT NULL DEFAULT '0.00000000', + `canvas` varchar(32) DEFAULT 'default@product', + `finished` tinyint(4) DEFAULT NULL, + `hidden` tinyint(4) DEFAULT '0', + `import_key` varchar(14) DEFAULT NULL, + `desiredstock` int(11) DEFAULT '0', + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_product_ref` (`ref`,`entity`), + KEY `idx_product_label` (`label`), + KEY `idx_product_barcode` (`barcode`), + KEY `idx_product_import_key` (`import_key`) +) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_product` +-- + +LOCK TABLES `llx_product` WRITE; +/*!40000 ALTER TABLE `llx_product` DISABLE KEYS */; +INSERT INTO `llx_product` VALUES (1,'2010-07-08 14:33:17','2013-03-12 09:30:24',0,0,'PIDRESS',1,NULL,'Pink dress','A beatifull pink dress','',NULL,NULL,100.00000000,112.50000000,90.00000000,101.25000000,'HT',12.500,0,0.000,0.000,1,1,1,0,'',20,NULL,0,'','',NULL,100,0,NULL,0,NULL,0,NULL,0,2,0.00000000,NULL,1,0,NULL,0),(2,'2010-07-09 00:30:01','2013-01-19 17:31:58',0,0,'Product_P1',1,NULL,'Product P1','','','',32,0.00000000,0.00000000,0.00000000,0.00000000,'HT',12.500,0,0.000,0.000,1,1,1,0,'',NULL,NULL,0,'','',NULL,NULL,0,NULL,0,NULL,0,NULL,0,998,0.00000000,NULL,0,0,NULL,0),(3,'2010-07-09 00:30:25','2012-12-08 13:11:14',0,0,'Service_S1',1,NULL,'Service S1','','',NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,'HT',12.500,0,0.000,0.000,1,1,1,1,'1m',NULL,NULL,0,'','',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0.00000000,NULL,0,0,NULL,0),(4,'2010-07-10 14:44:06','2013-01-19 17:22:48',0,0,'DECAP',1,NULL,'Decapsuleur','','',NULL,NULL,5.00000000,5.62500000,0.00000000,0.00000000,'HT',12.500,0,0.000,0.000,1,1,1,0,'',NULL,NULL,0,'','',NULL,2,-3,NULL,0,NULL,0,NULL,0,1001,10.00000000,NULL,1,0,NULL,0),(5,'2011-07-20 23:11:38','2011-07-27 17:02:59',0,0,'aaaa',1,NULL,'aaaa','cccc','bbbb','',NULL,10.00000000,11.96000000,0.00000000,0.00000000,'HT',19.600,0,0.000,0.000,1,1,1,0,'',NULL,NULL,0,'','',NULL,NULL,0,NULL,0,NULL,0,NULL,0,NULL,0.00000000,'',1,0,NULL,0),(6,'2011-07-29 22:16:44','2011-07-29 20:16:44',0,0,'Copy_of_aaaa',1,NULL,'aaaa','cccc','bbbb','',NULL,10.00000000,11.96000000,0.00000000,0.00000000,'HT',19.600,0,0.000,0.000,1,0,1,0,'',NULL,NULL,0,'','',NULL,NULL,0,NULL,0,NULL,0,NULL,0,NULL,0.00000000,'',1,0,NULL,0),(7,'2011-07-29 22:31:21','2011-07-29 20:31:21',0,0,'Copy_of_Copy_of_aaaa',1,NULL,'aaaa','cccc','bbbb','',NULL,10.00000000,11.96000000,0.00000000,0.00000000,'HT',19.600,0,0.000,0.000,1,0,0,0,'',NULL,NULL,0,'','',NULL,NULL,0,NULL,0,NULL,0,NULL,0,NULL,0.00000000,'',1,0,NULL,0),(8,'2011-07-29 22:46:54','2011-07-29 20:46:54',0,0,'Copy_of_Copy_of_Copy_of_aaaa',1,NULL,'aaaa','cccc','bbbb','',NULL,10.00000000,11.96000000,0.00000000,0.00000000,'HT',19.600,0,0.000,0.000,1,0,0,0,'',NULL,NULL,0,'','',NULL,NULL,0,NULL,0,NULL,0,NULL,0,NULL,0.00000000,'',1,0,NULL,0),(10,'2008-12-31 00:00:00','2012-12-08 13:11:14',0,0,'PR123456',1,NULL,'My product','This is a description example for record','Some note',NULL,NULL,100.00000000,110.00000000,0.00000000,0.00000000,'HT',10.000,0,0.000,0.000,NULL,0,0,0,'1y',0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0.00000000,NULL,NULL,0,'20110729232310',0),(11,'2013-01-13 20:24:42','2013-01-19 17:22:48',0,0,'gh',1,NULL,'hfghf','','','',NULL,0.00000000,0.00000000,0.00000000,0.00000000,'HT',0.000,0,0.000,0.000,1,1,1,0,'',NULL,NULL,0,'','',NULL,NULL,0,NULL,0,NULL,0,NULL,0,-1,0.00000000,'',1,0,NULL,0); +/*!40000 ALTER TABLE `llx_product` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_product_association` +-- + +DROP TABLE IF EXISTS `llx_product_association`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_product_association` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_product_pere` int(11) NOT NULL DEFAULT '0', + `fk_product_fils` int(11) NOT NULL DEFAULT '0', + `qty` double DEFAULT NULL, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_product_association` (`fk_product_pere`,`fk_product_fils`), + KEY `idx_product_association` (`fk_product_fils`), + KEY `idx_product_association_fils` (`fk_product_fils`) +) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_product_association` +-- + +LOCK TABLES `llx_product_association` WRITE; +/*!40000 ALTER TABLE `llx_product_association` DISABLE KEYS */; +INSERT INTO `llx_product_association` VALUES (1,4,1,2),(2,5,1,1); +/*!40000 ALTER TABLE `llx_product_association` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_product_customer_price` +-- + +DROP TABLE IF EXISTS `llx_product_customer_price`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_product_customer_price` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `entity` int(11) NOT NULL DEFAULT '1', + `datec` datetime DEFAULT NULL, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_product` int(11) NOT NULL, + `fk_soc` int(11) NOT NULL, + `price` double(24,8) DEFAULT '0.00000000', + `price_ttc` double(24,8) DEFAULT '0.00000000', + `price_min` double(24,8) DEFAULT '0.00000000', + `price_min_ttc` double(24,8) DEFAULT '0.00000000', + `price_base_type` varchar(3) DEFAULT 'HT', + `tva_tx` double(6,3) DEFAULT NULL, + `recuperableonly` int(11) NOT NULL DEFAULT '0', + `localtax1_tx` double(6,3) DEFAULT '0.000', + `localtax2_tx` double(6,3) DEFAULT '0.000', + `fk_user` int(11) DEFAULT NULL, + `import_key` varchar(14) DEFAULT NULL, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_customer_price_fk_product_fk_soc` (`fk_product`,`fk_soc`), + KEY `idx_product_customer_price_fk_user` (`fk_user`), + KEY `fk_customer_price_fk_soc` (`fk_soc`), + CONSTRAINT `fk_customer_price_fk_soc` FOREIGN KEY (`fk_soc`) REFERENCES `llx_societe` (`rowid`) ON DELETE CASCADE, + CONSTRAINT `fk_customer_price_fk_product` FOREIGN KEY (`fk_product`) REFERENCES `llx_product` (`rowid`) ON DELETE CASCADE, + CONSTRAINT `fk_product_customer_price_fk_user` FOREIGN KEY (`fk_user`) REFERENCES `llx_user` (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_product_customer_price` +-- + +LOCK TABLES `llx_product_customer_price` WRITE; +/*!40000 ALTER TABLE `llx_product_customer_price` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_product_customer_price` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_product_customer_price_log` +-- + +DROP TABLE IF EXISTS `llx_product_customer_price_log`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_product_customer_price_log` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `entity` int(11) NOT NULL DEFAULT '1', + `datec` datetime DEFAULT NULL, + `fk_product` int(11) NOT NULL, + `fk_soc` int(11) NOT NULL, + `price` double(24,8) DEFAULT '0.00000000', + `price_ttc` double(24,8) DEFAULT '0.00000000', + `price_min` double(24,8) DEFAULT '0.00000000', + `price_min_ttc` double(24,8) DEFAULT '0.00000000', + `price_base_type` varchar(3) DEFAULT 'HT', + `tva_tx` double(6,3) DEFAULT NULL, + `recuperableonly` int(11) NOT NULL DEFAULT '0', + `localtax1_tx` double(6,3) DEFAULT '0.000', + `localtax2_tx` double(6,3) DEFAULT '0.000', + `fk_user` int(11) DEFAULT NULL, + `import_key` varchar(14) DEFAULT NULL, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_product_customer_price_log` +-- + +LOCK TABLES `llx_product_customer_price_log` WRITE; +/*!40000 ALTER TABLE `llx_product_customer_price_log` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_product_customer_price_log` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_product_extrafields` +-- + +DROP TABLE IF EXISTS `llx_product_extrafields`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_product_extrafields` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_object` int(11) NOT NULL, + `import_key` varchar(14) DEFAULT NULL, + PRIMARY KEY (`rowid`), + KEY `idx_product_extrafields` (`fk_object`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_product_extrafields` +-- + +LOCK TABLES `llx_product_extrafields` WRITE; +/*!40000 ALTER TABLE `llx_product_extrafields` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_product_extrafields` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_product_fournisseur_price` +-- + +DROP TABLE IF EXISTS `llx_product_fournisseur_price`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_product_fournisseur_price` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `datec` datetime DEFAULT NULL, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_product` int(11) DEFAULT NULL, + `fk_soc` int(11) DEFAULT NULL, + `ref_fourn` varchar(30) DEFAULT NULL, + `fk_availability` int(11) DEFAULT NULL, + `price` double(24,8) DEFAULT '0.00000000', + `quantity` double DEFAULT NULL, + `remise_percent` double NOT NULL DEFAULT '0', + `remise` double NOT NULL DEFAULT '0', + `unitprice` double(24,8) DEFAULT '0.00000000', + `charges` double(24,8) DEFAULT '0.00000000', + `unitcharges` double(24,8) DEFAULT '0.00000000', + `tva_tx` double(6,3) NOT NULL DEFAULT '0.000', + `info_bits` int(11) NOT NULL DEFAULT '0', + `fk_user` int(11) DEFAULT NULL, + `import_key` varchar(14) DEFAULT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_product_fournisseur_price_ref` (`ref_fourn`,`fk_soc`,`quantity`,`entity`), + KEY `idx_product_fournisseur_price_fk_user` (`fk_user`), + KEY `idx_product_fourn_price_fk_product` (`fk_product`,`entity`), + KEY `idx_product_fourn_price_fk_soc` (`fk_soc`,`entity`), + CONSTRAINT `fk_product_fournisseur_price_fk_product` FOREIGN KEY (`fk_product`) REFERENCES `llx_product` (`rowid`), + CONSTRAINT `fk_product_fournisseur_price_fk_user` FOREIGN KEY (`fk_user`) REFERENCES `llx_user` (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_product_fournisseur_price` +-- + +LOCK TABLES `llx_product_fournisseur_price` WRITE; +/*!40000 ALTER TABLE `llx_product_fournisseur_price` DISABLE KEYS */; +INSERT INTO `llx_product_fournisseur_price` VALUES (1,'2010-07-11 18:45:42','2012-12-08 13:11:08',4,1,'ABCD',NULL,10.00000000,1,0,0,10.00000000,0.00000000,0.00000000,0.000,0,1,NULL,1); +/*!40000 ALTER TABLE `llx_product_fournisseur_price` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_product_fournisseur_price_log` +-- + +DROP TABLE IF EXISTS `llx_product_fournisseur_price_log`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_product_fournisseur_price_log` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `datec` datetime DEFAULT NULL, + `fk_product_fournisseur` int(11) NOT NULL, + `price` double(24,8) DEFAULT '0.00000000', + `quantity` double DEFAULT NULL, + `fk_user` int(11) DEFAULT NULL, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_product_fournisseur_price_log` +-- + +LOCK TABLES `llx_product_fournisseur_price_log` WRITE; +/*!40000 ALTER TABLE `llx_product_fournisseur_price_log` DISABLE KEYS */; +INSERT INTO `llx_product_fournisseur_price_log` VALUES (1,'2010-07-11 18:45:42',1,10.00000000,1,1); +/*!40000 ALTER TABLE `llx_product_fournisseur_price_log` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_product_lang` +-- + +DROP TABLE IF EXISTS `llx_product_lang`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_product_lang` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_product` int(11) NOT NULL DEFAULT '0', + `lang` varchar(5) NOT NULL DEFAULT '0', + `label` varchar(255) NOT NULL, + `description` text, + `note` text, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_product_lang` (`fk_product`,`lang`), + CONSTRAINT `fk_product_lang_fk_product` FOREIGN KEY (`fk_product`) REFERENCES `llx_product` (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_product_lang` +-- + +LOCK TABLES `llx_product_lang` WRITE; +/*!40000 ALTER TABLE `llx_product_lang` DISABLE KEYS */; +INSERT INTO `llx_product_lang` VALUES (1,1,'en_US','Pink dress','A beatifull pink dress',''),(2,2,'en_US','Product P1','',''),(3,3,'en_US','Service S1','',''),(4,4,'fr_FR','Decapsuleur','',''),(5,5,'en_US','aaaa','cccc','bbbb'),(6,6,'en_US','aaaa','cccc','bbbb'),(7,7,'en_US','aaaa','cccc','bbbb'),(8,8,'en_US','aaaa','cccc','bbbb'),(9,11,'fr_FR','hfghf','',''),(10,2,'fr_FR','Product P1','',''); +/*!40000 ALTER TABLE `llx_product_lang` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_product_price` +-- + +DROP TABLE IF EXISTS `llx_product_price`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_product_price` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `entity` int(11) NOT NULL DEFAULT '1', + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_product` int(11) NOT NULL, + `date_price` datetime NOT NULL, + `price_level` smallint(6) DEFAULT '1', + `price` double(24,8) DEFAULT NULL, + `price_ttc` double(24,8) DEFAULT NULL, + `price_min` double(24,8) DEFAULT NULL, + `price_min_ttc` double(24,8) DEFAULT NULL, + `price_base_type` varchar(3) DEFAULT 'HT', + `tva_tx` double(6,3) NOT NULL, + `recuperableonly` int(11) NOT NULL DEFAULT '0', + `localtax1_tx` double(6,3) DEFAULT '0.000', + `localtax2_tx` double(6,3) DEFAULT '0.000', + `fk_user_author` int(11) DEFAULT NULL, + `tosell` tinyint(4) DEFAULT '1', + `price_by_qty` int(11) NOT NULL DEFAULT '0', + `import_key` varchar(14) DEFAULT NULL, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_product_price` +-- + +LOCK TABLES `llx_product_price` WRITE; +/*!40000 ALTER TABLE `llx_product_price` DISABLE KEYS */; +INSERT INTO `llx_product_price` VALUES (1,1,'2010-07-08 12:33:17',1,'2010-07-08 14:33:17',1,0.00000000,0.00000000,0.00000000,0.00000000,'HT',12.500,0,0.000,0.000,1,1,0,NULL),(2,1,'2010-07-08 22:30:01',2,'2010-07-09 00:30:01',1,0.00000000,0.00000000,0.00000000,0.00000000,'HT',12.500,0,0.000,0.000,1,1,0,NULL),(3,1,'2010-07-08 22:30:25',3,'2010-07-09 00:30:25',1,0.00000000,0.00000000,0.00000000,0.00000000,'HT',12.500,0,0.000,0.000,1,1,0,NULL),(4,1,'2010-07-10 12:44:06',4,'2010-07-10 14:44:06',1,0.00000000,0.00000000,0.00000000,0.00000000,'HT',12.500,0,0.000,0.000,1,1,0,NULL),(5,1,'2011-07-20 21:11:38',5,'2011-07-20 23:11:38',1,0.00000000,0.00000000,0.00000000,0.00000000,'HT',19.600,0,0.000,0.000,1,1,0,NULL),(6,1,'2011-07-27 17:02:59',5,'2011-07-27 19:02:59',1,10.00000000,11.96000000,0.00000000,0.00000000,'HT',19.600,0,0.000,0.000,1,1,0,NULL),(7,1,'2011-07-29 20:16:44',6,'2011-07-29 22:16:44',1,10.00000000,11.96000000,0.00000000,0.00000000,'HT',19.600,0,0.000,0.000,1,0,0,NULL),(8,1,'2011-07-29 20:31:21',7,'2011-07-29 22:31:21',1,10.00000000,11.96000000,0.00000000,0.00000000,'HT',19.600,0,0.000,0.000,1,0,0,NULL),(9,1,'2011-07-29 20:46:54',8,'2011-07-29 22:46:54',1,10.00000000,11.96000000,0.00000000,0.00000000,'HT',19.600,0,0.000,0.000,1,0,0,NULL),(10,1,'2011-07-31 22:34:27',4,'2011-08-01 00:34:27',1,5.00000000,5.62500000,0.00000000,0.00000000,'HT',12.500,0,0.000,0.000,1,1,0,NULL),(12,1,'2013-01-13 19:24:59',11,'2013-01-13 20:24:59',1,0.00000000,0.00000000,0.00000000,0.00000000,'HT',0.000,0,0.000,0.000,1,1,0,NULL),(13,1,'2013-03-12 09:30:24',1,'2013-03-12 10:30:24',1,100.00000000,112.50000000,90.00000000,101.25000000,'HT',12.500,0,0.000,0.000,1,1,0,NULL); +/*!40000 ALTER TABLE `llx_product_price` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_product_price_by_qty` +-- + +DROP TABLE IF EXISTS `llx_product_price_by_qty`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_product_price_by_qty` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_product_price` int(11) NOT NULL, + `date_price` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `price` double(24,8) DEFAULT '0.00000000', + `price_ttc` double(24,8) DEFAULT '0.00000000', + `remise_percent` double NOT NULL DEFAULT '0', + `remise` double NOT NULL DEFAULT '0', + `qty_min` double DEFAULT '0', + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_product_price_by_qty_level` (`fk_product_price`,`qty_min`), + KEY `idx_product_price_by_qty_fk_product_price` (`fk_product_price`), + CONSTRAINT `fk_product_price_by_qty_fk_product_price` FOREIGN KEY (`fk_product_price`) REFERENCES `llx_product_price` (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_product_price_by_qty` +-- + +LOCK TABLES `llx_product_price_by_qty` WRITE; +/*!40000 ALTER TABLE `llx_product_price_by_qty` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_product_price_by_qty` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_product_stock` +-- + +DROP TABLE IF EXISTS `llx_product_stock`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_product_stock` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_product` int(11) NOT NULL, + `fk_entrepot` int(11) NOT NULL, + `reel` double DEFAULT NULL, + `pmp` double(24,8) NOT NULL DEFAULT '0.00000000', + `import_key` varchar(14) DEFAULT NULL, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_product_stock` (`fk_product`,`fk_entrepot`), + KEY `idx_product_stock_fk_product` (`fk_product`), + KEY `idx_product_stock_fk_entrepot` (`fk_entrepot`) +) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_product_stock` +-- + +LOCK TABLES `llx_product_stock` WRITE; +/*!40000 ALTER TABLE `llx_product_stock` DISABLE KEYS */; +INSERT INTO `llx_product_stock` VALUES (1,'2010-07-08 22:43:51',2,2,1000,0.00000000,NULL),(3,'2010-07-10 23:02:20',4,2,1000,0.00000000,NULL),(4,'2013-01-19 17:22:48',4,1,1,10.00000000,NULL),(5,'2013-01-19 17:22:48',1,1,2,0.00000000,NULL),(6,'2013-01-19 17:22:48',11,1,-1,0.00000000,NULL),(7,'2013-01-19 17:31:58',2,1,-2,0.00000000,NULL); +/*!40000 ALTER TABLE `llx_product_stock` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_product_subproduct` +-- + +DROP TABLE IF EXISTS `llx_product_subproduct`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_product_subproduct` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_product` int(11) NOT NULL, + `fk_product_subproduct` int(11) NOT NULL, + PRIMARY KEY (`rowid`), + UNIQUE KEY `fk_product` (`fk_product`,`fk_product_subproduct`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_product_subproduct` +-- + +LOCK TABLES `llx_product_subproduct` WRITE; +/*!40000 ALTER TABLE `llx_product_subproduct` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_product_subproduct` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_projet` +-- + +DROP TABLE IF EXISTS `llx_projet`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_projet` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_soc` int(11) DEFAULT NULL, + `datec` date DEFAULT NULL, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `dateo` date DEFAULT NULL, + `datee` date DEFAULT NULL, + `ref` varchar(50) DEFAULT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + `title` varchar(255) NOT NULL, + `description` text, + `fk_user_creat` int(11) NOT NULL, + `public` int(11) DEFAULT NULL, + `fk_statut` smallint(6) NOT NULL DEFAULT '0', + `note_private` text, + `note_public` text, + `model_pdf` varchar(255) DEFAULT NULL, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_projet_ref` (`ref`,`entity`), + KEY `idx_projet_fk_soc` (`fk_soc`), + CONSTRAINT `fk_projet_fk_soc` FOREIGN KEY (`fk_soc`) REFERENCES `llx_societe` (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_projet` +-- + +LOCK TABLES `llx_projet` WRITE; +/*!40000 ALTER TABLE `llx_projet` DISABLE KEYS */; +INSERT INTO `llx_projet` VALUES (1,NULL,'2010-07-09','2010-07-11 13:28:28','2010-07-09',NULL,'PROJ1',1,'Project One','',1,0,1,NULL,NULL,'baleine'),(2,NULL,'2010-07-09','2010-07-08 22:49:56','2010-07-09',NULL,'PROJ2',1,'Project Two','',1,0,0,NULL,NULL,NULL),(3,1,'2010-07-09','2010-07-08 22:50:19','2010-07-09',NULL,'PROJABC',1,'Project to create ABC company','',1,0,0,NULL,NULL,NULL),(4,NULL,'2010-07-09','2010-07-08 22:50:49','2010-07-09',NULL,'PROJSHARED',1,'The Global project','',1,1,1,NULL,NULL,NULL),(5,NULL,'2010-07-11','2010-07-11 14:22:49','2010-07-11','2011-07-14','RMLL',1,'Projet gestion RMLL 2011','',1,1,1,NULL,NULL,NULL); +/*!40000 ALTER TABLE `llx_projet` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_projet_extrafields` +-- + +DROP TABLE IF EXISTS `llx_projet_extrafields`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_projet_extrafields` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_object` int(11) NOT NULL, + `import_key` varchar(14) DEFAULT NULL, + PRIMARY KEY (`rowid`), + KEY `idx_projet_extrafields` (`fk_object`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_projet_extrafields` +-- + +LOCK TABLES `llx_projet_extrafields` WRITE; +/*!40000 ALTER TABLE `llx_projet_extrafields` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_projet_extrafields` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_projet_task` +-- + +DROP TABLE IF EXISTS `llx_projet_task`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_projet_task` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `ref` varchar(50) DEFAULT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + `fk_projet` int(11) NOT NULL, + `fk_task_parent` int(11) NOT NULL DEFAULT '0', + `datec` datetime DEFAULT NULL, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `dateo` datetime DEFAULT NULL, + `datee` datetime DEFAULT NULL, + `datev` datetime DEFAULT NULL, + `label` varchar(255) NOT NULL, + `description` text, + `duration_effective` double NOT NULL DEFAULT '0', + `planned_workload` double NOT NULL DEFAULT '0', + `progress` int(11) DEFAULT '0', + `priority` int(11) DEFAULT '0', + `fk_user_creat` int(11) DEFAULT NULL, + `fk_user_valid` int(11) DEFAULT NULL, + `fk_statut` smallint(6) NOT NULL DEFAULT '0', + `note_private` text, + `note_public` text, + `rang` int(11) DEFAULT '0', + `model_pdf` varchar(255) DEFAULT NULL, + PRIMARY KEY (`rowid`), + KEY `idx_projet_task_fk_projet` (`fk_projet`), + KEY `idx_projet_task_fk_user_creat` (`fk_user_creat`), + KEY `idx_projet_task_fk_user_valid` (`fk_user_valid`), + CONSTRAINT `fk_projet_task_fk_projet` FOREIGN KEY (`fk_projet`) REFERENCES `llx_projet` (`rowid`), + CONSTRAINT `fk_projet_task_fk_user_creat` FOREIGN KEY (`fk_user_creat`) REFERENCES `llx_user` (`rowid`), + CONSTRAINT `fk_projet_task_fk_user_valid` FOREIGN KEY (`fk_user_valid`) REFERENCES `llx_user` (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_projet_task` +-- + +LOCK TABLES `llx_projet_task` WRITE; +/*!40000 ALTER TABLE `llx_projet_task` DISABLE KEYS */; +INSERT INTO `llx_projet_task` VALUES (1,'1',1,1,0,'2010-07-11 15:15:55','2013-09-08 23:06:14','2010-07-11 12:00:00',NULL,NULL,'Work on module','',25920000,0,0,0,1,NULL,0,NULL,NULL,0,NULL),(2,'2',1,5,0,'2010-07-11 16:23:53','2013-09-08 23:06:14','2010-07-11 12:00:00','2011-07-14 12:00:00',NULL,'Heberger site RMLL','',0,0,0,0,1,NULL,0,NULL,NULL,0,NULL); +/*!40000 ALTER TABLE `llx_projet_task` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_projet_task_extrafields` +-- + +DROP TABLE IF EXISTS `llx_projet_task_extrafields`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_projet_task_extrafields` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_object` int(11) NOT NULL, + `import_key` varchar(14) DEFAULT NULL, + PRIMARY KEY (`rowid`), + KEY `idx_projet_task_extrafields` (`fk_object`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_projet_task_extrafields` +-- + +LOCK TABLES `llx_projet_task_extrafields` WRITE; +/*!40000 ALTER TABLE `llx_projet_task_extrafields` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_projet_task_extrafields` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_projet_task_time` +-- + +DROP TABLE IF EXISTS `llx_projet_task_time`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_projet_task_time` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_task` int(11) NOT NULL, + `task_date` date DEFAULT NULL, + `task_duration` double DEFAULT NULL, + `fk_user` int(11) DEFAULT NULL, + `note` text, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_projet_task_time` +-- + +LOCK TABLES `llx_projet_task_time` WRITE; +/*!40000 ALTER TABLE `llx_projet_task_time` DISABLE KEYS */; +INSERT INTO `llx_projet_task_time` VALUES (1,1,'2010-07-11',25920000,1,''); +/*!40000 ALTER TABLE `llx_projet_task_time` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_propal` +-- + +DROP TABLE IF EXISTS `llx_propal`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_propal` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_soc` int(11) DEFAULT NULL, + `fk_projet` int(11) DEFAULT NULL, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `ref` varchar(30) NOT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + `ref_ext` varchar(255) DEFAULT NULL, + `ref_int` varchar(255) DEFAULT NULL, + `ref_client` varchar(255) DEFAULT NULL, + `datec` datetime DEFAULT NULL, + `datep` date DEFAULT NULL, + `fin_validite` datetime DEFAULT NULL, + `date_valid` datetime DEFAULT NULL, + `date_cloture` datetime DEFAULT NULL, + `fk_user_author` int(11) DEFAULT NULL, + `fk_user_valid` int(11) DEFAULT NULL, + `fk_user_cloture` int(11) DEFAULT NULL, + `fk_statut` smallint(6) NOT NULL DEFAULT '0', + `price` double DEFAULT '0', + `remise_percent` double DEFAULT '0', + `remise_absolue` double DEFAULT '0', + `remise` double DEFAULT '0', + `total_ht` double(24,8) DEFAULT '0.00000000', + `tva` double(24,8) DEFAULT '0.00000000', + `localtax1` double(24,8) DEFAULT '0.00000000', + `localtax2` double(24,8) DEFAULT '0.00000000', + `total` double(24,8) DEFAULT '0.00000000', + `fk_account` int(11) DEFAULT NULL, + `fk_currency` varchar(2) DEFAULT NULL, + `fk_cond_reglement` int(11) DEFAULT NULL, + `fk_mode_reglement` int(11) DEFAULT NULL, + `note_private` text, + `note_public` text, + `model_pdf` varchar(255) DEFAULT NULL, + `date_livraison` date DEFAULT NULL, + `fk_availability` int(11) DEFAULT NULL, + `fk_delivery_address` int(11) DEFAULT NULL, + `fk_input_reason` int(11) DEFAULT NULL, + `import_key` varchar(14) DEFAULT NULL, + `extraparams` varchar(255) DEFAULT NULL, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_propal_ref` (`ref`,`entity`), + KEY `idx_propal_fk_soc` (`fk_soc`), + KEY `idx_propal_fk_user_author` (`fk_user_author`), + KEY `idx_propal_fk_user_valid` (`fk_user_valid`), + KEY `idx_propal_fk_user_cloture` (`fk_user_cloture`), + KEY `idx_propal_fk_projet` (`fk_projet`), + KEY `idx_propal_fk_account` (`fk_account`), + KEY `idx_propal_fk_currency` (`fk_currency`), + CONSTRAINT `fk_propal_fk_projet` FOREIGN KEY (`fk_projet`) REFERENCES `llx_projet` (`rowid`), + CONSTRAINT `fk_propal_fk_soc` FOREIGN KEY (`fk_soc`) REFERENCES `llx_societe` (`rowid`), + CONSTRAINT `fk_propal_fk_user_author` FOREIGN KEY (`fk_user_author`) REFERENCES `llx_user` (`rowid`), + CONSTRAINT `fk_propal_fk_user_cloture` FOREIGN KEY (`fk_user_cloture`) REFERENCES `llx_user` (`rowid`), + CONSTRAINT `fk_propal_fk_user_valid` FOREIGN KEY (`fk_user_valid`) REFERENCES `llx_user` (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_propal` +-- + +LOCK TABLES `llx_propal` WRITE; +/*!40000 ALTER TABLE `llx_propal` DISABLE KEYS */; +INSERT INTO `llx_propal` VALUES (1,2,NULL,'2012-12-08 13:11:07','PR1007-0001',1,NULL,NULL,'','2010-07-09 01:33:49','2010-07-09','2010-07-24 12:00:00','2011-08-08 14:24:18',NULL,1,1,NULL,1,0,NULL,NULL,0,30.00000000,3.84000000,0.00000000,0.00000000,33.84000000,NULL,NULL,1,0,'','','azur',NULL,NULL,NULL,0,NULL,NULL),(2,1,NULL,'2012-12-08 13:11:07','PR1007-0002',1,NULL,NULL,'','2010-07-10 02:11:44','2010-07-10','2010-07-25 12:00:00','2010-07-10 02:12:55','2011-07-20 15:23:12',1,1,1,2,0,NULL,NULL,0,10.00000000,0.00000000,0.00000000,0.00000000,10.00000000,NULL,NULL,1,1,'','','azur',NULL,NULL,NULL,0,NULL,NULL),(3,4,NULL,'2012-12-08 13:11:07','PR1007-0003',1,NULL,NULL,'','2010-07-18 11:35:11','2010-07-18','2010-08-02 12:00:00','2010-07-18 11:36:18','2011-07-20 15:21:15',1,1,1,2,0,NULL,NULL,0,10.00000000,0.00000000,0.00000000,0.00000000,10.00000000,NULL,NULL,1,0,'','','azur',NULL,NULL,NULL,0,NULL,NULL),(4,17,NULL,'2012-12-08 13:11:07','PR1108-0004',1,NULL,NULL,'','2011-08-04 23:36:23','2011-08-05','2011-08-20 12:00:00','2011-08-08 14:24:24',NULL,1,1,NULL,1,0,NULL,NULL,0,30.00000000,5.88000000,0.00000000,0.00000000,35.88000000,NULL,NULL,1,0,'','','azur',NULL,0,NULL,0,NULL,NULL),(5,19,NULL,'2013-02-17 14:39:56','PR1302-0005',1,NULL,NULL,'','2013-02-17 15:39:56','2013-02-17','2013-03-04 12:00:00',NULL,NULL,1,NULL,NULL,0,0,NULL,NULL,0,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,1,0,'','','azur',NULL,0,NULL,0,NULL,NULL),(6,19,NULL,'2013-02-17 14:40:12','PR1302-0006',1,NULL,NULL,'','2013-02-17 15:40:12','2013-02-17','2013-03-04 12:00:00',NULL,NULL,1,NULL,NULL,0,0,NULL,NULL,0,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,1,0,'','','azur',NULL,0,NULL,0,NULL,NULL),(7,19,NULL,'2013-02-17 14:41:15','PR1302-0007',1,NULL,NULL,'','2013-02-17 15:41:15','2013-02-17','2013-03-04 12:00:00',NULL,NULL,1,NULL,NULL,0,0,NULL,NULL,0,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,1,0,'','','azur',NULL,0,NULL,0,NULL,NULL),(8,19,NULL,'2013-02-17 14:43:39','PR1302-0008',1,NULL,NULL,'','2013-02-17 15:43:39','2013-02-17','2013-03-04 12:00:00',NULL,NULL,1,NULL,NULL,0,0,NULL,NULL,0,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,1,0,'','','azur',NULL,0,NULL,0,NULL,NULL),(9,19,NULL,'2013-02-17 15:22:14','PR1302-0009',1,NULL,NULL,'','2013-02-17 15:53:01','2013-02-17','2013-03-04 12:00:00','2013-02-17 16:22:10','2013-02-17 16:22:14',1,1,1,2,0,NULL,NULL,0,60.00000000,11.76000000,0.00000000,0.00000000,71.76000000,NULL,NULL,1,0,'','','azur',NULL,0,NULL,0,NULL,NULL),(11,18,NULL,'2013-02-17 15:28:22','PR1302-0010',1,NULL,NULL,'gfdf','2013-02-17 16:27:18','2013-02-17','2013-03-04 12:00:00','2013-02-17 16:27:29','2013-02-17 16:28:22',1,1,1,2,0,NULL,NULL,0,10.00000000,1.96000000,0.00000000,0.00000000,11.96000000,NULL,NULL,1,0,'','','azur',NULL,0,NULL,0,NULL,NULL),(12,23,NULL,'2013-03-08 09:02:31','PR1303-0011',1,NULL,NULL,'fdfs','2013-03-08 10:00:23','2013-03-08','2013-03-23 12:00:00','2013-03-08 10:02:21','2013-03-08 10:02:31',1,1,1,2,0,NULL,NULL,0,5.00000000,0.00000000,0.00000000,0.00000000,5.00000000,NULL,NULL,1,0,'','','azur',NULL,0,NULL,0,NULL,NULL); +/*!40000 ALTER TABLE `llx_propal` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_propal_extrafields` +-- + +DROP TABLE IF EXISTS `llx_propal_extrafields`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_propal_extrafields` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_object` int(11) NOT NULL, + `import_key` varchar(14) DEFAULT NULL, + PRIMARY KEY (`rowid`), + KEY `idx_propal_extrafields` (`fk_object`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_propal_extrafields` +-- + +LOCK TABLES `llx_propal_extrafields` WRITE; +/*!40000 ALTER TABLE `llx_propal_extrafields` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_propal_extrafields` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_propaldet` +-- + +DROP TABLE IF EXISTS `llx_propaldet`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_propaldet` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_propal` int(11) DEFAULT NULL, + `fk_parent_line` int(11) DEFAULT NULL, + `fk_product` int(11) DEFAULT NULL, + `label` varchar(255) DEFAULT NULL, + `description` text, + `fk_remise_except` int(11) DEFAULT NULL, + `tva_tx` double(6,3) DEFAULT '0.000', + `localtax1_tx` double(6,3) DEFAULT '0.000', + `localtax1_type` varchar(10) NOT NULL DEFAULT '0', + `localtax2_tx` double(6,3) DEFAULT '0.000', + `localtax2_type` varchar(10) NOT NULL DEFAULT '0', + `qty` double DEFAULT NULL, + `remise_percent` double DEFAULT '0', + `remise` double DEFAULT '0', + `price` double DEFAULT NULL, + `subprice` double(24,8) DEFAULT '0.00000000', + `total_ht` double(24,8) DEFAULT '0.00000000', + `total_tva` double(24,8) DEFAULT '0.00000000', + `total_localtax1` double(24,8) DEFAULT '0.00000000', + `total_localtax2` double(24,8) DEFAULT '0.00000000', + `total_ttc` double(24,8) DEFAULT '0.00000000', + `product_type` int(11) DEFAULT '0', + `date_start` datetime DEFAULT NULL, + `date_end` datetime DEFAULT NULL, + `info_bits` int(11) DEFAULT '0', + `fk_product_fournisseur_price` int(11) DEFAULT NULL, + `buy_price_ht` double(24,8) DEFAULT '0.00000000', + `special_code` int(10) unsigned DEFAULT '0', + `rang` int(11) DEFAULT '0', + PRIMARY KEY (`rowid`), + KEY `idx_propaldet_fk_propal` (`fk_propal`), + KEY `idx_propaldet_fk_product` (`fk_product`), + CONSTRAINT `fk_propaldet_fk_propal` FOREIGN KEY (`fk_propal`) REFERENCES `llx_propal` (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=27 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_propaldet` +-- + +LOCK TABLES `llx_propaldet` WRITE; +/*!40000 ALTER TABLE `llx_propaldet` DISABLE KEYS */; +INSERT INTO `llx_propaldet` VALUES (1,1,NULL,NULL,NULL,'Une machine à café',NULL,12.500,0.000,'',0.000,'',1,0,0,NULL,10.00000000,10.00000000,1.25000000,0.00000000,0.00000000,11.25000000,0,NULL,NULL,0,NULL,0.00000000,0,1),(2,2,NULL,NULL,NULL,'Product 1',NULL,0.000,0.000,'',0.000,'',1,0,0,NULL,10.00000000,10.00000000,0.00000000,0.00000000,0.00000000,10.00000000,0,NULL,NULL,0,NULL,0.00000000,0,1),(3,2,NULL,2,NULL,'',NULL,0.000,0.000,'',0.000,'',1,0,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,0,NULL,NULL,0,NULL,0.00000000,0,2),(4,3,NULL,NULL,NULL,'A new marvelous product',NULL,0.000,0.000,'',0.000,'',1,0,0,NULL,10.00000000,10.00000000,0.00000000,0.00000000,0.00000000,10.00000000,0,NULL,NULL,0,NULL,0.00000000,0,1),(5,1,NULL,5,NULL,'cccc',NULL,19.600,0.000,'',0.000,'',1,0,0,NULL,10.00000000,10.00000000,1.96000000,0.00000000,0.00000000,11.96000000,0,NULL,NULL,0,NULL,0.00000000,0,2),(11,1,NULL,4,NULL,'',NULL,0.000,0.000,'',0.000,'',1,0,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,0,NULL,NULL,0,NULL,0.00000000,0,3),(12,1,NULL,4,NULL,'',NULL,0.000,0.000,'',0.000,'',1,0,0,NULL,5.00000000,5.00000000,0.00000000,0.00000000,0.00000000,5.00000000,0,NULL,NULL,0,NULL,0.00000000,0,4),(13,1,NULL,4,NULL,'',NULL,12.500,0.000,'',0.000,'',1,0,0,NULL,5.00000000,5.00000000,0.63000000,0.00000000,0.00000000,5.63000000,0,NULL,NULL,0,NULL,0.00000000,0,5),(19,4,NULL,NULL,NULL,'bvbcvbcvbcbcbcb',NULL,19.600,0.000,'',0.000,'',1,0,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,0,NULL,NULL,0,NULL,0.00000000,0,1),(20,4,NULL,NULL,NULL,'ghjhgjghjgh',NULL,19.600,0.000,'',0.000,'',1,0,0,NULL,10.00000000,10.00000000,1.96000000,0.00000000,0.00000000,11.96000000,0,NULL,NULL,0,NULL,0.00000000,0,2),(21,4,NULL,NULL,NULL,'ghjghjhgjg',NULL,19.600,0.000,'',0.000,'',2,0,0,10,10.00000000,20.00000000,3.92000000,0.00000000,0.00000000,23.92000000,1,NULL,NULL,0,NULL,0.00000000,0,3),(22,9,NULL,NULL,NULL,'gdfg',NULL,19.600,0.000,'',0.000,'',1,0,0,NULL,10.00000000,10.00000000,1.96000000,0.00000000,0.00000000,11.96000000,0,NULL,NULL,0,0,0.00000000,0,1),(23,9,NULL,NULL,NULL,'gfdgd',NULL,19.600,0.000,'',0.000,'',1,0,0,NULL,50.00000000,50.00000000,9.80000000,0.00000000,0.00000000,59.80000000,1,NULL,NULL,0,0,0.00000000,0,2),(24,11,NULL,NULL,NULL,'gfdg',NULL,19.600,0.000,'',0.000,'',1,0,0,NULL,10.00000000,10.00000000,1.96000000,0.00000000,0.00000000,11.96000000,0,NULL,NULL,0,0,0.00000000,0,1),(25,12,NULL,NULL,NULL,'fdsfs',NULL,0.000,0.000,'',0.000,'',1,0,0,NULL,10.00000000,10.00000000,0.00000000,0.00000000,0.00000000,10.00000000,0,NULL,NULL,0,0,0.00000000,0,1),(26,12,NULL,NULL,NULL,'fsdfsf',NULL,0.000,0.000,'',0.000,'',1,0,0,NULL,-5.00000000,-5.00000000,0.00000000,0.00000000,0.00000000,-5.00000000,0,NULL,NULL,0,0,0.00000000,0,2); +/*!40000 ALTER TABLE `llx_propaldet` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_propaldet_extrafields` +-- + +DROP TABLE IF EXISTS `llx_propaldet_extrafields`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_propaldet_extrafields` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_object` int(11) NOT NULL, + `import_key` varchar(14) DEFAULT NULL, + PRIMARY KEY (`rowid`), + KEY `idx_propaldet_extrafields` (`fk_object`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_propaldet_extrafields` +-- + +LOCK TABLES `llx_propaldet_extrafields` WRITE; +/*!40000 ALTER TABLE `llx_propaldet_extrafields` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_propaldet_extrafields` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_rights_def` +-- + +DROP TABLE IF EXISTS `llx_rights_def`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_rights_def` ( + `id` int(11) NOT NULL DEFAULT '0', + `libelle` varchar(255) DEFAULT NULL, + `module` varchar(64) DEFAULT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + `perms` varchar(50) DEFAULT NULL, + `subperms` varchar(50) DEFAULT NULL, + `type` varchar(1) DEFAULT NULL, + `bydefault` tinyint(4) DEFAULT '0', + PRIMARY KEY (`id`,`entity`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_rights_def` +-- + +LOCK TABLES `llx_rights_def` WRITE; +/*!40000 ALTER TABLE `llx_rights_def` DISABLE KEYS */; +INSERT INTO `llx_rights_def` VALUES (11,'Lire les factures','facture',1,'lire',NULL,'a',1),(11,'Lire les factures','facture',2,'lire',NULL,'a',1),(12,'Creer/modifier les factures','facture',1,'creer',NULL,'a',0),(12,'Creer/modifier les factures','facture',2,'creer',NULL,'a',0),(13,'Dévalider les factures','facture',1,'invoice_advance','unvalidate','a',0),(13,'Dévalider les factures','facture',2,'invoice_advance','unvalidate','a',0),(14,'Valider les factures','facture',1,'valider',NULL,'a',0),(14,'Valider les factures','facture',2,'valider',NULL,'a',0),(15,'Envoyer les factures par mail','facture',1,'invoice_advance','send','a',0),(15,'Envoyer les factures par mail','facture',2,'invoice_advance','send','a',0),(16,'Emettre des paiements sur les factures','facture',1,'paiement',NULL,'a',0),(16,'Emettre des paiements sur les factures','facture',2,'paiement',NULL,'a',0),(19,'Supprimer les factures','facture',1,'supprimer',NULL,'a',0),(19,'Supprimer les factures','facture',2,'supprimer',NULL,'a',0),(21,'Lire les propositions commerciales','propale',1,'lire',NULL,'r',1),(21,'Lire les propositions commerciales','propale',2,'lire',NULL,'r',1),(22,'Creer/modifier les propositions commerciales','propale',1,'creer',NULL,'w',0),(22,'Creer/modifier les propositions commerciales','propale',2,'creer',NULL,'w',0),(24,'Valider les propositions commerciales','propale',1,'valider',NULL,'d',0),(24,'Valider les propositions commerciales','propale',2,'valider',NULL,'d',0),(25,'Envoyer les propositions commerciales aux clients','propale',1,'propal_advance','send','d',0),(25,'Envoyer les propositions commerciales aux clients','propale',2,'propal_advance','send','d',0),(26,'Cloturer les propositions commerciales','propale',1,'cloturer',NULL,'d',0),(26,'Cloturer les propositions commerciales','propale',2,'cloturer',NULL,'d',0),(27,'Supprimer les propositions commerciales','propale',1,'supprimer',NULL,'d',0),(27,'Supprimer les propositions commerciales','propale',2,'supprimer',NULL,'d',0),(28,'Exporter les propositions commerciales et attributs','propale',1,'export',NULL,'r',0),(28,'Exporter les propositions commerciales et attributs','propale',2,'export',NULL,'r',0),(31,'Lire les produits','produit',1,'lire',NULL,'r',1),(31,'Lire les produits','produit',2,'lire',NULL,'r',1),(32,'Creer/modifier les produits','produit',1,'creer',NULL,'w',0),(32,'Creer/modifier les produits','produit',2,'creer',NULL,'w',0),(34,'Supprimer les produits','produit',1,'supprimer',NULL,'d',0),(34,'Supprimer les produits','produit',2,'supprimer',NULL,'d',0),(38,'Exporter les produits','produit',1,'export',NULL,'r',0),(38,'Exporter les produits','produit',2,'export',NULL,'r',0),(41,'Lire les projets et taches (partagés ou dont je suis contact)','projet',1,'lire',NULL,'r',1),(42,'Creer/modifier les projets et taches (partagés ou dont je suis contact)','projet',1,'creer',NULL,'w',0),(44,'Supprimer les projets et taches (partagés ou dont je suis contact)','projet',1,'supprimer',NULL,'d',0),(45,'Exporter les projets','projet',1,'export',NULL,'d',0),(61,'Lire les fiches d\'intervention','ficheinter',1,'lire',NULL,'r',1),(62,'Creer/modifier les fiches d\'intervention','ficheinter',1,'creer',NULL,'w',0),(64,'Supprimer les fiches d\'intervention','ficheinter',1,'supprimer',NULL,'d',0),(67,'Exporter les fiches interventions','ficheinter',1,'export',NULL,'r',0),(68,'Envoyer les fiches d\'intervention par courriel','ficheinter',1,'ficheinter_advance','send','r',0),(71,'Read members\' card','adherent',1,'lire',NULL,'r',1),(72,'Create/modify members (need also user module permissions if member linked to a user)','adherent',1,'creer',NULL,'w',1),(74,'Remove members','adherent',1,'supprimer',NULL,'d',1),(75,'Setup types and attributes of members','adherent',1,'configurer',NULL,'w',1),(76,'Export members','adherent',1,'export',NULL,'r',0),(78,'Read subscriptions','adherent',1,'cotisation','lire','r',1),(79,'Create/modify/remove subscriptions','adherent',1,'cotisation','creer','w',1),(81,'Lire les commandes clients','commande',1,'lire',NULL,'r',1),(82,'Creer/modifier les commandes clients','commande',1,'creer',NULL,'w',0),(84,'Valider les commandes clients','commande',1,'valider',NULL,'d',0),(86,'Envoyer les commandes clients','commande',1,'order_advance','send','d',0),(87,'Cloturer les commandes clients','commande',1,'cloturer',NULL,'d',0),(88,'Annuler les commandes clients','commande',1,'annuler',NULL,'d',0),(89,'Supprimer les commandes clients','commande',1,'supprimer',NULL,'d',0),(91,'Lire les charges','tax',1,'charges','lire','r',1),(91,'Lire les charges','tax',2,'charges','lire','r',1),(92,'Creer/modifier les charges','tax',1,'charges','creer','w',0),(92,'Creer/modifier les charges','tax',2,'charges','creer','w',0),(93,'Supprimer les charges','tax',1,'charges','supprimer','d',0),(93,'Supprimer les charges','tax',2,'charges','supprimer','d',0),(94,'Exporter les charges','tax',1,'charges','export','r',0),(94,'Exporter les charges','tax',2,'charges','export','r',0),(95,'Lire CA, bilans, resultats','compta',1,'resultat','lire','r',1),(96,'Parametrer la ventilation','compta',1,'ventilation','parametrer','r',0),(97,'Lire les ventilations de factures','compta',1,'ventilation','lire','r',1),(98,'Ventiler les lignes de factures','compta',1,'ventilation','creer','r',0),(101,'Lire les expeditions','expedition',1,'lire',NULL,'r',1),(102,'Creer modifier les expeditions','expedition',1,'creer',NULL,'w',0),(104,'Valider les expeditions','expedition',1,'valider',NULL,'d',0),(105,'Envoyer les expeditions aux clients','expedition',1,'shipping_advance','send','d',0),(106,'Exporter les expeditions','expedition',1,'shipment','export','r',0),(109,'Supprimer les expeditions','expedition',1,'supprimer',NULL,'d',0),(111,'Lire les comptes bancaires','banque',1,'lire',NULL,'r',1),(111,'Lire les comptes bancaires','banque',2,'lire',NULL,'r',1),(112,'Creer/modifier montant/supprimer ecriture bancaire','banque',1,'modifier',NULL,'w',0),(112,'Creer/modifier montant/supprimer ecriture bancaire','banque',2,'modifier',NULL,'w',0),(113,'Configurer les comptes bancaires (creer, gerer categories)','banque',1,'configurer',NULL,'a',0),(113,'Configurer les comptes bancaires (creer, gerer categories)','banque',2,'configurer',NULL,'a',0),(114,'Rapprocher les ecritures bancaires','banque',1,'consolidate',NULL,'w',0),(114,'Rapprocher les ecritures bancaires','banque',2,'consolidate',NULL,'w',0),(115,'Exporter transactions et releves','banque',1,'export',NULL,'r',0),(115,'Exporter transactions et releves','banque',2,'export',NULL,'r',0),(116,'Virements entre comptes','banque',1,'transfer',NULL,'w',0),(116,'Virements entre comptes','banque',2,'transfer',NULL,'w',0),(117,'Gerer les envois de cheques','banque',1,'cheque',NULL,'w',0),(117,'Gerer les envois de cheques','banque',2,'cheque',NULL,'w',0),(121,'Lire les societes','societe',1,'lire',NULL,'r',1),(121,'Lire les societes','societe',2,'lire',NULL,'r',1),(122,'Creer modifier les societes','societe',1,'creer',NULL,'w',0),(122,'Creer modifier les societes','societe',2,'creer',NULL,'w',0),(125,'Supprimer les societes','societe',1,'supprimer',NULL,'d',0),(125,'Supprimer les societes','societe',2,'supprimer',NULL,'d',0),(126,'Exporter les societes','societe',1,'export',NULL,'r',0),(126,'Exporter les societes','societe',2,'export',NULL,'r',0),(141,'Lire tous les projets et taches (y compris prives qui ne me sont pas affectes)','projet',1,'all','lire','r',0),(142,'Creer/modifier tous les projets et taches (y compris prives qui ne me sont pas affectes)','projet',1,'all','creer','w',0),(144,'Supprimer tous les projets et taches (y compris prives qui ne me sont pas affectes)','projet',1,'all','supprimer','d',0),(151,'Read withdrawals','prelevement',1,'bons','lire','r',1),(152,'Create/modify a withdrawals','prelevement',1,'bons','creer','w',0),(153,'Send withdrawals to bank','prelevement',1,'bons','send','a',0),(154,'credit/refuse withdrawals','prelevement',1,'bons','credit','a',0),(161,'Lire les contrats','contrat',1,'lire',NULL,'r',1),(162,'Creer / modifier les contrats','contrat',1,'creer',NULL,'w',0),(163,'Activer un service d\'un contrat','contrat',1,'activer',NULL,'w',0),(164,'Desactiver un service d\'un contrat','contrat',1,'desactiver',NULL,'w',0),(165,'Supprimer un contrat','contrat',1,'supprimer',NULL,'d',0),(171,'Lire les deplacements','deplacement',1,'lire',NULL,'r',1),(172,'Creer/modifier les deplacements','deplacement',1,'creer',NULL,'w',0),(173,'Supprimer les deplacements','deplacement',1,'supprimer',NULL,'d',0),(178,'Exporter les deplacements','deplacement',1,'export',NULL,'d',0),(221,'Consulter les mailings','mailing',1,'lire',NULL,'r',1),(221,'Consulter les mailings','mailing',2,'lire',NULL,'r',1),(222,'Creer/modifier les mailings (sujet, destinataires...)','mailing',1,'creer',NULL,'w',1),(222,'Creer/modifier les mailings (sujet, destinataires...)','mailing',2,'creer',NULL,'w',0),(223,'Valider les mailings (permet leur envoi)','mailing',1,'valider',NULL,'w',0),(223,'Valider les mailings (permet leur envoi)','mailing',2,'valider',NULL,'w',0),(229,'Supprimer les mailings)','mailing',1,'supprimer',NULL,'d',1),(229,'Supprimer les mailings','mailing',2,'supprimer',NULL,'d',0),(237,'View recipients and info','mailing',1,'mailing_advance','recipient','r',0),(237,'View recipients and info','mailing',2,'mailing_advance','recipient','r',0),(238,'Manually send mailings','mailing',1,'mailing_advance','send','w',0),(238,'Manually send mailings','mailing',2,'mailing_advance','send','w',0),(239,'Delete mailings after validation and/or sent','mailing',1,'mailing_advance','delete','d',0),(239,'Delete mailings after validation and/or sent','mailing',2,'mailing_advance','delete','d',0),(241,'Lire les categories','categorie',1,'lire',NULL,'r',1),(242,'Creer/modifier les categories','categorie',1,'creer',NULL,'w',1),(243,'Supprimer les categories','categorie',1,'supprimer',NULL,'d',1),(251,'Consulter les autres utilisateurs','user',1,'user','lire','r',0),(252,'Consulter les permissions des autres utilisateurs','user',1,'user_advance','readperms','r',0),(253,'Creer/modifier utilisateurs internes et externes','user',1,'user','creer','w',0),(254,'Creer/modifier utilisateurs externes seulement','user',1,'user_advance','write','w',0),(255,'Modifier le mot de passe des autres utilisateurs','user',1,'user','password','w',0),(256,'Supprimer ou desactiver les autres utilisateurs','user',1,'user','supprimer','d',0),(262,'Consulter tous les tiers par utilisateurs internes (sinon uniquement si contact commercial). Non effectif pour utilisateurs externes (tjs limités à eux-meme).','societe',1,'client','voir','r',1),(262,'Consulter tous les tiers par utilisateurs internes (sinon uniquement si contact commercial). Non effectif pour utilisateurs externes (tjs limités à eux-meme).','societe',2,'client','voir','r',1),(281,'Lire les contacts','societe',1,'contact','lire','r',1),(281,'Lire les contacts','societe',2,'contact','lire','r',1),(282,'Creer modifier les contacts','societe',1,'contact','creer','w',0),(282,'Creer modifier les contacts','societe',2,'contact','creer','w',0),(283,'Supprimer les contacts','societe',1,'contact','supprimer','d',0),(283,'Supprimer les contacts','societe',2,'contact','supprimer','d',0),(286,'Exporter les contacts','societe',1,'contact','export','d',0),(286,'Exporter les contacts','societe',2,'contact','export','d',0),(300,'Lire les codes barres','barcode',1,'lire',NULL,'r',1),(301,'Creer/modifier les codes barres','barcode',1,'creer',NULL,'w',0),(302,'Supprimer les codes barres','barcode',1,'supprimer',NULL,'d',0),(331,'Lire les bookmarks','bookmark',1,'lire',NULL,'r',1),(332,'Creer/modifier les bookmarks','bookmark',1,'creer',NULL,'r',0),(333,'Supprimer les bookmarks','bookmark',1,'supprimer',NULL,'r',0),(341,'Consulter ses propres permissions','user',1,'self_advance','readperms','r',1),(342,'Creer/modifier ses propres infos utilisateur','user',1,'self','creer','w',1),(343,'Modifier son propre mot de passe','user',1,'self','password','w',1),(344,'Modifier ses propres permissions','user',1,'self_advance','writeperms','w',1),(351,'Consulter les groupes','user',1,'group_advance','read','r',0),(352,'Consulter les permissions des groupes','user',1,'group_advance','readperms','r',0),(353,'Creer/modifier les groupes et leurs permissions','user',1,'group_advance','write','w',0),(354,'Supprimer ou desactiver les groupes','user',1,'group_advance','delete','d',0),(358,'Exporter les utilisateurs','user',1,'user','export','r',0),(531,'Lire les services','service',1,'lire',NULL,'r',1),(532,'Creer/modifier les services','service',1,'creer',NULL,'w',0),(534,'Supprimer les services','service',1,'supprimer',NULL,'d',0),(538,'Exporter les services','service',1,'export',NULL,'r',0),(700,'Lire les dons','don',1,'lire',NULL,'r',1),(701,'Creer/modifier les dons','don',1,'creer',NULL,'w',0),(701,'Lire les dons','don',2,'lire',NULL,'r',1),(702,'Supprimer les dons','don',1,'supprimer',NULL,'d',0),(702,'Creer/modifier les dons','don',2,'creer',NULL,'w',0),(703,'Supprimer les dons','don',1,'supprimer',NULL,'d',0),(703,'Supprimer les dons','don',2,'supprimer',NULL,'d',0),(1001,'Lire les stocks','stock',1,'lire',NULL,'r',1),(1002,'Creer/Modifier les stocks','stock',1,'creer',NULL,'w',1),(1003,'Supprimer les stocks','stock',1,'supprimer',NULL,'d',1),(1004,'Lire mouvements de stocks','stock',1,'mouvement','lire','r',1),(1005,'Creer/modifier mouvements de stocks','stock',1,'mouvement','creer','w',1),(1101,'Lire les bons de livraison','expedition',1,'livraison','lire','r',1),(1102,'Creer modifier les bons de livraison','expedition',1,'livraison','creer','w',0),(1104,'Valider les bons de livraison','expedition',1,'livraison','valider','d',0),(1109,'Supprimer les bons de livraison','expedition',1,'livraison','supprimer','d',0),(1181,'Consulter les fournisseurs','fournisseur',1,'lire',NULL,'r',1),(1182,'Consulter les commandes fournisseur','fournisseur',1,'commande','lire','r',1),(1183,'Creer une commande fournisseur','fournisseur',1,'commande','creer','w',0),(1184,'Valider une commande fournisseur','fournisseur',1,'commande','valider','w',0),(1185,'Approuver une commande fournisseur','fournisseur',1,'commande','approuver','w',0),(1186,'Commander une commande fournisseur','fournisseur',1,'commande','commander','w',0),(1187,'Receptionner une commande fournisseur','fournisseur',1,'commande','receptionner','d',0),(1188,'Supprimer une commande fournisseur','fournisseur',1,'commande','supprimer','d',0),(1201,'Lire les exports','export',1,'lire',NULL,'r',1),(1202,'Creer/modifier un export','export',1,'creer',NULL,'w',1),(1231,'Consulter les factures fournisseur','fournisseur',1,'facture','lire','r',1),(1232,'Creer une facture fournisseur','fournisseur',1,'facture','creer','w',0),(1233,'Valider une facture fournisseur','fournisseur',1,'facture','valider','w',0),(1234,'Supprimer une facture fournisseur','fournisseur',1,'facture','supprimer','d',0),(1235,'Envoyer les factures par mail','fournisseur',1,'supplier_invoice_advance','send','a',0),(1236,'Exporter les factures fournisseurs, attributs et reglements','fournisseur',1,'facture','export','r',0),(1237,'Exporter les commande fournisseurs, attributs','fournisseur',1,'commande','export','r',0),(1251,'Run mass imports of external data (data load)','import',1,'run',NULL,'r',0),(1321,'Exporter les factures clients, attributs et reglements','facture',1,'facture','export','r',0),(1321,'Exporter les factures clients, attributs et reglements','facture',2,'facture','export','r',0),(1421,'Exporter les commandes clients et attributs','commande',1,'commande','export','r',0),(2401,'Read actions/tasks linked to his account','agenda',1,'myactions','read','r',1),(2401,'Read actions/tasks linked to his account','agenda',2,'myactions','read','r',1),(2402,'Create/modify actions/tasks linked to his account','agenda',1,'myactions','create','w',0),(2402,'Create/modify actions/tasks linked to his account','agenda',2,'myactions','create','w',0),(2403,'Delete actions/tasks linked to his account','agenda',1,'myactions','delete','w',0),(2403,'Delete actions/tasks linked to his account','agenda',2,'myactions','delete','w',0),(2411,'Read actions/tasks of others','agenda',1,'allactions','read','r',0),(2411,'Read actions/tasks of others','agenda',2,'allactions','read','r',0),(2412,'Create/modify actions/tasks of others','agenda',1,'allactions','create','w',0),(2412,'Create/modify actions/tasks of others','agenda',2,'allactions','create','w',0),(2413,'Delete actions/tasks of others','agenda',1,'allactions','delete','w',0),(2413,'Delete actions/tasks of others','agenda',2,'allactions','delete','w',0),(2414,'Export actions/tasks of others','agenda',1,'export',NULL,'w',0),(2501,'Consulter/Télécharger les documents','ecm',1,'read',NULL,'r',1),(2503,'Soumettre ou supprimer des documents','ecm',1,'upload',NULL,'w',1),(2515,'Administrer les rubriques de documents','ecm',1,'setup',NULL,'w',1),(20001,'Créer / Modifier / Lire ses demandes de congés payés','holiday',1,'write',NULL,'w',1),(20001,'Créer / Modifier / Lire ses demandes de congés payés','holiday',2,'write',NULL,'w',1),(20002,'Lire / Modifier toutes les demandes de congés payés','holiday',1,'lire_tous',NULL,'w',0),(20002,'Lire / Modifier toutes les demandes de congés payés','holiday',2,'lire_tous',NULL,'w',0),(20003,'Supprimer des demandes de congés payés','holiday',1,'delete',NULL,'w',0),(20003,'Supprimer des demandes de congés payés','holiday',2,'delete',NULL,'w',0),(20004,'Définir les congés payés des utilisateurs','holiday',1,'define_holiday',NULL,'w',0),(20004,'Définir les congés payés des utilisateurs','holiday',2,'define_holiday',NULL,'w',0),(20005,'Voir les logs de modification des congés payés','holiday',1,'view_log',NULL,'w',0),(20005,'Voir les logs de modification des congés payés','holiday',2,'view_log',NULL,'w',0),(20006,'Accéder au rapport mensuel des congés payés','holiday',1,'month_report',NULL,'w',0),(20006,'Accéder au rapport mensuel des congés payés','holiday',2,'month_report',NULL,'w',0),(23001,'Read cron jobs','cron',1,'read',NULL,'w',1),(23002,'Create cron Jobs','cron',1,'create',NULL,'w',0),(23003,'Delete cron Jobs','cron',1,'delete',NULL,'w',0),(23004,'Execute cron Jobs','cron',1,'execute',NULL,'w',0),(50101,'Use point of sale','cashdesk',1,'use',NULL,'a',1),(55001,'Read surveys','opensurvey',1,'read',NULL,'r',0),(55002,'Create/modify surveys','opensurvey',1,'write',NULL,'w',0),(101250,'Read surveys','opensurvey',1,'survey','read','r',0),(101250,'Read surveys','opensurvey',2,'survey','read','r',0),(101251,'Create/modify surveys','opensurvey',1,'survey','write','w',0),(101251,'Create/modify surveys','opensurvey',2,'survey','write','w',0),(400051,'Use POS','pos',2,'frontend',NULL,'a',1),(400052,'Use Backend','pos',2,'backend',NULL,'a',1),(400053,'Make Transfers','pos',2,'transfer',NULL,'a',1),(400055,'Stats','pos',2,'stats',NULL,'a',1); +/*!40000 ALTER TABLE `llx_rights_def` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_societe` +-- + +DROP TABLE IF EXISTS `llx_societe`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_societe` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `statut` tinyint(4) DEFAULT '0', + `parent` int(11) DEFAULT NULL, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `datec` datetime DEFAULT NULL, + `datea` datetime DEFAULT NULL, + `nom` varchar(60) DEFAULT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + `ref_ext` varchar(128) DEFAULT NULL, + `ref_int` varchar(60) DEFAULT NULL, + `code_client` varchar(24) DEFAULT NULL, + `code_fournisseur` varchar(24) DEFAULT NULL, + `code_compta` varchar(24) DEFAULT NULL, + `code_compta_fournisseur` varchar(24) DEFAULT NULL, + `address` varchar(255) DEFAULT NULL, + `zip` varchar(25) DEFAULT NULL, + `town` varchar(50) DEFAULT NULL, + `fk_departement` int(11) DEFAULT '0', + `fk_pays` int(11) DEFAULT '0', + `phone` varchar(20) DEFAULT NULL, + `fax` varchar(20) DEFAULT NULL, + `url` varchar(255) DEFAULT NULL, + `email` varchar(128) DEFAULT NULL, + `skype` varchar(255) DEFAULT NULL, + `fk_effectif` int(11) DEFAULT '0', + `fk_typent` int(11) DEFAULT '0', + `fk_forme_juridique` int(11) DEFAULT '0', + `fk_currency` int(11) DEFAULT '0', + `siren` varchar(128) DEFAULT NULL, + `siret` varchar(128) DEFAULT NULL, + `ape` varchar(128) DEFAULT NULL, + `idprof4` varchar(128) DEFAULT NULL, + `tva_intra` varchar(20) DEFAULT NULL, + `capital` double DEFAULT NULL, + `fk_stcomm` int(11) NOT NULL, + `note_private` text, + `note_public` text, + `prefix_comm` varchar(5) DEFAULT NULL, + `client` tinyint(4) DEFAULT '0', + `fournisseur` tinyint(4) DEFAULT '0', + `supplier_account` varchar(32) DEFAULT NULL, + `fk_prospectlevel` varchar(12) DEFAULT NULL, + `customer_bad` tinyint(4) DEFAULT '0', + `customer_rate` double DEFAULT '0', + `supplier_rate` double DEFAULT '0', + `fk_user_creat` int(11) DEFAULT NULL, + `fk_user_modif` int(11) DEFAULT NULL, + `remise_client` double DEFAULT '0', + `mode_reglement` tinyint(4) DEFAULT NULL, + `cond_reglement` tinyint(4) DEFAULT NULL, + `mode_reglement_supplier` int(11) DEFAULT NULL, + `outstanding_limit` double(24,8) DEFAULT NULL, + `cond_reglement_supplier` int(11) DEFAULT NULL, + `tva_assuj` tinyint(4) DEFAULT '1', + `localtax1_assuj` tinyint(4) DEFAULT '0', + `localtax2_assuj` tinyint(4) DEFAULT '0', + `barcode` varchar(255) DEFAULT NULL, + `price_level` int(11) DEFAULT NULL, + `default_lang` varchar(6) DEFAULT NULL, + `canvas` varchar(32) DEFAULT NULL, + `import_key` varchar(14) DEFAULT NULL, + `status` tinyint(4) DEFAULT '1', + `logo` varchar(255) DEFAULT NULL, + `idprof5` varchar(128) DEFAULT NULL, + `idprof6` varchar(128) DEFAULT NULL, + `fk_barcode_type` int(11) DEFAULT '0', + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_societe_prefix_comm` (`prefix_comm`,`entity`), + UNIQUE KEY `uk_societe_code_client` (`code_client`,`entity`), + KEY `idx_societe_user_creat` (`fk_user_creat`), + KEY `idx_societe_user_modif` (`fk_user_modif`) +) ENGINE=InnoDB AUTO_INCREMENT=34 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_societe` +-- + +LOCK TABLES `llx_societe` WRITE; +/*!40000 ALTER TABLE `llx_societe` DISABLE KEYS */; +INSERT INTO `llx_societe` VALUES (1,0,NULL,'2012-12-19 14:47:50','2010-07-08 14:21:44','2012-12-19 15:47:49','ABC and Co',1,NULL,NULL,'CU1212-0007','SU1212-0005','7050','6050','1 alalah road',NULL,'Delhi',0,4,NULL,NULL,NULL,NULL,NULL,NULL,4,NULL,0,'','','','','',5000,1,NULL,NULL,NULL,1,1,NULL,NULL,0,0,0,1,1,0,NULL,NULL,NULL,NULL,NULL,1,1,0,NULL,NULL,'en_IN',NULL,NULL,1,NULL,'','',0),(2,0,NULL,'2011-07-31 22:35:08','2010-07-08 14:23:48','2011-08-01 00:35:08','Belin SARL',1,NULL,NULL,'CU1108-0001','SU1108-0001',NULL,NULL,'11 rue de la paix.','75000','Paris',0,117,NULL,NULL,'dolibarr.fr',NULL,NULL,NULL,3,NULL,0,'123456789','','ACE14','','',10000,0,NULL,NULL,NULL,3,1,NULL,NULL,0,0,0,1,1,0,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,'fr_FR',NULL,NULL,1,NULL,NULL,NULL,0),(3,0,NULL,'2010-07-08 20:42:12','2010-07-08 22:42:12','2010-07-08 22:42:12','Spanish Comp',1,NULL,NULL,'SPANISHCOMP',NULL,NULL,NULL,'1 via mallere',NULL,'Madrid',123,4,NULL,NULL,NULL,NULL,NULL,3,4,408,0,'','','','','',10000,0,NULL,NULL,NULL,3,1,NULL,NULL,0,0,0,1,1,0,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,'es_AR',NULL,NULL,1,NULL,NULL,NULL,0),(4,0,NULL,'2013-03-03 23:09:48','2010-07-08 22:48:18','2013-03-04 00:08:04','Prospector Vaalen',1,NULL,NULL,'CU1303-0014',NULL,NULL,NULL,'',NULL,'Bruxelles',103,2,NULL,NULL,NULL,NULL,NULL,3,4,201,0,'12345678','','','','',0,0,NULL,NULL,NULL,3,0,NULL,'PL_LOW',0,0,0,1,1,0,NULL,NULL,NULL,NULL,NULL,1,0,0,NULL,NULL,NULL,NULL,NULL,1,NULL,'','',0),(5,0,NULL,'2010-07-08 21:37:56','2010-07-08 23:22:57','2010-07-08 23:37:56','NoCountry Co',1,NULL,NULL,NULL,NULL,NULL,NULL,'',NULL,NULL,0,193,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,0,'','','','','',0,0,NULL,NULL,NULL,0,0,NULL,NULL,0,0,0,1,1,0,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,0),(6,0,NULL,'2010-07-08 22:25:06','2010-07-09 00:15:09','2010-07-09 00:25:06','Swiss customer supplier',1,NULL,NULL,NULL,NULL,NULL,NULL,'',NULL,'Genevia',0,6,NULL,NULL,NULL,'abademail@aa.com',NULL,2,2,601,0,'','','','','',56000,0,NULL,NULL,NULL,3,1,NULL,NULL,0,0,0,1,1,0,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,0),(7,0,NULL,'2013-02-12 16:06:20','2010-07-09 01:24:26','2013-02-12 17:06:20','Generic customer',1,NULL,NULL,'CU1302-0011',NULL,NULL,NULL,'',NULL,NULL,0,7,NULL,NULL,NULL,'ttt@ttt.com',NULL,NULL,8,NULL,0,'','','','','',0,0,'Generic customer to use for Point Of Sale module.
',NULL,NULL,1,0,NULL,NULL,0,0,0,1,1,0,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'','',0),(8,0,NULL,'2010-07-10 12:54:27','2010-07-10 14:54:27','2010-07-10 14:54:27','Client salon',1,NULL,NULL,NULL,NULL,NULL,NULL,'',NULL,NULL,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,0,'','','','','',0,0,NULL,NULL,NULL,0,0,NULL,NULL,0,0,0,1,1,0,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,0),(9,0,NULL,'2010-07-10 12:55:11','2010-07-10 14:54:44','2010-07-10 14:55:11','Client salon invidivdu',1,NULL,NULL,NULL,NULL,NULL,NULL,'',NULL,NULL,0,1,NULL,NULL,NULL,NULL,NULL,NULL,8,NULL,0,'','','','','',0,0,NULL,NULL,NULL,3,1,NULL,NULL,0,0,0,1,1,0,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,0),(10,0,NULL,'2012-12-08 16:38:30','2010-07-10 15:13:08','2012-12-08 17:38:30','Smith Vick',1,NULL,NULL,'CU1212-0005',NULL,NULL,NULL,'',NULL,NULL,0,102,NULL,NULL,NULL,'vsmith@email.com',NULL,NULL,0,NULL,0,'','','','','',0,0,NULL,NULL,NULL,1,0,NULL,NULL,0,0,0,1,1,0,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'','',0),(11,0,NULL,'2010-07-11 12:35:22','2010-07-10 18:35:57','2010-07-10 18:36:24','Mon client',1,NULL,NULL,NULL,NULL,'7051',NULL,'',NULL,NULL,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,0,'','','','','',0,0,NULL,NULL,NULL,3,0,NULL,'PL_LOW',0,0,0,1,1,0,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,0),(12,0,NULL,'2013-02-20 19:07:21','2010-07-11 16:18:08','2013-02-20 20:07:21','Dupont Alain',1,NULL,NULL,NULL,NULL,NULL,NULL,'',NULL,NULL,0,1,NULL,NULL,NULL,'toto@aa.com',NULL,NULL,0,NULL,0,'','','','','',0,0,NULL,NULL,NULL,1,0,NULL,NULL,0,0,0,1,1,0,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'','',0),(13,0,NULL,'2010-07-11 15:13:20','2010-07-11 17:13:20','2010-07-11 17:13:20','Vendeur de chips',1,NULL,NULL,NULL,NULL,NULL,NULL,'',NULL,NULL,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,0,'','','','','',0,0,NULL,NULL,NULL,0,1,NULL,NULL,0,0,0,1,1,0,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,0),(15,0,NULL,'2011-08-01 00:31:24','2011-08-01 02:31:24','2011-08-01 02:31:24','mmm',1,NULL,NULL,'CU1108-0002','SU1108-0002',NULL,NULL,'','78180','mmm',0,31,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,0,'','','','','',0,0,NULL,NULL,NULL,3,1,NULL,NULL,0,0,0,1,1,0,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,0),(16,0,NULL,'2011-08-01 00:42:21','2011-08-01 02:31:43','2011-08-01 02:42:21','ppp',1,NULL,NULL,'CU1108-0003','SU1108-0003',NULL,NULL,'','78180','mmm',103,2,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,0,'','','','','',0,0,NULL,NULL,NULL,3,1,NULL,NULL,0,0,0,1,1,0,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,0),(17,0,NULL,'2011-08-04 21:24:24','2011-08-01 02:41:26','2011-08-04 23:24:24','FFF SARL',1,NULL,NULL,'CU1108-0004','SU1108-0004',NULL,NULL,'The French Company',NULL,NULL,0,1,NULL,NULL,NULL,NULL,NULL,1,3,NULL,0,'','','','','',0,0,NULL,NULL,NULL,3,1,NULL,NULL,0,0,0,1,1,0,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,0),(18,0,NULL,'2013-01-12 13:38:32','2012-12-09 20:14:42','2013-01-12 14:38:32','doe john',1,NULL,NULL,'CU1212-0006',NULL,NULL,NULL,'',NULL,NULL,0,1,'111','2222',NULL,'johndoe@email.com',NULL,NULL,101,NULL,0,'','','','','',0,0,NULL,NULL,NULL,1,0,NULL,NULL,0,0,0,1,1,0,NULL,NULL,NULL,NULL,NULL,1,0,0,NULL,NULL,NULL,NULL,NULL,1,NULL,'','',0),(19,0,NULL,'2013-03-16 12:52:02','2013-01-12 12:23:05','2013-03-16 13:52:02','aaa',1,NULL,NULL,'CU1301-0008',NULL,NULL,NULL,'fdgfd','gggfd','fgfgfd',0,4,'gggh','0101',NULL,NULL,NULL,NULL,101,NULL,0,'','','10/10/2010','','',0,0,NULL,NULL,NULL,1,0,NULL,NULL,0,0,0,1,1,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'en_US','patient@cabinetmed',NULL,1,NULL,'','',0),(20,0,NULL,'2013-01-12 11:52:20','2013-01-12 12:52:20','2013-01-12 12:52:20','pppoo',1,NULL,NULL,'CU1301-0009',NULL,NULL,NULL,'pppoo',NULL,NULL,0,4,NULL,NULL,NULL,NULL,NULL,NULL,101,NULL,0,'','','','','',0,0,NULL,NULL,NULL,1,0,NULL,NULL,0,0,0,1,1,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'en_US','patient@cabinetmed',NULL,1,NULL,'','',0),(21,0,NULL,'2013-01-23 15:56:58','2013-01-23 16:56:58','2013-01-23 16:56:58','pa',1,NULL,NULL,'CU1301-0010',NULL,NULL,NULL,'',NULL,NULL,0,81,NULL,NULL,NULL,NULL,NULL,NULL,101,NULL,0,'','','','','',0,0,NULL,NULL,NULL,1,0,NULL,NULL,0,0,0,1,1,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'en_US','patient@cabinetmed',NULL,1,NULL,'','',0),(22,0,NULL,'2013-02-26 21:57:58','2013-02-26 22:57:50','2013-02-26 22:57:58','pppp',1,NULL,NULL,'CU1302-0012',NULL,NULL,NULL,'',NULL,NULL,0,1,NULL,NULL,NULL,NULL,NULL,NULL,101,NULL,0,'','','','','',0,0,NULL,NULL,NULL,1,0,NULL,NULL,0,0,0,1,1,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'fr_FR','patient@cabinetmed',NULL,1,NULL,'','',0),(23,0,NULL,'2013-02-26 21:58:13','2013-02-26 22:58:13','2013-02-26 22:58:13','ttttt',1,NULL,NULL,'CU1302-0013','SU1302-0006',NULL,NULL,'',NULL,NULL,0,1,NULL,NULL,NULL,NULL,NULL,NULL,101,NULL,0,'','','','','',0,0,NULL,NULL,NULL,1,1,NULL,NULL,0,0,0,1,1,0,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,'fr_FR',NULL,NULL,1,NULL,'','',0),(24,0,NULL,'2013-03-09 15:33:39','2013-03-06 17:13:59','2013-03-09 16:33:39','smith smith',1,NULL,NULL,'CU1303-0015',NULL,'411E123',NULL,'',NULL,NULL,0,11,NULL,NULL,NULL,'smith@email.com',NULL,NULL,0,NULL,0,'','','','','',0,0,NULL,NULL,NULL,1,0,NULL,NULL,0,0,0,1,1,0,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'','',0),(25,0,NULL,'2013-03-10 14:47:37','2013-03-10 15:47:37','2013-03-10 15:47:37','jlmkjlkj',1,NULL,NULL,'CU1303-0016','SU1303-0007',NULL,NULL,'',NULL,NULL,0,117,NULL,NULL,NULL,NULL,NULL,NULL,101,NULL,0,'','','','','',0,0,NULL,NULL,NULL,1,1,NULL,NULL,0,0,0,1,1,0,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,'en_US',NULL,NULL,1,NULL,'','',0),(26,0,NULL,'2013-03-10 14:57:32','2013-03-10 15:57:32','2013-03-10 15:57:32','iiii',1,NULL,NULL,'CU1303-0017','SU1303-0008',NULL,NULL,'',NULL,NULL,290,117,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,0,'','','','','',0,0,NULL,NULL,NULL,1,1,NULL,NULL,0,0,0,1,1,0,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,'en_US',NULL,NULL,1,NULL,'','',0); +/*!40000 ALTER TABLE `llx_societe` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_societe_address` +-- + +DROP TABLE IF EXISTS `llx_societe_address`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_societe_address` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `datec` datetime DEFAULT NULL, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `label` varchar(30) DEFAULT NULL, + `fk_soc` int(11) DEFAULT '0', + `name` varchar(60) DEFAULT NULL, + `address` varchar(255) DEFAULT NULL, + `zip` varchar(10) DEFAULT NULL, + `town` varchar(50) DEFAULT NULL, + `fk_pays` int(11) DEFAULT '0', + `phone` varchar(20) DEFAULT NULL, + `fax` varchar(20) DEFAULT NULL, + `note` text, + `fk_user_creat` int(11) DEFAULT NULL, + `fk_user_modif` int(11) DEFAULT NULL, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_societe_address` +-- + +LOCK TABLES `llx_societe_address` WRITE; +/*!40000 ALTER TABLE `llx_societe_address` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_societe_address` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_societe_commerciaux` +-- + +DROP TABLE IF EXISTS `llx_societe_commerciaux`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_societe_commerciaux` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_soc` int(11) DEFAULT NULL, + `fk_user` int(11) DEFAULT NULL, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_societe_commerciaux` (`fk_soc`,`fk_user`) +) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_societe_commerciaux` +-- + +LOCK TABLES `llx_societe_commerciaux` WRITE; +/*!40000 ALTER TABLE `llx_societe_commerciaux` DISABLE KEYS */; +INSERT INTO `llx_societe_commerciaux` VALUES (1,2,2),(2,3,2),(3,15,1),(4,16,1),(5,17,1),(6,19,1),(8,19,3),(7,20,1),(9,21,1),(10,23,1),(11,25,1),(12,26,1); +/*!40000 ALTER TABLE `llx_societe_commerciaux` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_societe_extrafields` +-- + +DROP TABLE IF EXISTS `llx_societe_extrafields`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_societe_extrafields` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_object` int(11) NOT NULL, + `jjjj` varchar(255) DEFAULT NULL, + `import_key` varchar(14) DEFAULT NULL, + PRIMARY KEY (`rowid`), + KEY `idx_societe_extrafields` (`fk_object`) +) ENGINE=InnoDB AUTO_INCREMENT=49 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_societe_extrafields` +-- + +LOCK TABLES `llx_societe_extrafields` WRITE; +/*!40000 ALTER TABLE `llx_societe_extrafields` DISABLE KEYS */; +INSERT INTO `llx_societe_extrafields` VALUES (1,'2011-06-22 16:23:01',40,'kkkk',NULL),(2,'2011-06-22 16:23:16',41,'jjj',NULL),(4,'2011-06-23 07:40:40',39,'lll',NULL),(12,'2011-06-29 13:03:12',42,NULL,NULL),(14,'2011-07-02 01:24:03',57,NULL,NULL),(16,'2011-07-02 14:11:29',60,NULL,NULL),(17,'2011-07-18 10:26:55',35,NULL,NULL),(18,'2011-07-31 22:35:08',2,NULL,NULL),(19,'2011-08-01 00:31:24',15,NULL,NULL),(22,'2011-08-01 00:42:21',16,NULL,NULL),(27,'2011-08-04 21:24:24',17,NULL,NULL),(28,'2012-12-08 16:38:30',10,NULL,NULL),(30,'2012-12-19 14:47:50',1,NULL,NULL),(31,'2013-01-12 13:38:32',18,NULL,NULL),(33,'2013-02-12 16:06:20',7,NULL,NULL),(34,'2013-02-20 19:07:21',12,'jjj',NULL),(36,'2013-02-26 21:57:58',22,'jjj',NULL),(37,'2013-02-26 21:58:13',23,NULL,NULL),(44,'2013-03-03 23:08:04',4,'jjj',NULL),(45,'2013-03-09 15:33:39',24,'jjj',NULL),(46,'2013-03-10 14:47:37',25,NULL,NULL),(47,'2013-03-10 14:57:32',26,NULL,NULL),(48,'2013-03-16 12:52:02',19,'jjj',NULL); +/*!40000 ALTER TABLE `llx_societe_extrafields` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_societe_log` +-- + +DROP TABLE IF EXISTS `llx_societe_log`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_societe_log` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `datel` datetime DEFAULT NULL, + `fk_soc` int(11) DEFAULT NULL, + `fk_statut` int(11) DEFAULT NULL, + `fk_user` int(11) DEFAULT NULL, + `author` varchar(30) DEFAULT NULL, + `label` varchar(128) DEFAULT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_societe_log` +-- + +LOCK TABLES `llx_societe_log` WRITE; +/*!40000 ALTER TABLE `llx_societe_log` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_societe_log` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_societe_prices` +-- + +DROP TABLE IF EXISTS `llx_societe_prices`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_societe_prices` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_soc` int(11) DEFAULT '0', + `tms` timestamp NULL DEFAULT NULL, + `datec` datetime DEFAULT NULL, + `fk_user_author` int(11) DEFAULT NULL, + `price_level` tinyint(4) DEFAULT '1', + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_societe_prices` +-- + +LOCK TABLES `llx_societe_prices` WRITE; +/*!40000 ALTER TABLE `llx_societe_prices` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_societe_prices` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_societe_remise` +-- + +DROP TABLE IF EXISTS `llx_societe_remise`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_societe_remise` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_soc` int(11) NOT NULL, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `datec` datetime DEFAULT NULL, + `fk_user_author` int(11) DEFAULT NULL, + `remise_client` double(6,3) NOT NULL DEFAULT '0.000', + `note` text, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_societe_remise` +-- + +LOCK TABLES `llx_societe_remise` WRITE; +/*!40000 ALTER TABLE `llx_societe_remise` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_societe_remise` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_societe_remise_except` +-- + +DROP TABLE IF EXISTS `llx_societe_remise_except`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_societe_remise_except` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_soc` int(11) NOT NULL, + `datec` datetime DEFAULT NULL, + `amount_ht` double(24,8) NOT NULL, + `amount_tva` double(24,8) NOT NULL DEFAULT '0.00000000', + `amount_ttc` double(24,8) NOT NULL DEFAULT '0.00000000', + `tva_tx` double(6,3) NOT NULL DEFAULT '0.000', + `fk_user` int(11) NOT NULL, + `fk_facture_line` int(11) DEFAULT NULL, + `fk_facture` int(11) DEFAULT NULL, + `fk_facture_source` int(11) DEFAULT NULL, + `description` varchar(255) NOT NULL, + PRIMARY KEY (`rowid`), + KEY `idx_societe_remise_except_fk_user` (`fk_user`), + KEY `idx_societe_remise_except_fk_soc` (`fk_soc`), + KEY `idx_societe_remise_except_fk_facture_line` (`fk_facture_line`), + KEY `idx_societe_remise_except_fk_facture` (`fk_facture`), + KEY `idx_societe_remise_except_fk_facture_source` (`fk_facture_source`), + CONSTRAINT `fk_societe_remise_fk_facture` FOREIGN KEY (`fk_facture`) REFERENCES `llx_facture` (`rowid`), + CONSTRAINT `fk_societe_remise_fk_facture_line` FOREIGN KEY (`fk_facture_line`) REFERENCES `llx_facturedet` (`rowid`), + CONSTRAINT `fk_societe_remise_fk_facture_source` FOREIGN KEY (`fk_facture_source`) REFERENCES `llx_facture` (`rowid`), + CONSTRAINT `fk_societe_remise_fk_soc` FOREIGN KEY (`fk_soc`) REFERENCES `llx_societe` (`rowid`), + CONSTRAINT `fk_societe_remise_fk_user` FOREIGN KEY (`fk_user`) REFERENCES `llx_user` (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_societe_remise_except` +-- + +LOCK TABLES `llx_societe_remise_except` WRITE; +/*!40000 ALTER TABLE `llx_societe_remise_except` DISABLE KEYS */; +INSERT INTO `llx_societe_remise_except` VALUES (1,23,'2013-03-08 10:02:54',5.00000000,0.00000000,5.00000000,0.000,1,775,NULL,NULL,'fsdfsf'),(2,19,'2013-03-19 09:36:15',10.00000000,1.25000000,11.25000000,12.500,1,1019,NULL,NULL,'hfghgf'); +/*!40000 ALTER TABLE `llx_societe_remise_except` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_societe_rib` +-- + +DROP TABLE IF EXISTS `llx_societe_rib`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_societe_rib` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_soc` int(11) NOT NULL, + `datec` datetime DEFAULT NULL, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `label` varchar(30) DEFAULT NULL, + `bank` varchar(255) DEFAULT NULL, + `code_banque` varchar(7) DEFAULT NULL, + `code_guichet` varchar(6) DEFAULT NULL, + `number` varchar(255) DEFAULT NULL, + `cle_rib` varchar(5) DEFAULT NULL, + `bic` varchar(20) DEFAULT NULL, + `iban_prefix` varchar(34) DEFAULT NULL, + `domiciliation` varchar(255) DEFAULT NULL, + `proprio` varchar(60) DEFAULT NULL, + `owner_address` text, + `default_rib` tinyint(4) NOT NULL DEFAULT '0', + `import_key` varchar(14) DEFAULT NULL, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_societe_rib` +-- + +LOCK TABLES `llx_societe_rib` WRITE; +/*!40000 ALTER TABLE `llx_societe_rib` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_societe_rib` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_socpeople` +-- + +DROP TABLE IF EXISTS `llx_socpeople`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_socpeople` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `datec` datetime DEFAULT NULL, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_soc` int(11) DEFAULT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + `ref_ext` varchar(128) DEFAULT NULL, + `civilite` varchar(6) DEFAULT NULL, + `lastname` varchar(50) DEFAULT NULL, + `firstname` varchar(50) DEFAULT NULL, + `address` varchar(255) DEFAULT NULL, + `zip` varchar(10) DEFAULT NULL, + `town` text, + `fk_departement` int(11) DEFAULT NULL, + `fk_pays` int(11) DEFAULT '0', + `birthday` date DEFAULT NULL, + `poste` varchar(80) DEFAULT NULL, + `phone` varchar(30) DEFAULT NULL, + `phone_perso` varchar(30) DEFAULT NULL, + `phone_mobile` varchar(30) DEFAULT NULL, + `fax` varchar(30) DEFAULT NULL, + `email` varchar(255) DEFAULT NULL, + `jabberid` varchar(255) DEFAULT NULL, + `skype` varchar(255) DEFAULT NULL, + `priv` smallint(6) NOT NULL DEFAULT '0', + `no_email` smallint(6) NOT NULL DEFAULT '0', + `fk_user_creat` int(11) DEFAULT '0', + `fk_user_modif` int(11) DEFAULT NULL, + `note_private` text, + `note_public` text, + `default_lang` varchar(6) DEFAULT NULL, + `canvas` varchar(32) DEFAULT NULL, + `import_key` varchar(14) DEFAULT NULL, + `statut` tinyint(4) NOT NULL DEFAULT '1', + PRIMARY KEY (`rowid`), + KEY `idx_socpeople_fk_soc` (`fk_soc`), + KEY `idx_socpeople_fk_user_creat` (`fk_user_creat`), + CONSTRAINT `fk_socpeople_fk_soc` FOREIGN KEY (`fk_soc`) REFERENCES `llx_societe` (`rowid`), + CONSTRAINT `fk_socpeople_user_creat_user_rowid` FOREIGN KEY (`fk_user_creat`) REFERENCES `llx_user` (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_socpeople` +-- + +LOCK TABLES `llx_socpeople` WRITE; +/*!40000 ALTER TABLE `llx_socpeople` DISABLE KEYS */; +INSERT INTO `llx_socpeople` VALUES (1,'2010-07-08 14:26:14','2010-07-08 20:45:28',1,1,NULL,'MR','Samira','Aljoun','','','',297,117,'2010-07-08','Project leader','','','','','','',NULL,0,0,1,1,'Met during a congress at Dubai',NULL,NULL,NULL,NULL,1),(2,'2010-07-08 22:44:50','2010-07-08 20:59:57',NULL,1,NULL,'MR','Freeman','Public','','','',200,11,NULL,'','','','','','','',NULL,0,0,1,1,'A friend that is a free contact not linked to any company',NULL,NULL,NULL,NULL,1),(3,'2010-07-08 22:59:02','2010-07-08 20:59:35',NULL,1,NULL,'MR','Freeman','Private','','','',NULL,11,NULL,'','','','','','','',NULL,1,0,1,1,'This is a private contact',NULL,NULL,NULL,NULL,1),(4,'2010-07-09 00:16:58','2010-07-08 22:16:58',6,1,NULL,'MR','Rotchield','Evan','','','',NULL,6,NULL,'Bank director','','','','','','',NULL,0,0,1,1,'The bank director',NULL,NULL,NULL,NULL,1),(5,'2010-07-10 14:54:44','2010-07-10 12:54:44',9,1,NULL,'','Client salon invidivdu','','','','',NULL,NULL,NULL,'','','','','','','',NULL,0,0,1,1,'',NULL,NULL,NULL,NULL,1),(6,'2011-08-01 02:41:26','2011-08-01 00:41:26',17,1,NULL,'','aaa','','aaa','','',289,117,NULL,'','','','','','','',NULL,0,0,1,1,'',NULL,NULL,NULL,NULL,1),(7,'2013-02-12 17:05:57','2013-03-08 01:45:08',7,1,NULL,'','aaa','','','','',289,117,NULL,'','','','','','aaa@aaa.com','',NULL,0,0,1,1,'',NULL,NULL,NULL,NULL,1),(8,'2013-03-08 02:45:31','2013-03-08 01:45:31',7,1,NULL,'','kkkk','','','','',290,117,NULL,'','','','','','ttt@ttt.com','',NULL,0,0,1,1,'',NULL,NULL,NULL,NULL,1),(10,'2013-03-08 02:48:23','2013-03-08 01:48:23',7,1,NULL,'','fff','','','','',290,117,NULL,'','','','','','ttt@ttt.com','',NULL,0,0,1,1,'',NULL,NULL,NULL,NULL,1),(11,'2013-03-08 02:48:54','2013-03-08 01:48:54',7,1,NULL,'','iii','','','','',294,117,NULL,'','','','','','ttt@ttt.com','',NULL,0,0,1,1,'',NULL,NULL,NULL,NULL,1); +/*!40000 ALTER TABLE `llx_socpeople` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_socpeople_extrafields` +-- + +DROP TABLE IF EXISTS `llx_socpeople_extrafields`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_socpeople_extrafields` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_object` int(11) NOT NULL, + `import_key` varchar(14) DEFAULT NULL, + PRIMARY KEY (`rowid`), + KEY `idx_socpeople_extrafields` (`fk_object`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_socpeople_extrafields` +-- + +LOCK TABLES `llx_socpeople_extrafields` WRITE; +/*!40000 ALTER TABLE `llx_socpeople_extrafields` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_socpeople_extrafields` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_stock_mouvement` +-- + +DROP TABLE IF EXISTS `llx_stock_mouvement`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_stock_mouvement` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `datem` datetime DEFAULT NULL, + `fk_product` int(11) NOT NULL, + `fk_entrepot` int(11) NOT NULL, + `value` double DEFAULT NULL, + `price` float(13,4) DEFAULT '0.0000', + `type_mouvement` smallint(6) DEFAULT NULL, + `fk_user_author` int(11) DEFAULT NULL, + `label` varchar(128) DEFAULT NULL, + PRIMARY KEY (`rowid`), + KEY `idx_stock_mouvement_fk_product` (`fk_product`), + KEY `idx_stock_mouvement_fk_entrepot` (`fk_entrepot`) +) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_stock_mouvement` +-- + +LOCK TABLES `llx_stock_mouvement` WRITE; +/*!40000 ALTER TABLE `llx_stock_mouvement` DISABLE KEYS */; +INSERT INTO `llx_stock_mouvement` VALUES (1,'2010-07-08 22:43:51','2010-07-09 00:43:51',2,2,1000,0.0000,0,1,'Correct stock'),(3,'2010-07-10 22:56:18','2010-07-11 00:56:18',4,2,500,0.0000,0,1,'Init'),(4,'2010-07-10 23:02:20','2010-07-11 01:02:20',4,2,500,0.0000,0,1,''),(5,'2010-07-11 16:49:44','2010-07-11 18:49:44',4,1,2,10.0000,3,1,''),(6,'2010-07-11 16:49:44','2010-07-11 18:49:44',1,1,4,0.0000,3,1,''),(7,'2013-01-19 17:22:48','2013-01-19 18:22:48',11,1,-1,0.0000,2,1,'Facture créée dans DoliPOS'),(8,'2013-01-19 17:22:48','2013-01-19 18:22:48',4,1,-1,5.0000,2,1,'Facture créée dans DoliPOS'),(9,'2013-01-19 17:22:48','2013-01-19 18:22:48',1,1,-2,0.0000,2,1,'Facture créée dans DoliPOS'),(10,'2013-01-19 17:31:10','2013-01-19 18:31:10',2,1,-1,0.0000,2,1,'Facture créée dans DoliPOS'),(11,'2013-01-19 17:31:58','2013-01-19 18:31:58',2,1,-1,0.0000,2,1,'Facture créée dans DoliPOS'); +/*!40000 ALTER TABLE `llx_stock_mouvement` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_submitew_message` +-- + +DROP TABLE IF EXISTS `llx_submitew_message`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_submitew_message` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `statut` smallint(6) DEFAULT '0', + `label` varchar(60) DEFAULT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + `title` varchar(60) DEFAULT NULL, + `body_short` text, + `body_long` text, + `url` varchar(255) DEFAULT NULL, + `cible` varchar(60) DEFAULT NULL, + `nbemail` int(11) DEFAULT NULL, + `email_from` varchar(160) DEFAULT NULL, + `email_replyto` varchar(160) DEFAULT NULL, + `email_errorsto` varchar(160) DEFAULT NULL, + `tag` varchar(128) DEFAULT NULL, + `date_creat` datetime DEFAULT NULL, + `date_valid` datetime DEFAULT NULL, + `date_appro` datetime DEFAULT NULL, + `date_envoi` datetime DEFAULT NULL, + `fk_user_creat` int(11) DEFAULT NULL, + `fk_user_valid` int(11) DEFAULT NULL, + `fk_user_appro` int(11) DEFAULT NULL, + `joined_file1` varchar(255) DEFAULT NULL, + `joined_file2` varchar(255) DEFAULT NULL, + `joined_file3` varchar(255) DEFAULT NULL, + `joined_file4` varchar(255) DEFAULT NULL, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_submitew_message` +-- + +LOCK TABLES `llx_submitew_message` WRITE; +/*!40000 ALTER TABLE `llx_submitew_message` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_submitew_message` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_submitew_targets` +-- + +DROP TABLE IF EXISTS `llx_submitew_targets`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_submitew_targets` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `label` varchar(64) NOT NULL, + `targetcode` varchar(16) NOT NULL, + `langcode` varchar(5) DEFAULT 'en_US', + `url` varchar(250) DEFAULT NULL, + `login` varchar(128) DEFAULT NULL, + `pass` varchar(128) DEFAULT NULL, + `comment` varchar(250) DEFAULT NULL, + `position` int(11) DEFAULT '0', + `titlelength` int(11) DEFAULT '32', + `descshortlength` int(11) DEFAULT '256', + `desclonglength` int(11) DEFAULT '2000', + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_submitewtargets` (`label`,`langcode`) +) ENGINE=InnoDB AUTO_INCREMENT=72 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_submitew_targets` +-- + +LOCK TABLES `llx_submitew_targets` WRITE; +/*!40000 ALTER TABLE `llx_submitew_targets` DISABLE KEYS */; +INSERT INTO `llx_submitew_targets` VALUES (17,'hhho','email','fr_FR','',NULL,NULL,NULL,0,0,-1,0),(34,'pppp','facebook','fr_FR',NULL,'eldy','ld101010-fk',NULL,0,-1,-1,-1),(35,'hfghfgh','web','de_DE','http://wwww','ffffmmm','null',NULL,0,-1,-1,-1),(37,'llll','linkedin','fr_FR','',NULL,NULL,NULL,0,32,256,2000),(55,'fff','dig','fr_FR',NULL,'hfgh','hfghgf',NULL,0,-1,-1,-1),(56,'aaaaaaa','linkedin','da_DK',NULL,'aa','aaa',NULL,0,32,256,2000),(57,'ddd','dig','en_US',NULL,'dd',NULL,NULL,0,32,256,2000),(59,'dddff','dig','en_US',NULL,NULL,NULL,NULL,0,32,256,2000),(68,'dddffe','dig','en_US',NULL,NULL,NULL,NULL,0,32,256,2000),(70,'dddffef','dig','en_US','http://www.dig.com',NULL,NULL,NULL,0,32,256,2000),(71,'ffff','dig','en_US','http://www.dig.com',NULL,NULL,NULL,0,32,256,2000); +/*!40000 ALTER TABLE `llx_submitew_targets` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_submitew_targets_params` +-- + +DROP TABLE IF EXISTS `llx_submitew_targets_params`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_submitew_targets_params` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_target` int(11) NOT NULL, + `paramkey` varchar(16) NOT NULL, + `paramvalue` varchar(128) DEFAULT '', + PRIMARY KEY (`rowid`), + UNIQUE KEY `idx_submitewtargets_fk_target` (`fk_target`), + UNIQUE KEY `uk_submitewtargets_params` (`fk_target`,`paramkey`,`paramvalue`), + CONSTRAINT `fk_submitewtargets_fk_target` FOREIGN KEY (`fk_target`) REFERENCES `llx_submitew_targets` (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_submitew_targets_params` +-- + +LOCK TABLES `llx_submitew_targets_params` WRITE; +/*!40000 ALTER TABLE `llx_submitew_targets_params` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_submitew_targets_params` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_texts` +-- + +DROP TABLE IF EXISTS `llx_texts`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_texts` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `module` varchar(32) DEFAULT NULL, + `typemodele` varchar(32) DEFAULT NULL, + `sortorder` smallint(6) DEFAULT NULL, + `private` smallint(6) NOT NULL DEFAULT '0', + `fk_user` int(11) DEFAULT NULL, + `title` varchar(128) DEFAULT NULL, + `filename` varchar(128) DEFAULT NULL, + `content` text, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_texts` +-- + +LOCK TABLES `llx_texts` WRITE; +/*!40000 ALTER TABLE `llx_texts` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_texts` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_tva` +-- + +DROP TABLE IF EXISTS `llx_tva`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_tva` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `datep` date DEFAULT NULL, + `datev` date DEFAULT NULL, + `amount` double NOT NULL DEFAULT '0', + `label` varchar(255) DEFAULT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + `note` text, + `fk_bank` int(11) DEFAULT NULL, + `fk_user_creat` int(11) DEFAULT NULL, + `fk_user_modif` int(11) DEFAULT NULL, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_tva` +-- + +LOCK TABLES `llx_tva` WRITE; +/*!40000 ALTER TABLE `llx_tva` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_tva` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_update_modules` +-- + +DROP TABLE IF EXISTS `llx_update_modules`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_update_modules` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `modulekey` varchar(24) DEFAULT NULL, + `datekey` date DEFAULT NULL, + `versionkey` double DEFAULT NULL, + `lastrequestdate` datetime DEFAULT NULL, + `email` varchar(128) DEFAULT NULL, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_update_modules` +-- + +LOCK TABLES `llx_update_modules` WRITE; +/*!40000 ALTER TABLE `llx_update_modules` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_update_modules` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_user` +-- + +DROP TABLE IF EXISTS `llx_user`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_user` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `datec` datetime DEFAULT NULL, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `login` varchar(24) NOT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + `civilite` varchar(6) DEFAULT NULL, + `ref_ext` varchar(50) DEFAULT NULL, + `ref_int` varchar(50) DEFAULT NULL, + `pass` varchar(32) DEFAULT NULL, + `pass_crypted` varchar(128) DEFAULT NULL, + `pass_temp` varchar(32) DEFAULT NULL, + `lastname` varchar(50) DEFAULT NULL, + `firstname` varchar(50) DEFAULT NULL, + `job` varchar(128) DEFAULT NULL, + `skype` varchar(255) DEFAULT NULL, + `office_phone` varchar(20) DEFAULT NULL, + `office_fax` varchar(20) DEFAULT NULL, + `user_mobile` varchar(20) DEFAULT NULL, + `email` varchar(255) DEFAULT NULL, + `signature` text, + `admin` smallint(6) DEFAULT '0', + `webcal_login` varchar(25) DEFAULT NULL, + `phenix_login` varchar(25) DEFAULT NULL, + `phenix_pass` varchar(128) DEFAULT NULL, + `module_comm` smallint(6) DEFAULT '1', + `module_compta` smallint(6) DEFAULT '1', + `fk_societe` int(11) DEFAULT NULL, + `fk_socpeople` int(11) DEFAULT NULL, + `fk_member` int(11) DEFAULT NULL, + `note` text, + `datelastlogin` datetime DEFAULT NULL, + `datepreviouslogin` datetime DEFAULT NULL, + `egroupware_id` int(11) DEFAULT NULL, + `ldap_sid` varchar(255) DEFAULT NULL, + `statut` tinyint(4) DEFAULT '1', + `photo` varchar(255) DEFAULT NULL, + `lang` varchar(6) DEFAULT NULL, + `openid` varchar(255) DEFAULT NULL, + `fk_user` int(11) DEFAULT NULL, + `address` varchar(255) DEFAULT NULL, + `zip` varchar(25) DEFAULT NULL, + `town` varchar(50) DEFAULT NULL, + `fk_state` int(11) DEFAULT '0', + `fk_country` int(11) DEFAULT '0', + `color` varchar(6) DEFAULT NULL, + `accountancy_code` varchar(24) DEFAULT NULL, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_user_login` (`login`,`entity`), + UNIQUE KEY `uk_user_fk_socpeople` (`fk_socpeople`), + UNIQUE KEY `uk_user_fk_member` (`fk_member`), + KEY `uk_user_fk_societe` (`fk_societe`) +) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_user` +-- + +LOCK TABLES `llx_user` WRITE; +/*!40000 ALTER TABLE `llx_user` DISABLE KEYS */; +INSERT INTO `llx_user` VALUES (1,'2010-07-08 13:20:11','2012-12-12 17:54:10','admin',0,NULL,NULL,NULL,'admin','21232f297a57a5a743894a0e4a801fc3',NULL,'SuperAdminName','Firstname','',NULL,'','','','eldy@destailleur.fr','',1,'','','',1,1,NULL,NULL,NULL,'','2014-03-02 16:36:53','2014-03-02 16:21:07',NULL,'',1,'01.jpg',NULL,NULL,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(2,'2010-07-08 13:54:48','2010-07-08 11:54:48','demo',1,NULL,NULL,NULL,'demo','fe01ce2a7fbac8fafaed7c982a04e229',NULL,'John','Doe',NULL,NULL,'09123123','','','johndoe@mycompany.com',NULL,0,'','','',1,1,NULL,NULL,NULL,'','2013-03-24 16:30:29','2010-07-08 14:12:02',NULL,'',1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(3,'2010-07-11 16:18:59','2013-02-20 19:07:21','adupont',1,NULL,NULL,NULL,'adupont','00856ab2bbb748aa29aa335a6e3a2407',NULL,'Dupont','Alain','',NULL,'','','','toto@aa.com','',0,'','','',1,1,NULL,NULL,2,'','2012-12-21 17:38:55',NULL,NULL,'',1,NULL,NULL,NULL,2,NULL,NULL,NULL,0,0,NULL,NULL),(4,'2013-01-23 17:52:27','2013-02-20 19:48:01','aaa',1,NULL,NULL,NULL,'aaa','47bce5c74f589f4867dbd57e9ca9f808',NULL,'aaa','','',NULL,'','','','','',0,'','','',1,1,17,6,NULL,'','2013-02-25 10:18:41','2013-01-23 17:53:20',NULL,'',1,NULL,NULL,NULL,5,NULL,NULL,NULL,0,0,NULL,NULL),(5,'2013-01-23 17:52:37','2013-01-23 16:52:37','bbb',0,NULL,NULL,NULL,'bbb','08f8e0260c64418510cefb2b06eee5cd',NULL,'bbb','','',NULL,'','','','','',1,'','','',1,1,NULL,NULL,NULL,'',NULL,NULL,NULL,'',1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(6,'2013-02-16 20:22:40','2013-02-16 19:22:40','aaab',2,NULL,NULL,NULL,'aaab','4c189b020ceb022e0ecc42482802e2b8',NULL,'aaab','','',NULL,'','','','','',0,'','','',1,1,NULL,NULL,NULL,'',NULL,NULL,NULL,'',1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(7,'2013-02-16 20:48:15','2013-02-16 19:48:15','zzz',2,NULL,NULL,NULL,'zzz','f3abb86bd34cf4d52698f14c0da1dc60',NULL,'zzz','','',NULL,'','','','','',0,'','','',1,1,NULL,NULL,NULL,'',NULL,NULL,NULL,'',1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(9,'2013-02-16 20:50:07','2013-03-24 16:10:14','zzzg',2,NULL,NULL,NULL,'jc28fg4h','93d789524fd223cf05eecea3f59cbe86',NULL,'zzzg','','',NULL,'','','','','fsdkkfsdf
\r\nfsdfsd
\r\nfsdfs',0,'','','',1,1,NULL,NULL,NULL,'',NULL,NULL,NULL,'',1,NULL,NULL,NULL,5,'','','',NULL,NULL,NULL,NULL); +/*!40000 ALTER TABLE `llx_user` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_user_alert` +-- + +DROP TABLE IF EXISTS `llx_user_alert`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_user_alert` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `type` int(11) DEFAULT NULL, + `fk_contact` int(11) DEFAULT NULL, + `fk_user` int(11) DEFAULT NULL, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_user_alert` +-- + +LOCK TABLES `llx_user_alert` WRITE; +/*!40000 ALTER TABLE `llx_user_alert` DISABLE KEYS */; +INSERT INTO `llx_user_alert` VALUES (1,1,1,1); +/*!40000 ALTER TABLE `llx_user_alert` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_user_clicktodial` +-- + +DROP TABLE IF EXISTS `llx_user_clicktodial`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_user_clicktodial` ( + `fk_user` int(11) NOT NULL, + `url` varchar(255) DEFAULT NULL, + `login` varchar(32) DEFAULT NULL, + `pass` varchar(64) DEFAULT NULL, + `poste` varchar(20) DEFAULT NULL, + PRIMARY KEY (`fk_user`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_user_clicktodial` +-- + +LOCK TABLES `llx_user_clicktodial` WRITE; +/*!40000 ALTER TABLE `llx_user_clicktodial` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_user_clicktodial` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_user_extrafields` +-- + +DROP TABLE IF EXISTS `llx_user_extrafields`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_user_extrafields` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_object` int(11) NOT NULL, + `import_key` varchar(14) DEFAULT NULL, + PRIMARY KEY (`rowid`), + KEY `idx_user_extrafields` (`fk_object`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_user_extrafields` +-- + +LOCK TABLES `llx_user_extrafields` WRITE; +/*!40000 ALTER TABLE `llx_user_extrafields` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_user_extrafields` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_user_param` +-- + +DROP TABLE IF EXISTS `llx_user_param`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_user_param` ( + `fk_user` int(11) NOT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + `param` varchar(64) NOT NULL, + `value` varchar(255) NOT NULL, + UNIQUE KEY `uk_user_param` (`fk_user`,`param`,`entity`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_user_param` +-- + +LOCK TABLES `llx_user_param` WRITE; +/*!40000 ALTER TABLE `llx_user_param` DISABLE KEYS */; +INSERT INTO `llx_user_param` VALUES (1,1,'MAIN_BOXES_0','1'),(1,1,'MAIN_THEME','eldy'),(1,3,'THEME_ELDY_ENABLE_PERSONALIZED','1'),(1,1,'THEME_ELDY_RGB','ded0ed'),(1,3,'THEME_ELDY_RGB','d0ddc3'); +/*!40000 ALTER TABLE `llx_user_param` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_user_rights` +-- + +DROP TABLE IF EXISTS `llx_user_rights`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_user_rights` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_user` int(11) NOT NULL, + `fk_id` int(11) NOT NULL, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_user_rights` (`fk_user`,`fk_id`), + CONSTRAINT `fk_user_rights_fk_user_user` FOREIGN KEY (`fk_user`) REFERENCES `llx_user` (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=11594 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_user_rights` +-- + +LOCK TABLES `llx_user_rights` WRITE; +/*!40000 ALTER TABLE `llx_user_rights` DISABLE KEYS */; +INSERT INTO `llx_user_rights` VALUES (11425,1,11),(11401,1,12),(11406,1,13),(11411,1,14),(11416,1,15),(11421,1,16),(11427,1,19),(9726,1,21),(9700,1,22),(9706,1,24),(9711,1,25),(9716,1,26),(9722,1,27),(9728,1,28),(9978,1,31),(9968,1,32),(9974,1,34),(1910,1,36),(9980,1,38),(11573,1,41),(11574,1,42),(11575,1,44),(11576,1,45),(7184,1,61),(7181,1,62),(7183,1,64),(7185,1,67),(7186,1,68),(1678,1,71),(1673,1,72),(1675,1,74),(1679,1,75),(1677,1,76),(1681,1,78),(1682,1,79),(11389,1,81),(11372,1,82),(11376,1,84),(11379,1,86),(11382,1,87),(11386,1,88),(11390,1,89),(11580,1,91),(11581,1,92),(11582,1,93),(11583,1,94),(10097,1,95),(10099,1,96),(10103,1,97),(10104,1,98),(7139,1,101),(7134,1,102),(7136,1,104),(7137,1,105),(7138,1,106),(7140,1,109),(10229,1,111),(10201,1,112),(10207,1,113),(10213,1,114),(10219,1,115),(10225,1,116),(10231,1,117),(11323,1,121),(11313,1,122),(11319,1,125),(11325,1,126),(11577,1,141),(11578,1,142),(11579,1,144),(2307,1,151),(2304,1,152),(2306,1,153),(2308,1,154),(10092,1,161),(10093,1,162),(10094,1,163),(10095,1,164),(10096,1,165),(1585,1,170),(11541,1,171),(11534,1,172),(11538,1,173),(11542,1,178),(10000,1,221),(9990,1,222),(9996,1,223),(10002,1,229),(10007,1,237),(10011,1,238),(10015,1,239),(1686,1,241),(1685,1,242),(1687,1,243),(11527,1,251),(11489,1,252),(11492,1,253),(11495,1,254),(11498,1,255),(11502,1,256),(1617,1,258),(11330,1,262),(11349,1,281),(11339,1,282),(11345,1,283),(11351,1,286),(11590,1,300),(11587,1,301),(11591,1,302),(1763,1,331),(1762,1,332),(1764,1,333),(11505,1,341),(11507,1,342),(11509,1,343),(11511,1,344),(11523,1,351),(11516,1,352),(11520,1,353),(11524,1,354),(11528,1,358),(11365,1,531),(11358,1,532),(11362,1,534),(1625,1,536),(11366,1,538),(11557,1,700),(11547,1,701),(11553,1,702),(11559,1,703),(1755,1,1001),(1754,1,1002),(1756,1,1003),(1758,1,1004),(1759,1,1005),(7146,1,1101),(7143,1,1102),(7145,1,1104),(7147,1,1109),(11435,1,1181),(11483,1,1182),(11440,1,1183),(11444,1,1184),(11448,1,1185),(11452,1,1186),(11456,1,1187),(11460,1,1188),(1578,1,1201),(1579,1,1202),(11479,1,1231),(11466,1,1232),(11470,1,1233),(11474,1,1234),(11477,1,1235),(11480,1,1236),(11484,1,1237),(1736,1,1251),(11432,1,1321),(11393,1,1421),(8190,1,1791),(8187,1,1792),(8191,1,1793),(11283,1,2401),(11279,1,2402),(11285,1,2403),(11299,1,2411),(11295,1,2412),(11301,1,2413),(11305,1,2414),(1618,1,2500),(11569,1,2501),(11566,1,2503),(11570,1,2515),(9610,1,5001),(9611,1,5002),(8155,1,20001),(8159,1,20002),(8163,1,20003),(8167,1,20004),(8171,1,20005),(8175,1,20006),(10345,1,23001),(10338,1,23002),(10342,1,23003),(10346,1,23004),(7701,1,50101),(4984,1,50401),(4983,1,50402),(4985,1,50403),(4987,1,50411),(4988,1,50412),(4989,1,50415),(3564,1,100700),(3565,1,100701),(9596,1,101051),(9598,1,101052),(9600,1,101053),(9604,1,101060),(9605,1,101061),(7177,1,101201),(7178,1,101202),(10353,1,101250),(10355,1,101251),(8980,1,101261),(8981,1,101262),(7616,1,101331),(10030,1,101701),(10031,1,101702),(3582,1,102000),(3583,1,102001),(9819,1,400051),(9823,1,400052),(9827,1,400053),(9831,1,400055),(132,2,11),(133,2,12),(134,2,13),(135,2,14),(136,2,16),(137,2,19),(138,2,21),(139,2,22),(140,2,24),(141,2,25),(142,2,26),(143,2,27),(10359,2,31),(145,2,32),(10361,2,34),(146,2,36),(147,2,41),(148,2,42),(149,2,44),(150,2,61),(151,2,62),(152,2,64),(153,2,71),(154,2,72),(155,2,74),(156,2,75),(157,2,78),(158,2,79),(159,2,81),(160,2,82),(161,2,84),(162,2,86),(163,2,87),(164,2,88),(165,2,89),(166,2,91),(167,2,92),(168,2,93),(2475,2,95),(2476,2,96),(2477,2,97),(2478,2,98),(169,2,101),(170,2,102),(171,2,104),(172,2,109),(173,2,111),(174,2,112),(175,2,113),(176,2,114),(177,2,116),(178,2,117),(179,2,121),(180,2,122),(181,2,125),(182,2,141),(183,2,142),(184,2,144),(2479,2,151),(2480,2,152),(2481,2,153),(2482,2,154),(185,2,161),(186,2,162),(187,2,163),(188,2,164),(189,2,165),(190,2,170),(2471,2,171),(192,2,172),(2472,2,173),(193,2,221),(194,2,222),(195,2,229),(196,2,241),(197,2,242),(198,2,243),(199,2,251),(201,2,262),(202,2,281),(203,2,282),(204,2,283),(205,2,331),(2483,2,531),(207,2,532),(2484,2,534),(208,2,536),(2473,2,700),(210,2,701),(211,2,702),(2474,2,703),(212,2,1001),(213,2,1002),(214,2,1003),(215,2,1004),(216,2,1005),(217,2,1101),(218,2,1102),(219,2,1104),(220,2,1109),(221,2,1181),(222,2,1182),(223,2,1183),(224,2,1184),(225,2,1185),(226,2,1186),(227,2,1187),(228,2,1188),(229,2,1201),(230,2,1202),(231,2,1231),(232,2,1232),(233,2,1233),(234,2,1234),(235,2,1421),(236,2,2401),(237,2,2402),(238,2,2403),(239,2,2411),(240,2,2412),(241,2,2413),(242,2,2500),(2470,2,2501),(243,2,2515),(10363,2,20001),(10364,2,20002),(10365,2,20003),(10366,2,20004),(10367,2,20005),(10368,2,20006),(10362,2,50101),(10372,2,101250),(1807,3,11),(1808,3,31),(1809,3,36),(1810,3,41),(1811,3,61),(1812,3,71),(1813,3,72),(1814,3,74),(1815,3,75),(1816,3,78),(1817,3,79),(1818,3,91),(1819,3,95),(1820,3,97),(1821,3,111),(1822,3,121),(1823,3,122),(1824,3,125),(1825,3,161),(1826,3,170),(1827,3,171),(1828,3,172),(1829,3,221),(1830,3,222),(1831,3,229),(1832,3,241),(1833,3,242),(1834,3,243),(1835,3,251),(1836,3,255),(1837,3,256),(1838,3,262),(1839,3,281),(1840,3,282),(1841,3,283),(1842,3,331),(1843,3,531),(1844,3,536),(1845,3,700),(1846,3,1001),(1847,3,1002),(1848,3,1003),(1849,3,1004),(1850,3,1005),(1851,3,1181),(1852,3,1182),(1853,3,1201),(1854,3,1202),(1855,3,1231),(1856,3,2401),(1857,3,2402),(1858,3,2403),(1859,3,2411),(1860,3,2412),(1861,3,2413),(1862,3,2500),(1863,3,2515),(8026,4,11),(8027,4,21),(8028,4,31),(8029,4,41),(8030,4,61),(8031,4,71),(8032,4,72),(8033,4,74),(8034,4,75),(8035,4,78),(8036,4,79),(8037,4,81),(8038,4,91),(8039,4,95),(8040,4,97),(8041,4,101),(8042,4,111),(8043,4,121),(8044,4,151),(8045,4,161),(8046,4,171),(8047,4,221),(8048,4,222),(8049,4,229),(8050,4,241),(8051,4,242),(8052,4,243),(8146,4,251),(8147,4,253),(8053,4,262),(8054,4,281),(8055,4,331),(8056,4,341),(8057,4,342),(8058,4,343),(8059,4,344),(8060,4,531),(8061,4,700),(8062,4,1001),(8063,4,1002),(8064,4,1003),(8065,4,1004),(8066,4,1005),(8067,4,1101),(8068,4,1181),(8069,4,1182),(8070,4,1201),(8071,4,1202),(8072,4,1231),(8073,4,2401),(8074,4,2501),(8075,4,2503),(8076,4,2515),(8077,4,20001),(8078,4,50101),(8079,4,101201),(8080,4,101261),(8081,4,102000),(8082,4,400051),(8083,4,400052),(8084,4,400053),(8085,4,400055),(11428,5,11),(11404,5,12),(11408,5,13),(11414,5,14),(11418,5,15),(11424,5,16),(11430,5,19),(9729,5,21),(9703,5,22),(9709,5,24),(9713,5,25),(9719,5,26),(9725,5,27),(9731,5,28),(9981,5,31),(9971,5,32),(9977,5,34),(9983,5,38),(8089,5,41),(8090,5,61),(8091,5,71),(8092,5,72),(8093,5,74),(8094,5,75),(8095,5,78),(8096,5,79),(11391,5,81),(11374,5,82),(11378,5,84),(11380,5,86),(11384,5,87),(11388,5,88),(11392,5,89),(9799,5,91),(9789,5,92),(9795,5,93),(9801,5,94),(10098,5,95),(10100,5,96),(10105,5,97),(10106,5,98),(8101,5,101),(10232,5,111),(10204,5,112),(10210,5,113),(10216,5,114),(10222,5,115),(10228,5,116),(10234,5,117),(11326,5,121),(11316,5,122),(11322,5,125),(11328,5,126),(8104,5,151),(8105,5,161),(11543,5,171),(11536,5,172),(11540,5,173),(11544,5,178),(10003,5,221),(9993,5,222),(9999,5,223),(10005,5,229),(10009,5,237),(10013,5,238),(10017,5,239),(8110,5,241),(8111,5,242),(8112,5,243),(11529,5,251),(11490,5,252),(11494,5,253),(11496,5,254),(11500,5,255),(11504,5,256),(11332,5,262),(11352,5,281),(11342,5,282),(11348,5,283),(11354,5,286),(11592,5,300),(11589,5,301),(11593,5,302),(8115,5,331),(11506,5,341),(11508,5,342),(11510,5,343),(11512,5,344),(11525,5,351),(11518,5,352),(11522,5,353),(11526,5,354),(11530,5,358),(11367,5,531),(11360,5,532),(11364,5,534),(11368,5,538),(11560,5,700),(11550,5,701),(11556,5,702),(11562,5,703),(8122,5,1001),(8123,5,1002),(8124,5,1003),(8125,5,1004),(8126,5,1005),(8127,5,1101),(11436,5,1181),(11485,5,1182),(11442,5,1183),(11446,5,1184),(11450,5,1185),(11454,5,1186),(11458,5,1187),(11462,5,1188),(8130,5,1201),(8131,5,1202),(11481,5,1231),(11468,5,1232),(11472,5,1233),(11476,5,1234),(11478,5,1235),(11482,5,1236),(11486,5,1237),(11434,5,1321),(11394,5,1421),(8192,5,1791),(8189,5,1792),(8193,5,1793),(11286,5,2401),(11282,5,2402),(11288,5,2403),(11302,5,2411),(11298,5,2412),(11304,5,2413),(11306,5,2414),(11571,5,2501),(11568,5,2503),(11572,5,2515),(9612,5,5001),(9613,5,5002),(8157,5,20001),(8161,5,20002),(8165,5,20003),(8169,5,20004),(8173,5,20005),(8177,5,20006),(10347,5,23001),(10340,5,23002),(10344,5,23003),(10348,5,23004),(8138,5,50101),(9597,5,101051),(9599,5,101052),(9601,5,101053),(9606,5,101060),(9607,5,101061),(8139,5,101201),(10356,5,101250),(10358,5,101251),(8982,5,101261),(8983,5,101262),(10032,5,101701),(10033,5,101702),(8141,5,102000),(9821,5,400051),(9825,5,400052),(9829,5,400053),(9833,5,400055),(8194,6,11),(8195,6,21),(8196,6,31),(8197,6,41),(8198,6,61),(8199,6,71),(8200,6,72),(8201,6,74),(8202,6,75),(8203,6,78),(8204,6,79),(8205,6,81),(8206,6,91),(8207,6,95),(8208,6,97),(8209,6,101),(8210,6,111),(8211,6,121),(8212,6,151),(8213,6,161),(8214,6,171),(8215,6,221),(8216,6,222),(8217,6,229),(8218,6,241),(8219,6,242),(8220,6,243),(8221,6,262),(8222,6,281),(8223,6,331),(8224,6,341),(8225,6,342),(8226,6,343),(8227,6,344),(8228,6,531),(8229,6,700),(8230,6,1001),(8231,6,1002),(8232,6,1003),(8233,6,1004),(8234,6,1005),(8235,6,1101),(8236,6,1181),(8237,6,1182),(8238,6,1201),(8239,6,1202),(8240,6,1231),(8241,6,1791),(8242,6,2401),(8243,6,2501),(8244,6,2503),(8245,6,2515),(8246,6,5001),(8247,6,20001),(8248,6,50101),(8249,6,101201),(8250,6,101261),(8251,6,102000),(8252,6,400051),(8253,6,400052),(8254,6,400053),(8255,6,400055),(8256,7,11),(8257,7,21),(8258,7,31),(8259,7,41),(8260,7,61),(8261,7,71),(8262,7,72),(8263,7,74),(8264,7,75),(8265,7,78),(8266,7,79),(8267,7,81),(8268,7,91),(8269,7,95),(8270,7,97),(8271,7,101),(8272,7,111),(8273,7,121),(8274,7,151),(8275,7,161),(8276,7,171),(8277,7,221),(8278,7,222),(8279,7,229),(8280,7,241),(8281,7,242),(8282,7,243),(8283,7,262),(8284,7,281),(8285,7,331),(8286,7,341),(8287,7,342),(8288,7,343),(8289,7,344),(8290,7,531),(8291,7,700),(8292,7,1001),(8293,7,1002),(8294,7,1003),(8295,7,1004),(8296,7,1005),(8297,7,1101),(8298,7,1181),(8299,7,1182),(8300,7,1201),(8301,7,1202),(8302,7,1231),(8303,7,1791),(8304,7,2401),(8305,7,2501),(8306,7,2503),(8307,7,2515),(8308,7,5001),(8309,7,20001),(8310,7,50101),(8311,7,101201),(8312,7,101261),(8313,7,102000),(8314,7,400051),(8315,7,400052),(8316,7,400053),(8317,7,400055),(8318,9,11),(8319,9,21),(8320,9,31),(8321,9,41),(8322,9,61),(8323,9,71),(8324,9,72),(8325,9,74),(8326,9,75),(8327,9,78),(8328,9,79),(8329,9,81),(8330,9,91),(8331,9,95),(8332,9,97),(8333,9,101),(8334,9,111),(8335,9,121),(8336,9,151),(8337,9,161),(8338,9,171),(8339,9,221),(8340,9,222),(8341,9,229),(8342,9,241),(8343,9,242),(8344,9,243),(8345,9,262),(8346,9,281),(8347,9,331),(8348,9,341),(8349,9,342),(8350,9,343),(8351,9,344),(8352,9,531),(8353,9,700),(8354,9,1001),(8355,9,1002),(8356,9,1003),(8357,9,1004),(8358,9,1005),(8359,9,1101),(8360,9,1181),(8361,9,1182),(8362,9,1201),(8363,9,1202),(8364,9,1231),(8365,9,1791),(8366,9,2401),(8367,9,2501),(8368,9,2503),(8369,9,2515),(8370,9,5001),(8371,9,20001),(8372,9,50101),(8373,9,101201),(8374,9,101261),(8375,9,102000),(8376,9,400051),(8377,9,400052),(8378,9,400053),(8379,9,400055); +/*!40000 ALTER TABLE `llx_user_rights` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_usergroup` +-- + +DROP TABLE IF EXISTS `llx_usergroup`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_usergroup` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `nom` varchar(255) NOT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + `datec` datetime DEFAULT NULL, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `note` text, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_usergroup_name` (`nom`,`entity`) +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_usergroup` +-- + +LOCK TABLES `llx_usergroup` WRITE; +/*!40000 ALTER TABLE `llx_usergroup` DISABLE KEYS */; +INSERT INTO `llx_usergroup` VALUES (1,'ggg',1,'2013-01-16 20:48:08','2013-01-16 19:48:08','ggg'); +/*!40000 ALTER TABLE `llx_usergroup` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_usergroup_rights` +-- + +DROP TABLE IF EXISTS `llx_usergroup_rights`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_usergroup_rights` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_usergroup` int(11) NOT NULL, + `fk_id` int(11) NOT NULL, + PRIMARY KEY (`rowid`), + UNIQUE KEY `fk_usergroup` (`fk_usergroup`,`fk_id`), + CONSTRAINT `fk_usergroup_rights_fk_usergroup` FOREIGN KEY (`fk_usergroup`) REFERENCES `llx_usergroup` (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_usergroup_rights` +-- + +LOCK TABLES `llx_usergroup_rights` WRITE; +/*!40000 ALTER TABLE `llx_usergroup_rights` DISABLE KEYS */; +INSERT INTO `llx_usergroup_rights` VALUES (1,1,2401),(2,1,2402),(3,1,2403),(4,1,2411),(5,1,2412),(6,1,2413); +/*!40000 ALTER TABLE `llx_usergroup_rights` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_usergroup_user` +-- + +DROP TABLE IF EXISTS `llx_usergroup_user`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_usergroup_user` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `entity` int(11) NOT NULL DEFAULT '1', + `fk_user` int(11) NOT NULL, + `fk_usergroup` int(11) NOT NULL, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_usergroup_user` (`entity`,`fk_user`,`fk_usergroup`), + KEY `fk_usergroup_user_fk_user` (`fk_user`), + KEY `fk_usergroup_user_fk_usergroup` (`fk_usergroup`), + CONSTRAINT `fk_usergroup_user_fk_user` FOREIGN KEY (`fk_user`) REFERENCES `llx_user` (`rowid`), + CONSTRAINT `fk_usergroup_user_fk_usergroup` FOREIGN KEY (`fk_usergroup`) REFERENCES `llx_usergroup` (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_usergroup_user` +-- + +LOCK TABLES `llx_usergroup_user` WRITE; +/*!40000 ALTER TABLE `llx_usergroup_user` DISABLE KEYS */; +INSERT INTO `llx_usergroup_user` VALUES (1,1,1,1); +/*!40000 ALTER TABLE `llx_usergroup_user` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_ventilation_achat` +-- + +DROP TABLE IF EXISTS `llx_ventilation_achat`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_ventilation_achat` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_code_ventilation` int(11) DEFAULT NULL, + `fk_facture` int(11) DEFAULT NULL, + `fk_facture_fourn_det` int(11) DEFAULT NULL, + `ventilation` varchar(255) DEFAULT NULL, + `qty` double DEFAULT NULL, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_ventilation_achat` +-- + +LOCK TABLES `llx_ventilation_achat` WRITE; +/*!40000 ALTER TABLE `llx_ventilation_achat` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_ventilation_achat` ENABLE KEYS */; +UNLOCK TABLES; +/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; + +/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; +/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; +/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; +/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; + +-- Dump completed on 2014-03-02 16:44:12 From 9de372d4b1e18fa66902eed1b72b38fce78ce573 Mon Sep 17 00:00:00 2001 From: Alexis Algoud Date: Sun, 2 Mar 2014 17:33:51 +0100 Subject: [PATCH 077/293] debug planned_workload loosing value on error --- htdocs/projet/tasks.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/projet/tasks.php b/htdocs/projet/tasks.php index 794a1198c35..b423abe25c4 100644 --- a/htdocs/projet/tasks.php +++ b/htdocs/projet/tasks.php @@ -314,7 +314,7 @@ if ($action == 'create' && $user->rights->projet->creer && (empty($object->socie // planned workload print '
'; // Progress From df829177bc676808f5e7f3bec451ddad1ab25573 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sun, 2 Mar 2014 17:45:40 +0100 Subject: [PATCH 078/293] Fix: Submit form of graph box was reseting params of others. --- htdocs/core/boxes/box_graph_invoices_permonth.php | 5 +++-- htdocs/core/boxes/box_graph_invoices_supplier_permonth.php | 5 +++-- htdocs/core/boxes/box_graph_orders_permonth.php | 5 +++-- htdocs/core/boxes/box_graph_orders_supplier_permonth.php | 5 +++-- htdocs/core/boxes/box_graph_product_distribution.php | 3 ++- htdocs/core/boxes/box_graph_propales_permonth.php | 5 +++-- 6 files changed, 17 insertions(+), 11 deletions(-) diff --git a/htdocs/core/boxes/box_graph_invoices_permonth.php b/htdocs/core/boxes/box_graph_invoices_permonth.php index f87cf169757..f9647c4e4ca 100644 --- a/htdocs/core/boxes/box_graph_invoices_permonth.php +++ b/htdocs/core/boxes/box_graph_invoices_permonth.php @@ -86,7 +86,7 @@ class box_graph_invoices_permonth extends ModeleBoxes $socid=0; if ($user->societe_id) $socid=$user->societe_id; if (! $user->rights->societe->client->voir || $socid) $prefix.='private-'.$user->id.'-'; // If user has no permission to see all, output dir is specific to user - + if ($user->rights->facture->lire) { $param_year='DOLUSERCOOKIE_box_'.$this->boxcode.'_year'; @@ -95,7 +95,8 @@ class box_graph_invoices_permonth extends ModeleBoxes include_once DOL_DOCUMENT_ROOT.'/core/class/dolgraph.class.php'; include_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facturestats.class.php'; - if (GETPOST('DOL_AUTOSET_COOKIE')) + $autosetarray=preg_split("/[,;:]+/",GETPOST('DOL_AUTOSET_COOKIE')); + if (in_array('DOLUSERCOOKIE_box_'.$this->boxcode,$autosetarray)) { $endyear=GETPOST($param_year,'int'); $shownb=GETPOST($param_shownb,'alpha'); diff --git a/htdocs/core/boxes/box_graph_invoices_supplier_permonth.php b/htdocs/core/boxes/box_graph_invoices_supplier_permonth.php index e732270c044..e985ca62912 100644 --- a/htdocs/core/boxes/box_graph_invoices_supplier_permonth.php +++ b/htdocs/core/boxes/box_graph_invoices_supplier_permonth.php @@ -85,7 +85,7 @@ class box_graph_invoices_supplier_permonth extends ModeleBoxes $socid=0; if ($user->societe_id) $socid=$user->societe_id; if (! $user->rights->societe->client->voir || $socid) $prefix.='private-'.$user->id.'-'; // If user has no permission to see all, output dir is specific to user - + if ($user->rights->fournisseur->facture->lire) { $param_year='DOLUSERCOOKIE_box_'.$this->boxcode.'_year'; @@ -94,7 +94,8 @@ class box_graph_invoices_supplier_permonth extends ModeleBoxes include_once DOL_DOCUMENT_ROOT.'/core/class/dolgraph.class.php'; include_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facturestats.class.php'; - if (GETPOST('DOL_AUTOSET_COOKIE')) + $autosetarray=preg_split("/[,;:]+/",GETPOST('DOL_AUTOSET_COOKIE')); + if (in_array('DOLUSERCOOKIE_box_'.$this->boxcode,$autosetarray)) { $endyear=GETPOST($param_year,'int'); $shownb=GETPOST($param_shownb,'alpha'); diff --git a/htdocs/core/boxes/box_graph_orders_permonth.php b/htdocs/core/boxes/box_graph_orders_permonth.php index 704117834c4..ce4008761b7 100644 --- a/htdocs/core/boxes/box_graph_orders_permonth.php +++ b/htdocs/core/boxes/box_graph_orders_permonth.php @@ -86,7 +86,7 @@ class box_graph_orders_permonth extends ModeleBoxes $socid=0; if ($user->societe_id) $socid=$user->societe_id; if (! $user->rights->societe->client->voir || $socid) $prefix.='private-'.$user->id.'-'; // If user has no permission to see all, output dir is specific to user - + if ($user->rights->commande->lire) { $param_year='DOLUSERCOOKIE_box_'.$this->boxcode.'_year'; @@ -95,7 +95,8 @@ class box_graph_orders_permonth extends ModeleBoxes include_once DOL_DOCUMENT_ROOT.'/core/class/dolgraph.class.php'; include_once DOL_DOCUMENT_ROOT.'/commande/class/commandestats.class.php'; - if (GETPOST('DOL_AUTOSET_COOKIE')) + $autosetarray=preg_split("/[,;:]+/",GETPOST('DOL_AUTOSET_COOKIE')); + if (in_array('DOLUSERCOOKIE_box_'.$this->boxcode,$autosetarray)) { $endyear=GETPOST($param_year,'int'); $shownb=GETPOST($param_shownb,'alpha'); diff --git a/htdocs/core/boxes/box_graph_orders_supplier_permonth.php b/htdocs/core/boxes/box_graph_orders_supplier_permonth.php index 5267bf3ffb5..7abdd742d23 100644 --- a/htdocs/core/boxes/box_graph_orders_supplier_permonth.php +++ b/htdocs/core/boxes/box_graph_orders_supplier_permonth.php @@ -85,7 +85,7 @@ class box_graph_orders_supplier_permonth extends ModeleBoxes $socid=0; if ($user->societe_id) $socid=$user->societe_id; if (! $user->rights->societe->client->voir || $socid) $prefix.='private-'.$user->id.'-'; // If user has no permission to see all, output dir is specific to user - + if ($user->rights->fournisseur->commande->lire) { $param_year='DOLUSERCOOKIE_box_'.$this->boxcode.'_year'; @@ -94,7 +94,8 @@ class box_graph_orders_supplier_permonth extends ModeleBoxes include_once DOL_DOCUMENT_ROOT.'/core/class/dolgraph.class.php'; include_once DOL_DOCUMENT_ROOT.'/commande/class/commandestats.class.php'; - if (GETPOST('DOL_AUTOSET_COOKIE')) + $autosetarray=preg_split("/[,;:]+/",GETPOST('DOL_AUTOSET_COOKIE')); + if (in_array('DOLUSERCOOKIE_box_'.$this->boxcode,$autosetarray)) { $endyear=GETPOST($param_year,'int'); $shownb=GETPOST($param_shownb,'alpha'); diff --git a/htdocs/core/boxes/box_graph_product_distribution.php b/htdocs/core/boxes/box_graph_product_distribution.php index 725ef300125..dd8f7512eb1 100644 --- a/htdocs/core/boxes/box_graph_product_distribution.php +++ b/htdocs/core/boxes/box_graph_product_distribution.php @@ -86,7 +86,8 @@ class box_graph_product_distribution extends ModeleBoxes $param_showinvoicenb='DOLUSERCOOKIE_box_'.$this->boxcode.'_showinvoicenb'; $param_showpropalnb='DOLUSERCOOKIE_box_'.$this->boxcode.'_showpropalnb'; $param_showordernb='DOLUSERCOOKIE_box_'.$this->boxcode.'_showordernb'; - if (GETPOST('DOL_AUTOSET_COOKIE')) + $autosetarray=preg_split("/[,;:]+/",GETPOST('DOL_AUTOSET_COOKIE')); + if (in_array('DOLUSERCOOKIE_box_'.$this->boxcode,$autosetarray)) { $year=GETPOST($param_year,'int'); $showinvoicenb=GETPOST($param_showinvoicenb,'alpha'); diff --git a/htdocs/core/boxes/box_graph_propales_permonth.php b/htdocs/core/boxes/box_graph_propales_permonth.php index 58d00ce97fe..a934fb8e377 100644 --- a/htdocs/core/boxes/box_graph_propales_permonth.php +++ b/htdocs/core/boxes/box_graph_propales_permonth.php @@ -86,7 +86,7 @@ class box_graph_propales_permonth extends ModeleBoxes $socid=0; if ($user->societe_id) $socid=$user->societe_id; if (! $user->rights->societe->client->voir || $socid) $prefix.='private-'.$user->id.'-'; // If user has no permission to see all, output dir is specific to user - + if ($user->rights->propal->lire) { $param_year='DOLUSERCOOKIE_box_'.$this->boxcode.'_year'; @@ -95,7 +95,8 @@ class box_graph_propales_permonth extends ModeleBoxes include_once DOL_DOCUMENT_ROOT.'/core/class/dolgraph.class.php'; include_once DOL_DOCUMENT_ROOT.'/comm/propal/class/propalestats.class.php'; - if (GETPOST('DOL_AUTOSET_COOKIE')) + $autosetarray=preg_split("/[,;:]+/",GETPOST('DOL_AUTOSET_COOKIE')); + if (in_array('DOLUSERCOOKIE_box_'.$this->boxcode,$autosetarray)) { $endyear=GETPOST($param_year,'int'); $shownb=GETPOST($param_shownb,'alpha'); From c2e3d92a378e0d9c42509ee58e5fb29f37e9269a Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sun, 2 Mar 2014 20:30:30 +0100 Subject: [PATCH 079/293] Update images --- doc/images/dolibarr_screenshot1.png | Bin 228068 -> 0 bytes doc/images/dolibarr_screenshot1_1280x800.png | Bin 0 -> 259921 bytes doc/images/dolibarr_screenshot1_640x480.png | Bin 123606 -> 0 bytes doc/images/dolibarr_screenshot2.png | Bin 226268 -> 0 bytes doc/images/dolibarr_screenshot2_1280x800.png | Bin 0 -> 254566 bytes doc/images/dolibarr_screenshot3.png | Bin 171092 -> 0 bytes doc/images/dolibarr_screenshot3_1280x800.png | Bin 0 -> 157356 bytes doc/images/dolibarr_screenshot4.png | Bin 169878 -> 0 bytes doc/images/dolibarr_screenshot4_1280x800.png | Bin 0 -> 175418 bytes doc/images/dolibarr_screenshot9.png | Bin 179552 -> 0 bytes doc/images/dolibarr_screenshot9_1280x800.png | Bin 0 -> 177898 bytes 11 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 doc/images/dolibarr_screenshot1.png create mode 100644 doc/images/dolibarr_screenshot1_1280x800.png delete mode 100755 doc/images/dolibarr_screenshot1_640x480.png delete mode 100644 doc/images/dolibarr_screenshot2.png create mode 100644 doc/images/dolibarr_screenshot2_1280x800.png delete mode 100644 doc/images/dolibarr_screenshot3.png create mode 100644 doc/images/dolibarr_screenshot3_1280x800.png delete mode 100644 doc/images/dolibarr_screenshot4.png create mode 100644 doc/images/dolibarr_screenshot4_1280x800.png delete mode 100644 doc/images/dolibarr_screenshot9.png create mode 100644 doc/images/dolibarr_screenshot9_1280x800.png diff --git a/doc/images/dolibarr_screenshot1.png b/doc/images/dolibarr_screenshot1.png deleted file mode 100644 index 71ca4b37c7e79ecc99f491e6ead02245398b2789..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 228068 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ⅈ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

ss|xFLI4yMt<|a*5Pn$HLtay{mnWs{?JhW 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

jL%=t4II6^`6f7z`SJcJSVME7=Qv@Nx!W{+y{V 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%0AJcD3%|xL7|_<`7Io{$3L1=VfgxK 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

^RsoG^q594qEx6SNT_); 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�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 diff --git a/doc/images/dolibarr_screenshot1_1280x800.png b/doc/images/dolibarr_screenshot1_1280x800.png new file mode 100644 index 0000000000000000000000000000000000000000..806fcb0764a82a867c691c61ad1a37aef0c7b1d9 GIT binary patch literal 259921 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

"; print ''; - print ''; + print ''; print ''; print ''; print ''; From 9a1919238ff364afba788ca3d82210cfcc031b80 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rapha=C3=ABl=20Doursenaud?= Date: Tue, 4 Mar 2014 08:19:59 +0100 Subject: [PATCH 084/293] TCPDF: Replaced missing courier monotype font by provided freemono The courier font is missing from TCPDF's directory. This leads to "TCPDF ERROR: Could not include font definition file: courier" being outputed by PHP when the library attempts to render an element with a monotyped font. Use freemono instead since it's a better alternative (e.g. supports more glyphs) and is already shipped with Dolibarr. --- htdocs/includes/tcpdf/tcpdf.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/includes/tcpdf/tcpdf.php b/htdocs/includes/tcpdf/tcpdf.php index 1d11d636fcd..b500e2d70bf 100644 --- a/htdocs/includes/tcpdf/tcpdf.php +++ b/htdocs/includes/tcpdf/tcpdf.php @@ -1258,7 +1258,7 @@ class TCPDF { * @protected * @since 4.5.025 (2009-03-10) */ - protected $default_monospaced_font = 'courier'; + protected $default_monospaced_font = 'freemono'; /** * Cloned copy of the current class object. From 7f275dfbf4c3c3c939b7d7fb9402b4e8d7291871 Mon Sep 17 00:00:00 2001 From: KreizIT Date: Tue, 4 Mar 2014 18:55:55 +0100 Subject: [PATCH 085/293] - Add table modification for product (forget in step 1) - Add module for batch number management - change dependency for stock and product - change product class and fiche showing new select for batch managment on product --- htdocs/core/modules/modProduct.class.php | 3 +- htdocs/core/modules/modProductBatch.class.php | 137 ++++++++++++++++++ htdocs/core/modules/modStock.class.php | 2 +- htdocs/install/mysql/tables/llx_product.sql | 1 + htdocs/langs/en_US/admin.lang | 2 + htdocs/langs/en_US/productbatch.lang | 7 + htdocs/langs/fr_FR/admin.lang | 2 + htdocs/langs/fr_FR/productbatch.lang | 7 + htdocs/product/class/product.class.php | 66 ++++++++- htdocs/product/fiche.php | 30 +++- 10 files changed, 248 insertions(+), 9 deletions(-) create mode 100644 htdocs/core/modules/modProductBatch.class.php create mode 100644 htdocs/langs/en_US/productbatch.lang create mode 100644 htdocs/langs/fr_FR/productbatch.lang diff --git a/htdocs/core/modules/modProduct.class.php b/htdocs/core/modules/modProduct.class.php index b9185624209..87914442b1d 100644 --- a/htdocs/core/modules/modProduct.class.php +++ b/htdocs/core/modules/modProduct.class.php @@ -6,6 +6,7 @@ * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2012-2013 Juanjo Menent * Copyright (C) 2014 Christophe Battarel + * Copyright (C) 2014 Cdric Gross * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -65,7 +66,7 @@ class modProduct extends DolibarrModules // Dependencies $this->depends = array(); - $this->requiredby = array("modStock","modBarcode"); + $this->requiredby = array("modStock","modBarcode","modProductBatch"); // Config pages $this->config_page_url = array("product.php@product"); diff --git a/htdocs/core/modules/modProductBatch.class.php b/htdocs/core/modules/modProductBatch.class.php new file mode 100644 index 00000000000..3a3e8e32d4f --- /dev/null +++ b/htdocs/core/modules/modProductBatch.class.php @@ -0,0 +1,137 @@ + + * Copyright (C) 2004-2012 Laurent Destailleur + * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2013-2014 Cedric GROSS + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/** + * \defgroup productbatch Module batch number management + * \brief Management module for batch number, eat-by and sell-by date for product + * \file htdocs/core/modules/modProductBatch.class.php + * \ingroup productbatch + * \brief Description and activation file for module productbatch + */ +include_once DOL_DOCUMENT_ROOT .'/core/modules/DolibarrModules.class.php'; + + +/** + * Description and activation class for module productdluo + */ +class modProductBatch extends DolibarrModules +{ + /** + * Constructor. Define names, constants, directories, boxes, permissions + * + * @param DoliDB $db Database handler + */ + function __construct($db) + { + global $langs,$conf; + + $this->db = $db; + $this->numero = 150010; + + $this->family = "products"; + $this->name = preg_replace('/^mod/i','',get_class($this)); + $this->description = "Batch number, eat-by and sell-by date management module"; + + $this->rights_class = 'stock'; + // Possible values for version are: 'development', 'experimental', 'dolibarr' or version + $this->version = 'experimental'; + // Key used in llx_const table to save module status enabled/disabled (where dluo is value of property name of module in uppercase) + $this->const_name = 'MAIN_MODULE_'.strtoupper($this->name); + $this->special = 0; + + $this->picto='stock'; + + $this->module_parts = array(); + + // Data directories to create when module is enabled. + $this->dirs = array(); + + // Config pages. Put here list of php page, stored into productdluo/admin directory, to use to setup module. + $this->config_page_url = array(); + + // Dependencies + $this->depends = array("modProduct","modStock"); // List of modules id that must be enabled if this module is enabled + $this->requiredby = array(); // List of modules id to disable if this one is disabled + $this->phpmin = array(5,0); // Minimum version of PHP required by module + $this->need_dolibarr_version = array(3,0); // Minimum version of Dolibarr required by module + $this->langfiles = array("productbatch"); + + // Constants + $this->const = array(); + + $this->tabs = array(); + + // Dictionnaries + if (! isset($conf->productbatch->enabled)) + { + $conf->productbatch=new stdClass(); + $conf->productbatch->enabled=0; + } + $this->dictionnaries=array(); + + // Boxes + $this->boxes = array(); // List of boxes + + // Permissions + $this->rights = array(); // Permission array used by this module + $r=0; + + // Main menu entries + $this->menu = array(); // List of menus to add + $r=0; + + // Exports + $r=0; + + } + + /** + * Function called when module is enabled. + * The init function add constants, boxes, permissions and menus (defined in constructor) into Dolibarr database. + * It also creates data directories + * + * @param string $options Options when enabling module ('', 'noboxes') + * @return int 1 if OK, 0 if KO + */ + function init($options='') + { + $sql = array(); + + return $this->_init($sql, $options); + } + + /** + * Function called when module is disabled. + * Remove from database constants, boxes and permissions from Dolibarr database. + * Data directories are not deleted + * + * @param string $options Options when enabling module ('', 'noboxes') + * @return int 1 if OK, 0 if KO + */ + function remove($options='') + { + $sql = array(); + + return $this->_remove($sql, $options); + } + +} + +?> diff --git a/htdocs/core/modules/modStock.class.php b/htdocs/core/modules/modStock.class.php index abf6add2c29..830247843fa 100644 --- a/htdocs/core/modules/modStock.class.php +++ b/htdocs/core/modules/modStock.class.php @@ -66,7 +66,7 @@ class modStock extends DolibarrModules // Dependencies $this->depends = array("modProduct"); - $this->requiredby = array(); + $this->requiredby = array("modProductBatch"); $this->langfiles = array("stocks"); // Constants diff --git a/htdocs/install/mysql/tables/llx_product.sql b/htdocs/install/mysql/tables/llx_product.sql index 763309273f3..1332ce5e6eb 100644 --- a/htdocs/install/mysql/tables/llx_product.sql +++ b/htdocs/install/mysql/tables/llx_product.sql @@ -50,6 +50,7 @@ create table llx_product fk_user_author integer, tosell tinyint DEFAULT 1, tobuy tinyint DEFAULT 1, + tobatch tinyint DEFAULT 0 NOT NULL, fk_product_type integer DEFAULT 0, -- Type 0 for regular product, 1 for service, 9 for other (used by external module) duration varchar(6), seuil_stock_alerte integer DEFAULT 0, diff --git a/htdocs/langs/en_US/admin.lang b/htdocs/langs/en_US/admin.lang index 292dca00320..d157aeccbf0 100644 --- a/htdocs/langs/en_US/admin.lang +++ b/htdocs/langs/en_US/admin.lang @@ -518,6 +518,8 @@ Module59000Name=Margins Module59000Desc=Module to manage margins Module60000Name=Commissions Module60000Desc=Module to manage commissions +Module150010Name=Batch number, eat-by date and sell-by date +Module150010Desc=batch number, eat-by date and sell-by date management for product Permission11=Read customer invoices Permission12=Create/modify customer invoices Permission13=Unvalidate customer invoices diff --git a/htdocs/langs/en_US/productbatch.lang b/htdocs/langs/en_US/productbatch.lang new file mode 100644 index 00000000000..09806e2261a --- /dev/null +++ b/htdocs/langs/en_US/productbatch.lang @@ -0,0 +1,7 @@ +# ProductBATCH language file - en_US - ProductBATCH +CHARSET= UTF-8 +ProductStatusOnBatch= Managed +ProductStatusNotOnBatch= Not Managed +ProductStatusOnBatchShort= Managed +ProductStatusNotOnBatchShort= Not Managed +Batch=Batch diff --git a/htdocs/langs/fr_FR/admin.lang b/htdocs/langs/fr_FR/admin.lang index 215ea7900ef..50198562df7 100644 --- a/htdocs/langs/fr_FR/admin.lang +++ b/htdocs/langs/fr_FR/admin.lang @@ -510,6 +510,8 @@ Module59000Name=Marges Module59000Desc=Module pour gérer les marges Module60000Name=Commissions Module60000Desc=Module pour gérer les commissions +Module150010Name=Numéro de lot, DLC, DLUO +Module150010Desc=Gestion des numéros de lot, DLC et DLUO pour les produits stockés Permission11=Consulter les factures clients Permission12=Créer/modifier les factures clients Permission13=Dé-valider les factures clients diff --git a/htdocs/langs/fr_FR/productbatch.lang b/htdocs/langs/fr_FR/productbatch.lang new file mode 100644 index 00000000000..24231f0e6e2 --- /dev/null +++ b/htdocs/langs/fr_FR/productbatch.lang @@ -0,0 +1,7 @@ +# ProductBATCH language file - fr_FR - ProductBATCH +CHARSET= UTF-8 +ProductStatusOnBatch= Gérer +ProductStatusNotOnBatch= Non gérer +ProductStatusOnBatchShort= Gérer +ProductStatusNotOnBatchShort= Non gérer +Batch=Lot diff --git a/htdocs/product/class/product.class.php b/htdocs/product/class/product.class.php index 1c94cf5f3c6..1aebe0307eb 100644 --- a/htdocs/product/class/product.class.php +++ b/htdocs/product/class/product.class.php @@ -5,7 +5,7 @@ * Copyright (C) 2006 Andre Cianfarani * Copyright (C) 2007-2011 Jean Heimburger * Copyright (C) 2010-2013 Juanjo Menent - * Copyright (C) 2013 Cedric GROSS + * Copyright (C) 2013-2014 Cedric GROSS * Copyright (C) 2013 Marcos García * Copyright (C) 2011-2014 Alexandre Spangaro * @@ -96,6 +96,8 @@ class Product extends CommonObject var $status_buy; // Statut indique si le produit est un produit fini '1' ou une matiere premiere '0' var $finished; + // We must manage batch number, sell-by date and so on : '1':yes '0':no + var $status_batch; var $customcode; // Customs code var $country_id; // Country origin id @@ -169,6 +171,7 @@ class Product extends CommonObject $this->seuil_stock_alerte = 0; $this->desiredstock = 0; $this->canvas = ''; + $this->status_batch=0; } /** @@ -337,6 +340,7 @@ class Product extends CommonObject $sql.= ", accountancy_code_sell"; $sql.= ", canvas"; $sql.= ", finished"; + $sql.= ", tobatch"; $sql.= ") VALUES ("; $sql.= "'".$this->db->idate($now)."'"; $sql.= ", ".$conf->entity; @@ -356,6 +360,7 @@ class Product extends CommonObject $sql.= ", '".$this->accountancy_code_sell."'"; $sql.= ", '".$this->canvas."'"; $sql.= ", ".((! isset($this->finished) || $this->finished < 0 || $this->finished == '') ? 'null' : $this->finished); + $sql.= ", ".((empty($this->status_batch) || $this->status_batch < 0)? '0':$this->status_batch); $sql.= ")"; dol_syslog(get_class($this)."::Create sql=".$sql); @@ -592,6 +597,7 @@ class Product extends CommonObject $sql.= ", tosell = " . $this->status; $sql.= ", tobuy = " . $this->status_buy; + $sql.= ", tobatch = " . ((empty($this->status_batch) || $this->status_batch < 0) ? '0' : $this->status_batch); $sql.= ", finished = " . ((! isset($this->finished) || $this->finished < 0) ? "null" : $this->finished); $sql.= ", weight = " . ($this->weight!='' ? "'".$this->weight."'" : 'null'); $sql.= ", weight_units = " . ($this->weight_units!='' ? "'".$this->weight_units."'": 'null'); @@ -1275,7 +1281,7 @@ class Product extends CommonObject $sql.= " tobuy, fk_product_type, duration, seuil_stock_alerte, canvas,"; $sql.= " weight, weight_units, length, length_units, surface, surface_units, volume, volume_units, barcode, fk_barcode_type, finished,"; $sql.= " accountancy_code_buy, accountancy_code_sell, stock, pmp,"; - $sql.= " datec, tms, import_key, entity, desiredstock"; + $sql.= " datec, tms, import_key, entity, desiredstock, tobatch"; $sql.= " FROM ".MAIN_DB_PREFIX."product"; if ($id) $sql.= " WHERE rowid = ".$this->db->escape($id); else @@ -1303,6 +1309,7 @@ class Product extends CommonObject $this->type = $obj->fk_product_type; $this->status = $obj->tosell; $this->status_buy = $obj->tobuy; + $this->status_batch = $obj->tobatch; $this->customcode = $obj->customcode; $this->country_id = $obj->fk_country; @@ -2631,15 +2638,23 @@ class Product extends CommonObject * Return label of status of object * * @param int $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=Short label + Picto - * @param int $type 0=Shell, 1=Buy + * @param int $type 0=Sell, 1=Buy, 2=Batch Number management * @return string Label of status */ function getLibStatut($mode=0, $type=0) { - if($type==0) + switch ($type) + { + case 0: return $this->LibStatut($this->status,$mode,$type); - else + case 1: return $this->LibStatut($this->status_buy,$mode,$type); + case 2: + return $this->LibStatut($this->status_batch,$mode,$type); + default: + //Simulate previous behavior but should return an error string + return $this->LibStatut($this->status_buy,$mode,$type); + } } /** @@ -2647,14 +2662,42 @@ class Product extends CommonObject * * @param int $status Statut * @param int $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=Short label + Picto - * @param int $type 0=Status "to sell", 1=Status "to buy" + * @param int $type 0=Status "to sell", 1=Status "to buy", 2=Status "to Batch" * @return string Label of status */ function LibStatut($status,$mode=0,$type=0) { global $langs; $langs->load('products'); + if ($conf->productbatch->enabled) $langs->load("productbatch"); + if ($type == 2) + { + switch ($mode) + { + case 0: + return ($status == 0 ? $langs->trans('ProductStatusNotOnBatch') : $langs->trans('ProductStatusOnBatch')); + case 1: + return ($status == 0 ? $langs->trans('ProductStatusNotOnBatchShort') : $langs->trans('ProductStatusOnBatchShort')); + case 2: + return $this->LibStatut($status,3,2).' '.$this->LibStatut($status,1,2); + case 3: + if ($status == 0 ) + { + return img_picto($langs->trans('ProductStatusNotOnBatch'),'statut5'); + } + else + { + return img_picto($langs->trans('ProductStatusOnBatch'),'statut4'); + } + case 4: + return $this->LibStatut($status,3,2).' '.$this->LibStatut($status,0,2); + case 5: + return $this->LibStatut($status,1,2).' '.$this->LibStatut($status,3,2); + default: + return $langs->trans('Unknown'); + } + } if ($mode == 0) { if ($status == 0) return ($type==0 ? $langs->trans('ProductStatusNotOnSellShort'):$langs->trans('ProductStatusNotOnBuyShort')); @@ -3261,10 +3304,21 @@ class Product extends CommonObject $this->country_id=1; $this->tosell=1; $this->tobuy=1; + $this->tobatch=0; $this->type=0; $this->note='This is a comment (private)'; $this->barcode=-1; // Create barcode automatically } + + /** + * Return if object has a sell-by date or eat-by date + * + * @return boolean True if it's has + */ + function hasbatch() + { + return ($this->status_batch == 1 ? true : false); + } } ?> diff --git a/htdocs/product/fiche.php b/htdocs/product/fiche.php index 6a86dbe3217..d0b4f914210 100644 --- a/htdocs/product/fiche.php +++ b/htdocs/product/fiche.php @@ -9,6 +9,7 @@ * Copyright (C) 2013 Marcos García * Copyright (C) 2013 Cédric Salvador * Copyright (C) 2011-2014 Alexandre Spangaro + * Copyright (C) 2014 Cédric Gross * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -45,6 +46,7 @@ $langs->load("products"); $langs->load("other"); if (! empty($conf->stock->enabled)) $langs->load("stocks"); if (! empty($conf->facture->enabled)) $langs->load("bills"); +if ($conf->productbatch->enabled) $langs->load("productbatch"); $mesg=''; $error=0; $errors=array(); $_error=0; @@ -197,6 +199,7 @@ if (empty($reshook)) $object->type = $type; $object->status = GETPOST('statut'); $object->status_buy = GETPOST('statut_buy'); + $object->status_batch = GETPOST('status_batch'); $object->barcode_type = GETPOST('fk_barcode_type'); $object->barcode = GETPOST('barcode'); @@ -280,6 +283,7 @@ if (empty($reshook)) $object->country_id = GETPOST('country_id'); $object->status = GETPOST('statut'); $object->status_buy = GETPOST('statut_buy'); + $object->status_batch = GETPOST('status_batch'); $object->seuil_stock_alerte = GETPOST('seuil_stock_alerte'); $object->desiredstock = GETPOST('desiredstock'); $object->duration_value = GETPOST('duration_value'); @@ -763,9 +767,18 @@ else // To buy print ''; + // batch number management + if ($conf->productbatch->enabled) { + print ''; + } + + $showbarcode=(! empty($conf->barcode->enabled) && $user->rights->barcode->lire); if ($showbarcode) @@ -1009,6 +1022,14 @@ else print ''; print ''; + // Batch number managment + if ($conf->productbatch->enabled) { + print ''; + } + // Barcode $showbarcode=(! empty($conf->barcode->enabled) && $user->rights->barcode->lire); @@ -1291,6 +1312,13 @@ else print $object->getLibStatut(2,1); print ''; + // Batch number management (to batch) + if ($conf->productbatch->enabled) { + print ''; + } + // Description print ''; From c5e639041e57d64fd415dd39ff77db065f15b897 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 4 Mar 2014 23:56:35 +0100 Subject: [PATCH 086/293] More doc comment --- htdocs/core/lib/files.lib.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/htdocs/core/lib/files.lib.php b/htdocs/core/lib/files.lib.php index d2310e25ac0..8e28a11701b 100644 --- a/htdocs/core/lib/files.lib.php +++ b/htdocs/core/lib/files.lib.php @@ -716,7 +716,7 @@ function dol_move_uploaded_file($src_file, $dest_file, $allowoverwrite, $disable * @param int $nophperrors Disable all PHP output errors * @param int $nohook Disable all hooks * @param object $object Current object in use - * @return boolean True if file is deleted, False if error + * @return boolean True if file is deleted (or if glob is used and there's nothing to delete), False if error */ function dol_delete_file($file,$disableglob=0,$nophperrors=0,$nohook=0,$object=null) { @@ -761,8 +761,8 @@ function dol_delete_file($file,$disableglob=0,$nophperrors=0,$nohook=0,$object=n { foreach ($listofdir as $filename) { - if ($nophperrors) $ok=@unlink($filename); // The unlink encapsulated by dolibarr - else $ok=unlink($filename); // The unlink encapsulated by dolibarr + if ($nophperrors) $ok=@unlink($filename); + else $ok=unlink($filename); if ($ok) dol_syslog("Removed file ".$filename, LOG_DEBUG); else dol_syslog("Failed to remove file ".$filename, LOG_WARNING); } @@ -771,8 +771,8 @@ function dol_delete_file($file,$disableglob=0,$nophperrors=0,$nohook=0,$object=n } else { - if ($nophperrors) $ok=@unlink($file_osencoded); // The unlink encapsulated by dolibarr - else $ok=unlink($file_osencoded); // The unlink encapsulated by dolibarr + if ($nophperrors) $ok=@unlink($file_osencoded); + else $ok=unlink($file_osencoded); if ($ok) dol_syslog("Removed file ".$file_osencoded, LOG_DEBUG); else dol_syslog("Failed to remove file ".$file_osencoded, LOG_WARNING); } From e2b29bb108904b8f743d7705647353192fcf0a77 Mon Sep 17 00:00:00 2001 From: philippe Date: Wed, 5 Mar 2014 09:57:36 +0100 Subject: [PATCH 087/293] fix english misspelling --- ChangeLog | 12 ++--- htdocs/comm/action/class/actioncomm.class.php | 6 +-- htdocs/core/class/commonobject.class.php | 4 +- htdocs/core/class/extrafields.class.php | 46 +++++++++---------- htdocs/core/class/html.form.class.php | 12 ++--- htdocs/core/lib/security.lib.php | 10 ++-- htdocs/core/triggers/README | 30 ++++++------ .../install/mysql/tables/llx_actioncomm.sql | 2 +- htdocs/langs/zh_CN/paypal.lang | 2 +- htdocs/langs/zh_TW/paypal.lang | 2 +- htdocs/main.inc.php | 2 +- .../company/actions_card_company.class.php | 8 ++-- .../actions_card_individual.class.php | 8 ++-- htdocs/user/class/user.class.php | 4 +- 14 files changed, 74 insertions(+), 74 deletions(-) diff --git a/ChangeLog b/ChangeLog index c400db96fe9..dd9c26677d0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -14,7 +14,7 @@ For users: use the "print" view on screen. - New: Add a menu entry to a barcode generation page. - New: Add option MAIN_AUTO_TIMESTAMP_IN_PUBLIC_NOTES and MAIN_AUTO_TIMESTAMP_IN_PRIVATE_NOTES - to automatically add timestamp and user line into editionf field when editing a note. + to automatically add timestamp and user line into edition field when editing a note. - New: Add button cancel into edition of notes. - New: Improved Opensurvey module and added options to disable comments and disable public votes. @@ -54,8 +54,8 @@ Dolibarr better: - The deprecated way (with 4 parameters) to declare a new tab into a module descriptor file has been removed. You must now use the 6 parameters way. See file modMyModule.class.php for example. -- Remove the javascrit function ac_delay() that is not used anymore by core code. -- Properties "dictionnaries" into module descriptor files has been renamed into "dictionaries". +- Remove the javascript function ac_delay() that is not used anymore by core code. +- Properties "dictionaries" into module descriptor files has been renamed into "dictionaries". @@ -64,7 +64,7 @@ Fix: Do not report trigger errors twice. Fix: Error when creating event was not reported. Fix: Bug of import of agenda when using https link Fix: Field nature not saved correctly -Fix: Substituion of extra field was ko for order +Fix: Substitution of extra field was ko for order Fix: Bad translation of date format for pt_BR. Fix: priority field of agenda record is smallint. Fix: Missing loading of lang in some pages. @@ -73,7 +73,7 @@ Fix: Link to paypal was invalid into email text. Fix: ref and date of supplier invoice. Fix: Check on bank account. Fix: Problem with file upload and download. -Fix: Page load not ending when large number of thirdparies. We +Fix: Page load not ending when large number of thirdparties. We added option MAIN_DISABLE_AJAX_COMBOX to disable javascript combo feature that is root cause of problem. Fix: [ bug #1231 ] PDF always generated in interventions @@ -1499,7 +1499,7 @@ For developers: - Add Dolibarr triggers support on payments. - Add Dolibarr triggers on supplier and customers orders. - Webcalendar triggers for actions on Member module. -- Support optionnal new javascript popup selector for date fields. +- Support optional new javascript popup selector for date fields. - Support for several RSS boxes in external RSS module. Setup easier. - Can attach documents on Action, Orders, Invoices, Commercial proposals. - Can attach contacts on proposals, orders, contracts, invoices. diff --git a/htdocs/comm/action/class/actioncomm.class.php b/htdocs/comm/action/class/actioncomm.class.php index 37b31f5c1fb..ee9e4c032ee 100644 --- a/htdocs/comm/action/class/actioncomm.class.php +++ b/htdocs/comm/action/class/actioncomm.class.php @@ -64,9 +64,9 @@ class ActionComm extends CommonObject var $usertodo; // Object user that must do action var $userdone; // Object user that did action - var $societe; // Company linked to action (optionnal) - var $contact; // Contact linked tot action (optionnal) - var $fk_project; // Id of project (optionnal) + var $societe; // Company linked to action (optional) + var $contact; // Contact linked to action (optional) + var $fk_project; // Id of project (optional) // Properties for links to other objects diff --git a/htdocs/core/class/commonobject.class.php b/htdocs/core/class/commonobject.class.php index 9f96f3ff8ec..8efd364dbf4 100644 --- a/htdocs/core/class/commonobject.class.php +++ b/htdocs/core/class/commonobject.class.php @@ -5,7 +5,7 @@ * Copyright (C) 2012 Christophe Battarel * Copyright (C) 2010-2011 Juanjo Menent * Copyright (C) 2012-2013 Christophe Battarel - * Copyright (C) 2011-2012 Philippe Grand + * Copyright (C) 2011-2014 Philippe Grand * Copyright (C) 2012 Marcos García * * This program is free software; you can redistribute it and/or modify @@ -2075,7 +2075,7 @@ abstract class CommonObject * * @param int $rowid Id of line * @param array $optionsArray Array resulting of call of extrafields->fetch_name_optionals_label() - * @return int <0 if error, 0 if no optionals to find nor found, 1 if a line is found and optionnal loaded + * @return int <0 if error, 0 if no optionals to find nor found, 1 if a line is found and optional loaded */ function fetch_optionals($rowid,$optionsArray='') { diff --git a/htdocs/core/class/extrafields.class.php b/htdocs/core/class/extrafields.class.php index 128dec24d8c..c35fad153b4 100644 --- a/htdocs/core/class/extrafields.class.php +++ b/htdocs/core/class/extrafields.class.php @@ -1,25 +1,25 @@ * Copyright (C) 2002-2003 Jean-Louis Bergamo -* Copyright (C) 2004 Sebastien Di Cintio -* Copyright (C) 2004 Benoit Mortier -* Copyright (C) 2009-2012 Laurent Destailleur -* Copyright (C) 2009-2012 Regis Houssin -* Copyright (C) 2013 Florian Henry -* -* This program is free software; you can redistribute it and/or modify -* it under the terms of the GNU General Public License as published by -* the Free Software Foundation; either version 3 of the License, or -* (at your option) any later version. -* -* This program is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU General Public License for more details. -* -* You should have received a copy of the GNU General Public License -* along with this program. If not, see . -*/ + * Copyright (C) 2004 Sebastien Di Cintio + * Copyright (C) 2004 Benoit Mortier + * Copyright (C) 2009-2012 Laurent Destailleur + * Copyright (C) 2009-2012 Regis Houssin + * Copyright (C) 2013 Florian Henry + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ /** * \file htdocs/core/class/extrafields.class.php @@ -135,7 +135,7 @@ class ExtraFields } /** - * Add a new optionnal attribute. + * Add a new optional attribute. * This is a private method. For public method, use addExtraField. * * @param string $attrname code of attribute @@ -205,7 +205,7 @@ class ExtraFields } /** - * Add description of a new optionnal attribute + * Add description of a new optional attribute * * @param string $attrname code of attribute * @param string $label label of attribute @@ -269,7 +269,7 @@ class ExtraFields } /** - * Delete an optionnal attribute + * Delete an optional attribute * * @param string $attrname Code of attribute to delete * @param string $elementtype Element type ('member', 'product', 'company', 'contact', ...) @@ -300,7 +300,7 @@ class ExtraFields } /** - * Delete description of an optionnal attribute + * Delete description of an optional attribute * * @param string $attrname Code of attribute to delete * @param string $elementtype Element type ('member', 'product', 'company', ...) diff --git a/htdocs/core/class/html.form.class.php b/htdocs/core/class/html.form.class.php index deeb7c122be..3574c841339 100644 --- a/htdocs/core/class/html.form.class.php +++ b/htdocs/core/class/html.form.class.php @@ -10,10 +10,10 @@ * Copyright (C) 2007 Franky Van Liedekerke * Copyright (C) 2007 Patrick Raguin * Copyright (C) 2010 Juanjo Menent - * Copyright (C) 2010 Philippe Grand + * Copyright (C) 2010-2014 Philippe Grand * Copyright (C) 2011 Herve Prot * Copyright (C) 2012 Marcos García - * Copyright (C) 2013 Raphaël Doursenaud + * Copyright (C) 2013 Raphaël Doursenaud * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -724,7 +724,7 @@ class Form * * @param string $selected Preselected type * @param string $htmlname Name of field in form - * @param string $filter Optionnal filters criteras (example: 's.rowid <> x') + * @param string $filter optional filters criteras (example: 's.rowid <> x') * @param int $showempty Add an empty field * @param int $showtype Show third party type in combolist (customer, prospect or supplier) * @param int $forcecombo Force to use combo box @@ -742,7 +742,7 @@ class Form * * @param string $selected Preselected type * @param string $htmlname Name of field in form - * @param string $filter Optionnal filters criteras (example: 's.rowid <> x') + * @param string $filter optional filters criteras (example: 's.rowid <> x') * @param int $showempty Add an empty field * @param int $showtype Show third party type in combolist (customer, prospect or supplier) * @param int $forcecombo Force to use combo box @@ -3196,7 +3196,7 @@ class Form * @param string $page Page * @param string $selected Id preselected * @param string $htmlname Name of HTML select - * @param string $filter Optionnal filters criteras + * @param string $filter optional filters criteras * @param int $showempty Add an empty field * @param int $showtype Show third party type in combolist (customer, prospect or supplier) * @param int $forcecombo Force to use combo box @@ -3486,7 +3486,7 @@ class Form /** - * Show a HTML widget to input a date or combo list for day, month, years and optionnaly hours and minutes + * Show a HTML widget to input a date or combo list for day, month, years and optionaly hours and minutes * Fields are preselected with : * - set_time date (Local PHP server timestamps or date format YYYY-MM-DD or YYYY-MM-DD HH:MM) * - local date of PHP server if set_time is '' diff --git a/htdocs/core/lib/security.lib.php b/htdocs/core/lib/security.lib.php index b9dcda4b55a..edb89a1d8a8 100644 --- a/htdocs/core/lib/security.lib.php +++ b/htdocs/core/lib/security.lib.php @@ -98,11 +98,11 @@ function dol_hash($chain,$type=0) * * @param User $user User to check * @param string $features Features to check (it must be module name. Examples: 'societe', 'contact', 'produit&service', ...) - * @param int $objectid Object ID if we want to check a particular record (optionnal) is linked to a owned thirdparty (optionnal). - * @param string $dbtablename 'TableName&SharedElement' with Tablename is table where object is stored. SharedElement is an optionnal key to define where to check entity. Not used if objectid is null (optionnal) - * @param string $feature2 Feature to check, second level of permission (optionnal) - * @param string $dbt_keyfield Field name for socid foreign key if not fk_soc. Not used if objectid is null (optionnal) - * @param string $dbt_select Field name for select if not rowid. Not used if objectid is null (optionnal) + * @param int $objectid Object ID if we want to check a particular record (optional) is linked to a owned thirdparty (optional). + * @param string $dbtablename 'TableName&SharedElement' with Tablename is table where object is stored. SharedElement is an optional key to define where to check entity. Not used if objectid is null (optional) + * @param string $feature2 Feature to check, second level of permission (optional) + * @param string $dbt_keyfield Field name for socid foreign key if not fk_soc. Not used if objectid is null (optional) + * @param string $dbt_select Field name for select if not rowid. Not used if objectid is null (optional) * @param Canvas $objcanvas Object canvas * @return int Always 1, die process if not allowed */ diff --git a/htdocs/core/triggers/README b/htdocs/core/triggers/README index b54c3809ab1..30692943fe5 100644 --- a/htdocs/core/triggers/README +++ b/htdocs/core/triggers/README @@ -1,15 +1,15 @@ -Directory content --------------------------------------------------------- -This directory contains all available Dolibarr triggers. - -Trigger file name syntax is: -> interface_modModule_Mytrigger.php[-NORUN] - -where: -> modModule is part of module descriptor file name found in core/modules - directory or value 'all' if not enabled by a particular module. -> Mytrigger is name of the trigger. The PHP class inside the trigger file - would be named InterfaceMytrigger. -> -NORUN is optionnal and disable completely a trigger file if set. To use - a trigger with such a name, rename file to remove the -NORUN part. - +Directory content +-------------------------------------------------------- +This directory contains all available Dolibarr triggers. + +Trigger file name syntax is: +> interface_modModule_Mytrigger.php[-NORUN] + +where: +> modModule is part of module descriptor file name found in core/modules + directory or value 'all' if not enabled by a particular module. +> Mytrigger is name of the trigger. The PHP class inside the trigger file + would be named InterfaceMytrigger. +> -NORUN is optional and disable completely a trigger file if set. To use + a trigger with such a name, rename file to remove the -NORUN part. + diff --git a/htdocs/install/mysql/tables/llx_actioncomm.sql b/htdocs/install/mysql/tables/llx_actioncomm.sql index 906188d8ceb..1dce458fb72 100644 --- a/htdocs/install/mysql/tables/llx_actioncomm.sql +++ b/htdocs/install/mysql/tables/llx_actioncomm.sql @@ -30,7 +30,7 @@ create table llx_actioncomm datea datetime, -- deprecated datea2 datetime, -- deprecated - fk_action integer, -- type of action (optionnal link with llx_c_actioncomm or null) + fk_action integer, -- type of action (optional link with llx_c_actioncomm or null) code varchar(32) NULL, -- code of action for automatic action label varchar(128) NOT NULL, -- label/title of event diff --git a/htdocs/langs/zh_CN/paypal.lang b/htdocs/langs/zh_CN/paypal.lang index 2b9d05a9947..c2c166b3257 100644 --- a/htdocs/langs/zh_CN/paypal.lang +++ b/htdocs/langs/zh_CN/paypal.lang @@ -11,7 +11,7 @@ PAYPAL_API_SIGNATURE=API签名 PAYPAL_API_INTEGRAL_OR_PAYPALONLY=优惠“不可分割的”支付(信用卡+贝宝)或“贝宝”只 PaypalModeIntegral=积分 PaypalModeOnlyPaypal=支付宝 -PAYPAL_CSS_URL=optionnal付款页面的CSS样式表的URL +PAYPAL_CSS_URL=optional付款页面的CSS样式表的URL ThisIsTransactionId=这是交易编号:%s PAYPAL_ADD_PAYMENT_URL=当你邮寄一份文件,添加URL Paypal付款 PAYPAL_IPN_MAIL_ADDRESS=E-mail地址,即时付款通知(IPN) diff --git a/htdocs/langs/zh_TW/paypal.lang b/htdocs/langs/zh_TW/paypal.lang index 72d4f3b1d64..0c45f0fbdff 100644 --- a/htdocs/langs/zh_TW/paypal.lang +++ b/htdocs/langs/zh_TW/paypal.lang @@ -11,7 +11,7 @@ PAYPAL_API_SIGNATURE=API簽名 PAYPAL_API_INTEGRAL_OR_PAYPALONLY=優惠“不可分割的”支付(信用卡+貝寶)或“貝寶”只 # PaypalModeIntegral=Integral # PaypalModeOnlyPaypal=PayPal only -PAYPAL_CSS_URL=optionnal付款頁面的CSS樣式表的URL +PAYPAL_CSS_URL=optional付款頁面的CSS樣式表的URL ThisIsTransactionId=這是交易編號:%s PAYPAL_ADD_PAYMENT_URL=當你郵寄一份文件,添加URL Paypal付款 PAYPAL_IPN_MAIL_ADDRESS=E-mail地址,即時付款通知(IPN) diff --git a/htdocs/main.inc.php b/htdocs/main.inc.php index 419730c5bb1..944aedbdc88 100644 --- a/htdocs/main.inc.php +++ b/htdocs/main.inc.php @@ -32,7 +32,7 @@ //@ini_set('memory_limit', '64M'); // This may be useless if memory is hard limited by your PHP -// For optionnal tuning. Enabled if environment variable DOL_TUNING is defined. +// For optional tuning. Enabled if environment variable DOL_TUNING is defined. // A call first. Is the equivalent function dol_microtime_float not yet loaded. $micro_start_time=0; if (! empty($_SERVER['DOL_TUNING'])) diff --git a/htdocs/societe/canvas/company/actions_card_company.class.php b/htdocs/societe/canvas/company/actions_card_company.class.php index 13ad2739efc..f986f426fe8 100644 --- a/htdocs/societe/canvas/company/actions_card_company.class.php +++ b/htdocs/societe/canvas/company/actions_card_company.class.php @@ -228,11 +228,11 @@ class ActionsCardCompany extends ActionsCardCommon * * @param User $user User to check * @param string $features Features to check (in most cases, it's module name) - * @param int $objectid Object ID if we want to check permission on a particular record (optionnal) - * @param string $dbtablename Table name where object is stored. Not used if objectid is null (optionnal) + * @param int $objectid Object ID if we want to check permission on a particular record (optional) + * @param string $dbtablename Table name where object is stored. Not used if objectid is null (optional) * @param string $feature2 Feature to check (second level of permission) - * @param string $dbt_keyfield Field name for socid foreign key if not fk_soc. (optionnal) - * @param string $dbt_select Field name for select if not rowid. (optionnal) + * @param string $dbt_keyfield Field name for socid foreign key if not fk_soc. (optional) + * @param string $dbt_select Field name for select if not rowid. (optional) * @return int 1 */ function restrictedArea($user, $features='societe', $objectid=0, $dbtablename='', $feature2='', $dbt_keyfield='fk_soc', $dbt_select='rowid') diff --git a/htdocs/societe/canvas/individual/actions_card_individual.class.php b/htdocs/societe/canvas/individual/actions_card_individual.class.php index 4c35e98bd97..85449440f7b 100644 --- a/htdocs/societe/canvas/individual/actions_card_individual.class.php +++ b/htdocs/societe/canvas/individual/actions_card_individual.class.php @@ -127,11 +127,11 @@ class ActionsCardIndividual extends ActionsCardCommon * * @param User $user User to check * @param string $features Features to check (in most cases, it's module name) - * @param int $objectid Object ID if we want to check permission on a particular record (optionnal) - * @param string $dbtablename Table name where object is stored. Not used if objectid is null (optionnal) + * @param int $objectid Object ID if we want to check permission on a particular record (optional) + * @param string $dbtablename Table name where object is stored. Not used if objectid is null (optional) * @param string $feature2 Feature to check (second level of permission) - * @param string $dbt_keyfield Field name for socid foreign key if not fk_soc. (optionnal) - * @param string $dbt_select Field name for select if not rowid. (optionnal) + * @param string $dbt_keyfield Field name for socid foreign key if not fk_soc. (optional) + * @param string $dbt_select Field name for select if not rowid. (optional) * @return int 1 */ function restrictedArea($user, $features='societe', $objectid=0, $dbtablename='', $feature2='', $dbt_keyfield='fk_soc', $dbt_select='rowid') diff --git a/htdocs/user/class/user.class.php b/htdocs/user/class/user.class.php index 25fc77311ac..0bc8a018583 100644 --- a/htdocs/user/class/user.class.php +++ b/htdocs/user/class/user.class.php @@ -7,7 +7,7 @@ * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2005 Lionel Cousteix * Copyright (C) 2011 Herve Prot - * Copyright (C) 2013 Philippe Grand + * Copyright (C) 2013-2014 Philippe Grand * Copyright (C) 2013 Alexandre Spangaro * * This program is free software; you can redistribute it and/or modify @@ -1762,7 +1762,7 @@ class User extends CommonObject } /** - * Return a link to the user card (with optionnaly the picto) + * Return a link to the user card (with optionaly the picto) * Use this->id,this->lastname, this->firstname * * @param int $withpicto Include picto in link (0=No picto, 1=Inclut le picto dans le lien, 2=Picto seul) From e32d31f76dbb5ccbd439f14a6e86406ae47e6ffc Mon Sep 17 00:00:00 2001 From: Grand Philippe Date: Wed, 5 Mar 2014 09:58:52 +0100 Subject: [PATCH 088/293] fix english misspelling --- htdocs/core/triggers/README | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/htdocs/core/triggers/README b/htdocs/core/triggers/README index 30692943fe5..5fff755c357 100644 --- a/htdocs/core/triggers/README +++ b/htdocs/core/triggers/README @@ -1,15 +1,15 @@ -Directory content --------------------------------------------------------- -This directory contains all available Dolibarr triggers. - -Trigger file name syntax is: -> interface_modModule_Mytrigger.php[-NORUN] - -where: -> modModule is part of module descriptor file name found in core/modules - directory or value 'all' if not enabled by a particular module. -> Mytrigger is name of the trigger. The PHP class inside the trigger file - would be named InterfaceMytrigger. -> -NORUN is optional and disable completely a trigger file if set. To use - a trigger with such a name, rename file to remove the -NORUN part. - +Directory content +-------------------------------------------------------- +This directory contains all available Dolibarr triggers. + +Trigger file name syntax is: +> interface_modModule_Mytrigger.php[-NORUN] + +where: +> modModule is part of module descriptor file name found in core/modules + directory or value 'all' if not enabled by a particular module. +> Mytrigger is name of the trigger. The PHP class inside the trigger file + would be named InterfaceMytrigger. +> -NORUN is optional and disable completely a trigger file if set. To use + a trigger with such a name, rename file to remove the -NORUN part. + From 81e07fe50f87b658cdfc2a676dc90fc26765e2f6 Mon Sep 17 00:00:00 2001 From: KreizIT Date: Wed, 5 Mar 2014 10:30:06 +0100 Subject: [PATCH 089/293] -Add batch record management -Implements stock increase or decrease with batch number record on product's warehouse tab --- htdocs/langs/en_US/productbatch.lang | 4 + htdocs/langs/fr_FR/productbatch.lang | 5 + htdocs/product/class/product.class.php | 46 +- htdocs/product/class/productbatch.class.php | 521 ++++++++++++++++++ .../stock/class/mouvementstock.class.php | 90 ++- htdocs/product/stock/product.php | 87 ++- 6 files changed, 740 insertions(+), 13 deletions(-) create mode 100644 htdocs/product/class/productbatch.class.php diff --git a/htdocs/langs/en_US/productbatch.lang b/htdocs/langs/en_US/productbatch.lang index 09806e2261a..0d530722306 100644 --- a/htdocs/langs/en_US/productbatch.lang +++ b/htdocs/langs/en_US/productbatch.lang @@ -5,3 +5,7 @@ ProductStatusNotOnBatch= Not Managed ProductStatusOnBatchShort= Managed ProductStatusNotOnBatchShort= Not Managed Batch=Batch +atleast1batchfield= Eat-by date or Sell-by date or Batch number +batch_number= Batch number +l_eatby= Eat-by date +l_sellby= Sell-by date diff --git a/htdocs/langs/fr_FR/productbatch.lang b/htdocs/langs/fr_FR/productbatch.lang index 24231f0e6e2..0954e74ef16 100644 --- a/htdocs/langs/fr_FR/productbatch.lang +++ b/htdocs/langs/fr_FR/productbatch.lang @@ -5,3 +5,8 @@ ProductStatusNotOnBatch= Non gérer ProductStatusOnBatchShort= Gérer ProductStatusNotOnBatchShort= Non gérer Batch=Lot +atleast1batchfield= DLC ou DLUO ou Numéro de lot +batch_number= Numéro de lot +l_eatby= DLC +l_sellby= DLUO + diff --git a/htdocs/product/class/product.class.php b/htdocs/product/class/product.class.php index 1aebe0307eb..7e0508ffc50 100644 --- a/htdocs/product/class/product.class.php +++ b/htdocs/product/class/product.class.php @@ -29,6 +29,7 @@ * \brief File of class to manage predefined products or services */ require_once DOL_DOCUMENT_ROOT .'/core/class/commonobject.class.php'; +require_once DOL_DOCUMENT_ROOT.'/product/class/productbatch.class.php'; /** @@ -2796,7 +2797,7 @@ class Product extends CommonObject { $this->stock_reel = 0; - $sql = "SELECT ps.reel, ps.fk_entrepot, ps.pmp"; + $sql = "SELECT ps.reel, ps.fk_entrepot, ps.pmp, ps.rowid"; $sql.= " FROM ".MAIN_DB_PREFIX."product_stock as ps"; $sql.= ", ".MAIN_DB_PREFIX."entrepot as w"; $sql.= " WHERE w.entity IN (".getEntity('warehouse', 1).")"; @@ -2817,6 +2818,7 @@ class Product extends CommonObject $this->stock_warehouse[$row->fk_entrepot] = new stdClass(); $this->stock_warehouse[$row->fk_entrepot]->real = $row->reel; $this->stock_warehouse[$row->fk_entrepot]->pmp = $row->pmp; + if ($this->hasbatch()) $this->stock_warehouse[$row->fk_entrepot]->detail_batch=Productbatch::findAll($this->db,$row->rowid,1); $this->stock_reel+=$row->reel; $i++; } @@ -3320,5 +3322,47 @@ class Product extends CommonObject { return ($this->status_batch == 1 ? true : false); } + + /** + * Adjust stock in a warehouse for product with batch number + * + * @param User $user user asking change + * @param int $id_entrepot id of warehouse + * @param double $nbpiece nb of units + * @param int $movement 0 = add, 1 = remove + * @param string $label Label of stock movement + * @param double $price Price to use for stock eval + * @param date $dlc eat-by date + * @param date $dluo sell-by date + * @param string $lot Lot number + * @return int <0 if KO, >0 if OK + */ + function correct_stock_batch($user, $id_entrepot, $nbpiece, $movement, $label='', $price=0, $dlc='', $dluo='',$lot='') + { + if ($id_entrepot) + { + $this->db->begin(); + + require_once DOL_DOCUMENT_ROOT .'/product/stock/class/mouvementstock.class.php'; + + $op[0] = "+".trim($nbpiece); + $op[1] = "-".trim($nbpiece); + + $movementstock=new MouvementStock($this->db); + $result=$movementstock->_create($user,$this->id,$id_entrepot,$op[$movement],$movement,$price,$label,'',$dlc,$dluo,$lot); + + if ($result >= 0) + { + $this->db->commit(); + return 1; + } + else + { + dol_print_error($this->db); + $this->db->rollback(); + return -1; + } + } + } } ?> diff --git a/htdocs/product/class/productbatch.class.php b/htdocs/product/class/productbatch.class.php new file mode 100644 index 00000000000..413a7cf4838 --- /dev/null +++ b/htdocs/product/class/productbatch.class.php @@ -0,0 +1,521 @@ + + * Copyright (C) 2013-2014 Cedric GROSS + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/** + * \file product/class/productbatch.class.php + * \ingroup productbatch + * \brief Manage record and specific data for batch number management + */ + +require_once(DOL_DOCUMENT_ROOT."/core/class/commonobject.class.php"); + + +/** + * Manage record for batch number management + */ +class Productbatch extends CommonObject +{ + var $element='productbatch'; //!< Id that identify managed objects + private static $table_element='product_batch'; //!< Name of table without prefix where object is stored + + var $id; + + var $tms=''; + var $fk_product_stock; + var $sellby=''; + var $eatby=''; + var $batch=''; + var $qty; + var $import_key; + + + + + /** + * Constructor + * + * @param DoliDb $db Database handler + */ + function __construct($db) + { + $this->db = $db; + return 1; + } + + + /** + * Create object into database + * + * @param User $user User that creates + * @param int $notrigger 0=launch triggers after, 1=disable triggers + * @return int <0 if KO, Id of created object if OK + */ + function create($user, $notrigger=0) + { + global $conf, $langs; + $error=0; + + // Clean parameters + $this->clean_param(); + + // Check parameters + // Put here code to add control on parameters values + + // Insert request + $sql = "INSERT INTO ".MAIN_DB_PREFIX.self::$table_element." ("; + $sql.= "fk_product_stock,"; + $sql.= "sellby,"; + $sql.= "eatby,"; + $sql.= "batch,"; + $sql.= "qty,"; + $sql.= "import_key"; + $sql.= ") VALUES ("; + $sql.= " ".(! isset($this->fk_product_stock)?'NULL':$this->fk_product_stock).","; + $sql.= " ".(! isset($this->sellby) || dol_strlen($this->sellby)==0?'NULL':$this->db->idate($this->sellby)).","; + $sql.= " ".(! isset($this->eatby) || dol_strlen($this->eatby)==0?'NULL':$this->db->idate($this->eatby)).","; + $sql.= " ".(! isset($this->batch)?'NULL':"'".$this->db->escape($this->batch)."'").","; + $sql.= " ".(! isset($this->qty)?'NULL':$this->qty).","; + $sql.= " ".(! isset($this->import_key)?'NULL':"'".$this->db->escape($this->import_key)."'").""; + + + $sql.= ")"; + + $this->db->begin(); + + dol_syslog(get_class($this)."::create sql=".$sql, LOG_DEBUG); + $resql=$this->db->query($sql); + if (! $resql) { $error++; $this->errors[]="Error ".$this->db->lasterror(); } + if (! $error) + { + $this->id = $this->db->last_insert_id(MAIN_DB_PREFIX.self::$table_element); + + if (! $notrigger) + { + // Uncomment this and change MYOBJECT to your own tag if you + // want this action calls a trigger. + + //// Call triggers + //include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php'; + //$interface=new Interfaces($this->db); + //$result=$interface->run_triggers('MYOBJECT_CREATE',$this,$user,$langs,$conf); + //if ($result < 0) { $error++; $this->errors=$interface->errors; } + //// End call triggers + } + } + + // Commit or rollback + if ($error) + { + foreach($this->errors as $errmsg) + { + dol_syslog(get_class($this)."::create ".$errmsg, LOG_ERR); + $this->error.=($this->error?', '.$errmsg:$errmsg); + } + $this->db->rollback(); + return -1*$error; + } + else + { + $this->db->commit(); + return $this->id; + } + } + + + /** + * Load object in memory from the database + * + * @param int $id Id object + * @return int <0 if KO, >0 if OK + */ + function fetch($id) + { + global $langs; + $sql = "SELECT"; + $sql.= " t.rowid,"; + + $sql.= " t.tms,"; + $sql.= " t.fk_product_stock,"; + $sql.= " t.sellby,"; + $sql.= " t.eatby,"; + $sql.= " t.batch,"; + $sql.= " t.qty,"; + $sql.= " t.import_key"; + + + $sql.= " FROM ".MAIN_DB_PREFIX.self::$table_element." as t"; + $sql.= " WHERE t.rowid = ".$id; + + dol_syslog(get_class($this)."::fetch sql=".$sql, LOG_DEBUG); + $resql = $this->db->query($sql); + if ($resql) + { + if ($this->db->num_rows($resql)) + { + $obj = $this->db->fetch_object($resql); + + $this->id = $obj->rowid; + $this->tms = $this->db->jdate($obj->tms); + $this->fk_product_stock = $obj->fk_product_stock; + $this->sellby = $this->db->jdate($obj->sellby); + $this->eatby = $this->db->jdate($obj->eatby); + $this->batch = $obj->batch; + $this->qty = $obj->qty; + $this->import_key = $obj->import_key; + } + $this->db->free($resql); + + return 1; + } + else + { + $this->error = "Error ".$this->db->lasterror(); + dol_syslog(get_class($this)."::fetch ".$this->error, LOG_ERR); + return -1; + } + } + + /** + * Update object into database + * + * @param User $user User that modifies + * @param int $notrigger 0=launch triggers after, 1=disable triggers + * @return int <0 if KO, >0 if OK + */ + function update($user=0, $notrigger=0) + { + global $conf, $langs; + $error=0; + + // Clean parameters + $this->clean_param(); + + // Update request + $sql = "UPDATE ".MAIN_DB_PREFIX.self::$table_element." SET"; + $sql.= " fk_product_stock=".(isset($this->fk_product_stock)?$this->fk_product_stock:"null").","; + $sql.= " sellby=".(dol_strlen($this->sellby)!=0 ? "'".$this->db->idate($this->sellby)."'" : 'null').","; + $sql.= " eatby=".(dol_strlen($this->eatby)!=0 ? "'".$this->db->idate($this->eatby)."'" : 'null').","; + $sql.= " batch=".(isset($this->batch)?"'".$this->db->escape($this->batch)."'":"null").","; + $sql.= " qty=".(isset($this->qty)?$this->qty:"null").","; + $sql.= " import_key=".(isset($this->import_key)?"'".$this->db->escape($this->import_key)."'":"null").""; + $sql.= " WHERE rowid=".$this->id." AND tms='".$this->db->idate($this->tms)."'"; + + $this->db->begin(); + + dol_syslog(get_class($this)."::update sql=".$sql, LOG_DEBUG); + $resql = $this->db->query($sql); + if (! $resql) { $error++; $this->errors[]="Error ".$this->db->lasterror(); } + if (! $error) + { + if (! $notrigger) + { + // Uncomment this and change MYOBJECT to your own tag if you + // want this action calls a trigger. + + //// Call triggers + //include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php'; + //$interface=new Interfaces($this->db); + //$result=$interface->run_triggers('MYOBJECT_MODIFY',$this,$user,$langs,$conf); + //if ($result < 0) { $error++; $this->errors=$interface->errors; } + //// End call triggers + } + } + + // Commit or rollback + if ($error) + { + foreach($this->errors as $errmsg) + { + dol_syslog(get_class($this)."::update ".$errmsg, LOG_ERR); + $this->error.=($this->error?', '.$errmsg:$errmsg); + } + $this->db->rollback(); + return -1*$error; + } + else + { + $this->db->commit(); + return 1; + } + } + + /** + * Delete object in database + * + * @param User $user User that deletes + * @param int $notrigger 0=launch triggers after, 1=disable triggers + * @return int <0 if KO, >0 if OK + */ + function delete($user, $notrigger=0) + { + global $conf, $langs; + $error=0; + + $this->db->begin(); + + if (! $error) + { + if (! $notrigger) + { + // Uncomment this and change MYOBJECT to your own tag if you + // want this action calls a trigger. + + //// Call triggers + //include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php'; + //$interface=new Interfaces($this->db); + //$result=$interface->run_triggers('MYOBJECT_DELETE',$this,$user,$langs,$conf); + //if ($result < 0) { $error++; $this->errors=$interface->errors; } + //// End call triggers + } + } + + if (! $error) + { + $sql = "DELETE FROM ".MAIN_DB_PREFIX.self::$table_element.""; + $sql.= " WHERE rowid=".$this->id; + + dol_syslog(get_class($this)."::delete sql=".$sql); + $resql = $this->db->query($sql); + if (! $resql) { $error++; $this->errors[]="Error ".$this->db->lasterror(); } + } + + // Commit or rollback + if ($error) + { + foreach($this->errors as $errmsg) + { + dol_syslog(get_class($this)."::delete ".$errmsg, LOG_ERR); + $this->error.=($this->error?', '.$errmsg:$errmsg); + } + $this->db->rollback(); + return -1*$error; + } + else + { + $this->db->commit(); + return 1; + } + } + + + + /** + * Load an object from its id and create a new one in database + * + * @param int $fromid Id of object to clone + * @return int New id of clone + */ + function createFromClone($fromid) + { + global $user,$langs; + + $error=0; + + $object=new Productbatch($this->db); + + $this->db->begin(); + + // Load source object + $object->fetch($fromid); + $object->id=0; + $object->statut=0; + + // Clear fields + // ... + + // Create clone + $result=$object->create($user); + + // Other options + if ($result < 0) + { + $this->error=$object->error; + $error++; + } + + if (! $error) + { + + + } + + // End + if (! $error) + { + $this->db->commit(); + return $object->id; + } + else + { + $this->db->rollback(); + return -1; + } + } + + + /** + * Initialise object with example values + * Id must be 0 if object instance is a specimen + * + * @return void + */ + function initAsSpecimen() + { + $this->id=0; + + $this->tms=''; + $this->fk_product_stock=''; + $this->sellby=''; + $this->eatby=''; + $this->batch=''; + $this->import_key=''; + + + } + + private function clean_param() { + if (isset($this->fk_product_stock)) $this->fk_product_stock=(int)trim($this->fk_product_stock); + if (isset($this->batch)) $this->batch=trim($this->batch); + if (isset($this->qty)) $this->qty=(float)trim($this->qty); + if (isset($this->import_key)) $this->import_key=trim($this->import_key); + } + + /** + * Find first detail record that match eather eat-by or sell-by or batch within given warehouse + * + * @param int $fk_product_stck id product_stock for objet + * @param date $eatby eat-by date for objet + * @param date $sellby sell-by date for objet + * @param string $batch_number batch number for objet + * @return int <0 if KO, >0 if OK + */ + function find($fk_product_stock=0, $eatby='',$sellby='',$batch_number='') + { + global $langs; + $where = array(); + $sql = "SELECT"; + $sql.= " t.rowid,"; + $sql.= " t.tms,"; + $sql.= " t.fk_product_stock,"; + $sql.= " t.sellby,"; + $sql.= " t.eatby,"; + $sql.= " t.batch,"; + $sql.= " t.qty,"; + $sql.= " t.import_key"; + $sql.= " FROM ".MAIN_DB_PREFIX.self::$table_element." as t"; + $sql.= " WHERE fk_product_stock=".$fk_product_stock; + + if (! empty($eatby)) array_push($where," eatby = '".$this->db->idate($eatby)."'"); + if (! empty($sellby)) array_push($where," sellby = '".$this->db->idate($sellby)."'"); + if (! empty($batch_number)) $sql.= " AND batch = '".$this->db->escape($batch_number)."'"; + + if (! empty($where)) $sql.= " AND (".implode(" OR ",$where).")"; + + dol_syslog(get_class($this)."::fetch sql=".$sql, LOG_DEBUG); + $resql=$this->db->query($sql); + if ($resql) + { + if ($this->db->num_rows($resql)) + { + $obj = $this->db->fetch_object($resql); + + $this->id = $obj->rowid; + + $this->tms = $this->db->jdate($obj->tms); + $this->fk_product_stock = $obj->fk_product_stock; + $this->sellby = $this->db->jdate($obj->sellby); + $this->eatby = $this->db->jdate($obj->eatby); + $this->batch = $obj->batch; + $this->qty = $obj->qty; + $this->import_key = $obj->import_key; + } + $this->db->free($resql); + + return 1; + } + else + { + $this->error="Error ".$this->db->lasterror(); + dol_syslog(get_class($this)."::fetch ".$this->error, LOG_ERR); + return -1; + } + } + /** + * Return all batch detail records for given product and warehouse + * + * @param obj $db database object + * @param int $fk_product_stck id product_stock for objet + * @param int $with_qty doesn't return line with 0 quantity + * @return int <0 if KO, >0 if OK + */ + public static function findAll($db,$fk_product_stock,$with_qty=0) + { + global $langs; + $ret = array(); + $sql = "SELECT"; + $sql.= " t.rowid,"; + $sql.= " t.tms,"; + $sql.= " t.fk_product_stock,"; + $sql.= " t.sellby,"; + $sql.= " t.eatby,"; + $sql.= " t.batch,"; + $sql.= " t.qty,"; + $sql.= " t.import_key"; + + + $sql.= " FROM ".MAIN_DB_PREFIX.self::$table_element." as t"; + $sql.= " WHERE fk_product_stock=".$fk_product_stock; + + if ($with_qty) $sql.= " AND qty<>0"; + dol_syslog("productbatch::findAll sql=".$sql, LOG_DEBUG); + $resql=$db->query($sql); + if ($resql) + { + $num = $db->num_rows($resql); + $i=0; + while ($i < $num) + { + $obj = $db->fetch_object($resql); + + $tmp = new productbatch($db); + $tmp->id = $obj->rowid; + $tmp->tms = $db->jdate($obj->tms); + $tmp->fk_product_stock = $obj->fk_product_stock; + $tmp->sellby = $db->jdate($obj->sellby); + $tmp->eatby = $db->jdate($obj->eatby); + $tmp->batch = $obj->batch; + $tmp->qty = $obj->qty; + $tmp->import_key = $obj->import_key; + + array_push($ret,$tmp); + $i++; + } + $db->free($resql); + + return $ret; + } + else + { + $error="Error ".$db->lasterror(); + dol_syslog("productbatch::find_all ".$error, LOG_ERR); + return -1; + } + } + +} +?> diff --git a/htdocs/product/stock/class/mouvementstock.class.php b/htdocs/product/stock/class/mouvementstock.class.php index 2652c7c45bd..01537e0be18 100644 --- a/htdocs/product/stock/class/mouvementstock.class.php +++ b/htdocs/product/stock/class/mouvementstock.class.php @@ -2,6 +2,7 @@ /* Copyright (C) 2003-2006 Rodolphe Quiedeville * Copyright (C) 2005-2013 Laurent Destailleur * Copyright (C) 2011 Jean Heimburger + * Copyright (C) 2014 Cedric GROSS * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -55,9 +56,12 @@ class MouvementStock * @param int $price Unit price HT of product, used to calculate average weighted price (PMP in french). If 0, average weighted price is not changed. * @param string $label Label of stock movement * @param string $datem Force date of movement + * @param date $eatby eat-by date + * @param date $sellby sell-by date + * @param string $batch batch number * @return int <0 if KO, 0 if fk_product is null, >0 if OK */ - function _create($user, $fk_product, $entrepot_id, $qty, $type, $price=0, $label='', $datem='') + function _create($user, $fk_product, $entrepot_id, $qty, $type, $price=0, $label='', $datem='',$eatby='',$sellby='',$batch='',$skip_sellby=false) { global $conf, $langs; @@ -132,6 +136,7 @@ class MouvementStock $num = 1; $oldqtywarehouse = $obj->reel; $oldpmpwarehouse = $obj->pmp; + $fk_product_stock = $obj->rowid; } $this->db->free($resql); } @@ -193,7 +198,17 @@ class MouvementStock $this->error=$this->db->lasterror(); dol_syslog(get_class($this)."::_create ".$this->error, LOG_ERR); $error = -3; + } else if(empty($fk_product_stock)){ + $fk_product_stock = $this->db->last_insert_id(MAIN_DB_PREFIX."product_stock"); } + + } + + // Update detail stock for sell-by date + if (($product->hasbatch()) && (! $error) && (! $skip_sellby)){ + $param_batch=array('fk_product_stock' =>$fk_product_stock, 'eatby'=>$eatby,'sellby'=>$sellby,'batchnumber'=>$batch); + $result=$this->_create_batch($param_batch, $qty); + if ($result<0) $error++; } if (! $error) @@ -314,9 +329,21 @@ class MouvementStock */ function livraison($user, $fk_product, $entrepot_id, $qty, $price=0, $label='', $datem='') { - return $this->_create($user, $fk_product, $entrepot_id, (0 - $qty), 2, $price, $label, $datem); + return $this->_create($user, $fk_product, $entrepot_id, (0 - $qty), 2, $price, $label, $datem,'','','',true); } + /** + * Decrease stock for batch record + * + * @param int $id_stock_dluo Id product_dluo + * @param int $qty Quantity + * @return int <0 if KO, >0 if OK + */ + function livraison_batch($id_stock_dluo, $qty) + { + $ret=$this->_create_batch($id_stock_dluo, (0 - $qty)); + return $ret; + } /** * Increase stock for product and subproducts @@ -327,11 +354,14 @@ class MouvementStock * @param int $qty Quantity * @param int $price Price * @param string $label Label of stock movement + * @param date $eatby eat-by date + * @param date $sellby sell-by date + * @param string $batch batch number * @return int <0 if KO, >0 if OK */ - function reception($user, $fk_product, $entrepot_id, $qty, $price=0, $label='') + function reception($user, $fk_product, $entrepot_id, $qty, $price=0, $label='', $eatby='', $sellby='', $batch='') { - return $this->_create($user, $fk_product, $entrepot_id, $qty, 3, $price, $label); + return $this->_create($user, $fk_product, $entrepot_id, $qty, 3, $price, $label, '', $eatby, $sellby, $batch); } @@ -384,6 +414,58 @@ class MouvementStock return -1; } } + + /** + * Create or update batch record + * + * @param variant $dluo Could be either int if id of product_batch or array with at leat fk_product_stock + * @param int $qty Quantity of product with batch number + */ + function _create_batch($dluo, $qty ) { + $pdluo=New Productbatch($this->db); + + //Try to find an existing record with batch same batch number or id + if (is_numeric($dluo)) { + $result=$pdluo->fetch($dluo); + } else if (is_array($dluo)) { + if (isset($dluo['fk_product_stock'])) { + $vfk_product_stock=$dluo['fk_product_stock']; + $veatby = $dluo['eatby']; + $vsellby = $dluo['sellby']; + $vbatchnumber = $dluo['batchnumber']; + $result = $pdluo->find($vfk_product_stock,$veatby,$vsellby,$vbatchnumber); + } else { + dol_syslog(get_class($this)."::_create_batch array param dluo must contain at least key fk_product_stock".$error, LOG_ERR); + $result = -1; + } + } else { + dol_syslog(get_class($this)."::_create_batch error invalid param dluo".$error, LOG_ERR); + $result = -1; + } + + //batch record found so we update it + if ($result>0) { + if ($pdluo->id >0) { + $pdluo->qty +=$qty; + if ($pdluo->qty == 0) { + $result=$pdluo->delete(0,1); + } else { + $result=$pdluo->update(0,1); + } + } else { + $pdluo->fk_product_stock=$vfk_product_stock; + $pdluo->qty = $qty; + $pdluo->eatby = $veatby; + $pdluo->sellby = $vsellby; + $pdluo->batch = $vbatchnumber; + $result=$pdluo->create(0,1); + } + return $result; + } else { + return -1; + } + + } } ?> diff --git a/htdocs/product/stock/product.php b/htdocs/product/stock/product.php index 3d7acc0661b..734cee336f0 100644 --- a/htdocs/product/stock/product.php +++ b/htdocs/product/stock/product.php @@ -6,6 +6,7 @@ * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2013 Cédric Salvador * Copyright (C) 2013 Juanjo Menent + * Copyright (C) 2014 Cédric Gross * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -32,11 +33,14 @@ require_once DOL_DOCUMENT_ROOT.'/product/stock/class/entrepot.class.php'; require_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/product.lib.php'; require_once DOL_DOCUMENT_ROOT.'/product/class/html.formproduct.class.php'; +if (! empty($conf->productbatch->enabled)) require_once DOL_DOCUMENT_ROOT.'/product/class/productbatch.class.php'; $langs->load("products"); $langs->load("orders"); $langs->load("bills"); $langs->load("stocks"); +if (! empty($conf->productbatch->enabled)) $langs->load("productbatch"); + $action=GETPOST("action"); $cancel=GETPOST('cancel'); @@ -99,14 +103,42 @@ if ($action == "correct_stock" && ! $cancel) $action='correction'; } + if (! empty($conf->productbatch->enabled)) + { + $product = new Product($db); + $result=$product->fetch($id); + + if ($product->hasbatch() && (! GETPOST("sellby")) && (! GETPOST("eatby")) && (! GETPOST("batch_number"))) { + setEventMessage($langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("atleast1batchfield")), 'errors'); + $error++; + $action='correction'; + } + } + if (! $error) { $priceunit=price2num(GETPOST("price")); if (is_numeric(GETPOST("nbpiece")) && $id) { + if (empty($product)) { $product = new Product($db); $result=$product->fetch($id); - + } + if ($product->hasbatch()) { + $d_eatby=dol_mktime(12, 0 , 0, $_POST['eatbymonth'], $_POST['eatbyday'], $_POST['eatbyyear']); + $d_sellby=dol_mktime(12, 0 , 0, $_POST['sellbymonth'], $_POST['sellbyday'], $_POST['sellbyyear']); + $result=$product->correct_stock_batch( + $user, + GETPOST("id_entrepot"), + GETPOST("nbpiece"), + GETPOST("mouvement"), + GETPOST("label"), + $priceunit, + $d_eatby, + $d_sellby, + GETPOST('batch_number') + ); // We do not change value of stock for a correction + } else { $result=$product->correct_stock( $user, GETPOST("id_entrepot"), @@ -115,6 +147,7 @@ if ($action == "correct_stock" && ! $cancel) GETPOST("label"), $priceunit ); // We do not change value of stock for a correction + } if ($result > 0) { @@ -246,6 +279,12 @@ if ($id > 0 || $ref) print $product->getLibStatut(2,1); print ''; + if ($conf->productbatch->enabled) { + print ''; + } + // PMP print ''; print ''; @@ -405,7 +444,7 @@ if ($id > 0 || $ref) // Warehouse print ''; - print ''; + print ''; print ''; @@ -419,13 +458,26 @@ if ($id > 0 || $ref) // Label print ''; - print ''; + print ''; print ''; print ''; print ''; + //eat-by date + if ((! empty($conf->productbatch->enabled)) && $product->hasbatch()) { + print ''; + print ''; + print ''; + print ''; + } print '
'; @@ -2958,7 +2983,7 @@ if ($action == 'create') { print ' '; } print '
'; print ''; - + // Amount print ''; print ''; print ''; print ''; - + // Amount Local Taxes if ($mysoc->localtax1_assuj == "1" && $mysoc->useLocalTax(1)) // Localtax1 (example RE) { @@ -2992,7 +3017,7 @@ if ($action == 'create') { print ''; print ''; } - + // Revenue stamp if ($selleruserevenustamp) // Test company use revenue stamp { @@ -3017,20 +3042,20 @@ if ($action == 'create') { } print ''; } - + // Total with tax print ''; - + // Statut print ''; print ''; - + // Project if (! empty($conf->projet->enabled)) { $langs->load('projects'); print ''; print ''; print ''; } - + // Other attributes (TODO Move this into an include) $res = $object->fetch_optionals($object->id, $extralabels); $parameters = array('colspan' => ' colspan="2"'); $reshook = $hookmanager->executeHooks('formObjectOptions', $parameters, $object, $action); // Note that $action and $object may have been modified by // hook if (empty($reshook) && ! empty($extrafields->attribute_label)) { - + foreach ($extrafields->attribute_label as $key => $label) { if ($action == 'edit_extras') { $value = (isset($_POST ["options_" . $key]) ? $_POST ["options_" . $key] : $object->array_options ["options_" . $key]); @@ -3075,16 +3100,16 @@ if ($action == 'create') { if (in_array($extrafields->attribute_type [$key], array('date','datetime'))) { $value = isset($_POST ["options_" . $key]) ? dol_mktime($_POST ["options_" . $key . "hour"], $_POST ["options_" . $key . "min"], 0, $_POST ["options_" . $key . "month"], $_POST ["options_" . $key . "day"], $_POST ["options_" . $key . "year"]) : $db->jdate($object->array_options ['options_' . $key]); } - + if ($action == 'edit_extras' && $user->rights->facture->creer && GETPOST('attribute') == $key) { print ''; print ''; print ''; print ''; print ''; - + print $extrafields->showInputField($key, $value); - + print ''; print ''; } else { @@ -3096,75 +3121,75 @@ if ($action == 'create') { } } } - + print '
'; @@ -2974,13 +2999,13 @@ if ($action == 'create') { $form->form_modes_reglement($_SERVER ['PHP_SELF'] . '?facid=' . $object->id, $object->mode_reglement_id, 'none'); } print '
' . $langs->trans('AmountHT') . '' . price($object->total_ht, 1, '', 1, - 1, - 1, $conf->currency) . '
' . $langs->trans('AmountVAT') . '' . price($object->total_tva, 1, '', 1, - 1, - 1, $conf->currency) . '
' . $langs->transcountry("AmountLT2", $mysoc->country_code) . '' . price($object->total_localtax2, 1, '', 1, - 1, - 1, $conf->currency) . '
' . $langs->trans('AmountTTC') . '' . price($object->total_ttc, 1, '', 1, - 1, - 1, $conf->currency) . '
' . $langs->trans('Status') . '' . ($object->getLibStatut(4, $totalpaye)) . '
'; - + print ''; @@ -3040,7 +3065,7 @@ if ($action == 'create') { print ''; } print '
'; print $langs->trans('Project'); print '
'; - + print '
'; if ($action == 'classify') { $form->form_project($_SERVER ['PHP_SELF'] . '?facid=' . $object->id, $object->socid, $object->fk_project, 'projectid'); @@ -3050,14 +3075,14 @@ if ($action == 'create') { print '

'; - + if (! empty($conf->global->MAIN_DISABLE_CONTACTS_TAB)) { $blocname = 'contacts'; $title = $langs->trans('ContactsAddresses'); include DOL_DOCUMENT_ROOT . '/core/tpl/bloc_showhide.tpl.php'; } - + if (! empty($conf->global->MAIN_DISABLE_NOTES_TAB)) { $blocname = 'notes'; $title = $langs->trans('Notes'); include DOL_DOCUMENT_ROOT . '/core/tpl/bloc_showhide.tpl.php'; } - + // Lines $result = $object->getLinesArray(); - + print '
'; - + if (! empty($conf->use_javascript_ajax) && $object->statut == 0) { include DOL_DOCUMENT_ROOT . '/core/tpl/ajaxrow.tpl.php'; } - + print ''; - + // Show object lines if (! empty($object->lines)) $ret = $object->printObjectLines($action, $mysoc, $soc, $lineid, 1); - + // Form to add new line if ($object->statut == 0 && $user->rights->facture->creer && $action != 'valid' && $action != 'editline') { $var = true; - + if ($conf->global->MAIN_FEATURES_LEVEL > 1) { // Add free or predefined products/services $object->formAddObjectLine(1, $mysoc, $soc); } else { // Add free products/services $object->formAddFreeProduct(1, $mysoc, $soc); - + // Add predefined products/services if (! empty($conf->product->enabled) || ! empty($conf->service->enabled)) { $var = ! $var; $object->formAddPredefinedProduct(1, $mysoc, $soc); } } - + $parameters = array(); $reshook = $hookmanager->executeHooks('formAddObjectLine', $parameters, $object, $action); // Note that $action and $object may have been modified by // hook } - + print "
\n"; - + print "
\n"; - + dol_fiche_end(); - + // Boutons actions - + if ($action != 'prerelance' && $action != 'presend' && $action != 'valid' && $action != 'editline') { print '
'; - + $parameters = array(); $reshook = $hookmanager->executeHooks('addMoreActionsButtons', $parameters, $object, $action); // Note that $action and $object may have been // modified by hook @@ -3173,7 +3198,7 @@ if ($action == 'create') { if ($object->statut == 1) { // On verifie si les lignes de factures ont ete exportees en compta et/ou ventilees $ventilExportCompta = $object->getVentilExportCompta(); - + if ($resteapayer == $object->total_ttc && $object->paye == 0 && $ventilExportCompta == 0) { if (! $objectidnext) { if ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && $user->rights->facture->valider) || $user->rights->facture->invoice_advance->unvalidate) { @@ -3186,7 +3211,7 @@ if ($action == 'create') { } } } - + // Reopen a standard paid invoice if (($object->type == Facture::TYPE_STANDARD || $object->type == Facture::TYPE_REPLACEMENT) && ($object->statut == Facture::TYPE_CREDIT_NOTE || $object->statut == Facture::TYPE_DEPOSIT) && $user->rights->facture->creer) // A paid // invoice @@ -3200,14 +3225,14 @@ if ($action == 'create') { print '
' . $langs->trans('ReOpen') . '
'; } } - + // Validate if ($object->statut == 0 && count($object->lines) > 0 && ((($object->type == Facture::TYPE_STANDARD || $object->type == Facture::TYPE_REPLACEMENT || $object->type == Facture::TYPE_DEPOSIT || $object->type == Facture::TYPE_PROFORMA) && (! empty($conf->global->FACTURE_ENABLE_NEGATIVE) || $object->total_ttc >= 0)) || ($object->type == Facture::TYPE_CREDIT_NOTE && $object->total_ttc <= 0))) { if ($user->rights->facture->valider) { print ''; } } - + // Send by mail if (($object->statut == 1 || $object->statut == 2)) { if ($objectidnext) { @@ -3219,7 +3244,7 @@ if ($action == 'create') { print ''; } } - + if (! empty($conf->global->FACTURE_SHOW_SEND_REMINDER)) // For backward compatibility { if (($object->statut == 1 || $object->statut == 2) && $resteapayer > 0) { @@ -3233,7 +3258,7 @@ if ($action == 'create') { } } } - + // Create payment if ($object->type != Facture::TYPE_CREDIT_NOTE && $object->statut == 1 && $object->paye == 0 && $user->rights->facture->paiement) { if ($objectidnext) { @@ -3246,7 +3271,7 @@ if ($action == 'create') { } } } - + // Reverse back money or convert to reduction if ($object->type == Facture::TYPE_CREDIT_NOTE || $object->type == Facture::TYPE_DEPOSIT) { // For credit note only @@ -3262,12 +3287,12 @@ if ($action == 'create') { print ''; } } - + // Classify paid (if not deposit and not credit note. Such invoice are "converted") if ($object->statut == 1 && $object->paye == 0 && $user->rights->facture->paiement && (($object->type != Facture::TYPE_CREDIT_NOTE && $object->type != Facture::TYPE_DEPOSIT && $resteapayer <= 0) || ($object->type == Facture::TYPE_CREDIT_NOTE && $resteapayer >= 0))) { print ''; } - + // Classify 'closed not completely paid' (possible si validee et pas encore classee payee) if ($object->statut == 1 && $object->paye == 0 && $resteapayer > 0 && $user->rights->facture->paiement) { if ($totalpaye > 0 || $totalcreditnotes > 0) { @@ -3281,19 +3306,19 @@ if ($action == 'create') { } } } - + // Clone if (($object->type == Facture::TYPE_STANDARD || $object->type == Facture::TYPE_DEPOSIT || $object->type == Facture::TYPE_PROFORMA) && $user->rights->facture->creer) { print ''; } - + // Clone as predefined if (($object->type == Facture::TYPE_STANDARD || $object->type == Facture::TYPE_DEPOSIT || $object->type == Facture::TYPE_PROFORMA) && $object->statut == 0 && $user->rights->facture->creer) { if (! $objectidnext) { print ''; } } - + // Delete if ($user->rights->facture->supprimer) { if (! $object->is_erasable()) { @@ -3308,44 +3333,44 @@ if ($action == 'create') { } else { print ''; } - + print '
'; } } print '
'; - + if ($action != 'prerelance' && $action != 'presend') { print '
'; print ''; // ancre - + // Documents generes $filename = dol_sanitizeFileName($object->ref); $filedir = $conf->facture->dir_output . '/' . dol_sanitizeFileName($object->ref); $urlsource = $_SERVER ['PHP_SELF'] . '?facid=' . $object->id; $genallowed = $user->rights->facture->creer; $delallowed = $user->rights->facture->supprimer; - + print $formfile->showdocuments('facture', $filename, $filedir, $urlsource, $genallowed, $delallowed, $object->modelpdf, 1, 0, 0, 28, 0, '', '', '', $soc->default_lang); $somethingshown = $formfile->numoffiles; - + // Linked object block $somethingshown = $object->showLinkedObjectBlock(); - + if (empty($somethingshown) && $object->statut > 0) { print '
' . $langs->trans('LinkedOrder') . ''; - + print ''; } - + // Link for paypal payment if (! empty($conf->paypal->enabled) && $object->statut != 0) { include_once DOL_DOCUMENT_ROOT . '/paypal/lib/paypal.lib.php'; print showPaypalPaymentUrl('invoice', $object->ref); } - + print '
'; - + // List of actions on element include_once DOL_DOCUMENT_ROOT . '/core/class/html.formactions.class.php'; $formactions = new FormActions($db); $somethingshown = $formactions->showactions($object, 'invoice', $socid); - + print '
'; } else { /* * Affiche formulaire mail */ - + // By default if $action=='presend' $titreform = 'SendBillByMail'; $topicmail = 'SendBillRef'; $modelmail = 'facture_send'; - + if ($action == 'prerelance') // For backward compatibility { $titrefrom = 'SendReminderBillByMail'; @@ -3415,12 +3440,12 @@ if ($action == 'create') { $action = 'relance'; } else $action = 'send'; - + $ref = dol_sanitizeFileName($object->ref); include_once DOL_DOCUMENT_ROOT . '/core/lib/files.lib.php'; $fileparams = dol_most_recent_file($conf->facture->dir_output . '/' . $ref, preg_quote($ref, '/')); $file = $fileparams ['fullname']; - + // Build document if it not exists if (! $file || ! is_readable($file)) { // Define output language @@ -3434,7 +3459,7 @@ if ($action == 'create') { $outputlangs = new Translate("", $conf); $outputlangs->setDefaultLang($newlang); } - + $result = facture_pdf_create($db, $object, GETPOST('model') ? GETPOST('model') : $object->modelpdf, $outputlangs, $hidedetails, $hidedesc, $hideref); if ($result <= 0) { dol_print_error($db, $result); @@ -3443,10 +3468,10 @@ if ($action == 'create') { $fileparams = dol_most_recent_file($conf->facture->dir_output . '/' . $ref, preg_quote($ref, '/')); $file = $fileparams ['fullname']; } - + print '
'; print_titre($langs->trans($titreform)); - + // Cree l'objet formulaire mail include_once DOL_DOCUMENT_ROOT . '/core/class/html.formmail.class.php'; $formmail = new FormMail($db); @@ -3477,43 +3502,43 @@ if ($action == 'create') { $formmail->substit ['__REFCLIENT__'] = $object->ref_client; $formmail->substit ['__PERSONALIZED__'] = ''; $formmail->substit ['__CONTACTCIVNAME__'] = ''; - + // Find the good contact adress $custcontact = ''; $contactarr = array(); $contactarr = $object->liste_contact(- 1, 'external'); - + if (is_array($contactarr) && count($contactarr) > 0) { foreach ($contactarr as $contact) { if ($contact ['libelle'] == $langs->trans('TypeContact_facture_external_BILLING')) { - + require_once DOL_DOCUMENT_ROOT . '/contact/class/contact.class.php'; - + $contactstatic = new Contact($db); $contactstatic->fetch($contact ['id']); $custcontact = $contactstatic->getFullName($langs, 1); } } - + if (! empty($custcontact)) { $formmail->substit ['__CONTACTCIVNAME__'] = $custcontact; } } - + // Tableau des parametres complementaires du post $formmail->param ['action'] = $action; $formmail->param ['models'] = $modelmail; $formmail->param ['facid'] = $object->id; $formmail->param ['returnurl'] = $_SERVER ["PHP_SELF"] . '?id=' . $object->id; - + // Init list of files if (GETPOST("mode") == 'init') { $formmail->clear_attached_files(); $formmail->add_attached_files($file, basename($file), dol_mimetype($file)); } - + print $formmail->get_form(); - + print '
'; } } From 7d7a72b8f10ea25fb7cd4a21abcf099e677efe02 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 1 Mar 2014 20:02:35 +0100 Subject: [PATCH 071/293] More interactive autoselect of fields --- htdocs/compta/facture.php | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/htdocs/compta/facture.php b/htdocs/compta/facture.php index 447c2b4385e..384aa361e61 100644 --- a/htdocs/compta/facture.php +++ b/htdocs/compta/facture.php @@ -1792,7 +1792,7 @@ if ($action == 'create') $absolute_discount = $soc->getAvailableDiscounts(); if (! empty($conf->use_javascript_ajax)) { - //print ajax_combobox('fac_replacement'); + print ajax_combobox('fac_replacement'); print ajax_combobox('fac_avoir'); } @@ -1997,11 +1997,18 @@ if ($action == 'create') { // Credit note print '
'; - print ''; print ''; + print ''; $text = $langs->transnoentities("InvoiceAvoirAsk") . ' '; // $text.=''; $text .= '
'.$langs->trans("PlannedWorkload").''; - print $form->select_duration('planned_workload',$object->planned_workload,0,'text'); + print $form->select_duration('planned_workload', $planned_workload?$planned_workload : $object->planned_workload,0,'text'); print '
-#phP3>+cq*9#% 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

CvfN;I(31u67A<#Pmf|v;ZGEkcM=g@ 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 NDq0W9?>~O={{Xt88}|SJ diff --git a/doc/images/dolibarr_screenshot3_1280x800.png b/doc/images/dolibarr_screenshot3_1280x800.png new file mode 100644 index 0000000000000000000000000000000000000000..4cfa7f8e678769d4bb13f8ab68308001dde4aa11 GIT binary patch literal 157356 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

9WeSmDlntn7+PdzASVV=T4%M5H06wGT&92 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 diff --git a/doc/images/dolibarr_screenshot4_1280x800.png b/doc/images/dolibarr_screenshot4_1280x800.png new file mode 100644 index 0000000000000000000000000000000000000000..e9ba316f1de0be075e9c4846ea8fc45ad6a57f94 GIT binary patch literal 175418 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 m4xMrW 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 F{{Zxv;->%r literal 0 HcmV?d00001 diff --git a/doc/images/dolibarr_screenshot9.png b/doc/images/dolibarr_screenshot9.png deleted file mode 100644 index 00644aaf6829e832cfebc70e1245d583ce078ff2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 179552 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�pC4F0oh5Ix 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 z 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%0A$SF- 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�x+&zMiV_drUxtDPiTm?h6#67S$YIa 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 Date: Mon, 3 Mar 2014 14:11:19 +0100 Subject: [PATCH 080/293] Batch number management step 1 : database modification --- .../install/mysql/migration/3.5.0-3.6.0.sql | 26 +++++++++++++++++ .../tables/llx_expeditiondet_batch.key.sql | 19 +++++++++++++ .../mysql/tables/llx_expeditiondet_batch.sql | 27 ++++++++++++++++++ .../mysql/tables/llx_product_batch.key.sql | 19 +++++++++++++ .../mysql/tables/llx_product_batch.sql | 28 +++++++++++++++++++ 5 files changed, 119 insertions(+) mode change 100755 => 100644 htdocs/install/mysql/migration/3.5.0-3.6.0.sql create mode 100644 htdocs/install/mysql/tables/llx_expeditiondet_batch.key.sql create mode 100644 htdocs/install/mysql/tables/llx_expeditiondet_batch.sql create mode 100644 htdocs/install/mysql/tables/llx_product_batch.key.sql create mode 100644 htdocs/install/mysql/tables/llx_product_batch.sql diff --git a/htdocs/install/mysql/migration/3.5.0-3.6.0.sql b/htdocs/install/mysql/migration/3.5.0-3.6.0.sql old mode 100755 new mode 100644 index 0a845dc76f8..9240cfe49b4 --- a/htdocs/install/mysql/migration/3.5.0-3.6.0.sql +++ b/htdocs/install/mysql/migration/3.5.0-3.6.0.sql @@ -1010,3 +1010,29 @@ create table llx_product_customer_price_log fk_user integer, import_key varchar(14) -- Import key )ENGINE=innodb; + +--Batch number managment +ALTER TABLE llx_product ADD COLUMN tobatch tinyint DEFAULT 0 NOT NULL; + +CREATE TABLE IF NOT EXISTS `llx_product_batch` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_product_stock` int(11) NOT NULL, + `eatby` datetime DEFAULT NULL, + `sellby` datetime DEFAULT NULL, + `batch` varchar(30) DEFAULT NULL, + `qty` double NOT NULL DEFAULT '0', + `import_key` varchar(14) DEFAULT NULL, + KEY `ix_fk_product_stock` (`fk_product_stock`) +) ENGINE=InnoDB; + +CREATE TABLE IF NOT EXISTS `llx_expeditiondet_batch` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, + `fk_expeditiondet` int(11) NOT NULL, + `eatby` date DEFAULT NULL, + `sellby` date DEFAULT NULL, + `batch` varchar(30) DEFAULT NULL, + `qty` double NOT NULL DEFAULT '0', + `fk_origin_stock` int(11) NOT NULL, + KEY `ix_fk_expeditiondet` (`fk_expeditiondet`) +) ENGINE=InnoDB; \ No newline at end of file diff --git a/htdocs/install/mysql/tables/llx_expeditiondet_batch.key.sql b/htdocs/install/mysql/tables/llx_expeditiondet_batch.key.sql new file mode 100644 index 00000000000..2c5428d6224 --- /dev/null +++ b/htdocs/install/mysql/tables/llx_expeditiondet_batch.key.sql @@ -0,0 +1,19 @@ +-- ============================================================================ +-- Copyright (C) 2014 Cédric GROSS +-- +-- This program is free software; you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- the Free Software Foundation; either version 3 of the License, or +-- (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. +-- +-- You should have received a copy of the GNU General Public License +-- along with this program. If not, see . +-- +-- ============================================================================ +ALTER TABLE llx_expeditiondet_batch ADD INDEX ix_fk_expeditiondet (fk_expeditiondet); +ALTER TABLE llx_expeditiondet_batch ADD CONSTRAINT fk_expeditiondet_batch_fk_expeditiondet FOREIGN KEY (fk_expeditiondet) REFERENCES llx_expeditiondet (rowid) ON DELETE CASCADE; diff --git a/htdocs/install/mysql/tables/llx_expeditiondet_batch.sql b/htdocs/install/mysql/tables/llx_expeditiondet_batch.sql new file mode 100644 index 00000000000..abe5590328f --- /dev/null +++ b/htdocs/install/mysql/tables/llx_expeditiondet_batch.sql @@ -0,0 +1,27 @@ +-- ============================================================================ +-- Copyright (C) 2014 Cédric GROSS +-- +-- This program is free software; you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- the Free Software Foundation; either version 3 of the License, or +-- (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. +-- +-- You should have received a copy of the GNU General Public License +-- along with this program. If not, see . +-- +-- ============================================================================ +CREATE TABLE llx_expeditiondet_batch ( + `rowid` int NOT NULL AUTO_INCREMENT PRIMARY KEY, + `fk_expeditiondet` int NOT NULL, + `eatby` date DEFAULT NULL, + `sellby` date DEFAULT NULL, + `batch` varchar(30) DEFAULT NULL, + `qty` double NOT NULL DEFAULT '0', + `fk_origin_stock` int NOT NULL +) ENGINE=InnoDB; + diff --git a/htdocs/install/mysql/tables/llx_product_batch.key.sql b/htdocs/install/mysql/tables/llx_product_batch.key.sql new file mode 100644 index 00000000000..6c184f2e1b3 --- /dev/null +++ b/htdocs/install/mysql/tables/llx_product_batch.key.sql @@ -0,0 +1,19 @@ +-- ============================================================================ +-- Copyright (C) 2014 Cédric GROSS +-- +-- This program is free software; you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- the Free Software Foundation; either version 3 of the License, or +-- (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. +-- +-- You should have received a copy of the GNU General Public License +-- along with this program. If not, see . +-- +-- ============================================================================ +ALTER TABLE llx_product_batch ADD INDEX ix_fk_product_stock (fk_product_stock); +ALTER TABLE llx_product_batch ADD CONSTRAINT fk_product_batch_fk_product_stock FOREIGN KEY (fk_product_stock) REFERENCES llx_product_stock (rowid) ON DELETE CASCADE; diff --git a/htdocs/install/mysql/tables/llx_product_batch.sql b/htdocs/install/mysql/tables/llx_product_batch.sql new file mode 100644 index 00000000000..2d6df675cf8 --- /dev/null +++ b/htdocs/install/mysql/tables/llx_product_batch.sql @@ -0,0 +1,28 @@ +-- ============================================================================ +-- Copyright (C) 2014 Cédric GROSS +-- +-- This program is free software; you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- the Free Software Foundation; either version 3 of the License, or +-- (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. +-- +-- You should have received a copy of the GNU General Public License +-- along with this program. If not, see . +-- +-- ============================================================================ +CREATE TABLE `llx_product_batch` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_product_stock` int(11) NOT NULL, + `eatby` datetime DEFAULT NULL, + `sellby` datetime DEFAULT NULL, + `batch` varchar(30) DEFAULT NULL, + `qty` double NOT NULL DEFAULT 0, + `import_key` varchar(14) DEFAULT NULL +) ENGINE=InnoDB; + From ba90565982b24276cfa8adbfcbf1a7ba64c03415 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Mon, 3 Mar 2014 19:08:13 +0100 Subject: [PATCH 081/293] Removed hard coded value of version from makepack-dolibarr.pl script. --- build/makepack-dolibarr.pl | 35 ++++++++++++++++++++++------------- build/makepack-howto.txt | 2 -- 2 files changed, 22 insertions(+), 15 deletions(-) diff --git a/build/makepack-dolibarr.pl b/build/makepack-dolibarr.pl index 2ed7b860b28..7545912588d 100755 --- a/build/makepack-dolibarr.pl +++ b/build/makepack-dolibarr.pl @@ -16,9 +16,6 @@ use Cwd; $PROJECT="dolibarr"; -$MAJOR="3"; -$MINOR="5"; -$BUILD="1"; # Mettre x pour release, x-dev pour dev, x-beta pour beta, x-rc pour release candidate $RPMSUBVERSION="auto"; # auto use value found into BUILD @LISTETARGET=("TGZ","ZIP","RPM_GENERIC","RPM_FEDORA","RPM_MANDRIVA","RPM_OPENSUSE","DEB","APS","EXEDOLIWAMP","SNAPSHOT"); # Possible packages @@ -40,15 +37,6 @@ $RPMSUBVERSION="auto"; # auto use value found into BUILD "makensis.exe"=>"NSIS" ); -$FILENAME="$PROJECT"; -$FILENAMESNAPSHOT="$PROJECT-snapshot"; -$FILENAMETGZ="$PROJECT-$MAJOR.$MINOR.$BUILD"; -$FILENAMEZIP="$PROJECT-$MAJOR.$MINOR.$BUILD"; -$FILENAMEXZ="$PROJECT-$MAJOR.$MINOR.$BUILD"; -$FILENAMERPM="$PROJECT-$MAJOR.$MINOR.$BUILD-$RPMSUBVERSION"; -$FILENAMEDEB="see later"; -$FILENAMEAPS="$PROJECT-$MAJOR.$MINOR.$BUILD.app"; -$FILENAMEEXEDOLIWAMP="DoliWamp-$MAJOR.$MINOR.$BUILD"; if (-d "/usr/src/redhat") { $RPMDIR="/usr/src/redhat"; } # redhat if (-d "/usr/src/packages") { $RPMDIR="/usr/src/packages"; } # opensuse if (-d "/usr/src/RPM") { $RPMDIR="/usr/src/RPM"; } # mandrake @@ -120,6 +108,28 @@ if (! $TEMP || ! -d $TEMP) { $BUILDROOT="$TEMP/buildroot"; +# Get version $MAJOR, $MINOR and $BUILD +$result = open( IN, "<" . $SOURCE . "/htdocs/filefunc.inc.php" ); +if ( !$result ) { die "Error: Can't open descriptor file " . $SOURCE . "/htdocs/filefunc.inc.php\n"; } +while () { + if ( $_ =~ /define\('DOL_VERSION','([\d\.]+)'\)/ ) { $PROJVERSION = $1; break; } +} +close IN; +($MAJOR,$MINOR,$BUILD)=split(/\./,$PROJVERSION,3); +if ($MINOR eq '') { die "Error can't detect version into ".$SOURCE . "/htdocs/filefunc.inc.php"; } + +# Set vars for packaging +$FILENAME = "$PROJECT"; +$FILENAMESNAPSHOT = "$PROJECT-snapshot"; +$FILENAMETGZ = "$PROJECT-$MAJOR.$MINOR.$BUILD"; +$FILENAMEZIP = "$PROJECT-$MAJOR.$MINOR.$BUILD"; +$FILENAMEXZ = "$PROJECT-$MAJOR.$MINOR.$BUILD"; +$FILENAMERPM = "$PROJECT-$MAJOR.$MINOR.$BUILD-$RPMSUBVERSION"; +$FILENAMEDEB = "see later"; +$FILENAMEAPS = "$PROJECT-$MAJOR.$MINOR.$BUILD.app"; +$FILENAMEEXEDOLIWAMP = "DoliWamp-$MAJOR.$MINOR.$BUILD"; + + my $copyalreadydone=0; # Use "-" before number of choice to avoid copy my $batch=0; for (0..@ARGV-1) { @@ -133,7 +143,6 @@ for (0..@ARGV-1) { if ($ENV{"DESTIBETARC"} && $BUILD =~ /[a-z]/i) { $DESTI = $ENV{"DESTIBETARC"}; } # Force output dir if env DESTI is defined if ($ENV{"DESTISTABLE"} && $BUILD =~ /^[0-9]+$/) { $DESTI = $ENV{"DESTISTABLE"}; } # Force output dir if env DESTI is defined - print "Makepack version $VERSION\n"; print "Building package name: $PROJECT\n"; print "Building package version: $MAJOR.$MINOR.$BUILD\n"; diff --git a/build/makepack-howto.txt b/build/makepack-howto.txt index 5a130227945..dc149c5e0b8 100644 --- a/build/makepack-howto.txt +++ b/build/makepack-howto.txt @@ -10,7 +10,6 @@ beta version of Dolibarr, step by step. - Check all files are commited. - Update version/info in /ChangeLog - Update version number with x.y.z-w in htdocs/filefunc.inc.php -- Update version number with x.y.z-w in build/makepack-dolibarr.pl - Update version number with x.y.z-w in build/debian/changelog - Update version number with x.y.z-w in build/exe/doliwamp/doliwamp.iss - Update version number with x.y.z-w in build/rpm/*.spec @@ -34,7 +33,6 @@ complete release of Dolibarr, step by step. - Check all files are commited. - Update version/info in ChangeLog - Update version number with x.y.z in htdocs/filefunc.inc.php -- Update version number with x.y.z in build/makepack-dolibarr.pl - Update version number with x.y.z in build/debian/changelog - Update version number with x.y.z in build/exe/doliwamp/doliwamp.iss - Update version number with x.y.z in build/rpm/*.spec From b2d9fac9932f491f546c46e515873a6d8cfb11ab Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Mon, 3 Mar 2014 19:39:44 +0100 Subject: [PATCH 082/293] More complete sql file --- dev/initdata/mysqldump_dolibarr_3.6.0.sql | 50 +++++++++++------------ 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/dev/initdata/mysqldump_dolibarr_3.6.0.sql b/dev/initdata/mysqldump_dolibarr_3.6.0.sql index be2792d89e7..3d012f7225a 100644 --- a/dev/initdata/mysqldump_dolibarr_3.6.0.sql +++ b/dev/initdata/mysqldump_dolibarr_3.6.0.sql @@ -172,7 +172,7 @@ CREATE TABLE `llx_actioncomm` ( KEY `idx_actioncomm_datea` (`datea`), KEY `idx_actioncomm_fk_soc` (`fk_soc`), KEY `idx_actioncomm_fk_contact` (`fk_contact`) -) ENGINE=InnoDB AUTO_INCREMENT=220 DEFAULT CHARSET=utf8; +) ENGINE=InnoDB AUTO_INCREMENT=232 DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -181,7 +181,7 @@ CREATE TABLE `llx_actioncomm` ( LOCK TABLES `llx_actioncomm` WRITE; /*!40000 ALTER TABLE `llx_actioncomm` DISABLE KEYS */; -INSERT INTO `llx_actioncomm` VALUES (1,NULL,1,'2010-07-08 14:21:44','2010-07-08 14:21:44',NULL,NULL,50,NULL,'Company AAA and Co added into Dolibarr','2010-07-08 14:21:44','2010-07-08 12:21:44',1,NULL,NULL,1,NULL,0,NULL,NULL,1,0,0,1,100,'',NULL,NULL,'Company AAA and Co added into Dolibarr\nAuthor: admin',NULL,NULL),(2,NULL,1,'2010-07-08 14:23:48','2010-07-08 14:23:48',NULL,NULL,50,NULL,'Company Belin SARL added into Dolibarr','2010-07-08 14:23:48','2010-07-08 12:23:48',1,NULL,NULL,2,NULL,0,NULL,NULL,1,0,0,1,100,'',NULL,NULL,'Company Belin SARL added into Dolibarr\nAuthor: admin',NULL,NULL),(3,NULL,1,'2010-07-08 22:42:12','2010-07-08 22:42:12',NULL,NULL,50,NULL,'Company Spanish Comp added into Dolibarr','2010-07-08 22:42:12','2010-07-08 20:42:12',1,NULL,NULL,3,NULL,0,NULL,NULL,1,0,0,1,100,'',NULL,NULL,'Company Spanish Comp added into Dolibarr\nAuthor: admin',NULL,NULL),(4,NULL,1,'2010-07-08 22:48:18','2010-07-08 22:48:18',NULL,NULL,50,NULL,'Company Prospector Vaalen added into Dolibarr','2010-07-08 22:48:18','2010-07-08 20:48:18',1,NULL,NULL,4,NULL,0,NULL,NULL,1,0,0,1,100,'',NULL,NULL,'Company Prospector Vaalen added into Dolibarr\nAuthor: admin',NULL,NULL),(5,NULL,1,'2010-07-08 23:22:57','2010-07-08 23:22:57',NULL,NULL,50,NULL,'Company NoCountry Co added into Dolibarr','2010-07-08 23:22:57','2010-07-08 21:22:57',1,NULL,NULL,5,NULL,0,NULL,NULL,1,0,0,1,100,'',NULL,NULL,'Company NoCountry Co added into Dolibarr\nAuthor: admin',NULL,NULL),(6,NULL,1,'2010-07-09 00:15:09','2010-07-09 00:15:09',NULL,NULL,50,NULL,'Company Swiss customer added into Dolibarr','2010-07-09 00:15:09','2010-07-08 22:15:09',1,NULL,NULL,6,NULL,0,NULL,NULL,1,0,0,1,100,'',NULL,NULL,'Company Swiss customer added into Dolibarr\nAuthor: admin',NULL,NULL),(7,NULL,1,'2010-07-09 01:24:26','2010-07-09 01:24:26',NULL,NULL,50,NULL,'Company Generic customer added into Dolibarr','2010-07-09 01:24:26','2010-07-08 23:24:26',1,NULL,NULL,7,NULL,0,NULL,NULL,1,0,0,1,100,'',NULL,NULL,'Company Generic customer added into Dolibarr\nAuthor: admin',NULL,NULL),(8,NULL,1,'2010-07-10 14:54:27','2010-07-10 14:54:27',NULL,NULL,50,NULL,'Société Client salon ajoutée dans Dolibarr','2010-07-10 14:54:27','2010-07-10 12:54:27',1,NULL,NULL,8,NULL,0,NULL,NULL,1,0,0,1,100,'',NULL,NULL,'Société Client salon ajoutée dans Dolibarr\nAuteur: admin',NULL,NULL),(9,NULL,1,'2010-07-10 14:54:44','2010-07-10 14:54:44',NULL,NULL,50,NULL,'Société Client salon invidivdu ajoutée dans Doliba','2010-07-10 14:54:44','2010-07-10 12:54:44',1,NULL,NULL,9,NULL,0,NULL,NULL,1,0,0,1,100,'',NULL,NULL,'Société Client salon invidivdu ajoutée dans Dolibarr\nAuteur: admin',NULL,NULL),(10,NULL,1,'2010-07-10 14:56:10','2010-07-10 14:56:10',NULL,NULL,50,NULL,'Facture FA1007-0001 validée dans Dolibarr','2010-07-10 14:56:10','2011-07-18 17:29:22',1,NULL,NULL,9,NULL,0,NULL,NULL,1,0,0,1,100,'',NULL,NULL,'Facture FA1007-0001 validée dans Dolibarr\nAuteur: admin',1,'invoice'),(11,NULL,1,'2010-07-10 14:58:53','2010-07-10 14:58:53',NULL,NULL,50,NULL,'Facture FA1007-0001 validée dans Dolibarr','2010-07-10 14:58:53','2011-07-18 17:29:22',1,NULL,NULL,9,NULL,0,NULL,NULL,1,0,0,1,100,'',NULL,NULL,'Facture FA1007-0001 validée dans Dolibarr\nAuteur: admin',1,'invoice'),(12,NULL,1,'2010-07-10 15:00:55','2010-07-10 15:00:55',NULL,NULL,50,NULL,'Facture FA1007-0001 passée à payée dans Dolibarr','2010-07-10 15:00:55','2011-07-18 17:29:22',1,NULL,NULL,9,NULL,0,NULL,NULL,1,0,0,1,100,'',NULL,NULL,'Facture FA1007-0001 passée à payée dans Dolibarr\nAuteur: admin',1,'invoice'),(13,NULL,1,'2010-07-10 15:13:08','2010-07-10 15:13:08',NULL,NULL,50,NULL,'Société Smith Vick ajoutée dans Dolibarr','2010-07-10 15:13:08','2010-07-10 13:13:08',1,NULL,NULL,10,NULL,0,NULL,NULL,1,0,0,1,100,'',NULL,NULL,'Société Smith Vick ajoutée dans Dolibarr\nAuteur: admin',NULL,NULL),(14,NULL,1,'2010-07-10 15:21:00','2010-07-10 16:21:00',NULL,NULL,5,NULL,'RDV avec mon chef','2010-07-10 15:21:48','2010-07-10 13:21:48',1,NULL,NULL,NULL,NULL,0,1,NULL,NULL,0,0,1,0,'',3600,NULL,'',NULL,NULL),(15,NULL,1,'2010-07-10 18:18:16','2010-07-10 18:18:16',NULL,NULL,50,NULL,'Contrat CONTRAT1 validé dans Dolibarr','2010-07-10 18:18:16','2010-07-10 16:18:16',1,NULL,NULL,2,NULL,0,NULL,NULL,1,0,0,1,100,'',NULL,NULL,'Contrat CONTRAT1 validé dans Dolibarr\nAuteur: admin',NULL,NULL),(16,NULL,1,'2010-07-10 18:35:57','2010-07-10 18:35:57',NULL,NULL,50,NULL,'Société Mon client ajoutée dans Dolibarr','2010-07-10 18:35:57','2010-07-10 16:35:57',1,NULL,NULL,11,NULL,0,NULL,NULL,1,0,0,1,100,'',NULL,NULL,'Société Mon client ajoutée dans Dolibarr\nAuteur: admin',NULL,NULL),(17,NULL,1,'2010-07-11 16:18:08','2010-07-11 16:18:08',NULL,NULL,50,NULL,'Société Dupont Alain ajoutée dans Dolibarr','2010-07-11 16:18:08','2010-07-11 14:18:08',1,NULL,NULL,12,NULL,0,NULL,NULL,1,0,0,1,100,'',NULL,NULL,'Société Dupont Alain ajoutée dans Dolibarr\nAuteur: admin',NULL,NULL),(18,NULL,1,'2010-07-11 17:11:00','2010-07-11 17:17:00',NULL,NULL,5,NULL,'Rendez-vous','2010-07-11 17:11:22','2010-07-11 15:11:22',1,NULL,NULL,NULL,NULL,0,1,NULL,NULL,0,0,1,0,'gfgdfgdf',360,NULL,'',NULL,NULL),(19,NULL,1,'2010-07-11 17:13:20','2010-07-11 17:13:20',NULL,NULL,50,NULL,'Société Vendeur de chips ajoutée dans Dolibarr','2010-07-11 17:13:20','2010-07-11 15:13:20',1,NULL,NULL,13,NULL,0,NULL,NULL,1,0,0,1,100,'',NULL,NULL,'Société Vendeur de chips ajoutée dans Dolibarr\nAuteur: admin',NULL,NULL),(20,NULL,1,'2010-07-11 17:15:42','2010-07-11 17:15:42',NULL,NULL,50,NULL,'Commande CF1007-0001 validée','2010-07-11 17:15:42','2010-07-11 15:15:42',1,NULL,NULL,13,NULL,0,NULL,NULL,1,0,0,1,100,'',NULL,NULL,'Commande CF1007-0001 validée\nAuteur: admin',NULL,NULL),(21,NULL,1,'2010-07-11 18:47:33','2010-07-11 18:47:33',NULL,NULL,50,NULL,'Commande CF1007-0002 validée','2010-07-11 18:47:33','2010-07-11 16:47:33',1,NULL,NULL,1,NULL,0,NULL,NULL,1,0,0,1,100,'',NULL,NULL,'Commande CF1007-0002 validée\nAuteur: admin',NULL,NULL),(22,NULL,1,'2010-07-18 11:36:18','2010-07-18 11:36:18',NULL,NULL,50,NULL,'Proposition PR1007-0003 validée','2010-07-18 11:36:18','2011-07-18 17:29:22',1,NULL,NULL,4,NULL,0,NULL,NULL,1,0,0,1,100,'',NULL,NULL,'Proposition PR1007-0003 validée\nAuteur: admin',3,'propal'),(23,NULL,1,'2011-07-18 20:49:58','2011-07-18 20:49:58',NULL,NULL,50,NULL,'Invoice FA1007-0002 validated in Dolibarr','2011-07-18 20:49:58','2011-07-18 18:49:58',1,NULL,NULL,2,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1007-0002 validated in Dolibarr\nAuthor: admin',2,'invoice'),(24,NULL,1,'2011-07-28 01:37:00',NULL,NULL,NULL,1,NULL,'Phone call','2011-07-28 01:37:48','2011-07-27 23:37:48',1,NULL,NULL,NULL,2,0,1,NULL,NULL,0,0,1,-1,'',NULL,NULL,'',NULL,NULL),(25,NULL,1,'2011-08-01 02:31:24','2011-08-01 02:31:24',NULL,NULL,50,NULL,'Company mmm added into Dolibarr','2011-08-01 02:31:24','2011-08-01 00:31:24',1,NULL,NULL,15,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Company mmm added into Dolibarr\nAuthor: admin',15,'societe'),(26,NULL,1,'2011-08-01 02:31:43','2011-08-01 02:31:43',NULL,NULL,50,NULL,'Company ppp added into Dolibarr','2011-08-01 02:31:43','2011-08-01 00:31:43',1,NULL,NULL,16,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Company ppp added into Dolibarr\nAuthor: admin',16,'societe'),(27,NULL,1,'2011-08-01 02:41:26','2011-08-01 02:41:26',NULL,NULL,50,NULL,'Company aaa added into Dolibarr','2011-08-01 02:41:26','2011-08-01 00:41:26',1,NULL,NULL,17,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Company aaa added into Dolibarr\nAuthor: admin',17,'societe'),(28,NULL,1,'2011-08-01 03:34:11','2011-08-01 03:34:11',NULL,NULL,50,NULL,'Invoice FA1108-0003 validated in Dolibarr','2011-08-01 03:34:11','2011-08-01 01:34:11',1,NULL,NULL,7,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1108-0003 validated in Dolibarr\nAuthor: admin',5,'invoice'),(29,NULL,1,'2011-08-01 03:34:11','2011-08-01 03:34:11',NULL,NULL,50,NULL,'Invoice FA1108-0003 validated in Dolibarr','2011-08-01 03:34:11','2011-08-01 01:34:11',1,NULL,NULL,7,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1108-0003 changed to paid in Dolibarr\nAuthor: admin',5,'invoice'),(30,NULL,1,'2011-08-06 20:33:54','2011-08-06 20:33:54',NULL,NULL,50,NULL,'Invoice FA1108-0004 validated in Dolibarr','2011-08-06 20:33:54','2011-08-06 18:33:54',1,NULL,NULL,7,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1108-0004 validated in Dolibarr\nAuthor: admin',6,'invoice'),(31,NULL,1,'2011-08-06 20:33:54','2011-08-06 20:33:54',NULL,NULL,50,NULL,'Invoice FA1108-0004 validated in Dolibarr','2011-08-06 20:33:54','2011-08-06 18:33:54',1,NULL,NULL,7,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1108-0004 changed to paid in Dolibarr\nAuthor: admin',6,'invoice'),(38,NULL,1,'2011-08-08 02:41:55','2011-08-08 02:41:55',NULL,NULL,50,NULL,'Invoice FA1108-0005 validated in Dolibarr','2011-08-08 02:41:55','2011-08-08 00:41:55',1,NULL,NULL,2,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1108-0005 validated in Dolibarr\nAuthor: admin',8,'invoice'),(40,NULL,1,'2011-08-08 02:53:40','2011-08-08 02:53:40',NULL,NULL,50,NULL,'Invoice FA1108-0005 changed to paid in Dolibarr','2011-08-08 02:53:40','2011-08-08 00:53:40',1,NULL,NULL,2,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1108-0005 changed to paid in Dolibarr\nAuthor: admin',8,'invoice'),(41,NULL,1,'2011-08-08 02:54:05','2011-08-08 02:54:05',NULL,NULL,50,NULL,'Invoice FA1007-0002 changed to paid in Dolibarr','2011-08-08 02:54:05','2011-08-08 00:54:05',1,NULL,NULL,2,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1007-0002 changed to paid in Dolibarr\nAuthor: admin',2,'invoice'),(42,NULL,1,'2011-08-08 02:55:04','2011-08-08 02:55:04',NULL,NULL,50,NULL,'Invoice FA1107-0006 validated in Dolibarr','2011-08-08 02:55:04','2011-08-08 00:55:04',1,NULL,NULL,10,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1107-0006 validated in Dolibarr\nAuthor: admin',3,'invoice'),(43,NULL,1,'2011-08-08 02:55:26','2011-08-08 02:55:26',NULL,NULL,50,NULL,'Invoice FA1108-0007 validated in Dolibarr','2011-08-08 02:55:26','2011-08-08 00:55:26',1,NULL,NULL,10,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1108-0007 validated in Dolibarr\nAuthor: admin',9,'invoice'),(44,NULL,1,'2011-08-08 02:55:58','2011-08-08 02:55:58',NULL,NULL,50,NULL,'Invoice FA1107-0006 changed to paid in Dolibarr','2011-08-08 02:55:58','2011-08-08 00:55:58',1,NULL,NULL,10,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1107-0006 changed to paid in Dolibarr\nAuthor: admin',3,'invoice'),(45,NULL,1,'2011-08-08 03:04:22','2011-08-08 03:04:22',NULL,NULL,50,NULL,'Order CO1108-0001 validated','2011-08-08 03:04:22','2011-08-08 01:04:22',1,NULL,NULL,1,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Order CO1108-0001 validated\nAuthor: admin',5,'order'),(46,NULL,1,'2011-08-08 13:59:09','2011-08-08 13:59:09',NULL,NULL,50,NULL,'Order CO1107-0002 validated','2011-08-08 13:59:10','2011-08-08 11:59:10',1,NULL,NULL,1,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Order CO1107-0002 validated\nAuthor: admin',1,'order'),(47,NULL,1,'2011-08-08 14:24:18','2011-08-08 14:24:18',NULL,NULL,50,NULL,'Proposal PR1007-0001 validated','2011-08-08 14:24:18','2011-08-08 12:24:18',1,NULL,NULL,2,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Proposal PR1007-0001 validated\nAuthor: admin',1,'propal'),(48,NULL,1,'2011-08-08 14:24:24','2011-08-08 14:24:24',NULL,NULL,50,NULL,'Proposal PR1108-0004 validated','2011-08-08 14:24:24','2011-08-08 12:24:24',1,NULL,NULL,17,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Proposal PR1108-0004 validated\nAuthor: admin',4,'propal'),(49,NULL,1,'2011-08-08 15:04:37','2011-08-08 15:04:37',NULL,NULL,50,NULL,'Order CF1108-0003 validated','2011-08-08 15:04:37','2011-08-08 13:04:37',1,NULL,NULL,17,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Order CF1108-0003 validated\nAuthor: admin',6,'order_supplier'),(50,NULL,1,'2012-12-08 17:56:47','2012-12-08 17:56:47',NULL,NULL,40,NULL,'Facture AV1212-0001 validée dans Dolibarr','2012-12-08 17:56:47','2012-12-08 16:56:47',1,NULL,NULL,10,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture AV1212-0001 validée dans Dolibarr\nAuteur: admin',10,'invoice'),(51,NULL,1,'2012-12-08 17:57:11','2012-12-08 17:57:11',NULL,NULL,40,NULL,'Facture AV1212-0001 validée dans Dolibarr','2012-12-08 17:57:11','2012-12-08 16:57:11',1,NULL,NULL,10,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture AV1212-0001 validée dans Dolibarr\nAuteur: admin',10,'invoice'),(52,NULL,1,'2012-12-08 17:58:27','2012-12-08 17:58:27',NULL,NULL,40,NULL,'Facture FA1212-0008 validée dans Dolibarr','2012-12-08 17:58:27','2012-12-08 16:58:27',1,NULL,NULL,10,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA1212-0008 validée dans Dolibarr\nAuteur: admin',11,'invoice'),(53,NULL,1,'2012-12-08 18:20:49','2012-12-08 18:20:49',NULL,NULL,40,NULL,'Facture AV1212-0002 validée dans Dolibarr','2012-12-08 18:20:49','2012-12-08 17:20:49',1,NULL,NULL,10,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture AV1212-0002 validée dans Dolibarr\nAuteur: admin',12,'invoice'),(54,NULL,1,'2012-12-09 18:35:07','2012-12-09 18:35:07',NULL,NULL,40,NULL,'Facture AV1212-0002 passée à payée dans Dolibarr','2012-12-09 18:35:07','2012-12-09 17:35:07',1,NULL,NULL,10,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture AV1212-0002 passée à payée dans Dolibarr\nAuteur: admin',12,'invoice'),(55,NULL,1,'2012-12-09 20:14:42','2012-12-09 20:14:42',NULL,NULL,40,NULL,'Société doe john ajoutée dans Dolibarr','2012-12-09 20:14:42','2012-12-09 19:14:42',1,NULL,NULL,18,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Société doe john ajoutée dans Dolibarr\nAuteur: admin',18,'societe'),(56,NULL,1,'2012-12-12 18:54:19','2012-12-12 18:54:19',NULL,NULL,40,NULL,'Facture FA1212-0009 validée dans Dolibarr','2012-12-12 18:54:19','2012-12-12 17:54:19',1,NULL,NULL,1,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA1212-0009 validée dans Dolibarr\nAuteur: admin',55,'invoice'),(121,NULL,1,'2012-12-06 10:00:00',NULL,NULL,NULL,50,NULL,'aaab','2012-12-21 17:48:08','2012-12-21 16:54:07',3,1,NULL,NULL,NULL,0,3,NULL,NULL,1,0,1,-1,NULL,NULL,NULL,NULL,NULL,NULL),(122,NULL,1,'2012-12-21 18:09:52','2012-12-21 18:09:52',NULL,NULL,40,NULL,'Facture client FA1007-0001 envoyée par EMail','2012-12-21 18:09:52','2012-12-21 17:09:52',1,NULL,NULL,9,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Mail envoyé par Firstname SuperAdminName à laurent@destailleur.fr.\nSujet du mail: Envoi facture FA1007-0001\nCorps du mail:\nVeuillez trouver ci-joint la facture FA1007-0001\r\n\r\nVous pouvez cliquer sur le lien sécurisé ci-dessous pour effectuer votre paiement via Paypal\r\n\r\nhttp://localhost/dolibarrnew/public/paypal/newpayment.php?source=invoice&ref=FA1007-0001&securekey=50c82fab36bb3b6aa83e2a50691803b2\r\n\r\nCordialement',1,'invoice'),(123,NULL,1,'2013-01-06 13:13:57','2013-01-06 13:13:57',NULL,NULL,40,NULL,'Facture 16 validée dans Dolibarr','2013-01-06 13:13:57','2013-01-06 12:13:57',1,NULL,NULL,1,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture 16 validée dans Dolibarr\nAuteur: admin',16,'invoice_supplier'),(124,NULL,1,'2013-01-12 12:23:05','2013-01-12 12:23:05',NULL,NULL,40,NULL,'Patient aaa ajouté','2013-01-12 12:23:05','2013-01-12 11:23:05',1,NULL,NULL,19,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Patient aaa ajouté\nAuteur: admin',19,'societe'),(125,NULL,1,'2013-01-12 12:52:20','2013-01-12 12:52:20',NULL,NULL,40,NULL,'Patient pppoo ajouté','2013-01-12 12:52:20','2013-01-12 11:52:20',1,NULL,NULL,20,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Patient pppoo ajouté\nAuteur: admin',20,'societe'),(127,NULL,1,'2013-01-19 18:22:48','2013-01-19 18:22:48',NULL,NULL,40,NULL,'Facture FS1301-0001 validée dans Dolibarr','2013-01-19 18:22:48','2013-01-19 17:22:48',1,NULL,NULL,1,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FS1301-0001 validée dans Dolibarr\nAuteur: admin',148,'invoice'),(128,NULL,1,'2013-01-19 18:31:10','2013-01-19 18:31:10',NULL,NULL,40,NULL,'Facture FA6801-0010 validée dans Dolibarr','2013-01-19 18:31:10','2013-01-19 17:31:10',1,NULL,NULL,1,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA6801-0010 validée dans Dolibarr\nAuteur: admin',150,'invoice'),(129,NULL,1,'2013-01-19 18:31:10','2013-01-19 18:31:10',NULL,NULL,40,NULL,'Facture FA6801-0010 passée à payée dans Dolibarr','2013-01-19 18:31:10','2013-01-19 17:31:10',1,NULL,NULL,1,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA6801-0010 passée à payée dans Dolibarr\nAuteur: admin',150,'invoice'),(130,NULL,1,'2013-01-19 18:31:58','2013-01-19 18:31:58',NULL,NULL,40,NULL,'Facture FS1301-0002 validée dans Dolibarr','2013-01-19 18:31:58','2013-01-19 17:31:58',1,NULL,NULL,1,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FS1301-0002 validée dans Dolibarr\nAuteur: admin',151,'invoice'),(131,NULL,1,'2013-01-19 18:31:58','2013-01-19 18:31:58',NULL,NULL,40,NULL,'Facture FS1301-0002 passée à payée dans Dolibarr','2013-01-19 18:31:58','2013-01-19 17:31:58',1,NULL,NULL,1,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FS1301-0002 passée à payée dans Dolibarr\nAuteur: admin',151,'invoice'),(132,NULL,1,'2013-01-23 15:07:54','2013-01-23 15:07:54',NULL,NULL,50,NULL,'Consultation 24 saisie (aaa)','2013-01-23 15:07:54','2013-01-23 14:07:54',1,NULL,NULL,19,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Consultation 24 saisie (aaa)\nAuteur: admin',24,'cabinetmed_cons'),(133,NULL,1,'2013-01-23 16:56:58','2013-01-23 16:56:58',NULL,NULL,40,NULL,'Patient pa ajouté','2013-01-23 16:56:58','2013-01-23 15:56:58',1,NULL,NULL,21,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Patient pa ajouté\nAuteur: admin',21,'societe'),(134,NULL,1,'2013-01-23 17:34:00',NULL,NULL,NULL,50,NULL,'bbcv','2013-01-23 17:35:21','2013-01-23 16:35:21',1,NULL,1,2,NULL,0,1,NULL,NULL,0,0,1,-1,'',NULL,NULL,'',NULL,NULL),(135,NULL,1,'2013-02-12 15:54:00','2013-02-12 15:54:00',NULL,NULL,40,NULL,'Facture FA1212-0011 validée dans Dolibarr','2013-02-12 15:54:37','2013-02-20 20:11:54',1,1,NULL,7,NULL,0,NULL,NULL,1,0,0,1,50,NULL,NULL,NULL,'Facture FA1212-0011 validée dans Dolibarr
\r\nAuteur: admin',13,'invoice'),(136,NULL,1,'2013-02-12 17:06:51','2013-02-12 17:06:51',NULL,NULL,40,NULL,'Commande CO1107-0003 validée','2013-02-12 17:06:51','2013-02-12 16:06:51',1,NULL,NULL,1,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Commande CO1107-0003 validée\nAuteur: admin',2,'order'),(137,NULL,1,'2013-02-17 16:22:10','2013-02-17 16:22:10',NULL,NULL,40,NULL,'Proposition PR1302-0009 validée','2013-02-17 16:22:10','2013-02-17 15:22:10',1,NULL,NULL,19,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Proposition PR1302-0009 validée\nAuteur: admin',9,'propal'),(138,NULL,1,'2013-02-17 16:27:00','2013-02-17 16:27:00',NULL,NULL,40,NULL,'Facture FA1302-0012 validée dans Dolibarr','2013-02-17 16:27:00','2013-02-17 15:27:00',1,NULL,NULL,18,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA1302-0012 validée dans Dolibarr\nAuteur: admin',152,'invoice'),(139,NULL,1,'2013-02-17 16:27:29','2013-02-17 16:27:29',NULL,NULL,40,NULL,'Proposition PR1302-0010 validée','2013-02-17 16:27:29','2013-02-17 15:27:29',1,NULL,NULL,18,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Proposition PR1302-0010 validée\nAuteur: admin',11,'propal'),(140,NULL,1,'2013-02-17 18:27:56','2013-02-17 18:27:56',NULL,NULL,40,NULL,'Commande CO1107-0004 validée','2013-02-17 18:27:56','2013-02-17 17:27:56',1,NULL,NULL,1,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Commande CO1107-0004 validée\nAuteur: admin',3,'order'),(141,NULL,1,'2013-02-17 18:38:14','2013-02-17 18:38:14',NULL,NULL,40,NULL,'Commande CO1302-0005 validée','2013-02-17 18:38:14','2013-02-17 17:38:14',1,NULL,NULL,18,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Commande CO1302-0005 validée\nAuteur: admin',7,'order'),(142,NULL,1,'2013-02-26 22:57:50','2013-02-26 22:57:50',NULL,NULL,40,NULL,'Company pppp added into Dolibarr','2013-02-26 22:57:50','2013-02-26 21:57:50',1,NULL,NULL,22,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Company pppp added into Dolibarr\nAuthor: admin',22,'societe'),(143,NULL,1,'2013-02-26 22:58:13','2013-02-26 22:58:13',NULL,NULL,40,NULL,'Company ttttt added into Dolibarr','2013-02-26 22:58:13','2013-02-26 21:58:13',1,NULL,NULL,23,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Company ttttt added into Dolibarr\nAuthor: admin',23,'societe'),(144,NULL,1,'2013-02-27 10:00:00','2013-02-27 19:20:00',NULL,NULL,5,NULL,'Rendez-vous','2013-02-27 19:20:53','2013-02-27 18:20:53',1,NULL,NULL,NULL,NULL,0,1,NULL,1,0,0,1,-1,'',33600,NULL,'',NULL,NULL),(145,NULL,1,'2013-02-27 19:28:00',NULL,NULL,NULL,2,NULL,'fdsfsd','2013-02-27 19:28:48','2013-02-27 18:29:53',1,1,NULL,NULL,NULL,0,1,NULL,1,0,0,1,-1,NULL,NULL,NULL,NULL,NULL,NULL),(146,NULL,1,'2013-03-06 10:05:07','2013-03-06 10:05:07',NULL,NULL,40,NULL,'Contrat (PROV3) validé dans Dolibarr','2013-03-06 10:05:07','2013-03-06 09:05:07',1,NULL,NULL,19,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Contrat (PROV3) validé dans Dolibarr\nAuteur: admin',3,'contract'),(147,NULL,1,'2013-03-06 16:43:37','2013-03-06 16:43:37',NULL,NULL,40,NULL,'Facture FA1307-0013 validée dans Dolibarr','2013-03-06 16:43:37','2013-03-06 15:43:37',1,NULL,NULL,12,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA1307-0013 validée dans Dolibarr\nAuteur: admin',158,'invoice'),(148,NULL,1,'2013-03-06 16:44:12','2013-03-06 16:44:12',NULL,NULL,40,NULL,'Facture FA1407-0014 validée dans Dolibarr','2013-03-06 16:44:12','2013-03-06 15:44:12',1,NULL,NULL,12,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA1407-0014 validée dans Dolibarr\nAuteur: admin',159,'invoice'),(149,NULL,1,'2013-03-06 16:47:48','2013-03-06 16:47:48',NULL,NULL,40,NULL,'Facture FA1507-0015 validée dans Dolibarr','2013-03-06 16:47:48','2013-03-06 15:47:48',1,NULL,NULL,12,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA1507-0015 validée dans Dolibarr\nAuteur: admin',160,'invoice'),(150,NULL,1,'2013-03-06 16:48:16','2013-03-06 16:48:16',NULL,NULL,40,NULL,'Facture FA1607-0016 validée dans Dolibarr','2013-03-06 16:48:16','2013-03-06 15:48:16',1,NULL,NULL,12,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA1607-0016 validée dans Dolibarr\nAuteur: admin',161,'invoice'),(151,NULL,1,'2013-03-06 17:13:59','2013-03-06 17:13:59',NULL,NULL,40,NULL,'Société smith smith ajoutée dans Dolibarr','2013-03-06 17:13:59','2013-03-06 16:13:59',1,NULL,NULL,24,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Société smith smith ajoutée dans Dolibarr\nAuteur: admin',24,'societe'),(152,NULL,1,'2013-03-08 10:02:22','2013-03-08 10:02:22',NULL,NULL,40,NULL,'Proposition (PROV12) validée dans Dolibarr','2013-03-08 10:02:22','2013-03-08 09:02:22',1,NULL,NULL,23,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Proposition (PROV12) validée dans Dolibarr\nAuteur: admin',12,'propal'),(203,NULL,1,'2013-03-09 19:39:27','2013-03-09 19:39:27',NULL,NULL,40,'AC_ORDER_SUPPLIER_VALIDATE','Commande CF1303-0004 validée','2013-03-09 19:39:27','2013-03-09 18:39:27',1,NULL,NULL,1,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Commande CF1303-0004 validée\nAuteur: admin',13,'order_supplier'),(204,NULL,1,'2013-03-10 15:47:37','2013-03-10 15:47:37',NULL,NULL,40,'AC_COMPANY_CREATE','Patient créé','2013-03-10 15:47:37','2013-03-10 14:47:37',1,NULL,NULL,25,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Patient créé\nAuteur: admin',25,'societe'),(205,NULL,1,'2013-03-10 15:57:32','2013-03-10 15:57:32',NULL,NULL,40,'AC_COMPANY_CREATE','Tiers créé','2013-03-10 15:57:32','2013-03-10 14:57:32',1,NULL,NULL,26,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Tiers créé\nAuteur: admin',26,'societe'),(206,NULL,1,'2013-03-10 15:58:28','2013-03-10 15:58:28',NULL,NULL,40,'AC_BILL_VALIDATE','Facture FA1303-0017 validée','2013-03-10 15:58:28','2013-03-10 14:58:28',1,NULL,NULL,26,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA1303-0017 validée\nAuteur: admin',208,'invoice'),(207,NULL,1,'2013-03-19 09:38:10','2013-03-19 09:38:10',NULL,NULL,40,'AC_BILL_VALIDATE','Facture FA1303-0018 validée','2013-03-19 09:38:10','2013-03-19 08:38:10',1,NULL,NULL,19,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA1303-0018 validée\nAuteur: admin',209,'invoice'),(208,NULL,1,'2013-03-20 14:30:11','2013-03-20 14:30:11',NULL,NULL,40,'AC_BILL_VALIDATE','Facture FA1107-0019 validée','2013-03-20 14:30:11','2013-03-20 13:30:11',1,NULL,NULL,10,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA1107-0019 validée\nAuteur: admin',210,'invoice'),(209,NULL,1,'2013-03-22 09:40:25','2013-03-22 09:40:25',NULL,NULL,40,'AC_BILL_VALIDATE','Facture FA1303-0020 validée','2013-03-22 09:40:25','2013-03-22 08:40:25',1,NULL,NULL,19,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA1303-0020 validée\nAuteur: admin',211,'invoice'),(210,NULL,1,'2013-03-23 17:16:25','2013-03-23 17:16:25',NULL,NULL,40,'AC_BILL_VALIDATE','Facture FA1303-0020 validée','2013-03-23 17:16:25','2013-03-23 16:16:25',1,NULL,NULL,19,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA1303-0020 validée\nAuteur: admin',211,'invoice'),(211,NULL,1,'2013-03-23 18:08:27','2013-03-23 18:08:27',NULL,NULL,40,'AC_BILL_VALIDATE','Facture FA1307-0013 validée','2013-03-23 18:08:27','2013-03-23 17:08:27',1,NULL,NULL,12,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA1307-0013 validée\nAuteur: admin',158,'invoice'),(212,NULL,1,'2013-03-24 15:54:00','2013-03-24 15:54:00',NULL,NULL,40,'AC_BILL_VALIDATE','Facture FA1212-0021 validée','2013-03-24 15:54:00','2013-03-24 14:54:00',1,NULL,NULL,1,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA1212-0021 validée\nAuteur: admin',32,'invoice'),(213,NULL,1,'2013-11-07 01:02:39','2013-11-07 01:02:39',NULL,NULL,40,'AC_COMPANY_CREATE','Third party created','2013-11-07 01:02:39','2013-11-07 00:02:39',1,NULL,NULL,27,NULL,0,NULL,0,1,0,0,1,-1,'',NULL,NULL,'Third party created\nAuthor: admin',27,'societe'),(214,NULL,1,'2013-11-07 01:05:22','2013-11-07 01:05:22',NULL,NULL,40,'AC_COMPANY_CREATE','Third party created','2013-11-07 01:05:22','2013-11-07 00:05:22',1,NULL,NULL,28,NULL,0,NULL,0,1,0,0,1,-1,'',NULL,NULL,'Third party created\nAuthor: admin',28,'societe'),(215,NULL,1,'2013-11-07 01:07:07','2013-11-07 01:07:07',NULL,NULL,40,'AC_COMPANY_CREATE','Third party created','2013-11-07 01:07:07','2013-11-07 00:07:07',1,NULL,NULL,29,NULL,0,NULL,0,1,0,0,1,-1,'',NULL,NULL,'Third party created\nAuthor: admin',29,'societe'),(216,NULL,1,'2013-11-07 01:07:58','2013-11-07 01:07:58',NULL,NULL,40,'AC_COMPANY_CREATE','Third party created','2013-11-07 01:07:58','2013-11-07 00:07:58',1,NULL,NULL,30,NULL,0,NULL,0,1,0,0,1,-1,'',NULL,NULL,'Third party created\nAuthor: admin',30,'societe'),(217,NULL,1,'2013-11-07 01:10:09','2013-11-07 01:10:09',NULL,NULL,40,'AC_COMPANY_CREATE','Third party created','2013-11-07 01:10:09','2013-11-07 00:10:09',1,NULL,NULL,31,NULL,0,NULL,0,1,0,0,1,-1,'',NULL,NULL,'Third party created\nAuthor: admin',31,'societe'),(218,NULL,1,'2013-11-07 01:15:57','2013-11-07 01:15:57',NULL,NULL,40,'AC_COMPANY_CREATE','Third party created','2013-11-07 01:15:57','2013-11-07 00:15:57',1,NULL,NULL,32,NULL,0,NULL,0,1,0,0,1,-1,'',NULL,NULL,'Third party created\nAuthor: admin',32,'societe'),(219,NULL,1,'2013-11-07 01:16:51','2013-11-07 01:16:51',NULL,NULL,40,'AC_COMPANY_CREATE','Third party created','2013-11-07 01:16:51','2013-11-07 00:16:51',1,NULL,NULL,33,NULL,0,NULL,0,1,0,0,1,-1,'',NULL,NULL,'Third party created\nAuthor: admin',33,'societe'); +INSERT INTO `llx_actioncomm` VALUES (1,NULL,1,'2010-07-08 14:21:44','2010-07-08 14:21:44',NULL,NULL,50,NULL,'Company AAA and Co added into Dolibarr','2010-07-08 14:21:44','2010-07-08 12:21:44',1,NULL,NULL,1,NULL,0,NULL,NULL,1,0,0,1,100,'',NULL,NULL,'Company AAA and Co added into Dolibarr\nAuthor: admin',NULL,NULL),(2,NULL,1,'2010-07-08 14:23:48','2010-07-08 14:23:48',NULL,NULL,50,NULL,'Company Belin SARL added into Dolibarr','2010-07-08 14:23:48','2010-07-08 12:23:48',1,NULL,NULL,2,NULL,0,NULL,NULL,1,0,0,1,100,'',NULL,NULL,'Company Belin SARL added into Dolibarr\nAuthor: admin',NULL,NULL),(3,NULL,1,'2010-07-08 22:42:12','2010-07-08 22:42:12',NULL,NULL,50,NULL,'Company Spanish Comp added into Dolibarr','2010-07-08 22:42:12','2010-07-08 20:42:12',1,NULL,NULL,3,NULL,0,NULL,NULL,1,0,0,1,100,'',NULL,NULL,'Company Spanish Comp added into Dolibarr\nAuthor: admin',NULL,NULL),(4,NULL,1,'2010-07-08 22:48:18','2010-07-08 22:48:18',NULL,NULL,50,NULL,'Company Prospector Vaalen added into Dolibarr','2010-07-08 22:48:18','2010-07-08 20:48:18',1,NULL,NULL,4,NULL,0,NULL,NULL,1,0,0,1,100,'',NULL,NULL,'Company Prospector Vaalen added into Dolibarr\nAuthor: admin',NULL,NULL),(5,NULL,1,'2010-07-08 23:22:57','2010-07-08 23:22:57',NULL,NULL,50,NULL,'Company NoCountry Co added into Dolibarr','2010-07-08 23:22:57','2010-07-08 21:22:57',1,NULL,NULL,5,NULL,0,NULL,NULL,1,0,0,1,100,'',NULL,NULL,'Company NoCountry Co added into Dolibarr\nAuthor: admin',NULL,NULL),(6,NULL,1,'2010-07-09 00:15:09','2010-07-09 00:15:09',NULL,NULL,50,NULL,'Company Swiss customer added into Dolibarr','2010-07-09 00:15:09','2010-07-08 22:15:09',1,NULL,NULL,6,NULL,0,NULL,NULL,1,0,0,1,100,'',NULL,NULL,'Company Swiss customer added into Dolibarr\nAuthor: admin',NULL,NULL),(7,NULL,1,'2010-07-09 01:24:26','2010-07-09 01:24:26',NULL,NULL,50,NULL,'Company Generic customer added into Dolibarr','2010-07-09 01:24:26','2010-07-08 23:24:26',1,NULL,NULL,7,NULL,0,NULL,NULL,1,0,0,1,100,'',NULL,NULL,'Company Generic customer added into Dolibarr\nAuthor: admin',NULL,NULL),(8,NULL,1,'2010-07-10 14:54:27','2010-07-10 14:54:27',NULL,NULL,50,NULL,'Société Client salon ajoutée dans Dolibarr','2010-07-10 14:54:27','2010-07-10 12:54:27',1,NULL,NULL,8,NULL,0,NULL,NULL,1,0,0,1,100,'',NULL,NULL,'Société Client salon ajoutée dans Dolibarr\nAuteur: admin',NULL,NULL),(9,NULL,1,'2010-07-10 14:54:44','2010-07-10 14:54:44',NULL,NULL,50,NULL,'Société Client salon invidivdu ajoutée dans Doliba','2010-07-10 14:54:44','2010-07-10 12:54:44',1,NULL,NULL,9,NULL,0,NULL,NULL,1,0,0,1,100,'',NULL,NULL,'Société Client salon invidivdu ajoutée dans Dolibarr\nAuteur: admin',NULL,NULL),(10,NULL,1,'2010-07-10 14:56:10','2010-07-10 14:56:10',NULL,NULL,50,NULL,'Facture FA1007-0001 validée dans Dolibarr','2010-07-10 14:56:10','2011-07-18 17:29:22',1,NULL,NULL,9,NULL,0,NULL,NULL,1,0,0,1,100,'',NULL,NULL,'Facture FA1007-0001 validée dans Dolibarr\nAuteur: admin',1,'invoice'),(11,NULL,1,'2010-07-10 14:58:53','2010-07-10 14:58:53',NULL,NULL,50,NULL,'Facture FA1007-0001 validée dans Dolibarr','2010-07-10 14:58:53','2011-07-18 17:29:22',1,NULL,NULL,9,NULL,0,NULL,NULL,1,0,0,1,100,'',NULL,NULL,'Facture FA1007-0001 validée dans Dolibarr\nAuteur: admin',1,'invoice'),(12,NULL,1,'2010-07-10 15:00:55','2010-07-10 15:00:55',NULL,NULL,50,NULL,'Facture FA1007-0001 passée à payée dans Dolibarr','2010-07-10 15:00:55','2011-07-18 17:29:22',1,NULL,NULL,9,NULL,0,NULL,NULL,1,0,0,1,100,'',NULL,NULL,'Facture FA1007-0001 passée à payée dans Dolibarr\nAuteur: admin',1,'invoice'),(13,NULL,1,'2010-07-10 15:13:08','2010-07-10 15:13:08',NULL,NULL,50,NULL,'Société Smith Vick ajoutée dans Dolibarr','2010-07-10 15:13:08','2010-07-10 13:13:08',1,NULL,NULL,10,NULL,0,NULL,NULL,1,0,0,1,100,'',NULL,NULL,'Société Smith Vick ajoutée dans Dolibarr\nAuteur: admin',NULL,NULL),(14,NULL,1,'2010-07-10 15:21:00','2010-07-10 16:21:00',NULL,NULL,5,NULL,'RDV avec mon chef','2010-07-10 15:21:48','2010-07-10 13:21:48',1,NULL,NULL,NULL,NULL,0,1,NULL,NULL,0,0,1,0,'',3600,NULL,'',NULL,NULL),(15,NULL,1,'2010-07-10 18:18:16','2010-07-10 18:18:16',NULL,NULL,50,NULL,'Contrat CONTRAT1 validé dans Dolibarr','2010-07-10 18:18:16','2010-07-10 16:18:16',1,NULL,NULL,2,NULL,0,NULL,NULL,1,0,0,1,100,'',NULL,NULL,'Contrat CONTRAT1 validé dans Dolibarr\nAuteur: admin',NULL,NULL),(16,NULL,1,'2010-07-10 18:35:57','2010-07-10 18:35:57',NULL,NULL,50,NULL,'Société Mon client ajoutée dans Dolibarr','2010-07-10 18:35:57','2010-07-10 16:35:57',1,NULL,NULL,11,NULL,0,NULL,NULL,1,0,0,1,100,'',NULL,NULL,'Société Mon client ajoutée dans Dolibarr\nAuteur: admin',NULL,NULL),(17,NULL,1,'2010-07-11 16:18:08','2010-07-11 16:18:08',NULL,NULL,50,NULL,'Société Dupont Alain ajoutée dans Dolibarr','2010-07-11 16:18:08','2010-07-11 14:18:08',1,NULL,NULL,12,NULL,0,NULL,NULL,1,0,0,1,100,'',NULL,NULL,'Société Dupont Alain ajoutée dans Dolibarr\nAuteur: admin',NULL,NULL),(18,NULL,1,'2010-07-11 17:11:00','2010-07-11 17:17:00',NULL,NULL,5,NULL,'Rendez-vous','2010-07-11 17:11:22','2010-07-11 15:11:22',1,NULL,NULL,NULL,NULL,0,1,NULL,NULL,0,0,1,0,'gfgdfgdf',360,NULL,'',NULL,NULL),(19,NULL,1,'2010-07-11 17:13:20','2010-07-11 17:13:20',NULL,NULL,50,NULL,'Société Vendeur de chips ajoutée dans Dolibarr','2010-07-11 17:13:20','2010-07-11 15:13:20',1,NULL,NULL,13,NULL,0,NULL,NULL,1,0,0,1,100,'',NULL,NULL,'Société Vendeur de chips ajoutée dans Dolibarr\nAuteur: admin',NULL,NULL),(20,NULL,1,'2010-07-11 17:15:42','2010-07-11 17:15:42',NULL,NULL,50,NULL,'Commande CF1007-0001 validée','2010-07-11 17:15:42','2010-07-11 15:15:42',1,NULL,NULL,13,NULL,0,NULL,NULL,1,0,0,1,100,'',NULL,NULL,'Commande CF1007-0001 validée\nAuteur: admin',NULL,NULL),(21,NULL,1,'2010-07-11 18:47:33','2010-07-11 18:47:33',NULL,NULL,50,NULL,'Commande CF1007-0002 validée','2010-07-11 18:47:33','2010-07-11 16:47:33',1,NULL,NULL,1,NULL,0,NULL,NULL,1,0,0,1,100,'',NULL,NULL,'Commande CF1007-0002 validée\nAuteur: admin',NULL,NULL),(22,NULL,1,'2010-07-18 11:36:18','2010-07-18 11:36:18',NULL,NULL,50,NULL,'Proposition PR1007-0003 validée','2010-07-18 11:36:18','2011-07-18 17:29:22',1,NULL,NULL,4,NULL,0,NULL,NULL,1,0,0,1,100,'',NULL,NULL,'Proposition PR1007-0003 validée\nAuteur: admin',3,'propal'),(23,NULL,1,'2011-07-18 20:49:58','2011-07-18 20:49:58',NULL,NULL,50,NULL,'Invoice FA1007-0002 validated in Dolibarr','2011-07-18 20:49:58','2011-07-18 18:49:58',1,NULL,NULL,2,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1007-0002 validated in Dolibarr\nAuthor: admin',2,'invoice'),(24,NULL,1,'2011-07-28 01:37:00',NULL,NULL,NULL,1,NULL,'Phone call','2011-07-28 01:37:48','2011-07-27 23:37:48',1,NULL,NULL,NULL,2,0,1,NULL,NULL,0,0,1,-1,'',NULL,NULL,'',NULL,NULL),(25,NULL,1,'2011-08-01 02:31:24','2011-08-01 02:31:24',NULL,NULL,50,NULL,'Company mmm added into Dolibarr','2011-08-01 02:31:24','2011-08-01 00:31:24',1,NULL,NULL,15,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Company mmm added into Dolibarr\nAuthor: admin',15,'societe'),(26,NULL,1,'2011-08-01 02:31:43','2011-08-01 02:31:43',NULL,NULL,50,NULL,'Company ppp added into Dolibarr','2011-08-01 02:31:43','2011-08-01 00:31:43',1,NULL,NULL,16,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Company ppp added into Dolibarr\nAuthor: admin',16,'societe'),(27,NULL,1,'2011-08-01 02:41:26','2011-08-01 02:41:26',NULL,NULL,50,NULL,'Company aaa added into Dolibarr','2011-08-01 02:41:26','2011-08-01 00:41:26',1,NULL,NULL,17,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Company aaa added into Dolibarr\nAuthor: admin',17,'societe'),(28,NULL,1,'2011-08-01 03:34:11','2011-08-01 03:34:11',NULL,NULL,50,NULL,'Invoice FA1108-0003 validated in Dolibarr','2011-08-01 03:34:11','2011-08-01 01:34:11',1,NULL,NULL,7,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1108-0003 validated in Dolibarr\nAuthor: admin',5,'invoice'),(29,NULL,1,'2011-08-01 03:34:11','2011-08-01 03:34:11',NULL,NULL,50,NULL,'Invoice FA1108-0003 validated in Dolibarr','2011-08-01 03:34:11','2011-08-01 01:34:11',1,NULL,NULL,7,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1108-0003 changed to paid in Dolibarr\nAuthor: admin',5,'invoice'),(30,NULL,1,'2011-08-06 20:33:54','2011-08-06 20:33:54',NULL,NULL,50,NULL,'Invoice FA1108-0004 validated in Dolibarr','2011-08-06 20:33:54','2011-08-06 18:33:54',1,NULL,NULL,7,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1108-0004 validated in Dolibarr\nAuthor: admin',6,'invoice'),(31,NULL,1,'2011-08-06 20:33:54','2011-08-06 20:33:54',NULL,NULL,50,NULL,'Invoice FA1108-0004 validated in Dolibarr','2011-08-06 20:33:54','2011-08-06 18:33:54',1,NULL,NULL,7,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1108-0004 changed to paid in Dolibarr\nAuthor: admin',6,'invoice'),(38,NULL,1,'2011-08-08 02:41:55','2011-08-08 02:41:55',NULL,NULL,50,NULL,'Invoice FA1108-0005 validated in Dolibarr','2011-08-08 02:41:55','2011-08-08 00:41:55',1,NULL,NULL,2,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1108-0005 validated in Dolibarr\nAuthor: admin',8,'invoice'),(40,NULL,1,'2011-08-08 02:53:40','2011-08-08 02:53:40',NULL,NULL,50,NULL,'Invoice FA1108-0005 changed to paid in Dolibarr','2011-08-08 02:53:40','2011-08-08 00:53:40',1,NULL,NULL,2,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1108-0005 changed to paid in Dolibarr\nAuthor: admin',8,'invoice'),(41,NULL,1,'2011-08-08 02:54:05','2011-08-08 02:54:05',NULL,NULL,50,NULL,'Invoice FA1007-0002 changed to paid in Dolibarr','2011-08-08 02:54:05','2011-08-08 00:54:05',1,NULL,NULL,2,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1007-0002 changed to paid in Dolibarr\nAuthor: admin',2,'invoice'),(42,NULL,1,'2011-08-08 02:55:04','2011-08-08 02:55:04',NULL,NULL,50,NULL,'Invoice FA1107-0006 validated in Dolibarr','2011-08-08 02:55:04','2011-08-08 00:55:04',1,NULL,NULL,10,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1107-0006 validated in Dolibarr\nAuthor: admin',3,'invoice'),(43,NULL,1,'2011-08-08 02:55:26','2011-08-08 02:55:26',NULL,NULL,50,NULL,'Invoice FA1108-0007 validated in Dolibarr','2011-08-08 02:55:26','2011-08-08 00:55:26',1,NULL,NULL,10,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1108-0007 validated in Dolibarr\nAuthor: admin',9,'invoice'),(44,NULL,1,'2011-08-08 02:55:58','2011-08-08 02:55:58',NULL,NULL,50,NULL,'Invoice FA1107-0006 changed to paid in Dolibarr','2011-08-08 02:55:58','2011-08-08 00:55:58',1,NULL,NULL,10,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1107-0006 changed to paid in Dolibarr\nAuthor: admin',3,'invoice'),(45,NULL,1,'2011-08-08 03:04:22','2011-08-08 03:04:22',NULL,NULL,50,NULL,'Order CO1108-0001 validated','2011-08-08 03:04:22','2011-08-08 01:04:22',1,NULL,NULL,1,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Order CO1108-0001 validated\nAuthor: admin',5,'order'),(46,NULL,1,'2011-08-08 13:59:09','2011-08-08 13:59:09',NULL,NULL,50,NULL,'Order CO1107-0002 validated','2011-08-08 13:59:10','2011-08-08 11:59:10',1,NULL,NULL,1,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Order CO1107-0002 validated\nAuthor: admin',1,'order'),(47,NULL,1,'2011-08-08 14:24:18','2011-08-08 14:24:18',NULL,NULL,50,NULL,'Proposal PR1007-0001 validated','2011-08-08 14:24:18','2011-08-08 12:24:18',1,NULL,NULL,2,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Proposal PR1007-0001 validated\nAuthor: admin',1,'propal'),(48,NULL,1,'2011-08-08 14:24:24','2011-08-08 14:24:24',NULL,NULL,50,NULL,'Proposal PR1108-0004 validated','2011-08-08 14:24:24','2011-08-08 12:24:24',1,NULL,NULL,17,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Proposal PR1108-0004 validated\nAuthor: admin',4,'propal'),(49,NULL,1,'2011-08-08 15:04:37','2011-08-08 15:04:37',NULL,NULL,50,NULL,'Order CF1108-0003 validated','2011-08-08 15:04:37','2011-08-08 13:04:37',1,NULL,NULL,17,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Order CF1108-0003 validated\nAuthor: admin',6,'order_supplier'),(50,NULL,1,'2012-12-08 17:56:47','2012-12-08 17:56:47',NULL,NULL,40,NULL,'Facture AV1212-0001 validée dans Dolibarr','2012-12-08 17:56:47','2012-12-08 16:56:47',1,NULL,NULL,10,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture AV1212-0001 validée dans Dolibarr\nAuteur: admin',10,'invoice'),(51,NULL,1,'2012-12-08 17:57:11','2012-12-08 17:57:11',NULL,NULL,40,NULL,'Facture AV1212-0001 validée dans Dolibarr','2012-12-08 17:57:11','2012-12-08 16:57:11',1,NULL,NULL,10,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture AV1212-0001 validée dans Dolibarr\nAuteur: admin',10,'invoice'),(52,NULL,1,'2012-12-08 17:58:27','2012-12-08 17:58:27',NULL,NULL,40,NULL,'Facture FA1212-0008 validée dans Dolibarr','2012-12-08 17:58:27','2012-12-08 16:58:27',1,NULL,NULL,10,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA1212-0008 validée dans Dolibarr\nAuteur: admin',11,'invoice'),(53,NULL,1,'2012-12-08 18:20:49','2012-12-08 18:20:49',NULL,NULL,40,NULL,'Facture AV1212-0002 validée dans Dolibarr','2012-12-08 18:20:49','2012-12-08 17:20:49',1,NULL,NULL,10,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture AV1212-0002 validée dans Dolibarr\nAuteur: admin',12,'invoice'),(54,NULL,1,'2012-12-09 18:35:07','2012-12-09 18:35:07',NULL,NULL,40,NULL,'Facture AV1212-0002 passée à payée dans Dolibarr','2012-12-09 18:35:07','2012-12-09 17:35:07',1,NULL,NULL,10,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture AV1212-0002 passée à payée dans Dolibarr\nAuteur: admin',12,'invoice'),(55,NULL,1,'2012-12-09 20:14:42','2012-12-09 20:14:42',NULL,NULL,40,NULL,'Société doe john ajoutée dans Dolibarr','2012-12-09 20:14:42','2012-12-09 19:14:42',1,NULL,NULL,18,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Société doe john ajoutée dans Dolibarr\nAuteur: admin',18,'societe'),(56,NULL,1,'2012-12-12 18:54:19','2012-12-12 18:54:19',NULL,NULL,40,NULL,'Facture FA1212-0009 validée dans Dolibarr','2012-12-12 18:54:19','2012-12-12 17:54:19',1,NULL,NULL,1,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA1212-0009 validée dans Dolibarr\nAuteur: admin',55,'invoice'),(121,NULL,1,'2012-12-06 10:00:00',NULL,NULL,NULL,50,NULL,'aaab','2012-12-21 17:48:08','2012-12-21 16:54:07',3,1,NULL,NULL,NULL,0,3,NULL,NULL,1,0,1,-1,NULL,NULL,NULL,NULL,NULL,NULL),(122,NULL,1,'2012-12-21 18:09:52','2012-12-21 18:09:52',NULL,NULL,40,NULL,'Facture client FA1007-0001 envoyée par EMail','2012-12-21 18:09:52','2012-12-21 17:09:52',1,NULL,NULL,9,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Mail envoyé par Firstname SuperAdminName à laurent@destailleur.fr.\nSujet du mail: Envoi facture FA1007-0001\nCorps du mail:\nVeuillez trouver ci-joint la facture FA1007-0001\r\n\r\nVous pouvez cliquer sur le lien sécurisé ci-dessous pour effectuer votre paiement via Paypal\r\n\r\nhttp://localhost/dolibarrnew/public/paypal/newpayment.php?source=invoice&ref=FA1007-0001&securekey=50c82fab36bb3b6aa83e2a50691803b2\r\n\r\nCordialement',1,'invoice'),(123,NULL,1,'2013-01-06 13:13:57','2013-01-06 13:13:57',NULL,NULL,40,NULL,'Facture 16 validée dans Dolibarr','2013-01-06 13:13:57','2013-01-06 12:13:57',1,NULL,NULL,1,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture 16 validée dans Dolibarr\nAuteur: admin',16,'invoice_supplier'),(124,NULL,1,'2013-01-12 12:23:05','2013-01-12 12:23:05',NULL,NULL,40,NULL,'Patient aaa ajouté','2013-01-12 12:23:05','2013-01-12 11:23:05',1,NULL,NULL,19,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Patient aaa ajouté\nAuteur: admin',19,'societe'),(125,NULL,1,'2013-01-12 12:52:20','2013-01-12 12:52:20',NULL,NULL,40,NULL,'Patient pppoo ajouté','2013-01-12 12:52:20','2013-01-12 11:52:20',1,NULL,NULL,20,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Patient pppoo ajouté\nAuteur: admin',20,'societe'),(127,NULL,1,'2013-01-19 18:22:48','2013-01-19 18:22:48',NULL,NULL,40,NULL,'Facture FS1301-0001 validée dans Dolibarr','2013-01-19 18:22:48','2013-01-19 17:22:48',1,NULL,NULL,1,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FS1301-0001 validée dans Dolibarr\nAuteur: admin',148,'invoice'),(128,NULL,1,'2013-01-19 18:31:10','2013-01-19 18:31:10',NULL,NULL,40,NULL,'Facture FA6801-0010 validée dans Dolibarr','2013-01-19 18:31:10','2013-01-19 17:31:10',1,NULL,NULL,1,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA6801-0010 validée dans Dolibarr\nAuteur: admin',150,'invoice'),(129,NULL,1,'2013-01-19 18:31:10','2013-01-19 18:31:10',NULL,NULL,40,NULL,'Facture FA6801-0010 passée à payée dans Dolibarr','2013-01-19 18:31:10','2013-01-19 17:31:10',1,NULL,NULL,1,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA6801-0010 passée à payée dans Dolibarr\nAuteur: admin',150,'invoice'),(130,NULL,1,'2013-01-19 18:31:58','2013-01-19 18:31:58',NULL,NULL,40,NULL,'Facture FS1301-0002 validée dans Dolibarr','2013-01-19 18:31:58','2013-01-19 17:31:58',1,NULL,NULL,1,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FS1301-0002 validée dans Dolibarr\nAuteur: admin',151,'invoice'),(131,NULL,1,'2013-01-19 18:31:58','2013-01-19 18:31:58',NULL,NULL,40,NULL,'Facture FS1301-0002 passée à payée dans Dolibarr','2013-01-19 18:31:58','2013-01-19 17:31:58',1,NULL,NULL,1,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FS1301-0002 passée à payée dans Dolibarr\nAuteur: admin',151,'invoice'),(132,NULL,1,'2013-01-23 15:07:54','2013-01-23 15:07:54',NULL,NULL,50,NULL,'Consultation 24 saisie (aaa)','2013-01-23 15:07:54','2013-01-23 14:07:54',1,NULL,NULL,19,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Consultation 24 saisie (aaa)\nAuteur: admin',24,'cabinetmed_cons'),(133,NULL,1,'2013-01-23 16:56:58','2013-01-23 16:56:58',NULL,NULL,40,NULL,'Patient pa ajouté','2013-01-23 16:56:58','2013-01-23 15:56:58',1,NULL,NULL,21,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Patient pa ajouté\nAuteur: admin',21,'societe'),(134,NULL,1,'2013-01-23 17:34:00',NULL,NULL,NULL,50,NULL,'bbcv','2013-01-23 17:35:21','2013-01-23 16:35:21',1,NULL,1,2,NULL,0,1,NULL,NULL,0,0,1,-1,'',NULL,NULL,'',NULL,NULL),(135,NULL,1,'2013-02-12 15:54:00','2013-02-12 15:54:00',NULL,NULL,40,NULL,'Facture FA1212-0011 validée dans Dolibarr','2013-02-12 15:54:37','2013-02-20 20:11:54',1,1,NULL,7,NULL,0,NULL,NULL,1,0,0,1,50,NULL,NULL,NULL,'Facture FA1212-0011 validée dans Dolibarr
\r\nAuteur: admin',13,'invoice'),(136,NULL,1,'2013-02-12 17:06:51','2013-02-12 17:06:51',NULL,NULL,40,NULL,'Commande CO1107-0003 validée','2013-02-12 17:06:51','2013-02-12 16:06:51',1,NULL,NULL,1,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Commande CO1107-0003 validée\nAuteur: admin',2,'order'),(137,NULL,1,'2013-02-17 16:22:10','2013-02-17 16:22:10',NULL,NULL,40,NULL,'Proposition PR1302-0009 validée','2013-02-17 16:22:10','2013-02-17 15:22:10',1,NULL,NULL,19,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Proposition PR1302-0009 validée\nAuteur: admin',9,'propal'),(138,NULL,1,'2013-02-17 16:27:00','2013-02-17 16:27:00',NULL,NULL,40,NULL,'Facture FA1302-0012 validée dans Dolibarr','2013-02-17 16:27:00','2013-02-17 15:27:00',1,NULL,NULL,18,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA1302-0012 validée dans Dolibarr\nAuteur: admin',152,'invoice'),(139,NULL,1,'2013-02-17 16:27:29','2013-02-17 16:27:29',NULL,NULL,40,NULL,'Proposition PR1302-0010 validée','2013-02-17 16:27:29','2013-02-17 15:27:29',1,NULL,NULL,18,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Proposition PR1302-0010 validée\nAuteur: admin',11,'propal'),(140,NULL,1,'2013-02-17 18:27:56','2013-02-17 18:27:56',NULL,NULL,40,NULL,'Commande CO1107-0004 validée','2013-02-17 18:27:56','2013-02-17 17:27:56',1,NULL,NULL,1,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Commande CO1107-0004 validée\nAuteur: admin',3,'order'),(141,NULL,1,'2013-02-17 18:38:14','2013-02-17 18:38:14',NULL,NULL,40,NULL,'Commande CO1302-0005 validée','2013-02-17 18:38:14','2013-02-17 17:38:14',1,NULL,NULL,18,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Commande CO1302-0005 validée\nAuteur: admin',7,'order'),(142,NULL,1,'2013-02-26 22:57:50','2013-02-26 22:57:50',NULL,NULL,40,NULL,'Company pppp added into Dolibarr','2013-02-26 22:57:50','2013-02-26 21:57:50',1,NULL,NULL,22,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Company pppp added into Dolibarr\nAuthor: admin',22,'societe'),(143,NULL,1,'2013-02-26 22:58:13','2013-02-26 22:58:13',NULL,NULL,40,NULL,'Company ttttt added into Dolibarr','2013-02-26 22:58:13','2013-02-26 21:58:13',1,NULL,NULL,23,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Company ttttt added into Dolibarr\nAuthor: admin',23,'societe'),(144,NULL,1,'2013-02-27 10:00:00','2013-02-27 19:20:00',NULL,NULL,5,NULL,'Rendez-vous','2013-02-27 19:20:53','2013-02-27 18:20:53',1,NULL,NULL,NULL,NULL,0,1,NULL,1,0,0,1,-1,'',33600,NULL,'',NULL,NULL),(145,NULL,1,'2013-02-27 19:28:00',NULL,NULL,NULL,2,NULL,'fdsfsd','2013-02-27 19:28:48','2013-02-27 18:29:53',1,1,NULL,NULL,NULL,0,1,NULL,1,0,0,1,-1,NULL,NULL,NULL,NULL,NULL,NULL),(146,NULL,1,'2013-03-06 10:05:07','2013-03-06 10:05:07',NULL,NULL,40,NULL,'Contrat (PROV3) validé dans Dolibarr','2013-03-06 10:05:07','2013-03-06 09:05:07',1,NULL,NULL,19,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Contrat (PROV3) validé dans Dolibarr\nAuteur: admin',3,'contract'),(147,NULL,1,'2013-03-06 16:43:37','2013-03-06 16:43:37',NULL,NULL,40,NULL,'Facture FA1307-0013 validée dans Dolibarr','2013-03-06 16:43:37','2013-03-06 15:43:37',1,NULL,NULL,12,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA1307-0013 validée dans Dolibarr\nAuteur: admin',158,'invoice'),(148,NULL,1,'2013-03-06 16:44:12','2013-03-06 16:44:12',NULL,NULL,40,NULL,'Facture FA1407-0014 validée dans Dolibarr','2013-03-06 16:44:12','2013-03-06 15:44:12',1,NULL,NULL,12,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA1407-0014 validée dans Dolibarr\nAuteur: admin',159,'invoice'),(149,NULL,1,'2013-03-06 16:47:48','2013-03-06 16:47:48',NULL,NULL,40,NULL,'Facture FA1507-0015 validée dans Dolibarr','2013-03-06 16:47:48','2013-03-06 15:47:48',1,NULL,NULL,12,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA1507-0015 validée dans Dolibarr\nAuteur: admin',160,'invoice'),(150,NULL,1,'2013-03-06 16:48:16','2013-03-06 16:48:16',NULL,NULL,40,NULL,'Facture FA1607-0016 validée dans Dolibarr','2013-03-06 16:48:16','2013-03-06 15:48:16',1,NULL,NULL,12,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA1607-0016 validée dans Dolibarr\nAuteur: admin',161,'invoice'),(151,NULL,1,'2013-03-06 17:13:59','2013-03-06 17:13:59',NULL,NULL,40,NULL,'Société smith smith ajoutée dans Dolibarr','2013-03-06 17:13:59','2013-03-06 16:13:59',1,NULL,NULL,24,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Société smith smith ajoutée dans Dolibarr\nAuteur: admin',24,'societe'),(152,NULL,1,'2013-03-08 10:02:22','2013-03-08 10:02:22',NULL,NULL,40,NULL,'Proposition (PROV12) validée dans Dolibarr','2013-03-08 10:02:22','2013-03-08 09:02:22',1,NULL,NULL,23,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Proposition (PROV12) validée dans Dolibarr\nAuteur: admin',12,'propal'),(203,NULL,1,'2013-03-09 19:39:27','2013-03-09 19:39:27',NULL,NULL,40,'AC_ORDER_SUPPLIER_VALIDATE','Commande CF1303-0004 validée','2013-03-09 19:39:27','2013-03-09 18:39:27',1,NULL,NULL,1,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Commande CF1303-0004 validée\nAuteur: admin',13,'order_supplier'),(204,NULL,1,'2013-03-10 15:47:37','2013-03-10 15:47:37',NULL,NULL,40,'AC_COMPANY_CREATE','Patient créé','2013-03-10 15:47:37','2013-03-10 14:47:37',1,NULL,NULL,25,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Patient créé\nAuteur: admin',25,'societe'),(205,NULL,1,'2013-03-10 15:57:32','2013-03-10 15:57:32',NULL,NULL,40,'AC_COMPANY_CREATE','Tiers créé','2013-03-10 15:57:32','2013-03-10 14:57:32',1,NULL,NULL,26,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Tiers créé\nAuteur: admin',26,'societe'),(206,NULL,1,'2013-03-10 15:58:28','2013-03-10 15:58:28',NULL,NULL,40,'AC_BILL_VALIDATE','Facture FA1303-0017 validée','2013-03-10 15:58:28','2013-03-10 14:58:28',1,NULL,NULL,26,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA1303-0017 validée\nAuteur: admin',208,'invoice'),(207,NULL,1,'2013-03-19 09:38:10','2013-03-19 09:38:10',NULL,NULL,40,'AC_BILL_VALIDATE','Facture FA1303-0018 validée','2013-03-19 09:38:10','2013-03-19 08:38:10',1,NULL,NULL,19,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA1303-0018 validée\nAuteur: admin',209,'invoice'),(208,NULL,1,'2013-03-20 14:30:11','2013-03-20 14:30:11',NULL,NULL,40,'AC_BILL_VALIDATE','Facture FA1107-0019 validée','2013-03-20 14:30:11','2013-03-20 13:30:11',1,NULL,NULL,10,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA1107-0019 validée\nAuteur: admin',210,'invoice'),(209,NULL,1,'2013-03-22 09:40:25','2013-03-22 09:40:25',NULL,NULL,40,'AC_BILL_VALIDATE','Facture FA1303-0020 validée','2013-03-22 09:40:25','2013-03-22 08:40:25',1,NULL,NULL,19,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA1303-0020 validée\nAuteur: admin',211,'invoice'),(210,NULL,1,'2013-03-23 17:16:25','2013-03-23 17:16:25',NULL,NULL,40,'AC_BILL_VALIDATE','Facture FA1303-0020 validée','2013-03-23 17:16:25','2013-03-23 16:16:25',1,NULL,NULL,19,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA1303-0020 validée\nAuteur: admin',211,'invoice'),(211,NULL,1,'2013-03-23 18:08:27','2013-03-23 18:08:27',NULL,NULL,40,'AC_BILL_VALIDATE','Facture FA1307-0013 validée','2013-03-23 18:08:27','2013-03-23 17:08:27',1,NULL,NULL,12,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA1307-0013 validée\nAuteur: admin',158,'invoice'),(212,NULL,1,'2013-03-24 15:54:00','2013-03-24 15:54:00',NULL,NULL,40,'AC_BILL_VALIDATE','Facture FA1212-0021 validée','2013-03-24 15:54:00','2013-03-24 14:54:00',1,NULL,NULL,1,NULL,0,NULL,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA1212-0021 validée\nAuteur: admin',32,'invoice'),(213,NULL,1,'2013-11-07 01:02:39','2013-11-07 01:02:39',NULL,NULL,40,'AC_COMPANY_CREATE','Third party created','2013-11-07 01:02:39','2013-11-07 00:02:39',1,NULL,NULL,27,NULL,0,NULL,0,1,0,0,1,-1,'',NULL,NULL,'Third party created\nAuthor: admin',27,'societe'),(214,NULL,1,'2013-11-07 01:05:22','2013-11-07 01:05:22',NULL,NULL,40,'AC_COMPANY_CREATE','Third party created','2013-11-07 01:05:22','2013-11-07 00:05:22',1,NULL,NULL,28,NULL,0,NULL,0,1,0,0,1,-1,'',NULL,NULL,'Third party created\nAuthor: admin',28,'societe'),(215,NULL,1,'2013-11-07 01:07:07','2013-11-07 01:07:07',NULL,NULL,40,'AC_COMPANY_CREATE','Third party created','2013-11-07 01:07:07','2013-11-07 00:07:07',1,NULL,NULL,29,NULL,0,NULL,0,1,0,0,1,-1,'',NULL,NULL,'Third party created\nAuthor: admin',29,'societe'),(216,NULL,1,'2013-11-07 01:07:58','2013-11-07 01:07:58',NULL,NULL,40,'AC_COMPANY_CREATE','Third party created','2013-11-07 01:07:58','2013-11-07 00:07:58',1,NULL,NULL,30,NULL,0,NULL,0,1,0,0,1,-1,'',NULL,NULL,'Third party created\nAuthor: admin',30,'societe'),(217,NULL,1,'2013-11-07 01:10:09','2013-11-07 01:10:09',NULL,NULL,40,'AC_COMPANY_CREATE','Third party created','2013-11-07 01:10:09','2013-11-07 00:10:09',1,NULL,NULL,31,NULL,0,NULL,0,1,0,0,1,-1,'',NULL,NULL,'Third party created\nAuthor: admin',31,'societe'),(218,NULL,1,'2013-11-07 01:15:57','2013-11-07 01:15:57',NULL,NULL,40,'AC_COMPANY_CREATE','Third party created','2013-11-07 01:15:57','2013-11-07 00:15:57',1,NULL,NULL,32,NULL,0,NULL,0,1,0,0,1,-1,'',NULL,NULL,'Third party created\nAuthor: admin',32,'societe'),(219,NULL,1,'2013-11-07 01:16:51','2013-11-07 01:16:51',NULL,NULL,40,'AC_COMPANY_CREATE','Third party created','2013-11-07 01:16:51','2013-11-07 00:16:51',1,NULL,NULL,33,NULL,0,NULL,0,1,0,0,1,-1,'',NULL,NULL,'Third party created\nAuthor: admin',33,'societe'),(220,NULL,1,'2014-03-02 17:24:04','2014-03-02 17:24:04',NULL,NULL,40,'AC_BILL_VALIDATE','Invoice FA1302-0022 validated','2014-03-02 17:24:04','2014-03-02 16:24:04',1,NULL,NULL,18,NULL,0,NULL,0,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1302-0022 validated\nAuthor: admin',157,'invoice'),(221,NULL,1,'2014-03-02 17:24:28','2014-03-02 17:24:28',NULL,NULL,40,'AC_BILL_VALIDATE','Invoice FA1303-0020 validated','2014-03-02 17:24:28','2014-03-02 16:24:28',1,NULL,NULL,19,NULL,0,NULL,0,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1303-0020 validated\nAuthor: admin',211,'invoice'),(222,NULL,1,'2014-03-05 10:00:00','2014-03-05 10:00:00',NULL,NULL,5,NULL,'RDV John','2014-03-02 19:54:48','2014-03-02 18:55:29',1,1,NULL,NULL,NULL,0,1,0,NULL,0,0,1,-1,NULL,NULL,NULL,'gfdgdfgdf',NULL,NULL),(223,NULL,1,'2014-03-13 10:00:00','2014-03-17 00:00:00',NULL,NULL,50,NULL,'Congress','2014-03-02 19:55:11','2014-03-02 18:55:11',1,NULL,NULL,NULL,NULL,0,1,0,NULL,0,0,1,-1,'',309600,NULL,'',NULL,NULL),(224,NULL,1,'2014-03-14 10:00:00',NULL,NULL,NULL,1,NULL,'Call john','2014-03-02 19:55:56','2014-03-02 18:55:56',1,NULL,NULL,NULL,NULL,0,1,0,NULL,0,0,1,0,'',NULL,NULL,'tttt',NULL,NULL),(225,NULL,1,'2014-03-02 20:11:31','2014-03-02 20:11:31',NULL,NULL,40,'AC_BILL_UNVALIDATE','Invoice FA1303-0020 go back to draft status','2014-03-02 20:11:31','2014-03-02 19:11:31',1,NULL,NULL,19,NULL,0,NULL,0,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1303-0020 go back to draft status\nAuthor: admin',211,'invoice'),(226,NULL,1,'2014-03-02 20:13:39','2014-03-02 20:13:39',NULL,NULL,40,'AC_BILL_VALIDATE','Invoice FA1303-0020 validated','2014-03-02 20:13:39','2014-03-02 19:13:39',1,NULL,NULL,19,NULL,0,NULL,0,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1303-0020 validated\nAuthor: admin',211,'invoice'),(227,NULL,1,'2014-03-03 19:20:10','2014-03-03 19:20:10',NULL,NULL,40,'AC_BILL_VALIDATE','Invoice FA1212-0023 validated','2014-03-03 19:20:10','2014-03-03 18:20:10',1,NULL,NULL,1,NULL,0,NULL,0,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1212-0023 validated\nAuthor: admin',33,'invoice'),(228,NULL,1,'2014-03-03 19:20:25','2014-03-03 19:20:25',NULL,NULL,40,'AC_BILL_CANCEL','Invoice FA1212-0023 canceled in Dolibarr','2014-03-03 19:20:25','2014-03-03 18:20:25',1,NULL,NULL,1,NULL,0,NULL,0,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1212-0023 canceled in Dolibarr\nAuthor: admin',33,'invoice'),(229,NULL,1,'2014-03-03 19:20:56','2014-03-03 19:20:56',NULL,NULL,40,'AC_BILL_VALIDATE','Invoice AV1403-0003 validated','2014-03-03 19:20:56','2014-03-03 18:20:56',1,NULL,NULL,1,NULL,0,NULL,0,1,0,0,1,-1,'',NULL,NULL,'Invoice AV1403-0003 validated\nAuthor: admin',212,'invoice'),(230,NULL,1,'2014-03-03 19:21:29','2014-03-03 19:21:29',NULL,NULL,40,'AC_BILL_UNVALIDATE','Invoice AV1403-0003 go back to draft status','2014-03-03 19:21:29','2014-03-03 18:21:29',1,NULL,NULL,1,NULL,0,NULL,0,1,0,0,1,-1,'',NULL,NULL,'Invoice AV1403-0003 go back to draft status\nAuthor: admin',212,'invoice'),(231,NULL,1,'2014-03-03 19:22:16','2014-03-03 19:22:16',NULL,NULL,40,'AC_BILL_VALIDATE','Invoice AV1303-0003 validated','2014-03-03 19:22:16','2014-03-03 18:22:16',1,NULL,NULL,1,NULL,0,NULL,0,1,0,0,1,-1,'',NULL,NULL,'Invoice AV1303-0003 validated\nAuthor: admin',213,'invoice'); /*!40000 ALTER TABLE `llx_actioncomm` ENABLE KEYS */; UNLOCK TABLES; @@ -519,7 +519,7 @@ CREATE TABLE `llx_bank` ( KEY `idx_bank_dateo` (`dateo`), KEY `idx_bank_fk_account` (`fk_account`), KEY `idx_bank_rappro` (`rappro`) -) ENGINE=InnoDB AUTO_INCREMENT=24 DEFAULT CHARSET=utf8; +) ENGINE=InnoDB AUTO_INCREMENT=30 DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -528,7 +528,7 @@ CREATE TABLE `llx_bank` ( LOCK TABLES `llx_bank` WRITE; /*!40000 ALTER TABLE `llx_bank` DISABLE KEYS */; -INSERT INTO `llx_bank` VALUES (1,'2010-07-08 23:56:14','2013-03-07 21:28:51','2010-07-08','2010-07-08',2000.00000000,'(Initial balance)',1,NULL,1,'SOLD','201210',NULL,1,NULL,0,NULL,NULL,NULL),(2,'2010-07-09 00:00:24','0000-00-00 00:00:00','2010-07-09','2010-07-09',500.00000000,'(Initial balance)',2,NULL,NULL,'SOLD',NULL,NULL,0,NULL,0,NULL,NULL,NULL),(3,'2010-07-10 13:33:42','0000-00-00 00:00:00','2010-07-10','2010-07-10',0.00000000,'(Solde initial)',3,NULL,NULL,'SOLD',NULL,NULL,0,NULL,0,NULL,NULL,NULL),(4,'2010-07-10 14:59:41','0000-00-00 00:00:00','2010-07-10','2010-07-10',0.02000000,'(CustomerInvoicePayment)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,'Client salon invidivdu',NULL),(5,'2011-07-18 20:50:24','0000-00-00 00:00:00','2011-07-08','2011-07-08',20.00000000,'(CustomerInvoicePayment)',1,1,NULL,'CB','201107',NULL,1,NULL,0,NULL,NULL,NULL),(6,'2011-07-18 20:50:47','0000-00-00 00:00:00','2011-07-08','2011-07-08',10.00000000,'(CustomerInvoicePayment)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL),(8,'2011-08-01 03:34:11','2013-03-07 21:28:51','2011-08-01','2011-08-01',5.63000000,'(CustomerInvoicePayment)',1,1,1,'CB','201210',NULL,1,NULL,0,NULL,NULL,NULL),(12,'2011-08-05 23:11:37','2013-03-07 21:33:57','2011-08-05','2011-08-05',-10.00000000,'(SocialContributionPayment)',1,1,1,'VIR','201210',NULL,1,NULL,0,NULL,NULL,NULL),(13,'2011-08-06 20:33:54','0000-00-00 00:00:00','2011-08-06','2011-08-06',5.98000000,'(CustomerInvoicePayment)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL),(14,'2011-08-08 02:53:40','0000-00-00 00:00:00','2011-08-08','2011-08-08',26.10000000,'(CustomerInvoicePayment)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL),(15,'2011-08-08 02:55:58','2013-03-07 21:39:20','2011-08-08','2011-08-08',26.96000000,'(CustomerInvoicePayment)',1,1,1,'TIP','201211',NULL,1,NULL,0,NULL,NULL,NULL),(16,'2012-12-09 15:28:44','2012-12-09 14:28:44','2012-12-09','2012-12-09',2.00000000,'(CustomerInvoicePayment)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL),(17,'2012-12-09 15:28:53','2012-12-09 14:33:07','2012-12-09','2012-12-09',-2.00000000,'(CustomerInvoicePaymentBack)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL),(18,'2012-12-09 17:35:55','2012-12-09 16:35:55','2012-12-09','2012-12-09',-2.00000000,'(CustomerInvoicePaymentBack)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL),(19,'2012-12-09 17:37:02','2012-12-09 16:37:02','2012-12-09','2012-12-09',2.00000000,'(CustomerInvoicePayment)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL),(20,'2012-12-09 18:35:07','2012-12-09 17:35:07','2012-12-09','2012-12-09',-2.00000000,'(CustomerInvoicePaymentBack)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL),(21,'2012-12-12 18:54:33','2013-03-07 21:28:51','2012-12-12','2012-12-12',1.00000000,'(CustomerInvoicePayment)',1,1,1,'TIP','201210',NULL,1,NULL,0,NULL,NULL,NULL),(22,'2013-03-06 16:48:16','2013-03-06 15:48:16','2013-03-06','2013-03-06',20.00000000,'(SubscriptionPayment)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL),(23,'2013-03-20 14:30:11','2013-03-20 13:30:11','2013-03-20','2013-03-20',10.00000000,'(SubscriptionPayment)',1,1,NULL,'VIR',NULL,NULL,0,NULL,0,NULL,NULL,NULL); +INSERT INTO `llx_bank` VALUES (1,'2010-07-08 23:56:14','2013-03-07 21:28:51','2010-07-08','2010-07-08',2000.00000000,'(Initial balance)',1,NULL,1,'SOLD','201210',NULL,1,NULL,0,NULL,NULL,NULL),(2,'2010-07-09 00:00:24','0000-00-00 00:00:00','2010-07-09','2010-07-09',500.00000000,'(Initial balance)',2,NULL,NULL,'SOLD',NULL,NULL,0,NULL,0,NULL,NULL,NULL),(3,'2010-07-10 13:33:42','0000-00-00 00:00:00','2010-07-10','2010-07-10',0.00000000,'(Solde initial)',3,NULL,NULL,'SOLD',NULL,NULL,0,NULL,0,NULL,NULL,NULL),(4,'2010-07-10 14:59:41','0000-00-00 00:00:00','2010-07-10','2010-07-10',0.02000000,'(CustomerInvoicePayment)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,'Client salon invidivdu',NULL),(5,'2011-07-18 20:50:24','0000-00-00 00:00:00','2011-07-08','2011-07-08',20.00000000,'(CustomerInvoicePayment)',1,1,NULL,'CB','201107',NULL,1,NULL,0,NULL,NULL,NULL),(6,'2011-07-18 20:50:47','0000-00-00 00:00:00','2011-07-08','2011-07-08',10.00000000,'(CustomerInvoicePayment)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL),(8,'2011-08-01 03:34:11','2013-03-07 21:28:51','2011-08-01','2011-08-01',5.63000000,'(CustomerInvoicePayment)',1,1,1,'CB','201210',NULL,1,NULL,0,NULL,NULL,NULL),(12,'2011-08-05 23:11:37','2013-03-07 21:33:57','2011-08-05','2011-08-05',-10.00000000,'(SocialContributionPayment)',1,1,1,'VIR','201210',NULL,1,NULL,0,NULL,NULL,NULL),(13,'2011-08-06 20:33:54','0000-00-00 00:00:00','2011-08-06','2011-08-06',5.98000000,'(CustomerInvoicePayment)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL),(14,'2011-08-08 02:53:40','0000-00-00 00:00:00','2011-08-08','2011-08-08',26.10000000,'(CustomerInvoicePayment)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL),(15,'2011-08-08 02:55:58','2013-03-07 21:39:20','2011-08-08','2011-08-08',26.96000000,'(CustomerInvoicePayment)',1,1,1,'TIP','201211',NULL,1,NULL,0,NULL,NULL,NULL),(16,'2012-12-09 15:28:44','2012-12-09 14:28:44','2012-12-09','2012-12-09',2.00000000,'(CustomerInvoicePayment)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL),(17,'2012-12-09 15:28:53','2012-12-09 14:33:07','2012-12-09','2012-12-09',-2.00000000,'(CustomerInvoicePaymentBack)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL),(18,'2012-12-09 17:35:55','2012-12-09 16:35:55','2012-12-09','2012-12-09',-2.00000000,'(CustomerInvoicePaymentBack)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL),(19,'2012-12-09 17:37:02','2012-12-09 16:37:02','2012-12-09','2012-12-09',2.00000000,'(CustomerInvoicePayment)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL),(20,'2012-12-09 18:35:07','2012-12-09 17:35:07','2012-12-09','2012-12-09',-2.00000000,'(CustomerInvoicePaymentBack)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL),(21,'2012-12-12 18:54:33','2013-03-07 21:28:51','2012-12-12','2012-12-12',1.00000000,'(CustomerInvoicePayment)',1,1,1,'TIP','201210',NULL,1,NULL,0,NULL,NULL,NULL),(22,'2013-03-06 16:48:16','2013-03-06 15:48:16','2013-03-06','2013-03-06',20.00000000,'(SubscriptionPayment)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL),(23,'2013-03-20 14:30:11','2013-03-20 13:30:11','2013-03-20','2013-03-20',10.00000000,'(SubscriptionPayment)',1,1,NULL,'VIR',NULL,NULL,0,NULL,0,NULL,NULL,NULL),(24,'2014-03-02 19:57:58','2014-03-02 18:57:58','2013-07-09','2013-07-09',605.00000000,'(CustomerInvoicePayment)',1,1,NULL,'VIR',NULL,NULL,0,NULL,0,NULL,'111',NULL),(25,'2014-03-02 19:59:48','2014-03-02 18:59:48','2013-03-22','2013-03-22',30.00000000,'(CustomerInvoicePayment)',1,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL),(26,'2014-03-02 20:01:39','2014-03-02 19:01:39','2013-03-19','2013-03-19',500.00000000,'(CustomerInvoicePayment)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL),(27,'2014-03-02 20:02:06','2014-03-02 19:02:06','2013-03-21','2013-03-21',400.00000000,'(CustomerInvoicePayment)',1,1,NULL,'VIR',NULL,NULL,0,NULL,0,NULL,'ABC and Co',NULL),(28,'2014-03-03 19:22:32','2014-03-03 18:22:32','2013-10-03','2013-10-03',-400.00000000,'(CustomerInvoicePaymentBack)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL),(29,'2014-03-03 19:23:16','2014-03-03 18:23:16','2013-03-10','2013-03-10',-300.00000000,'(CustomerInvoicePaymentBack)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL); /*!40000 ALTER TABLE `llx_bank` ENABLE KEYS */; UNLOCK TABLES; @@ -648,7 +648,7 @@ CREATE TABLE `llx_bank_url` ( `type` varchar(20) NOT NULL, PRIMARY KEY (`rowid`), UNIQUE KEY `uk_bank_url` (`fk_bank`,`type`) -) ENGINE=InnoDB AUTO_INCREMENT=41 DEFAULT CHARSET=utf8; +) ENGINE=InnoDB AUTO_INCREMENT=53 DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -657,7 +657,7 @@ CREATE TABLE `llx_bank_url` ( LOCK TABLES `llx_bank_url` WRITE; /*!40000 ALTER TABLE `llx_bank_url` DISABLE KEYS */; -INSERT INTO `llx_bank_url` VALUES (1,4,1,'/dolibarrnew/compta/paiement/fiche.php?id=','(paiement)','payment'),(2,4,9,'/dolibarrnew/compta/fiche.php?socid=','Client salon invidivdu','company'),(3,5,2,'/compta/paiement/fiche.php?id=','(paiement)','payment'),(4,5,2,'/comm/fiche.php?socid=','Belin SARL','company'),(5,6,3,'/compta/paiement/fiche.php?id=','(paiement)','payment'),(6,6,2,'/comm/fiche.php?socid=','Belin SARL','company'),(9,8,5,'/compta/paiement/fiche.php?id=','(paiement)','payment'),(10,8,7,'/comm/fiche.php?socid=','Generic customer','company'),(17,12,4,'/compta/payment_sc/fiche.php?id=','(paiement)','payment_sc'),(18,12,4,'/compta/charges.php?id=','Assurance Chomage (fff)','sc'),(19,13,6,'/dolibarrnew/compta/paiement/fiche.php?id=','(paiement)','payment'),(20,13,7,'/dolibarrnew/comm/fiche.php?socid=','Generic customer','company'),(21,14,8,'/compta/paiement/fiche.php?id=','(paiement)','payment'),(22,14,2,'/comm/fiche.php?socid=','Belin SARL','company'),(23,15,9,'/compta/paiement/fiche.php?id=','(paiement)','payment'),(24,15,10,'/comm/fiche.php?socid=','Smith Vick','company'),(25,16,17,'/dolibarrnew/compta/paiement/fiche.php?id=','(paiement)','payment'),(26,16,10,'/dolibarrnew/comm/fiche.php?socid=','Smith Vick','company'),(27,17,18,'/dolibarrnew/compta/paiement/fiche.php?id=','(paiement)','payment'),(28,17,10,'/dolibarrnew/comm/fiche.php?socid=','Smith Vick','company'),(29,18,19,'/dolibarrnew/compta/paiement/fiche.php?id=','(paiement)','payment'),(30,18,10,'/dolibarrnew/comm/fiche.php?socid=','Smith Vick','company'),(31,19,20,'/dolibarrnew/compta/paiement/fiche.php?id=','(paiement)','payment'),(32,19,10,'/dolibarrnew/comm/fiche.php?socid=','Smith Vick','company'),(33,20,21,'/dolibarrnew/compta/paiement/fiche.php?id=','(paiement)','payment'),(34,20,10,'/dolibarrnew/comm/fiche.php?socid=','Smith Vick','company'),(35,21,23,'/compta/paiement/fiche.php?id=','(paiement)','payment'),(36,21,1,'/comm/fiche.php?socid=','ABC and Co','company'),(37,22,24,'/dolibarrnew/compta/paiement/fiche.php?id=','(paiement)','payment'),(38,22,12,'/dolibarrnew/comm/fiche.php?socid=','Dupont Alain','company'),(39,23,25,'/dolibarrnew/compta/paiement/fiche.php?id=','(paiement)','payment'),(40,23,10,'/dolibarrnew/comm/fiche.php?socid=','Smith Vick','company'); +INSERT INTO `llx_bank_url` VALUES (1,4,1,'/dolibarrnew/compta/paiement/fiche.php?id=','(paiement)','payment'),(2,4,9,'/dolibarrnew/compta/fiche.php?socid=','Client salon invidivdu','company'),(3,5,2,'/compta/paiement/fiche.php?id=','(paiement)','payment'),(4,5,2,'/comm/fiche.php?socid=','Belin SARL','company'),(5,6,3,'/compta/paiement/fiche.php?id=','(paiement)','payment'),(6,6,2,'/comm/fiche.php?socid=','Belin SARL','company'),(9,8,5,'/compta/paiement/fiche.php?id=','(paiement)','payment'),(10,8,7,'/comm/fiche.php?socid=','Generic customer','company'),(17,12,4,'/compta/payment_sc/fiche.php?id=','(paiement)','payment_sc'),(18,12,4,'/compta/charges.php?id=','Assurance Chomage (fff)','sc'),(19,13,6,'/dolibarrnew/compta/paiement/fiche.php?id=','(paiement)','payment'),(20,13,7,'/dolibarrnew/comm/fiche.php?socid=','Generic customer','company'),(21,14,8,'/compta/paiement/fiche.php?id=','(paiement)','payment'),(22,14,2,'/comm/fiche.php?socid=','Belin SARL','company'),(23,15,9,'/compta/paiement/fiche.php?id=','(paiement)','payment'),(24,15,10,'/comm/fiche.php?socid=','Smith Vick','company'),(25,16,17,'/dolibarrnew/compta/paiement/fiche.php?id=','(paiement)','payment'),(26,16,10,'/dolibarrnew/comm/fiche.php?socid=','Smith Vick','company'),(27,17,18,'/dolibarrnew/compta/paiement/fiche.php?id=','(paiement)','payment'),(28,17,10,'/dolibarrnew/comm/fiche.php?socid=','Smith Vick','company'),(29,18,19,'/dolibarrnew/compta/paiement/fiche.php?id=','(paiement)','payment'),(30,18,10,'/dolibarrnew/comm/fiche.php?socid=','Smith Vick','company'),(31,19,20,'/dolibarrnew/compta/paiement/fiche.php?id=','(paiement)','payment'),(32,19,10,'/dolibarrnew/comm/fiche.php?socid=','Smith Vick','company'),(33,20,21,'/dolibarrnew/compta/paiement/fiche.php?id=','(paiement)','payment'),(34,20,10,'/dolibarrnew/comm/fiche.php?socid=','Smith Vick','company'),(35,21,23,'/compta/paiement/fiche.php?id=','(paiement)','payment'),(36,21,1,'/comm/fiche.php?socid=','ABC and Co','company'),(37,22,24,'/dolibarrnew/compta/paiement/fiche.php?id=','(paiement)','payment'),(38,22,12,'/dolibarrnew/comm/fiche.php?socid=','Dupont Alain','company'),(39,23,25,'/dolibarrnew/compta/paiement/fiche.php?id=','(paiement)','payment'),(40,23,10,'/dolibarrnew/comm/fiche.php?socid=','Smith Vick','company'),(41,24,26,'/compta/paiement/fiche.php?id=','(paiement)','payment'),(42,24,1,'/comm/fiche.php?socid=','ABC and Co','company'),(43,25,27,'/compta/paiement/fiche.php?id=','(paiement)','payment'),(44,25,18,'/comm/fiche.php?socid=','doe john','company'),(45,26,29,'/compta/paiement/fiche.php?id=','(paiement)','payment'),(46,26,1,'/comm/fiche.php?socid=','ABC and Co','company'),(47,27,30,'/compta/paiement/fiche.php?id=','(paiement)','payment'),(48,27,1,'/comm/fiche.php?socid=','ABC and Co','company'),(49,28,32,'/dolibarr_new/compta/paiement/fiche.php?id=','(paiement)','payment'),(50,28,1,'/dolibarr_new/comm/fiche.php?socid=','ABC and Co','company'),(51,29,33,'/dolibarr_new/compta/paiement/fiche.php?id=','(paiement)','payment'),(52,29,1,'/dolibarr_new/comm/fiche.php?socid=','ABC and Co','company'); /*!40000 ALTER TABLE `llx_bank_url` ENABLE KEYS */; UNLOCK TABLES; @@ -822,7 +822,7 @@ CREATE TABLE `llx_boxes` ( KEY `idx_boxes_boxid` (`box_id`), KEY `idx_boxes_fk_user` (`fk_user`), CONSTRAINT `fk_boxes_box_id` FOREIGN KEY (`box_id`) REFERENCES `llx_boxes_def` (`rowid`) -) ENGINE=InnoDB AUTO_INCREMENT=724 DEFAULT CHARSET=utf8; +) ENGINE=InnoDB AUTO_INCREMENT=787 DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -831,7 +831,7 @@ CREATE TABLE `llx_boxes` ( LOCK TABLES `llx_boxes` WRITE; /*!40000 ALTER TABLE `llx_boxes` DISABLE KEYS */; -INSERT INTO `llx_boxes` VALUES (12,1,20,0,'A09',0,NULL,NULL),(73,1,21,0,'B16',0,NULL,NULL),(153,1,288,0,'A21',0,NULL,NULL),(154,1,289,0,'A07',0,NULL,NULL),(155,1,290,0,'A17',0,NULL,NULL),(160,1,295,0,'A13',0,NULL,NULL),(161,1,296,0,'A15',0,NULL,NULL),(162,1,297,0,'B12',0,NULL,NULL),(163,1,298,0,'B20',0,NULL,NULL),(164,1,299,0,'B10',0,NULL,NULL),(177,1,309,0,'B18',0,NULL,NULL),(240,1,316,0,'A05',0,NULL,NULL),(241,1,317,0,'B04',0,NULL,NULL),(253,2,323,0,'0',0,NULL,NULL),(304,2,324,0,'0',0,NULL,NULL),(305,2,325,0,'0',0,NULL,NULL),(306,2,326,0,'0',0,NULL,NULL),(307,2,327,0,'0',0,NULL,NULL),(308,2,328,0,'0',0,NULL,NULL),(309,2,329,0,'0',0,NULL,NULL),(310,2,330,0,'0',0,NULL,NULL),(311,2,331,0,'0',0,NULL,NULL),(312,2,332,0,'0',0,NULL,NULL),(313,2,333,0,'0',0,NULL,NULL),(372,1,334,0,'0',0,NULL,NULL),(373,1,335,0,'0',0,NULL,NULL),(374,1,336,0,'0',0,NULL,NULL),(439,1,337,0,'0',0,NULL,NULL),(440,1,338,0,'0',0,NULL,NULL),(441,1,339,0,'0',0,NULL,NULL),(442,1,340,0,'0',0,NULL,NULL),(531,1,341,0,'0',0,NULL,NULL),(532,1,342,0,'0',0,NULL,NULL),(533,1,343,0,'0',0,NULL,NULL),(534,1,344,0,'0',0,NULL,NULL),(535,1,345,0,'0',0,NULL,NULL),(708,1,344,0,'A01',1,NULL,NULL),(709,1,345,0,'A02',1,NULL,NULL),(710,1,335,0,'A03',1,NULL,NULL),(711,1,339,0,'A04',1,NULL,NULL),(712,1,317,0,'A05',1,NULL,NULL),(713,1,299,0,'A06',1,NULL,NULL),(714,1,289,0,'A07',1,NULL,NULL),(715,1,336,0,'B01',1,NULL,NULL),(716,1,341,0,'B02',1,NULL,NULL),(717,1,342,0,'B03',1,NULL,NULL),(718,1,340,0,'B04',1,NULL,NULL),(719,1,298,0,'B05',1,NULL,NULL),(720,1,295,0,'B06',1,NULL,NULL),(721,1,290,0,'B07',1,NULL,NULL),(722,1,297,0,'B08',1,NULL,NULL),(723,1,20,0,'B09',1,NULL,NULL); +INSERT INTO `llx_boxes` VALUES (12,1,20,0,'A09',0,NULL,NULL),(73,1,21,0,'B16',0,NULL,NULL),(153,1,288,0,'A21',0,NULL,NULL),(154,1,289,0,'A07',0,NULL,NULL),(155,1,290,0,'A17',0,NULL,NULL),(160,1,295,0,'A13',0,NULL,NULL),(161,1,296,0,'A15',0,NULL,NULL),(162,1,297,0,'B12',0,NULL,NULL),(163,1,298,0,'B20',0,NULL,NULL),(164,1,299,0,'B10',0,NULL,NULL),(177,1,309,0,'B18',0,NULL,NULL),(240,1,316,0,'A05',0,NULL,NULL),(241,1,317,0,'B04',0,NULL,NULL),(253,2,323,0,'0',0,NULL,NULL),(304,2,324,0,'0',0,NULL,NULL),(305,2,325,0,'0',0,NULL,NULL),(306,2,326,0,'0',0,NULL,NULL),(307,2,327,0,'0',0,NULL,NULL),(308,2,328,0,'0',0,NULL,NULL),(309,2,329,0,'0',0,NULL,NULL),(310,2,330,0,'0',0,NULL,NULL),(311,2,331,0,'0',0,NULL,NULL),(312,2,332,0,'0',0,NULL,NULL),(313,2,333,0,'0',0,NULL,NULL),(372,1,334,0,'0',0,NULL,NULL),(373,1,335,0,'0',0,NULL,NULL),(374,1,336,0,'0',0,NULL,NULL),(439,1,337,0,'0',0,NULL,NULL),(440,1,338,0,'0',0,NULL,NULL),(441,1,339,0,'0',0,NULL,NULL),(442,1,340,0,'0',0,NULL,NULL),(531,1,341,0,'0',0,NULL,NULL),(532,1,342,0,'0',0,NULL,NULL),(533,1,343,0,'0',0,NULL,NULL),(534,1,344,0,'0',0,NULL,NULL),(535,1,345,0,'0',0,NULL,NULL),(772,1,343,0,'A01',1,NULL,NULL),(773,1,342,0,'A02',1,NULL,NULL),(774,1,335,0,'A03',1,NULL,NULL),(775,1,339,0,'A04',1,NULL,NULL),(776,1,317,0,'A05',1,NULL,NULL),(777,1,299,0,'A06',1,NULL,NULL),(778,1,289,0,'A07',1,NULL,NULL),(779,1,336,0,'B01',1,NULL,NULL),(780,1,341,0,'B02',1,NULL,NULL),(781,1,340,0,'B03',1,NULL,NULL),(782,1,298,0,'B04',1,NULL,NULL),(783,1,295,0,'B05',1,NULL,NULL),(784,1,290,0,'B06',1,NULL,NULL),(785,1,297,0,'B07',1,NULL,NULL),(786,1,20,0,'B08',1,NULL,NULL); /*!40000 ALTER TABLE `llx_boxes` ENABLE KEYS */; UNLOCK TABLES; @@ -2660,7 +2660,7 @@ CREATE TABLE `llx_const` ( `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (`rowid`), UNIQUE KEY `uk_const` (`name`,`entity`) -) ENGINE=InnoDB AUTO_INCREMENT=5240 DEFAULT CHARSET=utf8; +) ENGINE=InnoDB AUTO_INCREMENT=5260 DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -2669,7 +2669,7 @@ CREATE TABLE `llx_const` ( LOCK TABLES `llx_const` WRITE; /*!40000 ALTER TABLE `llx_const` DISABLE KEYS */; -INSERT INTO `llx_const` VALUES (5,'SYSLOG_LEVEL',0,'7','chaine',0,'Level of debug info to show','2010-07-08 11:17:57'),(8,'MAIN_UPLOAD_DOC',0,'2048','chaine',0,'Max size for file upload (0 means no upload allowed)','2010-07-08 11:17:57'),(9,'MAIN_SEARCHFORM_SOCIETE',0,'1','yesno',0,'Show form for quick company search','2010-07-08 11:17:57'),(10,'MAIN_SEARCHFORM_CONTACT',0,'1','yesno',0,'Show form for quick contact search','2010-07-08 11:17:57'),(11,'MAIN_SEARCHFORM_PRODUITSERVICE',0,'1','yesno',0,'Show form for quick product search','2010-07-08 11:17:58'),(12,'MAIN_SEARCHFORM_ADHERENT',0,'1','yesno',0,'Show form for quick member search','2010-07-08 11:17:58'),(16,'MAIN_SIZE_LISTE_LIMIT',0,'25','chaine',0,'Longueur maximum des listes','2010-07-08 11:17:58'),(17,'MAIN_SHOW_WORKBOARD',0,'1','yesno',0,'Affichage tableau de bord de travail Dolibarr','2010-07-08 11:17:58'),(29,'MAIN_DELAY_NOT_ACTIVATED_SERVICES',1,'0','chaine',0,'Tolérance de retard avant alerte (en jours) sur services à activer','2010-07-08 11:17:58'),(33,'SOCIETE_NOLIST_COURRIER',0,'1','yesno',0,'Liste les fichiers du repertoire courrier','2010-07-08 11:17:58'),(35,'SOCIETE_CODECOMPTA_ADDON',1,'mod_codecompta_panicum','yesno',0,'Module to control third parties codes','2010-07-08 11:17:58'),(36,'ADHERENT_MAIL_REQUIRED',1,'1','yesno',0,'EMail required to create a new member','2010-07-08 11:17:58'),(37,'ADHERENT_MAIL_FROM',1,'adherents@domain.com','chaine',0,'Sender EMail for automatic emails','2010-07-08 11:17:58'),(38,'ADHERENT_MAIL_RESIL',1,'Your subscription has been resiliated.\r\nWe hope to see you soon again','texte',0,'Mail resiliation','2010-07-08 11:17:58'),(39,'ADHERENT_MAIL_VALID',1,'Your subscription has been validated.\r\nThis is a remind of your personal information :\r\n\r\n%INFOS%\r\n\r\n','texte',0,'Mail de validation','2010-07-08 11:17:59'),(40,'ADHERENT_MAIL_COTIS',1,'Hello %PRENOM%,\r\nThanks for your subscription.\r\nThis email confirms that your subscription has been received and processed.\r\n\r\n','texte',0,'Mail de validation de cotisation','2010-07-08 11:17:59'),(41,'ADHERENT_MAIL_VALID_SUBJECT',1,'Your subscription has been validated','chaine',0,'Sujet du mail de validation','2010-07-08 11:17:59'),(42,'ADHERENT_MAIL_RESIL_SUBJECT',1,'Resiliating your subscription','chaine',0,'Sujet du mail de resiliation','2010-07-08 11:17:59'),(43,'ADHERENT_MAIL_COTIS_SUBJECT',1,'Receipt of your subscription','chaine',0,'Sujet du mail de validation de cotisation','2010-07-08 11:17:59'),(44,'MAILING_EMAIL_FROM',1,'dolibarr@domain.com','chaine',0,'EMail emmetteur pour les envois d emailings','2010-07-08 11:17:59'),(45,'ADHERENT_USE_MAILMAN',1,'0','yesno',0,'Utilisation de Mailman','2010-07-08 11:17:59'),(46,'ADHERENT_MAILMAN_UNSUB_URL',1,'http://lists.domain.com/cgi-bin/mailman/admin/%LISTE%/members?adminpw=%MAILMAN_ADMINPW%&user=%EMAIL%','chaine',0,'Url de desinscription aux listes mailman','2010-07-08 11:17:59'),(47,'ADHERENT_MAILMAN_URL',1,'http://lists.domain.com/cgi-bin/mailman/admin/%LISTE%/members?adminpw=%MAILMAN_ADMINPW%&send_welcome_msg_to_this_batch=1&subscribees=%EMAIL%','chaine',0,'Url pour les inscriptions mailman','2010-07-08 11:17:59'),(48,'ADHERENT_MAILMAN_LISTS',1,'test-test,test-test2','chaine',0,'Listes auxquelles inscrire les nouveaux adherents','2010-07-08 11:17:59'),(49,'ADHERENT_MAILMAN_ADMINPW',1,'','chaine',0,'Mot de passe Admin des liste mailman','2010-07-08 11:17:59'),(50,'ADHERENT_MAILMAN_SERVER',1,'lists.domain.com','chaine',0,'Serveur hebergeant les interfaces d Admin des listes mailman','2010-07-08 11:17:59'),(51,'ADHERENT_MAILMAN_LISTS_COTISANT',1,'','chaine',0,'Liste(s) auxquelles les nouveaux cotisants sont inscris automatiquement','2010-07-08 11:17:59'),(52,'ADHERENT_USE_SPIP',1,'0','yesno',0,'Utilisation de SPIP ?','2010-07-08 11:17:59'),(53,'ADHERENT_USE_SPIP_AUTO',1,'0','yesno',0,'Utilisation de SPIP automatiquement','2010-07-08 11:17:59'),(54,'ADHERENT_SPIP_USER',1,'user','chaine',0,'user spip','2010-07-08 11:17:59'),(55,'ADHERENT_SPIP_PASS',1,'pass','chaine',0,'Pass de connection','2010-07-08 11:17:59'),(56,'ADHERENT_SPIP_SERVEUR',1,'localhost','chaine',0,'serveur spip','2010-07-08 11:17:59'),(57,'ADHERENT_SPIP_DB',1,'spip','chaine',0,'db spip','2010-07-08 11:17:59'),(58,'ADHERENT_CARD_HEADER_TEXT',1,'%ANNEE%','chaine',0,'Texte imprime sur le haut de la carte adherent','2010-07-08 11:17:59'),(59,'ADHERENT_CARD_FOOTER_TEXT',1,'Association AZERTY','chaine',0,'Texte imprime sur le bas de la carte adherent','2010-07-08 11:17:59'),(61,'FCKEDITOR_ENABLE_USER',1,'1','yesno',0,'Activation fckeditor sur notes utilisateurs','2010-07-08 11:17:59'),(62,'FCKEDITOR_ENABLE_SOCIETE',1,'1','yesno',0,'Activation fckeditor sur notes societe','2010-07-08 11:17:59'),(63,'FCKEDITOR_ENABLE_PRODUCTDESC',1,'1','yesno',0,'Activation fckeditor sur notes produits','2010-07-08 11:17:59'),(64,'FCKEDITOR_ENABLE_MEMBER',1,'1','yesno',0,'Activation fckeditor sur notes adherent','2010-07-08 11:17:59'),(65,'FCKEDITOR_ENABLE_MAILING',1,'1','yesno',0,'Activation fckeditor sur emailing','2010-07-08 11:17:59'),(66,'OSC_DB_HOST',1,'localhost','chaine',0,'Host for OSC database for OSCommerce module 1','2010-07-08 11:17:59'),(67,'DON_ADDON_MODEL',1,'html_cerfafr','chaine',0,'','2010-07-08 11:18:00'),(68,'PROPALE_ADDON',1,'mod_propale_marbre','chaine',0,'','2010-07-08 11:18:00'),(69,'PROPALE_ADDON_PDF',1,'azur','chaine',0,'','2010-07-08 11:18:00'),(70,'COMMANDE_ADDON',1,'mod_commande_marbre','chaine',0,'','2010-07-08 11:18:00'),(71,'COMMANDE_ADDON_PDF',1,'einstein','chaine',0,'','2010-07-08 11:18:00'),(72,'COMMANDE_SUPPLIER_ADDON',1,'mod_commande_fournisseur_muguet','chaine',0,'','2010-07-08 11:18:00'),(73,'COMMANDE_SUPPLIER_ADDON_PDF',1,'muscadet','chaine',0,'','2010-07-08 11:18:00'),(74,'EXPEDITION_ADDON',1,'enlevement','chaine',0,'','2010-07-08 11:18:00'),(76,'FICHEINTER_ADDON',1,'pacific','chaine',0,'','2010-07-08 11:18:00'),(77,'FICHEINTER_ADDON_PDF',1,'soleil','chaine',0,'','2010-07-08 11:18:00'),(79,'FACTURE_ADDON_PDF',1,'crabe','chaine',0,'','2010-07-08 11:18:00'),(80,'PROPALE_VALIDITY_DURATION',1,'15','chaine',0,'Durée de validitée des propales','2010-07-08 11:18:00'),(230,'COMPANY_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/thirdparties','chaine',0,NULL,'2010-07-08 11:26:20'),(238,'LIVRAISON_ADDON_PDF',1,'typhon','chaine',0,'Nom du gestionnaire de generation des commandes en PDF','2010-07-08 11:26:27'),(239,'LIVRAISON_ADDON_NUMBER',1,'mod_livraison_jade','chaine',0,'Nom du gestionnaire de numerotation des bons de livraison','2013-03-20 13:17:36'),(242,'MAIN_SUBMODULE_EXPEDITION',1,'1','chaine',0,'','2010-07-08 11:26:34'),(245,'FACTURE_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/invoices','chaine',0,NULL,'2010-07-08 11:28:53'),(249,'DON_FORM',1,'fsfe.fr.php','chaine',0,'Nom du gestionnaire de formulaire de dons','2010-07-08 11:29:00'),(252,'MAIN_MODULE_ADHERENT',1,'1',NULL,0,NULL,'2010-07-08 11:29:05'),(253,'ADHERENT_BANK_USE_AUTO',1,'','yesno',0,'Insertion automatique des cotisation dans le compte banquaire','2010-07-08 11:29:05'),(254,'ADHERENT_BANK_ACCOUNT',1,'','chaine',0,'ID du Compte banquaire utilise','2010-07-08 11:29:05'),(255,'ADHERENT_BANK_CATEGORIE',1,'','chaine',0,'ID de la categorie banquaire des cotisations','2010-07-08 11:29:05'),(256,'ADHERENT_ETIQUETTE_TYPE',1,'L7163','chaine',0,'Type d etiquette (pour impression de planche d etiquette)','2010-07-08 11:29:05'),(260,'MAIN_MODULE_STOCK',1,'1',NULL,0,NULL,'2010-07-08 11:29:18'),(269,'PROJECT_ADDON_PDF',1,'baleine','chaine',0,'Nom du gestionnaire de generation des projets en PDF','2010-07-08 11:29:33'),(270,'PROJECT_ADDON',1,'mod_project_simple','chaine',0,'Nom du gestionnaire de numerotation des projets','2010-07-08 11:29:33'),(271,'MAIN_MODULE_MAILING',1,'1',NULL,0,NULL,'2010-07-08 11:29:37'),(272,'MAIN_MODULE_EXPORT',1,'1',NULL,0,NULL,'2010-07-08 11:29:41'),(273,'MAIN_MODULE_IMPORT',1,'1',NULL,0,NULL,'2010-07-08 11:29:45'),(274,'MAIN_MODULE_CATEGORIE',1,'1',NULL,0,NULL,'2010-07-08 11:29:59'),(275,'MAIN_MODULE_BOOKMARK',1,'1',NULL,0,NULL,'2010-07-08 11:30:03'),(276,'MAIN_MODULE_WEBSERVICES',1,'1',NULL,0,NULL,'2010-07-08 11:30:30'),(278,'MAIN_MODULE_GEOIPMAXMIND',1,'1',NULL,0,NULL,'2010-07-08 11:30:36'),(279,'MAIN_MODULE_EXTERNALRSS',1,'1',NULL,0,NULL,'2010-07-08 11:30:38'),(292,'MAIN_MODULE_FCKEDITOR',1,'1',NULL,0,NULL,'2010-07-08 11:56:27'),(368,'STOCK_USERSTOCK_AUTOCREATE',1,'1','chaine',0,'','2010-07-08 22:44:59'),(369,'EXPEDITION_ADDON_PDF',1,'merou','chaine',0,'','2010-07-08 22:58:07'),(370,'MAIN_SUBMODULE_LIVRAISON',1,'1','chaine',0,'','2010-07-08 23:00:29'),(377,'FACTURE_ADDON',1,'mod_facture_terre','chaine',0,'','2010-07-08 23:08:12'),(380,'ADHERENT_CARD_TEXT',1,'%TYPE% n° %ID%\r\n%PRENOM% %NOM%\r\n<%EMAIL%>\r\n%ADRESSE%\r\n%CP% %VILLE%\r\n%PAYS%','',0,'Texte imprime sur la carte adherent','2010-07-08 23:14:46'),(381,'ADHERENT_CARD_TEXT_RIGHT',1,'aaa','',0,'','2010-07-08 23:14:55'),(384,'PRODUIT_SOUSPRODUITS',1,'1','chaine',0,'','2010-07-08 23:22:12'),(385,'PRODUIT_USE_SEARCH_TO_SELECT',1,'1','chaine',0,'','2010-07-08 23:22:19'),(386,'STOCK_CALCULATE_ON_SHIPMENT',1,'1','chaine',0,'','2010-07-08 23:23:21'),(387,'STOCK_CALCULATE_ON_SUPPLIER_DISPATCH_ORDER',1,'1','chaine',0,'','2010-07-08 23:23:26'),(392,'MAIN_AGENDA_XCAL_EXPORTKEY',1,'dolibarr','chaine',0,'','2010-07-08 23:27:50'),(393,'MAIN_AGENDA_EXPORT_PAST_DELAY',1,'100','chaine',0,'','2010-07-08 23:27:50'),(523,'MAIN_AGENDA_ACTIONAUTO_COMPANY_CREATE',1,'1','chaine',0,'','2010-07-10 12:48:49'),(524,'MAIN_AGENDA_ACTIONAUTO_CONTRACT_VALIDATE',1,'1','chaine',0,'','2010-07-10 12:48:49'),(525,'MAIN_AGENDA_ACTIONAUTO_PROPAL_VALIDATE',1,'1','chaine',0,'','2010-07-10 12:48:49'),(526,'MAIN_AGENDA_ACTIONAUTO_PROPAL_SENTBYMAIL',1,'1','chaine',0,'','2010-07-10 12:48:49'),(527,'MAIN_AGENDA_ACTIONAUTO_ORDER_VALIDATE',1,'1','chaine',0,'','2010-07-10 12:48:49'),(528,'MAIN_AGENDA_ACTIONAUTO_ORDER_SENTBYMAIL',1,'1','chaine',0,'','2010-07-10 12:48:49'),(529,'MAIN_AGENDA_ACTIONAUTO_BILL_VALIDATE',1,'1','chaine',0,'','2010-07-10 12:48:49'),(530,'MAIN_AGENDA_ACTIONAUTO_BILL_PAYED',1,'1','chaine',0,'','2010-07-10 12:48:49'),(531,'MAIN_AGENDA_ACTIONAUTO_BILL_CANCEL',1,'1','chaine',0,'','2010-07-10 12:48:49'),(532,'MAIN_AGENDA_ACTIONAUTO_BILL_SENTBYMAIL',1,'1','chaine',0,'','2010-07-10 12:48:49'),(533,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_VALIDATE',1,'1','chaine',0,'','2010-07-10 12:48:50'),(534,'MAIN_AGENDA_ACTIONAUTO_BILL_SUPPLIER_VALIDATE',1,'1','chaine',0,'','2010-07-10 12:48:50'),(602,'MAIN_MODULE_PROJET',1,'1',NULL,0,NULL,'2010-07-11 13:26:54'),(610,'CASHDESK_ID_THIRDPARTY',1,'7','chaine',0,'','2010-07-11 17:08:18'),(611,'CASHDESK_ID_BANKACCOUNT_CASH',1,'3','chaine',0,'','2010-07-11 17:08:18'),(612,'CASHDESK_ID_BANKACCOUNT_CHEQUE',1,'1','chaine',0,'','2010-07-11 17:08:18'),(613,'CASHDESK_ID_BANKACCOUNT_CB',1,'1','chaine',0,'','2010-07-11 17:08:18'),(614,'CASHDESK_ID_WAREHOUSE',1,'2','chaine',0,'','2010-07-11 17:08:18'),(660,'LDAP_USER_DN',1,'ou=users,dc=my-domain,dc=com','chaine',0,NULL,'2010-07-18 10:25:27'),(661,'LDAP_GROUP_DN',1,'ou=groups,dc=my-domain,dc=com','chaine',0,NULL,'2010-07-18 10:25:27'),(662,'LDAP_FILTER_CONNECTION',1,'&(objectClass=user)(objectCategory=person)','chaine',0,NULL,'2010-07-18 10:25:27'),(663,'LDAP_FIELD_LOGIN',1,'uid','chaine',0,NULL,'2010-07-18 10:25:27'),(664,'LDAP_FIELD_FULLNAME',1,'cn','chaine',0,NULL,'2010-07-18 10:25:27'),(665,'LDAP_FIELD_NAME',1,'sn','chaine',0,NULL,'2010-07-18 10:25:27'),(666,'LDAP_FIELD_FIRSTNAME',1,'givenname','chaine',0,NULL,'2010-07-18 10:25:27'),(667,'LDAP_FIELD_MAIL',1,'mail','chaine',0,NULL,'2010-07-18 10:25:27'),(668,'LDAP_FIELD_PHONE',1,'telephonenumber','chaine',0,NULL,'2010-07-18 10:25:27'),(669,'LDAP_FIELD_FAX',1,'facsimiletelephonenumber','chaine',0,NULL,'2010-07-18 10:25:27'),(670,'LDAP_FIELD_MOBILE',1,'mobile','chaine',0,NULL,'2010-07-18 10:25:27'),(671,'LDAP_SERVER_TYPE',1,'openldap','chaine',0,'','2010-07-18 10:25:46'),(672,'LDAP_SERVER_PROTOCOLVERSION',1,'3','chaine',0,'','2010-07-18 10:25:47'),(673,'LDAP_SERVER_HOST',1,'localhost','chaine',0,'','2010-07-18 10:25:47'),(674,'LDAP_SERVER_PORT',1,'389','chaine',0,'','2010-07-18 10:25:47'),(675,'LDAP_SERVER_USE_TLS',1,'0','chaine',0,'','2010-07-18 10:25:47'),(676,'LDAP_SYNCHRO_ACTIVE',1,'dolibarr2ldap','chaine',0,'','2010-07-18 10:25:47'),(677,'LDAP_CONTACT_ACTIVE',1,'1','chaine',0,'','2010-07-18 10:25:47'),(678,'LDAP_MEMBER_ACTIVE',1,'1','chaine',0,'','2010-07-18 10:25:47'),(807,'MAIN_AGENDA_ACTIONAUTO_SHIPPING_VALIDATE',1,'1','chaine',0,NULL,'2011-07-18 17:27:52'),(808,'MAIN_AGENDA_ACTIONAUTO_SHIPPING_SENTBYMAIL',1,'1','chaine',0,NULL,'2011-07-18 17:27:52'),(834,'MAIN_MODULE_CASHDESK',1,'1',NULL,0,NULL,'2011-07-18 17:30:24'),(969,'MAIN_MODULE_PRELEVEMENT',1,'1',NULL,0,NULL,'2011-07-18 18:01:59'),(973,'MAIN_MODULE_WORKFLOW',1,'1',NULL,0,NULL,'2011-07-18 18:02:20'),(974,'MAIN_MODULE_WORKFLOW_TRIGGERS',1,'1','chaine',0,NULL,'2011-07-18 18:02:20'),(975,'WORKFLOW_PROPAL_AUTOCREATE_ORDER',1,'1','chaine',0,'','2011-07-18 18:02:24'),(978,'MAIN_MODULE_NOTIFICATION',1,'1',NULL,0,NULL,'2011-07-18 18:03:06'),(979,'PRELEVEMENT_USER',1,'1','chaine',0,'','2011-07-18 18:05:50'),(980,'PRELEVEMENT_NUMERO_NATIONAL_EMETTEUR',1,'1234567','chaine',0,'','2011-07-18 18:05:50'),(981,'PRELEVEMENT_ID_BANKACCOUNT',1,'1','chaine',0,'','2011-07-18 18:05:50'),(983,'FACTURE_RIB_NUMBER',1,'1','chaine',0,'','2011-07-18 18:35:14'),(984,'FACTURE_CHQ_NUMBER',1,'1','chaine',0,'','2011-07-18 18:35:14'),(1016,'GOOGLE_DUPLICATE_INTO_GCAL',1,'1','chaine',0,'','2011-07-18 21:40:20'),(1018,'MAIN_MODULE_SYSLOG',0,'1',NULL,0,NULL,'2011-07-20 11:36:47'),(1098,'MAIN_INFO_SOCIETE_LOGO',1,'dolibarr_125x125.png','chaine',0,'','2011-07-28 18:42:09'),(1099,'MAIN_INFO_SOCIETE_LOGO_SMALL',1,'dolibarr_125x125_small.png','chaine',0,'','2011-07-28 18:42:09'),(1100,'MAIN_INFO_SOCIETE_LOGO_MINI',1,'dolibarr_125x125_mini.png','chaine',0,'','2011-07-28 18:42:09'),(1138,'MAIN_VERSION_LAST_INSTALL',0,'3.1.0-beta','chaine',0,'Dolibarr version when install','2011-07-28 23:05:02'),(1152,'SOCIETE_CODECLIENT_ADDON',1,'mod_codeclient_monkey','chaine',0,'','2011-07-29 20:50:02'),(1231,'MAIN_UPLOAD_DOC',1,'2048','chaine',0,'','2011-07-29 21:04:00'),(1234,'MAIN_UMASK',1,'0664','chaine',0,'','2011-07-29 21:04:11'),(1240,'MAIN_LOGEVENTS_USER_LOGIN',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1241,'MAIN_LOGEVENTS_USER_LOGIN_FAILED',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1242,'MAIN_LOGEVENTS_USER_LOGOUT',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1243,'MAIN_LOGEVENTS_USER_CREATE',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1244,'MAIN_LOGEVENTS_USER_MODIFY',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1245,'MAIN_LOGEVENTS_USER_NEW_PASSWORD',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1246,'MAIN_LOGEVENTS_USER_ENABLEDISABLE',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1247,'MAIN_LOGEVENTS_USER_DELETE',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1248,'MAIN_LOGEVENTS_GROUP_CREATE',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1249,'MAIN_LOGEVENTS_GROUP_MODIFY',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1250,'MAIN_LOGEVENTS_GROUP_DELETE',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1251,'MAIN_BOXES_MAXLINES',1,'5','',0,'','2011-07-29 21:05:42'),(1379,'CABINETMED_RHEUMATOLOGY_ON',1,'1','chaine',1,'Enable features for rheumatology','2011-08-01 21:47:53'),(1482,'EXPEDITION_ADDON_NUMBER',1,'mod_expedition_safor','chaine',0,'Nom du gestionnaire de numerotation des expeditions','2011-08-05 17:53:11'),(1490,'CONTRACT_ADDON',1,'mod_contract_serpis','chaine',0,'Nom du gestionnaire de numerotation des contrats','2011-08-05 18:11:58'),(1677,'COMMANDE_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/orders','chaine',0,NULL,'2012-12-08 13:11:02'),(1698,'PRODUCT_CODEPRODUCT_ADDON',1,'mod_codeproduct_leopard','yesno',0,'Module to control product codes','2012-12-08 13:11:25'),(1718,'MAIN_MODULE_TAX',1,'1',NULL,0,NULL,'2012-12-08 13:12:41'),(1719,'ACCOUNTING_USEDICTTOEDIT',1,'1','chaine',1,'','2012-12-08 13:15:00'),(1724,'PROPALE_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/proposals','chaine',0,NULL,'2012-12-08 13:17:14'),(1730,'OPENSTREETMAP_ENABLE_MAPS',1,'1','chaine',0,'','2012-12-08 13:22:47'),(1731,'OPENSTREETMAP_ENABLE_MAPS_CONTACTS',1,'1','chaine',0,'','2012-12-08 13:22:47'),(1732,'OPENSTREETMAP_ENABLE_MAPS_MEMBERS',1,'1','chaine',0,'','2012-12-08 13:22:47'),(1733,'OPENSTREETMAP_MAPS_ZOOM_LEVEL',1,'15','chaine',0,'','2012-12-08 13:22:47'),(1737,'MAIN_INFO_SOCIETE_COUNTRY',2,'1:FR:France','chaine',0,'','2013-02-26 21:56:28'),(1738,'MAIN_INFO_SOCIETE_NOM',2,'aaa','chaine',0,'','2012-12-08 14:08:14'),(1739,'MAIN_INFO_SOCIETE_STATE',2,'0','chaine',0,'','2013-02-27 14:20:27'),(1740,'MAIN_MONNAIE',2,'EUR','chaine',0,'','2012-12-08 14:08:14'),(1741,'MAIN_LANG_DEFAULT',2,'auto','chaine',0,'','2012-12-08 14:08:14'),(1742,'MAIN_MAIL_EMAIL_FROM',2,'dolibarr-robot@domain.com','chaine',0,'EMail emetteur pour les emails automatiques Dolibarr','2012-12-08 14:08:14'),(1743,'MAIN_MENU_STANDARD',2,'eldy_menu.php','chaine',0,'Module de gestion de la barre de menu du haut pour utilisateurs internes','2013-02-11 19:43:54'),(1744,'MAIN_MENUFRONT_STANDARD',2,'eldy_menu.php','chaine',0,'Module de gestion de la barre de menu du haut pour utilisateurs externes','2013-02-11 19:43:54'),(1745,'MAIN_MENU_SMARTPHONE',2,'iphone_backoffice.php','chaine',0,'Module de gestion de la barre de menu smartphone pour utilisateurs internes','2012-12-08 14:08:14'),(1746,'MAIN_MENUFRONT_SMARTPHONE',2,'iphone_frontoffice.php','chaine',0,'Module de gestion de la barre de menu smartphone pour utilisateurs externes','2012-12-08 14:08:14'),(1747,'MAIN_THEME',2,'eldy','chaine',0,'Default theme','2012-12-08 14:08:14'),(1748,'MAIN_DELAY_ACTIONS_TODO',2,'7','chaine',0,'Tolérance de retard avant alerte (en jours) sur actions planifiées non réalisées','2012-12-08 14:08:14'),(1749,'MAIN_DELAY_ORDERS_TO_PROCESS',2,'2','chaine',0,'Tolérance de retard avant alerte (en jours) sur commandes clients non traitées','2012-12-08 14:08:14'),(1750,'MAIN_DELAY_SUPPLIER_ORDERS_TO_PROCESS',2,'7','chaine',0,'Tolérance de retard avant alerte (en jours) sur commandes fournisseurs non traitées','2012-12-08 14:08:14'),(1751,'MAIN_DELAY_PROPALS_TO_CLOSE',2,'31','chaine',0,'Tolérance de retard avant alerte (en jours) sur propales à cloturer','2012-12-08 14:08:14'),(1752,'MAIN_DELAY_PROPALS_TO_BILL',2,'7','chaine',0,'Tolérance de retard avant alerte (en jours) sur propales non facturées','2012-12-08 14:08:14'),(1753,'MAIN_DELAY_CUSTOMER_BILLS_UNPAYED',2,'31','chaine',0,'Tolérance de retard avant alerte (en jours) sur factures client impayées','2012-12-08 14:08:14'),(1754,'MAIN_DELAY_SUPPLIER_BILLS_TO_PAY',2,'2','chaine',0,'Tolérance de retard avant alerte (en jours) sur factures fournisseur impayées','2012-12-08 14:08:14'),(1755,'MAIN_DELAY_NOT_ACTIVATED_SERVICES',2,'0','chaine',0,'Tolérance de retard avant alerte (en jours) sur services à activer','2012-12-08 14:08:14'),(1756,'MAIN_DELAY_RUNNING_SERVICES',2,'0','chaine',0,'Tolérance de retard avant alerte (en jours) sur services expirés','2012-12-08 14:08:14'),(1757,'MAIN_DELAY_MEMBERS',2,'31','chaine',0,'Tolérance de retard avant alerte (en jours) sur cotisations adhérent en retard','2012-12-08 14:08:14'),(1758,'MAIN_DELAY_TRANSACTIONS_TO_CONCILIATE',2,'62','chaine',0,'Tolérance de retard avant alerte (en jours) sur rapprochements bancaires à faire','2012-12-08 14:08:14'),(1759,'MAILING_EMAIL_FROM',2,'dolibarr@domain.com','chaine',0,'EMail emmetteur pour les envois d emailings','2012-12-08 14:08:14'),(1760,'MAIN_INFO_SOCIETE_COUNTRY',3,'1:FR:France','chaine',0,'','2013-02-26 21:56:28'),(1761,'MAIN_INFO_SOCIETE_NOM',3,'bbb','chaine',0,'','2012-12-08 14:08:20'),(1762,'MAIN_INFO_SOCIETE_STATE',3,'0','chaine',0,'','2013-02-27 14:20:27'),(1763,'MAIN_MONNAIE',3,'EUR','chaine',0,'','2012-12-08 14:08:20'),(1764,'MAIN_LANG_DEFAULT',3,'auto','chaine',0,'','2012-12-08 14:08:20'),(1765,'MAIN_MAIL_EMAIL_FROM',3,'dolibarr-robot@domain.com','chaine',0,'EMail emetteur pour les emails automatiques Dolibarr','2012-12-08 14:08:20'),(1766,'MAIN_MENU_STANDARD',3,'eldy_menu.php','chaine',0,'Module de gestion de la barre de menu du haut pour utilisateurs internes','2013-02-11 19:43:54'),(1767,'MAIN_MENUFRONT_STANDARD',3,'eldy_menu.php','chaine',0,'Module de gestion de la barre de menu du haut pour utilisateurs externes','2013-02-11 19:43:54'),(1768,'MAIN_MENU_SMARTPHONE',3,'iphone_backoffice.php','chaine',0,'Module de gestion de la barre de menu smartphone pour utilisateurs internes','2012-12-08 14:08:20'),(1769,'MAIN_MENUFRONT_SMARTPHONE',3,'iphone_frontoffice.php','chaine',0,'Module de gestion de la barre de menu smartphone pour utilisateurs externes','2012-12-08 14:08:20'),(1770,'MAIN_THEME',3,'eldy','chaine',0,'Default theme','2012-12-08 14:08:20'),(1771,'MAIN_DELAY_ACTIONS_TODO',3,'7','chaine',0,'Tolérance de retard avant alerte (en jours) sur actions planifiées non réalisées','2012-12-08 14:08:20'),(1772,'MAIN_DELAY_ORDERS_TO_PROCESS',3,'2','chaine',0,'Tolérance de retard avant alerte (en jours) sur commandes clients non traitées','2012-12-08 14:08:20'),(1773,'MAIN_DELAY_SUPPLIER_ORDERS_TO_PROCESS',3,'7','chaine',0,'Tolérance de retard avant alerte (en jours) sur commandes fournisseurs non traitées','2012-12-08 14:08:20'),(1774,'MAIN_DELAY_PROPALS_TO_CLOSE',3,'31','chaine',0,'Tolérance de retard avant alerte (en jours) sur propales à cloturer','2012-12-08 14:08:20'),(1775,'MAIN_DELAY_PROPALS_TO_BILL',3,'7','chaine',0,'Tolérance de retard avant alerte (en jours) sur propales non facturées','2012-12-08 14:08:20'),(1776,'MAIN_DELAY_CUSTOMER_BILLS_UNPAYED',3,'31','chaine',0,'Tolérance de retard avant alerte (en jours) sur factures client impayées','2012-12-08 14:08:20'),(1777,'MAIN_DELAY_SUPPLIER_BILLS_TO_PAY',3,'2','chaine',0,'Tolérance de retard avant alerte (en jours) sur factures fournisseur impayées','2012-12-08 14:08:20'),(1778,'MAIN_DELAY_NOT_ACTIVATED_SERVICES',3,'0','chaine',0,'Tolérance de retard avant alerte (en jours) sur services à activer','2012-12-08 14:08:20'),(1779,'MAIN_DELAY_RUNNING_SERVICES',3,'0','chaine',0,'Tolérance de retard avant alerte (en jours) sur services expirés','2012-12-08 14:08:20'),(1780,'MAIN_DELAY_MEMBERS',3,'31','chaine',0,'Tolérance de retard avant alerte (en jours) sur cotisations adhérent en retard','2012-12-08 14:08:20'),(1781,'MAIN_DELAY_TRANSACTIONS_TO_CONCILIATE',3,'62','chaine',0,'Tolérance de retard avant alerte (en jours) sur rapprochements bancaires à faire','2012-12-08 14:08:20'),(1782,'MAILING_EMAIL_FROM',3,'dolibarr@domain.com','chaine',0,'EMail emmetteur pour les envois d emailings','2012-12-08 14:08:20'),(1803,'SYSLOG_FILE',1,'DOL_DATA_ROOT/dolibarr.log','chaine',0,'','2012-12-08 14:15:08'),(1804,'SYSLOG_HANDLERS',1,'[\"mod_syslog_file\"]','chaine',0,'','2012-12-08 14:15:08'),(1805,'MAIN_MODULE_SKINCOLOREDITOR',3,'1',NULL,0,NULL,'2012-12-08 14:35:40'),(1806,'MAIN_MODULE_SKINCOLOREDITOR_TABS_0',3,'user:+tabskincoloreditors:ColorEditor:skincoloreditor@skincoloreditor:/skincoloreditor/usercolors.php?id=__ID__','chaine',0,NULL,'2012-12-08 14:35:40'),(1867,'MAIN_MODULE_PAYPAL',1,'1',NULL,0,NULL,'2012-12-11 22:53:56'),(1922,'PAYPAL_API_SANDBOX',1,'1','chaine',0,'','2012-12-12 12:11:05'),(1923,'PAYPAL_API_USER',1,'seller_1355312017_biz_api1.nltechno.com','chaine',0,'','2012-12-12 12:11:05'),(1924,'PAYPAL_API_PASSWORD',1,'1355312040','chaine',0,'','2012-12-12 12:11:05'),(1925,'PAYPAL_API_SIGNATURE',1,'AXqqdsWBzvfn0q5iNmbuiDv1y.3EAXIMWyl4C5KvDReR9HDwwAd6dQ4Q','chaine',0,'','2012-12-12 12:11:05'),(1926,'PAYPAL_API_INTEGRAL_OR_PAYPALONLY',1,'integral','chaine',0,'','2012-12-12 12:11:05'),(1927,'PAYPAL_SECURITY_TOKEN',1,'50c82fab36bb3b6aa83e2a50691803b2','chaine',0,'','2012-12-12 12:11:05'),(1928,'PAYPAL_SECURITY_TOKEN_UNIQUE',1,'0','chaine',0,'','2012-12-12 12:11:05'),(1929,'PAYPAL_ADD_PAYMENT_URL',1,'1','chaine',0,'','2012-12-12 12:11:05'),(1980,'MAIN_PDF_FORMAT',1,'EUA4','chaine',0,'','2012-12-12 19:58:05'),(1981,'MAIN_PROFID1_IN_ADDRESS',1,'0','chaine',0,'','2012-12-12 19:58:05'),(1982,'MAIN_PROFID2_IN_ADDRESS',1,'0','chaine',0,'','2012-12-12 19:58:05'),(1983,'MAIN_PROFID3_IN_ADDRESS',1,'0','chaine',0,'','2012-12-12 19:58:05'),(1984,'MAIN_PROFID4_IN_ADDRESS',1,'0','chaine',0,'','2012-12-12 19:58:05'),(1985,'MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT',1,'0','chaine',0,'','2012-12-12 19:58:05'),(1990,'MAIN_SMS_SENDMODE',1,'ovh','chaine',0,'This is to enable OVH SMS engine','2012-12-17 21:19:01'),(2040,'MAIN_MAIL_SMTP_PORT',0,'465','chaine',0,'','2012-12-19 12:58:10'),(2041,'MAIN_MAIL_SMTP_SERVER',0,'smtp.gmail.com','chaine',0,'','2012-12-19 12:58:10'),(2044,'MAIN_MAIL_EMAIL_TLS',0,'1','chaine',0,'','2012-12-19 12:58:10'),(2251,'FCKEDITOR_TEST',1,'Test
\r\n\"\"fdfs','chaine',0,'','2012-12-19 19:12:24'),(2293,'SYSTEMTOOLS_MYSQLDUMP',1,'/usr/bin/mysqldump','chaine',0,'','2012-12-27 02:02:00'),(2305,'MAIN_MODULE_PROPALE',1,'1',NULL,0,NULL,'2013-01-02 20:33:16'),(2307,'MAIN_MODULE_CONTRAT',1,'1',NULL,0,NULL,'2013-01-02 20:33:17'),(2310,'MAIN_MODULE_EXPEDITION',1,'1',NULL,0,NULL,'2013-01-02 20:33:18'),(2315,'MAIN_MODULE_FICHEINTER',1,'1',NULL,0,NULL,'2013-01-02 20:33:21'),(2321,'MAIN_MODULE_HOLIDAY',1,'1',NULL,0,NULL,'2013-01-02 20:33:24'),(2322,'MAIN_MODULE_HOLIDAY_TABS_0',1,'user:+paidholidays:CPTitreMenu:holiday:$user->rights->holiday->write:/holiday/index.php?mainmenu=holiday&id=__ID__','chaine',0,NULL,'2013-01-02 20:33:24'),(2786,'MAIN_SOAP_DEBUG',1,'1','chaine',1,'','2013-01-13 12:37:21'),(2835,'MAIN_USE_CONNECT_TIMEOUT',1,'10','chaine',0,'','2013-01-16 19:28:50'),(2836,'MAIN_USE_RESPONSE_TIMEOUT',1,'30','chaine',0,'','2013-01-16 19:28:50'),(2837,'MAIN_PROXY_USE',1,'0','chaine',0,'','2013-01-16 19:28:50'),(2838,'MAIN_PROXY_HOST',1,'localhost','chaine',0,'','2013-01-16 19:28:50'),(2839,'MAIN_PROXY_PORT',1,'8080','chaine',0,'','2013-01-16 19:28:50'),(2840,'MAIN_PROXY_USER',1,'aaa','chaine',0,'','2013-01-16 19:28:50'),(2841,'MAIN_PROXY_PASS',1,'bbb','chaine',0,'','2013-01-16 19:28:50'),(2848,'OVHSMS_NICK',1,'BN196-OVH','chaine',0,'','2013-01-16 19:32:36'),(2849,'OVHSMS_PASS',1,'bigone-10','chaine',0,'','2013-01-16 19:32:36'),(2850,'OVHSMS_SOAPURL',1,'https://www.ovh.com/soapi/soapi-re-1.55.wsdl','chaine',0,'','2013-01-16 19:32:36'),(2854,'THEME_ELDY_RGB',1,'bfbf00','chaine',0,'','2013-01-18 10:02:53'),(2855,'THEME_ELDY_ENABLE_PERSONALIZED',1,'0','chaine',0,'','2013-01-18 10:02:55'),(2858,'MAIN_SESSION_TIMEOUT',1,'2000','chaine',0,'','2013-01-19 17:01:53'),(2862,'TICKET_ADDON',1,'mod_ticket_avenc','chaine',0,'Nom du gestionnaire de numerotation des tickets','2013-01-19 17:16:10'),(2866,'MAIN_MODULE_PRODUCT',1,'1',NULL,0,NULL,'2013-01-19 17:16:10'),(2867,'FACSIM_ADDON',1,'mod_facsim_alcoy','chaine',0,'','2013-01-19 17:16:25'),(2868,'POS_SERVICES',1,'0','chaine',0,'','2013-01-19 17:16:51'),(2869,'POS_USE_TICKETS',1,'1','chaine',0,'','2013-01-19 17:16:51'),(2870,'POS_MAX_TTC',1,'100','chaine',0,'','2013-01-19 17:16:51'),(3190,'MAIN_MODULE_HOLIDAY',2,'1',NULL,0,NULL,'2013-02-01 08:52:34'),(3191,'MAIN_MODULE_HOLIDAY_TABS_0',2,'user:+paidholidays:CPTitreMenu:holiday:$user->rights->holiday->write:/holiday/index.php?mainmenu=holiday&id=__ID__','chaine',0,NULL,'2013-02-01 08:52:34'),(3195,'INVOICE_SUPPLIER_ADDON_PDF',1,'canelle','chaine',0,'','2013-02-10 19:50:27'),(3199,'MAIN_FORCE_RELOAD_PAGE',1,'1','chaine',0,NULL,'2013-02-12 16:22:55'),(3217,'MAIN_PDF_TITLE_BACKGROUND_COLOR',1,'240,240,240','chaine',1,'','2013-02-13 15:18:02'),(3223,'OVH_THIRDPARTY_IMPORT',1,'2','chaine',0,'','2013-02-13 16:20:18'),(3241,'COMPANY_USE_SEARCH_TO_SELECT',1,'2','chaine',0,'','2013-02-17 14:33:39'),(3409,'AGENDA_USE_EVENT_TYPE',1,'1','chaine',0,'','2013-02-27 18:12:24'),(3886,'MAIN_REMOVE_INSTALL_WARNING',1,'1','chaine',1,'','2013-03-02 18:32:50'),(4013,'MAIN_DELAY_ACTIONS_TODO',1,'7','chaine',0,'','2013-03-06 08:59:12'),(4014,'MAIN_DELAY_PROPALS_TO_CLOSE',1,'31','chaine',0,'','2013-03-06 08:59:12'),(4015,'MAIN_DELAY_PROPALS_TO_BILL',1,'7','chaine',0,'','2013-03-06 08:59:12'),(4016,'MAIN_DELAY_ORDERS_TO_PROCESS',1,'2','chaine',0,'','2013-03-06 08:59:12'),(4017,'MAIN_DELAY_CUSTOMER_BILLS_UNPAYED',1,'31','chaine',0,'','2013-03-06 08:59:12'),(4018,'MAIN_DELAY_SUPPLIER_ORDERS_TO_PROCESS',1,'7','chaine',0,'','2013-03-06 08:59:12'),(4019,'MAIN_DELAY_SUPPLIER_BILLS_TO_PAY',1,'2','chaine',0,'','2013-03-06 08:59:12'),(4020,'MAIN_DELAY_RUNNING_SERVICES',1,'-15','chaine',0,'','2013-03-06 08:59:12'),(4021,'MAIN_DELAY_TRANSACTIONS_TO_CONCILIATE',1,'62','chaine',0,'','2013-03-06 08:59:13'),(4022,'MAIN_DELAY_MEMBERS',1,'31','chaine',0,'','2013-03-06 08:59:13'),(4023,'MAIN_DISABLE_METEO',1,'0','chaine',0,'','2013-03-06 08:59:13'),(4044,'ADHERENT_VAT_FOR_SUBSCRIPTIONS',1,'0','',0,'','2013-03-06 16:06:38'),(4047,'ADHERENT_BANK_USE',1,'bankviainvoice','',0,'','2013-03-06 16:12:30'),(4049,'PHPSANE_SCANIMAGE',1,'/usr/bin/scanimage','chaine',0,'','2013-03-06 21:54:13'),(4050,'PHPSANE_PNMTOJPEG',1,'/usr/bin/pnmtojpeg','chaine',0,'','2013-03-06 21:54:13'),(4051,'PHPSANE_PNMTOTIFF',1,'/usr/bin/pnmtotiff','chaine',0,'','2013-03-06 21:54:13'),(4052,'PHPSANE_OCR',1,'/usr/bin/gocr','chaine',0,'','2013-03-06 21:54:13'),(4548,'ECM_AUTO_TREE_ENABLED',1,'1','chaine',0,'','2013-03-10 15:57:21'),(4555,'WEBSERVICES_KEY',1,'dolibarrkey','chaine',0,'','2013-03-13 10:19:31'),(4579,'MAIN_MODULE_AGENDA',2,'1',NULL,0,NULL,'2013-03-13 15:29:19'),(4580,'MAIN_AGENDA_ACTIONAUTO_COMPANY_CREATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4581,'MAIN_AGENDA_ACTIONAUTO_CONTRACT_VALIDATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4582,'MAIN_AGENDA_ACTIONAUTO_PROPAL_VALIDATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4583,'MAIN_AGENDA_ACTIONAUTO_PROPAL_SENTBYMAIL',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4584,'MAIN_AGENDA_ACTIONAUTO_ORDER_VALIDATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4585,'MAIN_AGENDA_ACTIONAUTO_ORDER_SENTBYMAIL',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4586,'MAIN_AGENDA_ACTIONAUTO_BILL_VALIDATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4587,'MAIN_AGENDA_ACTIONAUTO_BILL_PAYED',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4588,'MAIN_AGENDA_ACTIONAUTO_BILL_CANCEL',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4589,'MAIN_AGENDA_ACTIONAUTO_BILL_SENTBYMAIL',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4590,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_VALIDATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4591,'MAIN_AGENDA_ACTIONAUTO_BILL_SUPPLIER_VALIDATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4592,'MAIN_AGENDA_ACTIONAUTO_SHIPPING_VALIDATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4593,'MAIN_AGENDA_ACTIONAUTO_SHIPPING_SENTBYMAIL',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4594,'MAIN_AGENDA_ACTIONAUTO_BILL_UNVALIDATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4595,'MAIN_MODULE_GOOGLE',2,'1',NULL,0,NULL,'2013-03-13 15:29:47'),(4596,'MAIN_MODULE_GOOGLE_TABS_0',2,'agenda:+gcal:MenuAgendaGoogle:google@google:$conf->google->enabled && $conf->global->GOOGLE_ENABLE_AGENDA:/google/index.php','chaine',0,NULL,'2013-03-13 15:29:47'),(4597,'MAIN_MODULE_GOOGLE_TABS_1',2,'user:+gsetup:GoogleUserConf:google@google:$conf->google->enabled && $conf->global->GOOGLE_DUPLICATE_INTO_GCAL:/google/admin/google_calsync_user.php?id=__ID__','chaine',0,NULL,'2013-03-13 15:29:47'),(4598,'MAIN_MODULE_GOOGLE_TRIGGERS',2,'1','chaine',0,NULL,'2013-03-13 15:29:47'),(4599,'MAIN_MODULE_GOOGLE_HOOKS',2,'[\"toprightmenu\"]','chaine',0,NULL,'2013-03-13 15:29:47'),(4688,'GOOGLE_ENABLE_AGENDA',2,'1','chaine',0,'','2013-03-13 15:36:29'),(4689,'GOOGLE_AGENDA_NAME1',2,'eldy','chaine',0,'','2013-03-13 15:36:29'),(4690,'GOOGLE_AGENDA_SRC1',2,'eldy10@gmail.com','chaine',0,'','2013-03-13 15:36:29'),(4691,'GOOGLE_AGENDA_COLOR1',2,'BE6D00','chaine',0,'','2013-03-13 15:36:29'),(4692,'GOOGLE_AGENDA_COLOR2',2,'7A367A','chaine',0,'','2013-03-13 15:36:29'),(4693,'GOOGLE_AGENDA_COLOR3',2,'7A367A','chaine',0,'','2013-03-13 15:36:29'),(4694,'GOOGLE_AGENDA_COLOR4',2,'7A367A','chaine',0,'','2013-03-13 15:36:29'),(4695,'GOOGLE_AGENDA_COLOR5',2,'7A367A','chaine',0,'','2013-03-13 15:36:29'),(4696,'GOOGLE_AGENDA_TIMEZONE',2,'Europe/Paris','chaine',0,'','2013-03-13 15:36:29'),(4697,'GOOGLE_AGENDA_NB',2,'5','chaine',0,'','2013-03-13 15:36:29'),(4698,'MAIN_DISABLE_ALL_MAILS',1,'0','chaine',0,'','2013-03-13 17:22:24'),(4699,'MAIN_MAIL_SENDMODE',0,'mail','chaine',0,'','2013-03-13 17:22:24'),(4700,'MAIN_MAIL_SMTPS_ID',0,'eldy10@gmail.com','chaine',0,'','2013-03-13 17:22:24'),(4701,'MAIN_MAIL_SMTPS_PW',0,'ld101010-ge','chaine',0,'','2013-03-13 17:22:24'),(4711,'GOOGLE_ENABLE_AGENDA',1,'1','chaine',0,'','2013-03-13 19:37:38'),(4712,'GOOGLE_AGENDA_NAME1',1,'asso master','chaine',0,'','2013-03-13 19:37:38'),(4713,'GOOGLE_AGENDA_SRC1',1,'assodolibarr@gmail.com','chaine',0,'','2013-03-13 19:37:38'),(4714,'GOOGLE_AGENDA_COLOR1',1,'1B887A','chaine',0,'','2013-03-13 19:37:38'),(4715,'GOOGLE_AGENDA_COLOR2',1,'7A367A','chaine',0,'','2013-03-13 19:37:38'),(4716,'GOOGLE_AGENDA_COLOR3',1,'7A367A','chaine',0,'','2013-03-13 19:37:38'),(4717,'GOOGLE_AGENDA_COLOR4',1,'7A367A','chaine',0,'','2013-03-13 19:37:38'),(4718,'GOOGLE_AGENDA_COLOR5',1,'7A367A','chaine',0,'','2013-03-13 19:37:38'),(4719,'GOOGLE_AGENDA_TIMEZONE',1,'Europe/Paris','chaine',0,'','2013-03-13 19:37:38'),(4720,'GOOGLE_AGENDA_NB',1,'5','chaine',0,'','2013-03-13 19:37:38'),(4725,'SOCIETE_CODECLIENT_ADDON',2,'mod_codeclient_leopard','chaine',0,'Module to control third parties codes','2013-03-13 20:21:35'),(4726,'SOCIETE_CODECOMPTA_ADDON',2,'mod_codecompta_panicum','chaine',0,'Module to control third parties codes','2013-03-13 20:21:35'),(4727,'SOCIETE_FISCAL_MONTH_START',2,'','chaine',0,'Mettre le numero du mois du debut d\\\'annee fiscale, ex: 9 pour septembre','2013-03-13 20:21:35'),(4728,'MAIN_SEARCHFORM_SOCIETE',2,'1','yesno',0,'Show form for quick company search','2013-03-13 20:21:35'),(4729,'MAIN_SEARCHFORM_CONTACT',2,'1','yesno',0,'Show form for quick contact search','2013-03-13 20:21:35'),(4730,'COMPANY_ADDON_PDF_ODT_PATH',2,'DOL_DATA_ROOT/doctemplates/thirdparties','chaine',0,NULL,'2013-03-13 20:21:35'),(4743,'MAIN_MODULE_CLICKTODIAL',2,'1',NULL,0,NULL,'2013-03-13 20:30:28'),(4744,'MAIN_MODULE_NOTIFICATION',2,'1',NULL,0,NULL,'2013-03-13 20:30:34'),(4745,'MAIN_MODULE_WEBSERVICES',2,'1',NULL,0,NULL,'2013-03-13 20:30:41'),(4746,'MAIN_MODULE_PROPALE',2,'1',NULL,0,NULL,'2013-03-13 20:32:38'),(4747,'PROPALE_ADDON_PDF',2,'azur','chaine',0,'Nom du gestionnaire de generation des propales en PDF','2013-03-13 20:32:38'),(4748,'PROPALE_ADDON',2,'mod_propale_marbre','chaine',0,'Nom du gestionnaire de numerotation des propales','2013-03-13 20:32:38'),(4749,'PROPALE_VALIDITY_DURATION',2,'15','chaine',0,'Duration of validity of business proposals','2013-03-13 20:32:38'),(4750,'PROPALE_ADDON_PDF_ODT_PATH',2,'DOL_DATA_ROOT/doctemplates/proposals','chaine',0,NULL,'2013-03-13 20:32:38'),(4752,'MAIN_MODULE_TAX',2,'1',NULL,0,NULL,'2013-03-13 20:32:47'),(4753,'MAIN_MODULE_DON',2,'1',NULL,0,NULL,'2013-03-13 20:32:54'),(4754,'DON_ADDON_MODEL',2,'html_cerfafr','chaine',0,'Nom du gestionnaire de generation de recu de dons','2013-03-13 20:32:54'),(4755,'POS_USE_TICKETS',2,'1','chaine',0,'','2013-03-13 20:33:09'),(4756,'POS_MAX_TTC',2,'100','chaine',0,'','2013-03-13 20:33:09'),(4757,'MAIN_MODULE_POS',2,'1',NULL,0,NULL,'2013-03-13 20:33:09'),(4758,'TICKET_ADDON',2,'mod_ticket_avenc','chaine',0,'Nom du gestionnaire de numerotation des tickets','2013-03-13 20:33:09'),(4759,'MAIN_MODULE_BANQUE',2,'1',NULL,0,NULL,'2013-03-13 20:33:09'),(4760,'MAIN_MODULE_FACTURE',2,'1',NULL,0,NULL,'2013-03-13 20:33:09'),(4761,'FACTURE_ADDON_PDF',2,'crabe','chaine',0,'Name of PDF model of invoice','2013-03-13 20:33:09'),(4762,'FACTURE_ADDON',2,'mod_facture_terre','chaine',0,'Name of numbering numerotation rules of invoice','2013-03-13 20:33:09'),(4763,'FACTURE_ADDON_PDF_ODT_PATH',2,'DOL_DATA_ROOT/doctemplates/invoices','chaine',0,NULL,'2013-03-13 20:33:09'),(4764,'MAIN_MODULE_SOCIETE',2,'1',NULL,0,NULL,'2013-03-13 20:33:09'),(4765,'MAIN_MODULE_PRODUCT',2,'1',NULL,0,NULL,'2013-03-13 20:33:09'),(4766,'PRODUCT_CODEPRODUCT_ADDON',2,'mod_codeproduct_leopard','chaine',0,'Module to control product codes','2013-03-13 20:33:09'),(4767,'MAIN_SEARCHFORM_PRODUITSERVICE',2,'1','yesno',0,'Show form for quick product search','2013-03-13 20:33:09'),(4772,'FACSIM_ADDON',2,'mod_facsim_alcoy','chaine',0,'','2013-03-13 20:33:32'),(4773,'MAIN_MODULE_MAILING',2,'1',NULL,0,NULL,'2013-03-13 20:33:37'),(4774,'MAIN_MODULE_OPENSURVEY',2,'1',NULL,0,NULL,'2013-03-13 20:33:42'),(4782,'AGENDA_USE_EVENT_TYPE',2,'1','chaine',0,'','2013-03-13 20:53:36'),(4884,'AGENDA_DISABLE_EXT',2,'1','chaine',0,'','2013-03-13 22:03:40'),(4919,'MAIN_MODULE_COMPTABILITE',1,'1',NULL,0,NULL,'2013-03-20 20:04:28'),(4922,'MAIN_MODULE_BANQUE',1,'1',NULL,0,NULL,'2013-03-20 20:04:28'),(4928,'COMMANDE_SUPPLIER_ADDON_NUMBER',1,'mod_commande_fournisseur_muguet','chaine',0,'Nom du gestionnaire de numerotation des commandes fournisseur','2013-03-22 09:24:29'),(4929,'INVOICE_SUPPLIER_ADDON_NUMBER',1,'mod_facture_fournisseur_cactus','chaine',0,'Nom du gestionnaire de numerotation des factures fournisseur','2013-03-22 09:24:29'),(4986,'MAIN_MODULE_CRON',1,'1',NULL,0,NULL,'2013-03-23 17:24:25'),(5001,'MAIN_CRON_KEY',0,'bc54582fe30d5d4a830c6f582ec28810','chaine',0,'','2013-03-23 17:54:53'),(5009,'CRON_KEY',0,'2c2e755c20be2014098f629865598006','chaine',0,'','2013-03-23 18:06:24'),(5075,'MAIN_MENU_STANDARD',1,'eldy_menu.php','chaine',0,'','2013-03-24 02:51:13'),(5076,'MAIN_MENU_SMARTPHONE',1,'eldy_menu.php','chaine',0,'','2013-03-24 02:51:13'),(5077,'MAIN_MENUFRONT_STANDARD',1,'eldy_menu.php','chaine',0,'','2013-03-24 02:51:13'),(5078,'MAIN_MENUFRONT_SMARTPHONE',1,'eldy_menu.php','chaine',0,'','2013-03-24 02:51:13'),(5079,'MAIN_MODULE_OPENSURVEY',1,'1',NULL,0,NULL,'2013-03-24 02:57:18'),(5102,'MAIN_INFO_SOCIETE_COUNTRY',1,'1:FR:France','chaine',0,'','2013-03-24 18:34:54'),(5103,'MAIN_INFO_SOCIETE_NOM',1,'MyBigCompany','chaine',0,'','2013-03-24 18:34:54'),(5104,'MAIN_INFO_SOCIETE_ADDRESS',1,'21 Jump street','chaine',0,'','2013-03-24 18:34:54'),(5105,'MAIN_INFO_SOCIETE_TOWN',1,'MyTown','chaine',0,'','2013-03-24 18:34:54'),(5106,'MAIN_INFO_SOCIETE_ZIP',1,'75500','chaine',0,'','2013-03-24 18:34:54'),(5107,'MAIN_INFO_SOCIETE_STATE',1,'0','chaine',0,'','2013-03-24 18:34:54'),(5108,'MAIN_MONNAIE',1,'EUR','chaine',0,'','2013-03-24 18:34:54'),(5109,'MAIN_INFO_SOCIETE_TEL',1,'09123123','chaine',0,'','2013-03-24 18:34:54'),(5110,'MAIN_INFO_SOCIETE_FAX',1,'09123124','chaine',0,'','2013-03-24 18:34:54'),(5111,'MAIN_INFO_SOCIETE_MAIL',1,'myemail@mybigcompany.com','chaine',0,'','2013-03-24 18:34:54'),(5112,'MAIN_INFO_SOCIETE_WEB',1,'http://www.dolibarr.org','chaine',0,'','2013-03-24 18:34:54'),(5113,'MAIN_INFO_SOCIETE_NOTE',1,'This is note about my company','chaine',0,'','2013-03-24 18:34:54'),(5114,'MAIN_INFO_CAPITAL',1,'10000','chaine',0,'','2013-03-24 18:34:54'),(5115,'MAIN_INFO_SOCIETE_FORME_JURIDIQUE',1,'0','chaine',0,'','2013-03-24 18:34:54'),(5116,'MAIN_INFO_TVAINTRA',1,'IN1234567','chaine',0,'','2013-03-24 18:34:54'),(5117,'SOCIETE_FISCAL_MONTH_START',1,'0','chaine',0,'','2013-03-24 18:34:54'),(5118,'FACTURE_TVAOPTION',1,'reel','chaine',0,'','2013-03-24 18:34:54'),(5119,'MAIN_LANG_DEFAULT',1,'en_US','chaine',0,'','2013-03-24 18:35:07'),(5120,'MAIN_MULTILANGS',1,'1','chaine',0,'','2013-03-24 18:35:07'),(5121,'MAIN_SIZE_LISTE_LIMIT',1,'25','chaine',0,'','2013-03-24 18:35:07'),(5122,'MAIN_DISABLE_JAVASCRIPT',1,'0','chaine',0,'','2013-03-24 18:35:07'),(5123,'MAIN_BUTTON_HIDE_UNAUTHORIZED',1,'0','chaine',0,'','2013-03-24 18:35:07'),(5124,'MAIN_START_WEEK',1,'1','chaine',0,'','2013-03-24 18:35:07'),(5125,'MAIN_SHOW_LOGO',1,'0','chaine',0,'','2013-03-24 18:35:07'),(5126,'MAIN_FIRSTNAME_NAME_POSITION',1,'0','chaine',0,'','2013-03-24 18:35:07'),(5127,'MAIN_THEME',1,'eldy','chaine',0,'','2013-03-24 18:35:07'),(5128,'MAIN_SEARCHFORM_CONTACT',1,'1','chaine',0,'','2013-03-24 18:35:07'),(5129,'MAIN_SEARCHFORM_SOCIETE',1,'1','chaine',0,'','2013-03-24 18:35:07'),(5130,'MAIN_SEARCHFORM_PRODUITSERVICE',1,'1','chaine',0,'','2013-03-24 18:35:07'),(5131,'MAIN_SEARCHFORM_ADHERENT',1,'1','chaine',0,'','2013-03-24 18:35:07'),(5132,'MAIN_HELPCENTER_DISABLELINK',0,'1','chaine',0,'','2013-03-24 18:35:07'),(5133,'MAIN_HOME',1,'__(NoteSomeFeaturesAreDisabled)__
\r\n
\r\n__(SomeTranslationAreUncomplete)__
','chaine',0,'','2013-03-24 18:35:07'),(5134,'MAIN_HELP_DISABLELINK',0,'0','chaine',0,'','2013-03-24 18:35:07'),(5135,'MAIN_BUGTRACK_ENABLELINK',1,'0','chaine',0,'','2013-03-24 18:35:07'),(5137,'MAIN_AGENDA_ACTIONAUTO_BILL_UNVALIDATE',1,'1','chaine',0,NULL,'2013-09-08 23:06:08'),(5139,'SOCIETE_ADD_REF_IN_LIST',1,'','yesno',0,'Display customer ref into select list','2013-09-08 23:06:08'),(5150,'PROJECT_TASK_ADDON_PDF',1,'','chaine',0,'Name of PDF/ODT tasks manager class','2013-09-08 23:06:14'),(5151,'PROJECT_TASK_ADDON',1,'mod_task_simple','chaine',0,'Name of Numbering Rule task manager class','2013-09-08 23:06:14'),(5152,'PROJECT_TASK_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/tasks','chaine',0,'','2013-09-08 23:06:14'),(5164,'MAIN_AGENDA_ACTIONAUTO_COMPANY_SENTBYMAIL',1,'1','chaine',0,NULL,'2013-11-06 23:35:12'),(5195,'GOOGLE_DUPLICATE_INTO_THIRDPARTIES',1,'1','chaine',0,'','2013-11-07 00:02:34'),(5196,'GOOGLE_DUPLICATE_INTO_CONTACTS',1,'0','chaine',0,'','2013-11-07 00:02:34'),(5197,'GOOGLE_DUPLICATE_INTO_MEMBERS',1,'0','chaine',0,'','2013-11-07 00:02:34'),(5198,'GOOGLE_CONTACT_LOGIN',1,'eldy10@gmail.com','chaine',0,'','2013-11-07 00:02:34'),(5199,'GOOGLE_CONTACT_PASSWORD',1,'ld101010-ge','chaine',0,'','2013-11-07 00:02:34'),(5200,'GOOGLE_TAG_PREFIX',1,'Dolibarr (Thirdparties)','chaine',0,'','2013-11-07 00:02:34'),(5201,'GOOGLE_TAG_PREFIX_CONTACTS',1,'Dolibarr (Contacts/Addresses)','chaine',0,'','2013-11-07 00:02:34'),(5202,'GOOGLE_TAG_PREFIX_MEMBERS',1,'Dolibarr (Members)','chaine',0,'','2013-11-07 00:02:34'),(5203,'MODULE_GOOGLE_DEBUG',1,'1','chaine',1,'','2013-11-07 00:16:31'),(5221,'MAIN_MODULE_AGENDA',1,'1',NULL,0,NULL,'2014-03-02 15:19:45'),(5222,'MAIN_MODULE_SOCIETE',1,'1',NULL,0,NULL,'2014-03-02 15:19:46'),(5223,'MAIN_MODULE_SERVICE',1,'1',NULL,0,NULL,'2014-03-02 15:19:46'),(5224,'MAIN_MODULE_COMMANDE',1,'1',NULL,0,NULL,'2014-03-02 15:19:46'),(5225,'MAIN_MODULE_FACTURE',1,'1',NULL,0,NULL,'2014-03-02 15:19:46'),(5226,'MAIN_MODULE_FOURNISSEUR',1,'1',NULL,0,NULL,'2014-03-02 15:19:46'),(5227,'MAIN_MODULE_USER',0,'1',NULL,0,NULL,'2014-03-02 15:19:46'),(5228,'MAIN_MODULE_DEPLACEMENT',1,'1',NULL,0,NULL,'2014-03-02 15:19:46'),(5229,'MAIN_MODULE_DON',1,'1',NULL,0,NULL,'2014-03-02 15:19:46'),(5230,'MAIN_MODULE_ECM',1,'1',NULL,0,NULL,'2014-03-02 15:19:46'),(5233,'MAIN_VERSION_LAST_UPGRADE',0,'3.6.0-alpha','chaine',0,'Dolibarr version for last upgrade','2014-03-02 15:20:57'),(5235,'MAIN_FEATURES_LEVEL',0,'0','chaine',1,'Level of features to show (0=stable only, 1=stable+experimental, 2=stable+experimental+development','2014-03-02 15:22:27'),(5236,'MAIN_MODULE_BARCODE',1,'1',NULL,0,NULL,'2014-03-02 15:37:26'),(5237,'MAIN_MODULE_GRAVATAR',1,'1',NULL,0,NULL,'2014-03-02 15:37:37'),(5238,'MAIN_MODULE_LDAP',1,'1',NULL,0,NULL,'2014-03-02 15:38:03'),(5239,'BOOKMARKS_SHOW_IN_MENU',1,'10','chaine',0,'','2014-03-02 15:42:26'); +INSERT INTO `llx_const` VALUES (5,'SYSLOG_LEVEL',0,'7','chaine',0,'Level of debug info to show','2010-07-08 11:17:57'),(8,'MAIN_UPLOAD_DOC',0,'2048','chaine',0,'Max size for file upload (0 means no upload allowed)','2010-07-08 11:17:57'),(9,'MAIN_SEARCHFORM_SOCIETE',0,'1','yesno',0,'Show form for quick company search','2010-07-08 11:17:57'),(10,'MAIN_SEARCHFORM_CONTACT',0,'1','yesno',0,'Show form for quick contact search','2010-07-08 11:17:57'),(11,'MAIN_SEARCHFORM_PRODUITSERVICE',0,'1','yesno',0,'Show form for quick product search','2010-07-08 11:17:58'),(12,'MAIN_SEARCHFORM_ADHERENT',0,'1','yesno',0,'Show form for quick member search','2010-07-08 11:17:58'),(16,'MAIN_SIZE_LISTE_LIMIT',0,'25','chaine',0,'Longueur maximum des listes','2010-07-08 11:17:58'),(17,'MAIN_SHOW_WORKBOARD',0,'1','yesno',0,'Affichage tableau de bord de travail Dolibarr','2010-07-08 11:17:58'),(29,'MAIN_DELAY_NOT_ACTIVATED_SERVICES',1,'0','chaine',0,'Tolérance de retard avant alerte (en jours) sur services à activer','2010-07-08 11:17:58'),(33,'SOCIETE_NOLIST_COURRIER',0,'1','yesno',0,'Liste les fichiers du repertoire courrier','2010-07-08 11:17:58'),(35,'SOCIETE_CODECOMPTA_ADDON',1,'mod_codecompta_panicum','yesno',0,'Module to control third parties codes','2010-07-08 11:17:58'),(36,'ADHERENT_MAIL_REQUIRED',1,'1','yesno',0,'EMail required to create a new member','2010-07-08 11:17:58'),(37,'ADHERENT_MAIL_FROM',1,'adherents@domain.com','chaine',0,'Sender EMail for automatic emails','2010-07-08 11:17:58'),(38,'ADHERENT_MAIL_RESIL',1,'Your subscription has been resiliated.\r\nWe hope to see you soon again','texte',0,'Mail resiliation','2010-07-08 11:17:58'),(39,'ADHERENT_MAIL_VALID',1,'Your subscription has been validated.\r\nThis is a remind of your personal information :\r\n\r\n%INFOS%\r\n\r\n','texte',0,'Mail de validation','2010-07-08 11:17:59'),(40,'ADHERENT_MAIL_COTIS',1,'Hello %PRENOM%,\r\nThanks for your subscription.\r\nThis email confirms that your subscription has been received and processed.\r\n\r\n','texte',0,'Mail de validation de cotisation','2010-07-08 11:17:59'),(41,'ADHERENT_MAIL_VALID_SUBJECT',1,'Your subscription has been validated','chaine',0,'Sujet du mail de validation','2010-07-08 11:17:59'),(42,'ADHERENT_MAIL_RESIL_SUBJECT',1,'Resiliating your subscription','chaine',0,'Sujet du mail de resiliation','2010-07-08 11:17:59'),(43,'ADHERENT_MAIL_COTIS_SUBJECT',1,'Receipt of your subscription','chaine',0,'Sujet du mail de validation de cotisation','2010-07-08 11:17:59'),(44,'MAILING_EMAIL_FROM',1,'dolibarr@domain.com','chaine',0,'EMail emmetteur pour les envois d emailings','2010-07-08 11:17:59'),(45,'ADHERENT_USE_MAILMAN',1,'0','yesno',0,'Utilisation de Mailman','2010-07-08 11:17:59'),(46,'ADHERENT_MAILMAN_UNSUB_URL',1,'http://lists.domain.com/cgi-bin/mailman/admin/%LISTE%/members?adminpw=%MAILMAN_ADMINPW%&user=%EMAIL%','chaine',0,'Url de desinscription aux listes mailman','2010-07-08 11:17:59'),(47,'ADHERENT_MAILMAN_URL',1,'http://lists.domain.com/cgi-bin/mailman/admin/%LISTE%/members?adminpw=%MAILMAN_ADMINPW%&send_welcome_msg_to_this_batch=1&subscribees=%EMAIL%','chaine',0,'Url pour les inscriptions mailman','2010-07-08 11:17:59'),(48,'ADHERENT_MAILMAN_LISTS',1,'test-test,test-test2','chaine',0,'Listes auxquelles inscrire les nouveaux adherents','2010-07-08 11:17:59'),(49,'ADHERENT_MAILMAN_ADMINPW',1,'','chaine',0,'Mot de passe Admin des liste mailman','2010-07-08 11:17:59'),(50,'ADHERENT_MAILMAN_SERVER',1,'lists.domain.com','chaine',0,'Serveur hebergeant les interfaces d Admin des listes mailman','2010-07-08 11:17:59'),(51,'ADHERENT_MAILMAN_LISTS_COTISANT',1,'','chaine',0,'Liste(s) auxquelles les nouveaux cotisants sont inscris automatiquement','2010-07-08 11:17:59'),(52,'ADHERENT_USE_SPIP',1,'0','yesno',0,'Utilisation de SPIP ?','2010-07-08 11:17:59'),(53,'ADHERENT_USE_SPIP_AUTO',1,'0','yesno',0,'Utilisation de SPIP automatiquement','2010-07-08 11:17:59'),(54,'ADHERENT_SPIP_USER',1,'user','chaine',0,'user spip','2010-07-08 11:17:59'),(55,'ADHERENT_SPIP_PASS',1,'pass','chaine',0,'Pass de connection','2010-07-08 11:17:59'),(56,'ADHERENT_SPIP_SERVEUR',1,'localhost','chaine',0,'serveur spip','2010-07-08 11:17:59'),(57,'ADHERENT_SPIP_DB',1,'spip','chaine',0,'db spip','2010-07-08 11:17:59'),(58,'ADHERENT_CARD_HEADER_TEXT',1,'%ANNEE%','chaine',0,'Texte imprime sur le haut de la carte adherent','2010-07-08 11:17:59'),(59,'ADHERENT_CARD_FOOTER_TEXT',1,'Association AZERTY','chaine',0,'Texte imprime sur le bas de la carte adherent','2010-07-08 11:17:59'),(61,'FCKEDITOR_ENABLE_USER',1,'1','yesno',0,'Activation fckeditor sur notes utilisateurs','2010-07-08 11:17:59'),(62,'FCKEDITOR_ENABLE_SOCIETE',1,'1','yesno',0,'Activation fckeditor sur notes societe','2010-07-08 11:17:59'),(63,'FCKEDITOR_ENABLE_PRODUCTDESC',1,'1','yesno',0,'Activation fckeditor sur notes produits','2010-07-08 11:17:59'),(64,'FCKEDITOR_ENABLE_MEMBER',1,'1','yesno',0,'Activation fckeditor sur notes adherent','2010-07-08 11:17:59'),(65,'FCKEDITOR_ENABLE_MAILING',1,'1','yesno',0,'Activation fckeditor sur emailing','2010-07-08 11:17:59'),(66,'OSC_DB_HOST',1,'localhost','chaine',0,'Host for OSC database for OSCommerce module 1','2010-07-08 11:17:59'),(67,'DON_ADDON_MODEL',1,'html_cerfafr','chaine',0,'','2010-07-08 11:18:00'),(68,'PROPALE_ADDON',1,'mod_propale_marbre','chaine',0,'','2010-07-08 11:18:00'),(69,'PROPALE_ADDON_PDF',1,'azur','chaine',0,'','2010-07-08 11:18:00'),(70,'COMMANDE_ADDON',1,'mod_commande_marbre','chaine',0,'','2010-07-08 11:18:00'),(71,'COMMANDE_ADDON_PDF',1,'einstein','chaine',0,'','2010-07-08 11:18:00'),(72,'COMMANDE_SUPPLIER_ADDON',1,'mod_commande_fournisseur_muguet','chaine',0,'','2010-07-08 11:18:00'),(73,'COMMANDE_SUPPLIER_ADDON_PDF',1,'muscadet','chaine',0,'','2010-07-08 11:18:00'),(74,'EXPEDITION_ADDON',1,'enlevement','chaine',0,'','2010-07-08 11:18:00'),(76,'FICHEINTER_ADDON',1,'pacific','chaine',0,'','2010-07-08 11:18:00'),(77,'FICHEINTER_ADDON_PDF',1,'soleil','chaine',0,'','2010-07-08 11:18:00'),(79,'FACTURE_ADDON_PDF',1,'crabe','chaine',0,'','2010-07-08 11:18:00'),(80,'PROPALE_VALIDITY_DURATION',1,'15','chaine',0,'Durée de validitée des propales','2010-07-08 11:18:00'),(230,'COMPANY_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/thirdparties','chaine',0,NULL,'2010-07-08 11:26:20'),(238,'LIVRAISON_ADDON_PDF',1,'typhon','chaine',0,'Nom du gestionnaire de generation des commandes en PDF','2010-07-08 11:26:27'),(239,'LIVRAISON_ADDON_NUMBER',1,'mod_livraison_jade','chaine',0,'Nom du gestionnaire de numerotation des bons de livraison','2013-03-20 13:17:36'),(242,'MAIN_SUBMODULE_EXPEDITION',1,'1','chaine',0,'','2010-07-08 11:26:34'),(245,'FACTURE_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/invoices','chaine',0,NULL,'2010-07-08 11:28:53'),(249,'DON_FORM',1,'fsfe.fr.php','chaine',0,'Nom du gestionnaire de formulaire de dons','2010-07-08 11:29:00'),(252,'MAIN_MODULE_ADHERENT',1,'1',NULL,0,NULL,'2010-07-08 11:29:05'),(253,'ADHERENT_BANK_USE_AUTO',1,'','yesno',0,'Insertion automatique des cotisation dans le compte banquaire','2010-07-08 11:29:05'),(254,'ADHERENT_BANK_ACCOUNT',1,'','chaine',0,'ID du Compte banquaire utilise','2010-07-08 11:29:05'),(255,'ADHERENT_BANK_CATEGORIE',1,'','chaine',0,'ID de la categorie banquaire des cotisations','2010-07-08 11:29:05'),(256,'ADHERENT_ETIQUETTE_TYPE',1,'L7163','chaine',0,'Type d etiquette (pour impression de planche d etiquette)','2010-07-08 11:29:05'),(260,'MAIN_MODULE_STOCK',1,'1',NULL,0,NULL,'2010-07-08 11:29:18'),(269,'PROJECT_ADDON_PDF',1,'baleine','chaine',0,'Nom du gestionnaire de generation des projets en PDF','2010-07-08 11:29:33'),(270,'PROJECT_ADDON',1,'mod_project_simple','chaine',0,'Nom du gestionnaire de numerotation des projets','2010-07-08 11:29:33'),(271,'MAIN_MODULE_MAILING',1,'1',NULL,0,NULL,'2010-07-08 11:29:37'),(272,'MAIN_MODULE_EXPORT',1,'1',NULL,0,NULL,'2010-07-08 11:29:41'),(273,'MAIN_MODULE_IMPORT',1,'1',NULL,0,NULL,'2010-07-08 11:29:45'),(274,'MAIN_MODULE_CATEGORIE',1,'1',NULL,0,NULL,'2010-07-08 11:29:59'),(275,'MAIN_MODULE_BOOKMARK',1,'1',NULL,0,NULL,'2010-07-08 11:30:03'),(276,'MAIN_MODULE_WEBSERVICES',1,'1',NULL,0,NULL,'2010-07-08 11:30:30'),(278,'MAIN_MODULE_GEOIPMAXMIND',1,'1',NULL,0,NULL,'2010-07-08 11:30:36'),(279,'MAIN_MODULE_EXTERNALRSS',1,'1',NULL,0,NULL,'2010-07-08 11:30:38'),(292,'MAIN_MODULE_FCKEDITOR',1,'1',NULL,0,NULL,'2010-07-08 11:56:27'),(368,'STOCK_USERSTOCK_AUTOCREATE',1,'1','chaine',0,'','2010-07-08 22:44:59'),(369,'EXPEDITION_ADDON_PDF',1,'merou','chaine',0,'','2010-07-08 22:58:07'),(370,'MAIN_SUBMODULE_LIVRAISON',1,'1','chaine',0,'','2010-07-08 23:00:29'),(377,'FACTURE_ADDON',1,'mod_facture_terre','chaine',0,'','2010-07-08 23:08:12'),(380,'ADHERENT_CARD_TEXT',1,'%TYPE% n° %ID%\r\n%PRENOM% %NOM%\r\n<%EMAIL%>\r\n%ADRESSE%\r\n%CP% %VILLE%\r\n%PAYS%','',0,'Texte imprime sur la carte adherent','2010-07-08 23:14:46'),(381,'ADHERENT_CARD_TEXT_RIGHT',1,'aaa','',0,'','2010-07-08 23:14:55'),(384,'PRODUIT_SOUSPRODUITS',1,'1','chaine',0,'','2010-07-08 23:22:12'),(385,'PRODUIT_USE_SEARCH_TO_SELECT',1,'1','chaine',0,'','2010-07-08 23:22:19'),(386,'STOCK_CALCULATE_ON_SHIPMENT',1,'1','chaine',0,'','2010-07-08 23:23:21'),(387,'STOCK_CALCULATE_ON_SUPPLIER_DISPATCH_ORDER',1,'1','chaine',0,'','2010-07-08 23:23:26'),(392,'MAIN_AGENDA_XCAL_EXPORTKEY',1,'dolibarr','chaine',0,'','2010-07-08 23:27:50'),(393,'MAIN_AGENDA_EXPORT_PAST_DELAY',1,'100','chaine',0,'','2010-07-08 23:27:50'),(523,'MAIN_AGENDA_ACTIONAUTO_COMPANY_CREATE',1,'1','chaine',0,'','2010-07-10 12:48:49'),(524,'MAIN_AGENDA_ACTIONAUTO_CONTRACT_VALIDATE',1,'1','chaine',0,'','2010-07-10 12:48:49'),(525,'MAIN_AGENDA_ACTIONAUTO_PROPAL_VALIDATE',1,'1','chaine',0,'','2010-07-10 12:48:49'),(526,'MAIN_AGENDA_ACTIONAUTO_PROPAL_SENTBYMAIL',1,'1','chaine',0,'','2010-07-10 12:48:49'),(527,'MAIN_AGENDA_ACTIONAUTO_ORDER_VALIDATE',1,'1','chaine',0,'','2010-07-10 12:48:49'),(528,'MAIN_AGENDA_ACTIONAUTO_ORDER_SENTBYMAIL',1,'1','chaine',0,'','2010-07-10 12:48:49'),(529,'MAIN_AGENDA_ACTIONAUTO_BILL_VALIDATE',1,'1','chaine',0,'','2010-07-10 12:48:49'),(530,'MAIN_AGENDA_ACTIONAUTO_BILL_PAYED',1,'1','chaine',0,'','2010-07-10 12:48:49'),(531,'MAIN_AGENDA_ACTIONAUTO_BILL_CANCEL',1,'1','chaine',0,'','2010-07-10 12:48:49'),(532,'MAIN_AGENDA_ACTIONAUTO_BILL_SENTBYMAIL',1,'1','chaine',0,'','2010-07-10 12:48:49'),(533,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_VALIDATE',1,'1','chaine',0,'','2010-07-10 12:48:50'),(534,'MAIN_AGENDA_ACTIONAUTO_BILL_SUPPLIER_VALIDATE',1,'1','chaine',0,'','2010-07-10 12:48:50'),(602,'MAIN_MODULE_PROJET',1,'1',NULL,0,NULL,'2010-07-11 13:26:54'),(610,'CASHDESK_ID_THIRDPARTY',1,'7','chaine',0,'','2010-07-11 17:08:18'),(611,'CASHDESK_ID_BANKACCOUNT_CASH',1,'3','chaine',0,'','2010-07-11 17:08:18'),(612,'CASHDESK_ID_BANKACCOUNT_CHEQUE',1,'1','chaine',0,'','2010-07-11 17:08:18'),(613,'CASHDESK_ID_BANKACCOUNT_CB',1,'1','chaine',0,'','2010-07-11 17:08:18'),(614,'CASHDESK_ID_WAREHOUSE',1,'2','chaine',0,'','2010-07-11 17:08:18'),(660,'LDAP_USER_DN',1,'ou=users,dc=my-domain,dc=com','chaine',0,NULL,'2010-07-18 10:25:27'),(661,'LDAP_GROUP_DN',1,'ou=groups,dc=my-domain,dc=com','chaine',0,NULL,'2010-07-18 10:25:27'),(662,'LDAP_FILTER_CONNECTION',1,'&(objectClass=user)(objectCategory=person)','chaine',0,NULL,'2010-07-18 10:25:27'),(663,'LDAP_FIELD_LOGIN',1,'uid','chaine',0,NULL,'2010-07-18 10:25:27'),(664,'LDAP_FIELD_FULLNAME',1,'cn','chaine',0,NULL,'2010-07-18 10:25:27'),(665,'LDAP_FIELD_NAME',1,'sn','chaine',0,NULL,'2010-07-18 10:25:27'),(666,'LDAP_FIELD_FIRSTNAME',1,'givenname','chaine',0,NULL,'2010-07-18 10:25:27'),(667,'LDAP_FIELD_MAIL',1,'mail','chaine',0,NULL,'2010-07-18 10:25:27'),(668,'LDAP_FIELD_PHONE',1,'telephonenumber','chaine',0,NULL,'2010-07-18 10:25:27'),(669,'LDAP_FIELD_FAX',1,'facsimiletelephonenumber','chaine',0,NULL,'2010-07-18 10:25:27'),(670,'LDAP_FIELD_MOBILE',1,'mobile','chaine',0,NULL,'2010-07-18 10:25:27'),(671,'LDAP_SERVER_TYPE',1,'openldap','chaine',0,'','2010-07-18 10:25:46'),(672,'LDAP_SERVER_PROTOCOLVERSION',1,'3','chaine',0,'','2010-07-18 10:25:47'),(673,'LDAP_SERVER_HOST',1,'localhost','chaine',0,'','2010-07-18 10:25:47'),(674,'LDAP_SERVER_PORT',1,'389','chaine',0,'','2010-07-18 10:25:47'),(675,'LDAP_SERVER_USE_TLS',1,'0','chaine',0,'','2010-07-18 10:25:47'),(676,'LDAP_SYNCHRO_ACTIVE',1,'dolibarr2ldap','chaine',0,'','2010-07-18 10:25:47'),(677,'LDAP_CONTACT_ACTIVE',1,'1','chaine',0,'','2010-07-18 10:25:47'),(678,'LDAP_MEMBER_ACTIVE',1,'1','chaine',0,'','2010-07-18 10:25:47'),(807,'MAIN_AGENDA_ACTIONAUTO_SHIPPING_VALIDATE',1,'1','chaine',0,NULL,'2011-07-18 17:27:52'),(808,'MAIN_AGENDA_ACTIONAUTO_SHIPPING_SENTBYMAIL',1,'1','chaine',0,NULL,'2011-07-18 17:27:52'),(834,'MAIN_MODULE_CASHDESK',1,'1',NULL,0,NULL,'2011-07-18 17:30:24'),(969,'MAIN_MODULE_PRELEVEMENT',1,'1',NULL,0,NULL,'2011-07-18 18:01:59'),(973,'MAIN_MODULE_WORKFLOW',1,'1',NULL,0,NULL,'2011-07-18 18:02:20'),(974,'MAIN_MODULE_WORKFLOW_TRIGGERS',1,'1','chaine',0,NULL,'2011-07-18 18:02:20'),(975,'WORKFLOW_PROPAL_AUTOCREATE_ORDER',1,'1','chaine',0,'','2011-07-18 18:02:24'),(978,'MAIN_MODULE_NOTIFICATION',1,'1',NULL,0,NULL,'2011-07-18 18:03:06'),(979,'PRELEVEMENT_USER',1,'1','chaine',0,'','2011-07-18 18:05:50'),(980,'PRELEVEMENT_NUMERO_NATIONAL_EMETTEUR',1,'1234567','chaine',0,'','2011-07-18 18:05:50'),(981,'PRELEVEMENT_ID_BANKACCOUNT',1,'1','chaine',0,'','2011-07-18 18:05:50'),(983,'FACTURE_RIB_NUMBER',1,'1','chaine',0,'','2011-07-18 18:35:14'),(984,'FACTURE_CHQ_NUMBER',1,'1','chaine',0,'','2011-07-18 18:35:14'),(1016,'GOOGLE_DUPLICATE_INTO_GCAL',1,'1','chaine',0,'','2011-07-18 21:40:20'),(1018,'MAIN_MODULE_SYSLOG',0,'1',NULL,0,NULL,'2011-07-20 11:36:47'),(1138,'MAIN_VERSION_LAST_INSTALL',0,'3.1.0-beta','chaine',0,'Dolibarr version when install','2011-07-28 23:05:02'),(1152,'SOCIETE_CODECLIENT_ADDON',1,'mod_codeclient_monkey','chaine',0,'','2011-07-29 20:50:02'),(1231,'MAIN_UPLOAD_DOC',1,'2048','chaine',0,'','2011-07-29 21:04:00'),(1234,'MAIN_UMASK',1,'0664','chaine',0,'','2011-07-29 21:04:11'),(1240,'MAIN_LOGEVENTS_USER_LOGIN',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1241,'MAIN_LOGEVENTS_USER_LOGIN_FAILED',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1242,'MAIN_LOGEVENTS_USER_LOGOUT',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1243,'MAIN_LOGEVENTS_USER_CREATE',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1244,'MAIN_LOGEVENTS_USER_MODIFY',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1245,'MAIN_LOGEVENTS_USER_NEW_PASSWORD',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1246,'MAIN_LOGEVENTS_USER_ENABLEDISABLE',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1247,'MAIN_LOGEVENTS_USER_DELETE',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1248,'MAIN_LOGEVENTS_GROUP_CREATE',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1249,'MAIN_LOGEVENTS_GROUP_MODIFY',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1250,'MAIN_LOGEVENTS_GROUP_DELETE',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1251,'MAIN_BOXES_MAXLINES',1,'5','',0,'','2011-07-29 21:05:42'),(1379,'CABINETMED_RHEUMATOLOGY_ON',1,'1','chaine',1,'Enable features for rheumatology','2011-08-01 21:47:53'),(1482,'EXPEDITION_ADDON_NUMBER',1,'mod_expedition_safor','chaine',0,'Nom du gestionnaire de numerotation des expeditions','2011-08-05 17:53:11'),(1490,'CONTRACT_ADDON',1,'mod_contract_serpis','chaine',0,'Nom du gestionnaire de numerotation des contrats','2011-08-05 18:11:58'),(1677,'COMMANDE_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/orders','chaine',0,NULL,'2012-12-08 13:11:02'),(1698,'PRODUCT_CODEPRODUCT_ADDON',1,'mod_codeproduct_leopard','yesno',0,'Module to control product codes','2012-12-08 13:11:25'),(1718,'MAIN_MODULE_TAX',1,'1',NULL,0,NULL,'2012-12-08 13:12:41'),(1719,'ACCOUNTING_USEDICTTOEDIT',1,'1','chaine',1,'','2012-12-08 13:15:00'),(1724,'PROPALE_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/proposals','chaine',0,NULL,'2012-12-08 13:17:14'),(1730,'OPENSTREETMAP_ENABLE_MAPS',1,'1','chaine',0,'','2012-12-08 13:22:47'),(1731,'OPENSTREETMAP_ENABLE_MAPS_CONTACTS',1,'1','chaine',0,'','2012-12-08 13:22:47'),(1732,'OPENSTREETMAP_ENABLE_MAPS_MEMBERS',1,'1','chaine',0,'','2012-12-08 13:22:47'),(1733,'OPENSTREETMAP_MAPS_ZOOM_LEVEL',1,'15','chaine',0,'','2012-12-08 13:22:47'),(1737,'MAIN_INFO_SOCIETE_COUNTRY',2,'1:FR:France','chaine',0,'','2013-02-26 21:56:28'),(1738,'MAIN_INFO_SOCIETE_NOM',2,'aaa','chaine',0,'','2012-12-08 14:08:14'),(1739,'MAIN_INFO_SOCIETE_STATE',2,'0','chaine',0,'','2013-02-27 14:20:27'),(1740,'MAIN_MONNAIE',2,'EUR','chaine',0,'','2012-12-08 14:08:14'),(1741,'MAIN_LANG_DEFAULT',2,'auto','chaine',0,'','2012-12-08 14:08:14'),(1742,'MAIN_MAIL_EMAIL_FROM',2,'dolibarr-robot@domain.com','chaine',0,'EMail emetteur pour les emails automatiques Dolibarr','2012-12-08 14:08:14'),(1743,'MAIN_MENU_STANDARD',2,'eldy_menu.php','chaine',0,'Module de gestion de la barre de menu du haut pour utilisateurs internes','2013-02-11 19:43:54'),(1744,'MAIN_MENUFRONT_STANDARD',2,'eldy_menu.php','chaine',0,'Module de gestion de la barre de menu du haut pour utilisateurs externes','2013-02-11 19:43:54'),(1745,'MAIN_MENU_SMARTPHONE',2,'iphone_backoffice.php','chaine',0,'Module de gestion de la barre de menu smartphone pour utilisateurs internes','2012-12-08 14:08:14'),(1746,'MAIN_MENUFRONT_SMARTPHONE',2,'iphone_frontoffice.php','chaine',0,'Module de gestion de la barre de menu smartphone pour utilisateurs externes','2012-12-08 14:08:14'),(1747,'MAIN_THEME',2,'eldy','chaine',0,'Default theme','2012-12-08 14:08:14'),(1748,'MAIN_DELAY_ACTIONS_TODO',2,'7','chaine',0,'Tolérance de retard avant alerte (en jours) sur actions planifiées non réalisées','2012-12-08 14:08:14'),(1749,'MAIN_DELAY_ORDERS_TO_PROCESS',2,'2','chaine',0,'Tolérance de retard avant alerte (en jours) sur commandes clients non traitées','2012-12-08 14:08:14'),(1750,'MAIN_DELAY_SUPPLIER_ORDERS_TO_PROCESS',2,'7','chaine',0,'Tolérance de retard avant alerte (en jours) sur commandes fournisseurs non traitées','2012-12-08 14:08:14'),(1751,'MAIN_DELAY_PROPALS_TO_CLOSE',2,'31','chaine',0,'Tolérance de retard avant alerte (en jours) sur propales à cloturer','2012-12-08 14:08:14'),(1752,'MAIN_DELAY_PROPALS_TO_BILL',2,'7','chaine',0,'Tolérance de retard avant alerte (en jours) sur propales non facturées','2012-12-08 14:08:14'),(1753,'MAIN_DELAY_CUSTOMER_BILLS_UNPAYED',2,'31','chaine',0,'Tolérance de retard avant alerte (en jours) sur factures client impayées','2012-12-08 14:08:14'),(1754,'MAIN_DELAY_SUPPLIER_BILLS_TO_PAY',2,'2','chaine',0,'Tolérance de retard avant alerte (en jours) sur factures fournisseur impayées','2012-12-08 14:08:14'),(1755,'MAIN_DELAY_NOT_ACTIVATED_SERVICES',2,'0','chaine',0,'Tolérance de retard avant alerte (en jours) sur services à activer','2012-12-08 14:08:14'),(1756,'MAIN_DELAY_RUNNING_SERVICES',2,'0','chaine',0,'Tolérance de retard avant alerte (en jours) sur services expirés','2012-12-08 14:08:14'),(1757,'MAIN_DELAY_MEMBERS',2,'31','chaine',0,'Tolérance de retard avant alerte (en jours) sur cotisations adhérent en retard','2012-12-08 14:08:14'),(1758,'MAIN_DELAY_TRANSACTIONS_TO_CONCILIATE',2,'62','chaine',0,'Tolérance de retard avant alerte (en jours) sur rapprochements bancaires à faire','2012-12-08 14:08:14'),(1759,'MAILING_EMAIL_FROM',2,'dolibarr@domain.com','chaine',0,'EMail emmetteur pour les envois d emailings','2012-12-08 14:08:14'),(1760,'MAIN_INFO_SOCIETE_COUNTRY',3,'1:FR:France','chaine',0,'','2013-02-26 21:56:28'),(1761,'MAIN_INFO_SOCIETE_NOM',3,'bbb','chaine',0,'','2012-12-08 14:08:20'),(1762,'MAIN_INFO_SOCIETE_STATE',3,'0','chaine',0,'','2013-02-27 14:20:27'),(1763,'MAIN_MONNAIE',3,'EUR','chaine',0,'','2012-12-08 14:08:20'),(1764,'MAIN_LANG_DEFAULT',3,'auto','chaine',0,'','2012-12-08 14:08:20'),(1765,'MAIN_MAIL_EMAIL_FROM',3,'dolibarr-robot@domain.com','chaine',0,'EMail emetteur pour les emails automatiques Dolibarr','2012-12-08 14:08:20'),(1766,'MAIN_MENU_STANDARD',3,'eldy_menu.php','chaine',0,'Module de gestion de la barre de menu du haut pour utilisateurs internes','2013-02-11 19:43:54'),(1767,'MAIN_MENUFRONT_STANDARD',3,'eldy_menu.php','chaine',0,'Module de gestion de la barre de menu du haut pour utilisateurs externes','2013-02-11 19:43:54'),(1768,'MAIN_MENU_SMARTPHONE',3,'iphone_backoffice.php','chaine',0,'Module de gestion de la barre de menu smartphone pour utilisateurs internes','2012-12-08 14:08:20'),(1769,'MAIN_MENUFRONT_SMARTPHONE',3,'iphone_frontoffice.php','chaine',0,'Module de gestion de la barre de menu smartphone pour utilisateurs externes','2012-12-08 14:08:20'),(1770,'MAIN_THEME',3,'eldy','chaine',0,'Default theme','2012-12-08 14:08:20'),(1771,'MAIN_DELAY_ACTIONS_TODO',3,'7','chaine',0,'Tolérance de retard avant alerte (en jours) sur actions planifiées non réalisées','2012-12-08 14:08:20'),(1772,'MAIN_DELAY_ORDERS_TO_PROCESS',3,'2','chaine',0,'Tolérance de retard avant alerte (en jours) sur commandes clients non traitées','2012-12-08 14:08:20'),(1773,'MAIN_DELAY_SUPPLIER_ORDERS_TO_PROCESS',3,'7','chaine',0,'Tolérance de retard avant alerte (en jours) sur commandes fournisseurs non traitées','2012-12-08 14:08:20'),(1774,'MAIN_DELAY_PROPALS_TO_CLOSE',3,'31','chaine',0,'Tolérance de retard avant alerte (en jours) sur propales à cloturer','2012-12-08 14:08:20'),(1775,'MAIN_DELAY_PROPALS_TO_BILL',3,'7','chaine',0,'Tolérance de retard avant alerte (en jours) sur propales non facturées','2012-12-08 14:08:20'),(1776,'MAIN_DELAY_CUSTOMER_BILLS_UNPAYED',3,'31','chaine',0,'Tolérance de retard avant alerte (en jours) sur factures client impayées','2012-12-08 14:08:20'),(1777,'MAIN_DELAY_SUPPLIER_BILLS_TO_PAY',3,'2','chaine',0,'Tolérance de retard avant alerte (en jours) sur factures fournisseur impayées','2012-12-08 14:08:20'),(1778,'MAIN_DELAY_NOT_ACTIVATED_SERVICES',3,'0','chaine',0,'Tolérance de retard avant alerte (en jours) sur services à activer','2012-12-08 14:08:20'),(1779,'MAIN_DELAY_RUNNING_SERVICES',3,'0','chaine',0,'Tolérance de retard avant alerte (en jours) sur services expirés','2012-12-08 14:08:20'),(1780,'MAIN_DELAY_MEMBERS',3,'31','chaine',0,'Tolérance de retard avant alerte (en jours) sur cotisations adhérent en retard','2012-12-08 14:08:20'),(1781,'MAIN_DELAY_TRANSACTIONS_TO_CONCILIATE',3,'62','chaine',0,'Tolérance de retard avant alerte (en jours) sur rapprochements bancaires à faire','2012-12-08 14:08:20'),(1782,'MAILING_EMAIL_FROM',3,'dolibarr@domain.com','chaine',0,'EMail emmetteur pour les envois d emailings','2012-12-08 14:08:20'),(1803,'SYSLOG_FILE',1,'DOL_DATA_ROOT/dolibarr.log','chaine',0,'','2012-12-08 14:15:08'),(1804,'SYSLOG_HANDLERS',1,'[\"mod_syslog_file\"]','chaine',0,'','2012-12-08 14:15:08'),(1805,'MAIN_MODULE_SKINCOLOREDITOR',3,'1',NULL,0,NULL,'2012-12-08 14:35:40'),(1806,'MAIN_MODULE_SKINCOLOREDITOR_TABS_0',3,'user:+tabskincoloreditors:ColorEditor:skincoloreditor@skincoloreditor:/skincoloreditor/usercolors.php?id=__ID__','chaine',0,NULL,'2012-12-08 14:35:40'),(1867,'MAIN_MODULE_PAYPAL',1,'1',NULL,0,NULL,'2012-12-11 22:53:56'),(1922,'PAYPAL_API_SANDBOX',1,'1','chaine',0,'','2012-12-12 12:11:05'),(1923,'PAYPAL_API_USER',1,'seller_1355312017_biz_api1.nltechno.com','chaine',0,'','2012-12-12 12:11:05'),(1924,'PAYPAL_API_PASSWORD',1,'1355312040','chaine',0,'','2012-12-12 12:11:05'),(1925,'PAYPAL_API_SIGNATURE',1,'AXqqdsWBzvfn0q5iNmbuiDv1y.3EAXIMWyl4C5KvDReR9HDwwAd6dQ4Q','chaine',0,'','2012-12-12 12:11:05'),(1926,'PAYPAL_API_INTEGRAL_OR_PAYPALONLY',1,'integral','chaine',0,'','2012-12-12 12:11:05'),(1927,'PAYPAL_SECURITY_TOKEN',1,'50c82fab36bb3b6aa83e2a50691803b2','chaine',0,'','2012-12-12 12:11:05'),(1928,'PAYPAL_SECURITY_TOKEN_UNIQUE',1,'0','chaine',0,'','2012-12-12 12:11:05'),(1929,'PAYPAL_ADD_PAYMENT_URL',1,'1','chaine',0,'','2012-12-12 12:11:05'),(1980,'MAIN_PDF_FORMAT',1,'EUA4','chaine',0,'','2012-12-12 19:58:05'),(1981,'MAIN_PROFID1_IN_ADDRESS',1,'0','chaine',0,'','2012-12-12 19:58:05'),(1982,'MAIN_PROFID2_IN_ADDRESS',1,'0','chaine',0,'','2012-12-12 19:58:05'),(1983,'MAIN_PROFID3_IN_ADDRESS',1,'0','chaine',0,'','2012-12-12 19:58:05'),(1984,'MAIN_PROFID4_IN_ADDRESS',1,'0','chaine',0,'','2012-12-12 19:58:05'),(1985,'MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT',1,'0','chaine',0,'','2012-12-12 19:58:05'),(1990,'MAIN_SMS_SENDMODE',1,'ovh','chaine',0,'This is to enable OVH SMS engine','2012-12-17 21:19:01'),(2040,'MAIN_MAIL_SMTP_PORT',0,'465','chaine',0,'','2012-12-19 12:58:10'),(2041,'MAIN_MAIL_SMTP_SERVER',0,'smtp.gmail.com','chaine',0,'','2012-12-19 12:58:10'),(2044,'MAIN_MAIL_EMAIL_TLS',0,'1','chaine',0,'','2012-12-19 12:58:10'),(2251,'FCKEDITOR_TEST',1,'Test
\r\n\"\"fdfs','chaine',0,'','2012-12-19 19:12:24'),(2293,'SYSTEMTOOLS_MYSQLDUMP',1,'/usr/bin/mysqldump','chaine',0,'','2012-12-27 02:02:00'),(2305,'MAIN_MODULE_PROPALE',1,'1',NULL,0,NULL,'2013-01-02 20:33:16'),(2307,'MAIN_MODULE_CONTRAT',1,'1',NULL,0,NULL,'2013-01-02 20:33:17'),(2310,'MAIN_MODULE_EXPEDITION',1,'1',NULL,0,NULL,'2013-01-02 20:33:18'),(2315,'MAIN_MODULE_FICHEINTER',1,'1',NULL,0,NULL,'2013-01-02 20:33:21'),(2321,'MAIN_MODULE_HOLIDAY',1,'1',NULL,0,NULL,'2013-01-02 20:33:24'),(2322,'MAIN_MODULE_HOLIDAY_TABS_0',1,'user:+paidholidays:CPTitreMenu:holiday:$user->rights->holiday->write:/holiday/index.php?mainmenu=holiday&id=__ID__','chaine',0,NULL,'2013-01-02 20:33:24'),(2786,'MAIN_SOAP_DEBUG',1,'1','chaine',1,'','2013-01-13 12:37:21'),(2835,'MAIN_USE_CONNECT_TIMEOUT',1,'10','chaine',0,'','2013-01-16 19:28:50'),(2836,'MAIN_USE_RESPONSE_TIMEOUT',1,'30','chaine',0,'','2013-01-16 19:28:50'),(2837,'MAIN_PROXY_USE',1,'0','chaine',0,'','2013-01-16 19:28:50'),(2838,'MAIN_PROXY_HOST',1,'localhost','chaine',0,'','2013-01-16 19:28:50'),(2839,'MAIN_PROXY_PORT',1,'8080','chaine',0,'','2013-01-16 19:28:50'),(2840,'MAIN_PROXY_USER',1,'aaa','chaine',0,'','2013-01-16 19:28:50'),(2841,'MAIN_PROXY_PASS',1,'bbb','chaine',0,'','2013-01-16 19:28:50'),(2848,'OVHSMS_NICK',1,'BN196-OVH','chaine',0,'','2013-01-16 19:32:36'),(2849,'OVHSMS_PASS',1,'bigone-10','chaine',0,'','2013-01-16 19:32:36'),(2850,'OVHSMS_SOAPURL',1,'https://www.ovh.com/soapi/soapi-re-1.55.wsdl','chaine',0,'','2013-01-16 19:32:36'),(2854,'THEME_ELDY_RGB',1,'bfbf00','chaine',0,'','2013-01-18 10:02:53'),(2855,'THEME_ELDY_ENABLE_PERSONALIZED',1,'0','chaine',0,'','2013-01-18 10:02:55'),(2858,'MAIN_SESSION_TIMEOUT',1,'2000','chaine',0,'','2013-01-19 17:01:53'),(2862,'TICKET_ADDON',1,'mod_ticket_avenc','chaine',0,'Nom du gestionnaire de numerotation des tickets','2013-01-19 17:16:10'),(2866,'MAIN_MODULE_PRODUCT',1,'1',NULL,0,NULL,'2013-01-19 17:16:10'),(2867,'FACSIM_ADDON',1,'mod_facsim_alcoy','chaine',0,'','2013-01-19 17:16:25'),(2868,'POS_SERVICES',1,'0','chaine',0,'','2013-01-19 17:16:51'),(2869,'POS_USE_TICKETS',1,'1','chaine',0,'','2013-01-19 17:16:51'),(2870,'POS_MAX_TTC',1,'100','chaine',0,'','2013-01-19 17:16:51'),(3190,'MAIN_MODULE_HOLIDAY',2,'1',NULL,0,NULL,'2013-02-01 08:52:34'),(3191,'MAIN_MODULE_HOLIDAY_TABS_0',2,'user:+paidholidays:CPTitreMenu:holiday:$user->rights->holiday->write:/holiday/index.php?mainmenu=holiday&id=__ID__','chaine',0,NULL,'2013-02-01 08:52:34'),(3195,'INVOICE_SUPPLIER_ADDON_PDF',1,'canelle','chaine',0,'','2013-02-10 19:50:27'),(3199,'MAIN_FORCE_RELOAD_PAGE',1,'1','chaine',0,NULL,'2013-02-12 16:22:55'),(3217,'MAIN_PDF_TITLE_BACKGROUND_COLOR',1,'240,240,240','chaine',1,'','2013-02-13 15:18:02'),(3223,'OVH_THIRDPARTY_IMPORT',1,'2','chaine',0,'','2013-02-13 16:20:18'),(3241,'COMPANY_USE_SEARCH_TO_SELECT',1,'2','chaine',0,'','2013-02-17 14:33:39'),(3409,'AGENDA_USE_EVENT_TYPE',1,'1','chaine',0,'','2013-02-27 18:12:24'),(3886,'MAIN_REMOVE_INSTALL_WARNING',1,'1','chaine',1,'','2013-03-02 18:32:50'),(4013,'MAIN_DELAY_ACTIONS_TODO',1,'7','chaine',0,'','2013-03-06 08:59:12'),(4014,'MAIN_DELAY_PROPALS_TO_CLOSE',1,'31','chaine',0,'','2013-03-06 08:59:12'),(4015,'MAIN_DELAY_PROPALS_TO_BILL',1,'7','chaine',0,'','2013-03-06 08:59:12'),(4016,'MAIN_DELAY_ORDERS_TO_PROCESS',1,'2','chaine',0,'','2013-03-06 08:59:12'),(4017,'MAIN_DELAY_CUSTOMER_BILLS_UNPAYED',1,'31','chaine',0,'','2013-03-06 08:59:12'),(4018,'MAIN_DELAY_SUPPLIER_ORDERS_TO_PROCESS',1,'7','chaine',0,'','2013-03-06 08:59:12'),(4019,'MAIN_DELAY_SUPPLIER_BILLS_TO_PAY',1,'2','chaine',0,'','2013-03-06 08:59:12'),(4020,'MAIN_DELAY_RUNNING_SERVICES',1,'-15','chaine',0,'','2013-03-06 08:59:12'),(4021,'MAIN_DELAY_TRANSACTIONS_TO_CONCILIATE',1,'62','chaine',0,'','2013-03-06 08:59:13'),(4022,'MAIN_DELAY_MEMBERS',1,'31','chaine',0,'','2013-03-06 08:59:13'),(4023,'MAIN_DISABLE_METEO',1,'0','chaine',0,'','2013-03-06 08:59:13'),(4044,'ADHERENT_VAT_FOR_SUBSCRIPTIONS',1,'0','',0,'','2013-03-06 16:06:38'),(4047,'ADHERENT_BANK_USE',1,'bankviainvoice','',0,'','2013-03-06 16:12:30'),(4049,'PHPSANE_SCANIMAGE',1,'/usr/bin/scanimage','chaine',0,'','2013-03-06 21:54:13'),(4050,'PHPSANE_PNMTOJPEG',1,'/usr/bin/pnmtojpeg','chaine',0,'','2013-03-06 21:54:13'),(4051,'PHPSANE_PNMTOTIFF',1,'/usr/bin/pnmtotiff','chaine',0,'','2013-03-06 21:54:13'),(4052,'PHPSANE_OCR',1,'/usr/bin/gocr','chaine',0,'','2013-03-06 21:54:13'),(4548,'ECM_AUTO_TREE_ENABLED',1,'1','chaine',0,'','2013-03-10 15:57:21'),(4555,'WEBSERVICES_KEY',1,'dolibarrkey','chaine',0,'','2013-03-13 10:19:31'),(4579,'MAIN_MODULE_AGENDA',2,'1',NULL,0,NULL,'2013-03-13 15:29:19'),(4580,'MAIN_AGENDA_ACTIONAUTO_COMPANY_CREATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4581,'MAIN_AGENDA_ACTIONAUTO_CONTRACT_VALIDATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4582,'MAIN_AGENDA_ACTIONAUTO_PROPAL_VALIDATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4583,'MAIN_AGENDA_ACTIONAUTO_PROPAL_SENTBYMAIL',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4584,'MAIN_AGENDA_ACTIONAUTO_ORDER_VALIDATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4585,'MAIN_AGENDA_ACTIONAUTO_ORDER_SENTBYMAIL',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4586,'MAIN_AGENDA_ACTIONAUTO_BILL_VALIDATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4587,'MAIN_AGENDA_ACTIONAUTO_BILL_PAYED',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4588,'MAIN_AGENDA_ACTIONAUTO_BILL_CANCEL',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4589,'MAIN_AGENDA_ACTIONAUTO_BILL_SENTBYMAIL',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4590,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_VALIDATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4591,'MAIN_AGENDA_ACTIONAUTO_BILL_SUPPLIER_VALIDATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4592,'MAIN_AGENDA_ACTIONAUTO_SHIPPING_VALIDATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4593,'MAIN_AGENDA_ACTIONAUTO_SHIPPING_SENTBYMAIL',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4594,'MAIN_AGENDA_ACTIONAUTO_BILL_UNVALIDATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4595,'MAIN_MODULE_GOOGLE',2,'1',NULL,0,NULL,'2013-03-13 15:29:47'),(4596,'MAIN_MODULE_GOOGLE_TABS_0',2,'agenda:+gcal:MenuAgendaGoogle:google@google:$conf->google->enabled && $conf->global->GOOGLE_ENABLE_AGENDA:/google/index.php','chaine',0,NULL,'2013-03-13 15:29:47'),(4597,'MAIN_MODULE_GOOGLE_TABS_1',2,'user:+gsetup:GoogleUserConf:google@google:$conf->google->enabled && $conf->global->GOOGLE_DUPLICATE_INTO_GCAL:/google/admin/google_calsync_user.php?id=__ID__','chaine',0,NULL,'2013-03-13 15:29:47'),(4598,'MAIN_MODULE_GOOGLE_TRIGGERS',2,'1','chaine',0,NULL,'2013-03-13 15:29:47'),(4599,'MAIN_MODULE_GOOGLE_HOOKS',2,'[\"toprightmenu\"]','chaine',0,NULL,'2013-03-13 15:29:47'),(4688,'GOOGLE_ENABLE_AGENDA',2,'1','chaine',0,'','2013-03-13 15:36:29'),(4689,'GOOGLE_AGENDA_NAME1',2,'eldy','chaine',0,'','2013-03-13 15:36:29'),(4690,'GOOGLE_AGENDA_SRC1',2,'eldy10@gmail.com','chaine',0,'','2013-03-13 15:36:29'),(4691,'GOOGLE_AGENDA_COLOR1',2,'BE6D00','chaine',0,'','2013-03-13 15:36:29'),(4692,'GOOGLE_AGENDA_COLOR2',2,'7A367A','chaine',0,'','2013-03-13 15:36:29'),(4693,'GOOGLE_AGENDA_COLOR3',2,'7A367A','chaine',0,'','2013-03-13 15:36:29'),(4694,'GOOGLE_AGENDA_COLOR4',2,'7A367A','chaine',0,'','2013-03-13 15:36:29'),(4695,'GOOGLE_AGENDA_COLOR5',2,'7A367A','chaine',0,'','2013-03-13 15:36:29'),(4696,'GOOGLE_AGENDA_TIMEZONE',2,'Europe/Paris','chaine',0,'','2013-03-13 15:36:29'),(4697,'GOOGLE_AGENDA_NB',2,'5','chaine',0,'','2013-03-13 15:36:29'),(4698,'MAIN_DISABLE_ALL_MAILS',1,'0','chaine',0,'','2013-03-13 17:22:24'),(4699,'MAIN_MAIL_SENDMODE',0,'mail','chaine',0,'','2013-03-13 17:22:24'),(4700,'MAIN_MAIL_SMTPS_ID',0,'eldy10@gmail.com','chaine',0,'','2013-03-13 17:22:24'),(4701,'MAIN_MAIL_SMTPS_PW',0,'ld101010-ge','chaine',0,'','2013-03-13 17:22:24'),(4711,'GOOGLE_ENABLE_AGENDA',1,'1','chaine',0,'','2013-03-13 19:37:38'),(4712,'GOOGLE_AGENDA_NAME1',1,'asso master','chaine',0,'','2013-03-13 19:37:38'),(4713,'GOOGLE_AGENDA_SRC1',1,'assodolibarr@gmail.com','chaine',0,'','2013-03-13 19:37:38'),(4714,'GOOGLE_AGENDA_COLOR1',1,'1B887A','chaine',0,'','2013-03-13 19:37:38'),(4715,'GOOGLE_AGENDA_COLOR2',1,'7A367A','chaine',0,'','2013-03-13 19:37:38'),(4716,'GOOGLE_AGENDA_COLOR3',1,'7A367A','chaine',0,'','2013-03-13 19:37:38'),(4717,'GOOGLE_AGENDA_COLOR4',1,'7A367A','chaine',0,'','2013-03-13 19:37:38'),(4718,'GOOGLE_AGENDA_COLOR5',1,'7A367A','chaine',0,'','2013-03-13 19:37:38'),(4719,'GOOGLE_AGENDA_TIMEZONE',1,'Europe/Paris','chaine',0,'','2013-03-13 19:37:38'),(4720,'GOOGLE_AGENDA_NB',1,'5','chaine',0,'','2013-03-13 19:37:38'),(4725,'SOCIETE_CODECLIENT_ADDON',2,'mod_codeclient_leopard','chaine',0,'Module to control third parties codes','2013-03-13 20:21:35'),(4726,'SOCIETE_CODECOMPTA_ADDON',2,'mod_codecompta_panicum','chaine',0,'Module to control third parties codes','2013-03-13 20:21:35'),(4727,'SOCIETE_FISCAL_MONTH_START',2,'','chaine',0,'Mettre le numero du mois du debut d\\\'annee fiscale, ex: 9 pour septembre','2013-03-13 20:21:35'),(4728,'MAIN_SEARCHFORM_SOCIETE',2,'1','yesno',0,'Show form for quick company search','2013-03-13 20:21:35'),(4729,'MAIN_SEARCHFORM_CONTACT',2,'1','yesno',0,'Show form for quick contact search','2013-03-13 20:21:35'),(4730,'COMPANY_ADDON_PDF_ODT_PATH',2,'DOL_DATA_ROOT/doctemplates/thirdparties','chaine',0,NULL,'2013-03-13 20:21:35'),(4743,'MAIN_MODULE_CLICKTODIAL',2,'1',NULL,0,NULL,'2013-03-13 20:30:28'),(4744,'MAIN_MODULE_NOTIFICATION',2,'1',NULL,0,NULL,'2013-03-13 20:30:34'),(4745,'MAIN_MODULE_WEBSERVICES',2,'1',NULL,0,NULL,'2013-03-13 20:30:41'),(4746,'MAIN_MODULE_PROPALE',2,'1',NULL,0,NULL,'2013-03-13 20:32:38'),(4747,'PROPALE_ADDON_PDF',2,'azur','chaine',0,'Nom du gestionnaire de generation des propales en PDF','2013-03-13 20:32:38'),(4748,'PROPALE_ADDON',2,'mod_propale_marbre','chaine',0,'Nom du gestionnaire de numerotation des propales','2013-03-13 20:32:38'),(4749,'PROPALE_VALIDITY_DURATION',2,'15','chaine',0,'Duration of validity of business proposals','2013-03-13 20:32:38'),(4750,'PROPALE_ADDON_PDF_ODT_PATH',2,'DOL_DATA_ROOT/doctemplates/proposals','chaine',0,NULL,'2013-03-13 20:32:38'),(4752,'MAIN_MODULE_TAX',2,'1',NULL,0,NULL,'2013-03-13 20:32:47'),(4753,'MAIN_MODULE_DON',2,'1',NULL,0,NULL,'2013-03-13 20:32:54'),(4754,'DON_ADDON_MODEL',2,'html_cerfafr','chaine',0,'Nom du gestionnaire de generation de recu de dons','2013-03-13 20:32:54'),(4755,'POS_USE_TICKETS',2,'1','chaine',0,'','2013-03-13 20:33:09'),(4756,'POS_MAX_TTC',2,'100','chaine',0,'','2013-03-13 20:33:09'),(4757,'MAIN_MODULE_POS',2,'1',NULL,0,NULL,'2013-03-13 20:33:09'),(4758,'TICKET_ADDON',2,'mod_ticket_avenc','chaine',0,'Nom du gestionnaire de numerotation des tickets','2013-03-13 20:33:09'),(4759,'MAIN_MODULE_BANQUE',2,'1',NULL,0,NULL,'2013-03-13 20:33:09'),(4760,'MAIN_MODULE_FACTURE',2,'1',NULL,0,NULL,'2013-03-13 20:33:09'),(4761,'FACTURE_ADDON_PDF',2,'crabe','chaine',0,'Name of PDF model of invoice','2013-03-13 20:33:09'),(4762,'FACTURE_ADDON',2,'mod_facture_terre','chaine',0,'Name of numbering numerotation rules of invoice','2013-03-13 20:33:09'),(4763,'FACTURE_ADDON_PDF_ODT_PATH',2,'DOL_DATA_ROOT/doctemplates/invoices','chaine',0,NULL,'2013-03-13 20:33:09'),(4764,'MAIN_MODULE_SOCIETE',2,'1',NULL,0,NULL,'2013-03-13 20:33:09'),(4765,'MAIN_MODULE_PRODUCT',2,'1',NULL,0,NULL,'2013-03-13 20:33:09'),(4766,'PRODUCT_CODEPRODUCT_ADDON',2,'mod_codeproduct_leopard','chaine',0,'Module to control product codes','2013-03-13 20:33:09'),(4767,'MAIN_SEARCHFORM_PRODUITSERVICE',2,'1','yesno',0,'Show form for quick product search','2013-03-13 20:33:09'),(4772,'FACSIM_ADDON',2,'mod_facsim_alcoy','chaine',0,'','2013-03-13 20:33:32'),(4773,'MAIN_MODULE_MAILING',2,'1',NULL,0,NULL,'2013-03-13 20:33:37'),(4774,'MAIN_MODULE_OPENSURVEY',2,'1',NULL,0,NULL,'2013-03-13 20:33:42'),(4782,'AGENDA_USE_EVENT_TYPE',2,'1','chaine',0,'','2013-03-13 20:53:36'),(4884,'AGENDA_DISABLE_EXT',2,'1','chaine',0,'','2013-03-13 22:03:40'),(4919,'MAIN_MODULE_COMPTABILITE',1,'1',NULL,0,NULL,'2013-03-20 20:04:28'),(4922,'MAIN_MODULE_BANQUE',1,'1',NULL,0,NULL,'2013-03-20 20:04:28'),(4928,'COMMANDE_SUPPLIER_ADDON_NUMBER',1,'mod_commande_fournisseur_muguet','chaine',0,'Nom du gestionnaire de numerotation des commandes fournisseur','2013-03-22 09:24:29'),(4929,'INVOICE_SUPPLIER_ADDON_NUMBER',1,'mod_facture_fournisseur_cactus','chaine',0,'Nom du gestionnaire de numerotation des factures fournisseur','2013-03-22 09:24:29'),(4986,'MAIN_MODULE_CRON',1,'1',NULL,0,NULL,'2013-03-23 17:24:25'),(5001,'MAIN_CRON_KEY',0,'bc54582fe30d5d4a830c6f582ec28810','chaine',0,'','2013-03-23 17:54:53'),(5009,'CRON_KEY',0,'2c2e755c20be2014098f629865598006','chaine',0,'','2013-03-23 18:06:24'),(5075,'MAIN_MENU_STANDARD',1,'eldy_menu.php','chaine',0,'','2013-03-24 02:51:13'),(5076,'MAIN_MENU_SMARTPHONE',1,'eldy_menu.php','chaine',0,'','2013-03-24 02:51:13'),(5077,'MAIN_MENUFRONT_STANDARD',1,'eldy_menu.php','chaine',0,'','2013-03-24 02:51:13'),(5078,'MAIN_MENUFRONT_SMARTPHONE',1,'eldy_menu.php','chaine',0,'','2013-03-24 02:51:13'),(5079,'MAIN_MODULE_OPENSURVEY',1,'1',NULL,0,NULL,'2013-03-24 02:57:18'),(5119,'MAIN_LANG_DEFAULT',1,'en_US','chaine',0,'','2013-03-24 18:35:07'),(5120,'MAIN_MULTILANGS',1,'1','chaine',0,'','2013-03-24 18:35:07'),(5121,'MAIN_SIZE_LISTE_LIMIT',1,'25','chaine',0,'','2013-03-24 18:35:07'),(5122,'MAIN_DISABLE_JAVASCRIPT',1,'0','chaine',0,'','2013-03-24 18:35:07'),(5123,'MAIN_BUTTON_HIDE_UNAUTHORIZED',1,'0','chaine',0,'','2013-03-24 18:35:07'),(5124,'MAIN_START_WEEK',1,'1','chaine',0,'','2013-03-24 18:35:07'),(5125,'MAIN_SHOW_LOGO',1,'0','chaine',0,'','2013-03-24 18:35:07'),(5126,'MAIN_FIRSTNAME_NAME_POSITION',1,'0','chaine',0,'','2013-03-24 18:35:07'),(5127,'MAIN_THEME',1,'eldy','chaine',0,'','2013-03-24 18:35:07'),(5128,'MAIN_SEARCHFORM_CONTACT',1,'1','chaine',0,'','2013-03-24 18:35:07'),(5129,'MAIN_SEARCHFORM_SOCIETE',1,'1','chaine',0,'','2013-03-24 18:35:07'),(5130,'MAIN_SEARCHFORM_PRODUITSERVICE',1,'1','chaine',0,'','2013-03-24 18:35:07'),(5131,'MAIN_SEARCHFORM_ADHERENT',1,'1','chaine',0,'','2013-03-24 18:35:07'),(5132,'MAIN_HELPCENTER_DISABLELINK',0,'1','chaine',0,'','2013-03-24 18:35:07'),(5133,'MAIN_HOME',1,'__(NoteSomeFeaturesAreDisabled)__
\r\n
\r\n__(SomeTranslationAreUncomplete)__
','chaine',0,'','2013-03-24 18:35:07'),(5134,'MAIN_HELP_DISABLELINK',0,'0','chaine',0,'','2013-03-24 18:35:07'),(5135,'MAIN_BUGTRACK_ENABLELINK',1,'0','chaine',0,'','2013-03-24 18:35:07'),(5137,'MAIN_AGENDA_ACTIONAUTO_BILL_UNVALIDATE',1,'1','chaine',0,NULL,'2013-09-08 23:06:08'),(5139,'SOCIETE_ADD_REF_IN_LIST',1,'','yesno',0,'Display customer ref into select list','2013-09-08 23:06:08'),(5150,'PROJECT_TASK_ADDON_PDF',1,'','chaine',0,'Name of PDF/ODT tasks manager class','2013-09-08 23:06:14'),(5151,'PROJECT_TASK_ADDON',1,'mod_task_simple','chaine',0,'Name of Numbering Rule task manager class','2013-09-08 23:06:14'),(5152,'PROJECT_TASK_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/tasks','chaine',0,'','2013-09-08 23:06:14'),(5164,'MAIN_AGENDA_ACTIONAUTO_COMPANY_SENTBYMAIL',1,'1','chaine',0,NULL,'2013-11-06 23:35:12'),(5195,'GOOGLE_DUPLICATE_INTO_THIRDPARTIES',1,'1','chaine',0,'','2013-11-07 00:02:34'),(5196,'GOOGLE_DUPLICATE_INTO_CONTACTS',1,'0','chaine',0,'','2013-11-07 00:02:34'),(5197,'GOOGLE_DUPLICATE_INTO_MEMBERS',1,'0','chaine',0,'','2013-11-07 00:02:34'),(5198,'GOOGLE_CONTACT_LOGIN',1,'eldy10@gmail.com','chaine',0,'','2013-11-07 00:02:34'),(5199,'GOOGLE_CONTACT_PASSWORD',1,'ld101010-ge','chaine',0,'','2013-11-07 00:02:34'),(5200,'GOOGLE_TAG_PREFIX',1,'Dolibarr (Thirdparties)','chaine',0,'','2013-11-07 00:02:34'),(5201,'GOOGLE_TAG_PREFIX_CONTACTS',1,'Dolibarr (Contacts/Addresses)','chaine',0,'','2013-11-07 00:02:34'),(5202,'GOOGLE_TAG_PREFIX_MEMBERS',1,'Dolibarr (Members)','chaine',0,'','2013-11-07 00:02:34'),(5203,'MODULE_GOOGLE_DEBUG',1,'1','chaine',1,'','2013-11-07 00:16:31'),(5221,'MAIN_MODULE_AGENDA',1,'1',NULL,0,NULL,'2014-03-02 15:19:45'),(5222,'MAIN_MODULE_SOCIETE',1,'1',NULL,0,NULL,'2014-03-02 15:19:46'),(5223,'MAIN_MODULE_SERVICE',1,'1',NULL,0,NULL,'2014-03-02 15:19:46'),(5224,'MAIN_MODULE_COMMANDE',1,'1',NULL,0,NULL,'2014-03-02 15:19:46'),(5225,'MAIN_MODULE_FACTURE',1,'1',NULL,0,NULL,'2014-03-02 15:19:46'),(5226,'MAIN_MODULE_FOURNISSEUR',1,'1',NULL,0,NULL,'2014-03-02 15:19:46'),(5227,'MAIN_MODULE_USER',0,'1',NULL,0,NULL,'2014-03-02 15:19:46'),(5228,'MAIN_MODULE_DEPLACEMENT',1,'1',NULL,0,NULL,'2014-03-02 15:19:46'),(5229,'MAIN_MODULE_DON',1,'1',NULL,0,NULL,'2014-03-02 15:19:46'),(5230,'MAIN_MODULE_ECM',1,'1',NULL,0,NULL,'2014-03-02 15:19:46'),(5233,'MAIN_VERSION_LAST_UPGRADE',0,'3.6.0-alpha','chaine',0,'Dolibarr version for last upgrade','2014-03-02 15:20:57'),(5235,'MAIN_FEATURES_LEVEL',0,'0','chaine',1,'Level of features to show (0=stable only, 1=stable+experimental, 2=stable+experimental+development','2014-03-02 15:22:27'),(5236,'MAIN_MODULE_BARCODE',1,'1',NULL,0,NULL,'2014-03-02 15:37:26'),(5237,'MAIN_MODULE_GRAVATAR',1,'1',NULL,0,NULL,'2014-03-02 15:37:37'),(5238,'MAIN_MODULE_LDAP',1,'1',NULL,0,NULL,'2014-03-02 15:38:03'),(5239,'BOOKMARKS_SHOW_IN_MENU',1,'10','chaine',0,'','2014-03-02 15:42:26'),(5240,'MAIN_INFO_SOCIETE_COUNTRY',1,'1:FR:France','chaine',0,'','2014-03-02 19:05:06'),(5241,'MAIN_INFO_SOCIETE_NOM',1,'MyBigCompany','chaine',0,'','2014-03-02 19:05:06'),(5242,'MAIN_INFO_SOCIETE_ADDRESS',1,'21 Jump street','chaine',0,'','2014-03-02 19:05:06'),(5243,'MAIN_INFO_SOCIETE_TOWN',1,'MyTown','chaine',0,'','2014-03-02 19:05:06'),(5244,'MAIN_INFO_SOCIETE_ZIP',1,'75500','chaine',0,'','2014-03-02 19:05:06'),(5245,'MAIN_INFO_SOCIETE_STATE',1,'0','chaine',0,'','2014-03-02 19:05:06'),(5246,'MAIN_MONNAIE',1,'EUR','chaine',0,'','2014-03-02 19:05:06'),(5247,'MAIN_INFO_SOCIETE_TEL',1,'09123123','chaine',0,'','2014-03-02 19:05:06'),(5248,'MAIN_INFO_SOCIETE_FAX',1,'09123124','chaine',0,'','2014-03-02 19:05:06'),(5249,'MAIN_INFO_SOCIETE_MAIL',1,'myemail@mybigcompany.com','chaine',0,'','2014-03-02 19:05:06'),(5250,'MAIN_INFO_SOCIETE_WEB',1,'http://www.dolibarr.org','chaine',0,'','2014-03-02 19:05:06'),(5251,'MAIN_INFO_SOCIETE_NOTE',1,'This is note about my company','chaine',0,'','2014-03-02 19:05:06'),(5252,'MAIN_INFO_SOCIETE_LOGO',1,'logo_nltechno.gif','chaine',0,'','2014-03-02 19:05:06'),(5253,'MAIN_INFO_SOCIETE_LOGO_SMALL',1,'logo_nltechno_small.gif','chaine',0,'','2014-03-02 19:05:06'),(5254,'MAIN_INFO_SOCIETE_LOGO_MINI',1,'logo_nltechno_mini.gif','chaine',0,'','2014-03-02 19:05:06'),(5255,'MAIN_INFO_CAPITAL',1,'10000','chaine',0,'','2014-03-02 19:05:06'),(5256,'MAIN_INFO_SOCIETE_FORME_JURIDIQUE',1,'0','chaine',0,'','2014-03-02 19:05:06'),(5257,'MAIN_INFO_TVAINTRA',1,'IN1234567','chaine',0,'','2014-03-02 19:05:06'),(5258,'SOCIETE_FISCAL_MONTH_START',1,'0','chaine',0,'','2014-03-02 19:05:06'),(5259,'FACTURE_TVAOPTION',1,'reel','chaine',0,'','2014-03-02 19:05:06'); /*!40000 ALTER TABLE `llx_const` ENABLE KEYS */; UNLOCK TABLES; @@ -3463,7 +3463,7 @@ CREATE TABLE `llx_events` ( `fk_object` int(11) DEFAULT NULL, PRIMARY KEY (`rowid`), KEY `idx_events_dateevent` (`dateevent`) -) ENGINE=InnoDB AUTO_INCREMENT=559 DEFAULT CHARSET=utf8; +) ENGINE=InnoDB AUTO_INCREMENT=562 DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -3472,7 +3472,7 @@ CREATE TABLE `llx_events` ( LOCK TABLES `llx_events` WRITE; /*!40000 ALTER TABLE `llx_events` DISABLE KEYS */; -INSERT INTO `llx_events` VALUES (30,'2011-07-18 18:23:06','USER_LOGOUT',1,'2011-07-18 20:23:06',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(31,'2011-07-18 18:23:12','USER_LOGIN_FAILED',1,'2011-07-18 20:23:12',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(32,'2011-07-18 18:23:17','USER_LOGIN',1,'2011-07-18 20:23:17',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(33,'2011-07-18 20:10:51','USER_LOGIN_FAILED',1,'2011-07-18 22:10:51',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(34,'2011-07-18 20:10:55','USER_LOGIN',1,'2011-07-18 22:10:55',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(35,'2011-07-18 21:18:57','USER_LOGIN',1,'2011-07-18 23:18:57',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(36,'2011-07-20 10:34:10','USER_LOGIN',1,'2011-07-20 12:34:10',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(37,'2011-07-20 12:36:44','USER_LOGIN',1,'2011-07-20 14:36:44',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(38,'2011-07-20 13:20:51','USER_LOGIN_FAILED',1,'2011-07-20 15:20:51',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(39,'2011-07-20 13:20:54','USER_LOGIN',1,'2011-07-20 15:20:54',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(40,'2011-07-20 15:03:46','USER_LOGIN_FAILED',1,'2011-07-20 17:03:46',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(41,'2011-07-20 15:03:55','USER_LOGIN',1,'2011-07-20 17:03:55',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(42,'2011-07-20 18:05:05','USER_LOGIN_FAILED',1,'2011-07-20 20:05:05',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(43,'2011-07-20 18:05:08','USER_LOGIN',1,'2011-07-20 20:05:08',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(44,'2011-07-20 21:08:53','USER_LOGIN_FAILED',1,'2011-07-20 23:08:53',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(45,'2011-07-20 21:08:56','USER_LOGIN',1,'2011-07-20 23:08:56',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(46,'2011-07-21 01:26:12','USER_LOGIN',1,'2011-07-21 03:26:12',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(47,'2011-07-21 22:35:45','USER_LOGIN_FAILED',1,'2011-07-22 00:35:45',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(48,'2011-07-21 22:35:49','USER_LOGIN',1,'2011-07-22 00:35:49',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(49,'2011-07-26 23:09:47','USER_LOGIN_FAILED',1,'2011-07-27 01:09:47',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(50,'2011-07-26 23:09:50','USER_LOGIN',1,'2011-07-27 01:09:50',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(51,'2011-07-27 17:02:27','USER_LOGIN_FAILED',1,'2011-07-27 19:02:27',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(52,'2011-07-27 17:02:32','USER_LOGIN',1,'2011-07-27 19:02:32',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(53,'2011-07-27 23:33:37','USER_LOGIN_FAILED',1,'2011-07-28 01:33:37',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(54,'2011-07-27 23:33:41','USER_LOGIN',1,'2011-07-28 01:33:41',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(55,'2011-07-28 18:20:36','USER_LOGIN_FAILED',1,'2011-07-28 20:20:36',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(56,'2011-07-28 18:20:38','USER_LOGIN',1,'2011-07-28 20:20:38',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(57,'2011-07-28 20:13:30','USER_LOGIN_FAILED',1,'2011-07-28 22:13:30',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(58,'2011-07-28 20:13:34','USER_LOGIN',1,'2011-07-28 22:13:34',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(59,'2011-07-28 20:22:51','USER_LOGIN',1,'2011-07-28 22:22:51',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(60,'2011-07-28 23:05:06','USER_LOGIN',1,'2011-07-29 01:05:06',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(61,'2011-07-29 20:15:50','USER_LOGIN_FAILED',1,'2011-07-29 22:15:50',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(62,'2011-07-29 20:15:53','USER_LOGIN',1,'2011-07-29 22:15:53',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(68,'2011-07-29 20:51:01','USER_LOGOUT',1,'2011-07-29 22:51:01',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(69,'2011-07-29 20:51:05','USER_LOGIN',1,'2011-07-29 22:51:05',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(70,'2011-07-30 08:46:20','USER_LOGIN_FAILED',1,'2011-07-30 10:46:20',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(71,'2011-07-30 08:46:38','USER_LOGIN_FAILED',1,'2011-07-30 10:46:38',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(72,'2011-07-30 08:46:42','USER_LOGIN',1,'2011-07-30 10:46:42',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(73,'2011-07-30 10:05:12','USER_LOGIN_FAILED',1,'2011-07-30 12:05:12',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(74,'2011-07-30 10:05:15','USER_LOGIN',1,'2011-07-30 12:05:15',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(75,'2011-07-30 12:15:46','USER_LOGIN',1,'2011-07-30 14:15:46',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(76,'2011-07-31 22:19:30','USER_LOGIN',1,'2011-08-01 00:19:30',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(77,'2011-07-31 23:32:52','USER_LOGIN',1,'2011-08-01 01:32:52',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(78,'2011-08-01 01:24:50','USER_LOGIN_FAILED',1,'2011-08-01 03:24:50',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(79,'2011-08-01 01:24:54','USER_LOGIN',1,'2011-08-01 03:24:54',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(80,'2011-08-01 19:31:36','USER_LOGIN_FAILED',1,'2011-08-01 21:31:35',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(81,'2011-08-01 19:31:39','USER_LOGIN',1,'2011-08-01 21:31:39',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(82,'2011-08-01 20:01:36','USER_LOGIN',1,'2011-08-01 22:01:36',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(83,'2011-08-01 20:52:54','USER_LOGIN_FAILED',1,'2011-08-01 22:52:54',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(84,'2011-08-01 20:52:58','USER_LOGIN',1,'2011-08-01 22:52:58',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(85,'2011-08-01 21:17:28','USER_LOGIN_FAILED',1,'2011-08-01 23:17:28',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(86,'2011-08-01 21:17:31','USER_LOGIN',1,'2011-08-01 23:17:31',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(87,'2011-08-04 11:55:17','USER_LOGIN',1,'2011-08-04 13:55:17',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(88,'2011-08-04 20:19:03','USER_LOGIN_FAILED',1,'2011-08-04 22:19:03',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(89,'2011-08-04 20:19:07','USER_LOGIN',1,'2011-08-04 22:19:07',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(90,'2011-08-05 17:51:42','USER_LOGIN_FAILED',1,'2011-08-05 19:51:42',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(91,'2011-08-05 17:51:47','USER_LOGIN',1,'2011-08-05 19:51:47',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(92,'2011-08-05 17:56:03','USER_LOGIN',1,'2011-08-05 19:56:03',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(93,'2011-08-05 17:59:10','USER_LOGIN',1,'2011-08-05 19:59:10',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.100 Safari/534.30',NULL),(94,'2011-08-05 18:01:58','USER_LOGIN',1,'2011-08-05 20:01:58',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.100 Safari/534.30',NULL),(95,'2011-08-05 19:59:56','USER_LOGIN',1,'2011-08-05 21:59:56',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(96,'2011-08-06 18:33:22','USER_LOGIN',1,'2011-08-06 20:33:22',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(97,'2011-08-07 00:56:59','USER_LOGIN',1,'2011-08-07 02:56:59',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(98,'2011-08-07 22:49:14','USER_LOGIN',1,'2011-08-08 00:49:14',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(99,'2011-08-07 23:05:18','USER_LOGOUT',1,'2011-08-08 01:05:18',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(105,'2011-08-08 00:41:09','USER_LOGIN',1,'2011-08-08 02:41:09',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(106,'2011-08-08 11:58:55','USER_LOGIN',1,'2011-08-08 13:58:55',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(107,'2011-08-08 14:35:48','USER_LOGIN',1,'2011-08-08 16:35:48',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(108,'2011-08-08 14:36:31','USER_LOGOUT',1,'2011-08-08 16:36:31',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(109,'2011-08-08 14:38:28','USER_LOGIN',1,'2011-08-08 16:38:28',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(110,'2011-08-08 14:39:02','USER_LOGOUT',1,'2011-08-08 16:39:02',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(111,'2011-08-08 14:39:10','USER_LOGIN',1,'2011-08-08 16:39:10',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(112,'2011-08-08 14:39:28','USER_LOGOUT',1,'2011-08-08 16:39:28',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(113,'2011-08-08 14:39:37','USER_LOGIN',1,'2011-08-08 16:39:37',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(114,'2011-08-08 14:50:02','USER_LOGOUT',1,'2011-08-08 16:50:02',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(115,'2011-08-08 14:51:45','USER_LOGIN_FAILED',1,'2011-08-08 16:51:45',NULL,'Identifiants login ou mot de passe incorrects - login=','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(116,'2011-08-08 14:51:52','USER_LOGIN',1,'2011-08-08 16:51:52',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(117,'2011-08-08 15:09:54','USER_LOGOUT',1,'2011-08-08 17:09:54',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(118,'2011-08-08 15:10:19','USER_LOGIN_FAILED',1,'2011-08-08 17:10:19',NULL,'Identifiants login ou mot de passe incorrects - login=','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(119,'2011-08-08 15:10:28','USER_LOGIN',1,'2011-08-08 17:10:28',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(121,'2011-08-08 15:14:58','USER_LOGOUT',1,'2011-08-08 17:14:58',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(122,'2011-08-08 15:15:00','USER_LOGIN_FAILED',1,'2011-08-08 17:15:00',NULL,'Identifiants login ou mot de passe incorrects - login=','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(123,'2011-08-08 15:17:57','USER_LOGIN',1,'2011-08-08 17:17:57',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(124,'2011-08-08 15:35:56','USER_LOGOUT',1,'2011-08-08 17:35:56',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(125,'2011-08-08 15:36:05','USER_LOGIN',1,'2011-08-08 17:36:05',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(126,'2011-08-08 17:32:42','USER_LOGIN',1,'2011-08-08 19:32:42',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(127,'2012-12-08 13:49:37','USER_LOGOUT',1,'2012-12-08 14:49:37',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(128,'2012-12-08 13:49:42','USER_LOGIN',1,'2012-12-08 14:49:42',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(129,'2012-12-08 13:50:12','USER_LOGOUT',1,'2012-12-08 14:50:12',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(130,'2012-12-08 13:50:14','USER_LOGIN',1,'2012-12-08 14:50:14',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(131,'2012-12-08 13:50:17','USER_LOGOUT',1,'2012-12-08 14:50:17',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(132,'2012-12-08 13:52:47','USER_LOGIN',1,'2012-12-08 14:52:47',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(133,'2012-12-08 13:53:08','USER_MODIFY',1,'2012-12-08 14:53:08',1,'User admin modified','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(134,'2012-12-08 14:08:45','USER_LOGOUT',1,'2012-12-08 15:08:45',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(135,'2012-12-08 14:09:09','USER_LOGIN',1,'2012-12-08 15:09:09',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(136,'2012-12-08 14:11:43','USER_LOGOUT',1,'2012-12-08 15:11:43',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(137,'2012-12-08 14:11:45','USER_LOGIN',1,'2012-12-08 15:11:45',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(138,'2012-12-08 14:22:53','USER_LOGOUT',1,'2012-12-08 15:22:53',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(139,'2012-12-08 14:22:54','USER_LOGIN',1,'2012-12-08 15:22:54',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(140,'2012-12-08 14:23:10','USER_LOGOUT',1,'2012-12-08 15:23:10',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(141,'2012-12-08 14:23:11','USER_LOGIN',1,'2012-12-08 15:23:11',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(142,'2012-12-08 14:23:49','USER_LOGOUT',1,'2012-12-08 15:23:49',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(143,'2012-12-08 14:23:50','USER_LOGIN',1,'2012-12-08 15:23:50',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(144,'2012-12-08 14:28:08','USER_LOGOUT',1,'2012-12-08 15:28:08',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(145,'2012-12-08 14:35:15','USER_LOGIN',1,'2012-12-08 15:35:15',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(146,'2012-12-08 14:35:18','USER_LOGOUT',1,'2012-12-08 15:35:18',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(147,'2012-12-08 14:36:07','USER_LOGIN',1,'2012-12-08 15:36:07',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(148,'2012-12-08 14:36:09','USER_LOGOUT',1,'2012-12-08 15:36:09',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(149,'2012-12-08 14:36:41','USER_LOGIN',1,'2012-12-08 15:36:41',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(150,'2012-12-08 15:59:13','USER_LOGIN',1,'2012-12-08 16:59:13',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(151,'2012-12-09 11:49:52','USER_LOGIN',1,'2012-12-09 12:49:52',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(152,'2012-12-09 13:46:31','USER_LOGIN',1,'2012-12-09 14:46:31',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(153,'2012-12-09 19:03:14','USER_LOGIN',1,'2012-12-09 20:03:14',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(154,'2012-12-10 00:16:31','USER_LOGIN',1,'2012-12-10 01:16:31',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(170,'2012-12-11 22:03:31','USER_LOGIN',1,'2012-12-11 23:03:31',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(171,'2012-12-12 00:32:39','USER_LOGIN',1,'2012-12-12 01:32:39',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(172,'2012-12-12 10:49:59','USER_LOGIN',1,'2012-12-12 11:49:59',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(175,'2012-12-12 10:57:40','USER_MODIFY',1,'2012-12-12 11:57:40',1,'Modification utilisateur admin','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(176,'2012-12-12 13:29:15','USER_LOGIN',1,'2012-12-12 14:29:15',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(177,'2012-12-12 13:30:15','USER_LOGIN',1,'2012-12-12 14:30:15',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(178,'2012-12-12 13:40:08','USER_LOGOUT',1,'2012-12-12 14:40:08',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(179,'2012-12-12 13:40:10','USER_LOGIN',1,'2012-12-12 14:40:10',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(180,'2012-12-12 13:40:26','USER_MODIFY',1,'2012-12-12 14:40:26',1,'Modification utilisateur admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(181,'2012-12-12 13:40:34','USER_LOGOUT',1,'2012-12-12 14:40:34',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(182,'2012-12-12 13:42:23','USER_LOGIN',1,'2012-12-12 14:42:23',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(183,'2012-12-12 13:43:02','USER_NEW_PASSWORD',1,'2012-12-12 14:43:02',NULL,'Changement mot de passe de admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(184,'2012-12-12 13:43:25','USER_LOGOUT',1,'2012-12-12 14:43:25',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(185,'2012-12-12 13:43:27','USER_LOGIN_FAILED',1,'2012-12-12 14:43:27',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(186,'2012-12-12 13:43:30','USER_LOGIN',1,'2012-12-12 14:43:30',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(187,'2012-12-12 14:52:11','USER_LOGIN',1,'2012-12-12 15:52:11',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(188,'2012-12-12 17:53:00','USER_LOGIN_FAILED',1,'2012-12-12 18:53:00',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(189,'2012-12-12 17:53:07','USER_LOGIN_FAILED',1,'2012-12-12 18:53:07',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(190,'2012-12-12 17:53:51','USER_NEW_PASSWORD',1,'2012-12-12 18:53:51',NULL,'Changement mot de passe de admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(191,'2012-12-12 17:54:00','USER_LOGIN',1,'2012-12-12 18:54:00',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(192,'2012-12-12 17:54:10','USER_NEW_PASSWORD',1,'2012-12-12 18:54:10',1,'Changement mot de passe de admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(193,'2012-12-12 17:54:10','USER_MODIFY',1,'2012-12-12 18:54:10',1,'Modification utilisateur admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(194,'2012-12-12 18:57:09','USER_LOGIN',1,'2012-12-12 19:57:09',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(195,'2012-12-12 23:04:08','USER_LOGIN',1,'2012-12-13 00:04:08',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(196,'2012-12-17 20:03:14','USER_LOGIN',1,'2012-12-17 21:03:14',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(197,'2012-12-17 21:18:45','USER_LOGIN',1,'2012-12-17 22:18:45',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(198,'2012-12-17 22:30:08','USER_LOGIN',1,'2012-12-17 23:30:08',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(199,'2012-12-18 23:32:03','USER_LOGIN',1,'2012-12-19 00:32:03',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(200,'2012-12-19 09:38:03','USER_LOGIN',1,'2012-12-19 10:38:03',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(201,'2012-12-19 11:23:35','USER_LOGIN',1,'2012-12-19 12:23:35',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(202,'2012-12-19 12:46:22','USER_LOGIN',1,'2012-12-19 13:46:22',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(214,'2012-12-19 19:11:31','USER_LOGIN',1,'2012-12-19 20:11:31',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(215,'2012-12-21 16:36:57','USER_LOGIN',1,'2012-12-21 17:36:57',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(216,'2012-12-21 16:38:43','USER_NEW_PASSWORD',1,'2012-12-21 17:38:43',1,'Changement mot de passe de adupont','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(217,'2012-12-21 16:38:43','USER_MODIFY',1,'2012-12-21 17:38:43',1,'Modification utilisateur adupont','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(218,'2012-12-21 16:38:51','USER_LOGOUT',1,'2012-12-21 17:38:51',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(219,'2012-12-21 16:38:55','USER_LOGIN',1,'2012-12-21 17:38:55',3,'(UserLogged,adupont)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(220,'2012-12-21 16:48:18','USER_LOGOUT',1,'2012-12-21 17:48:18',3,'(UserLogoff,adupont)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(221,'2012-12-21 16:48:20','USER_LOGIN',1,'2012-12-21 17:48:20',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(222,'2012-12-26 18:28:18','USER_LOGIN',1,'2012-12-26 19:28:18',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(223,'2012-12-26 20:00:24','USER_LOGIN',1,'2012-12-26 21:00:24',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(224,'2012-12-27 01:10:27','USER_LOGIN',1,'2012-12-27 02:10:27',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(225,'2012-12-28 19:12:08','USER_LOGIN',1,'2012-12-28 20:12:08',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(226,'2012-12-28 20:16:58','USER_LOGIN',1,'2012-12-28 21:16:58',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(227,'2012-12-29 14:35:46','USER_LOGIN',1,'2012-12-29 15:35:46',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(228,'2012-12-29 14:37:59','USER_LOGOUT',1,'2012-12-29 15:37:59',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(229,'2012-12-29 14:38:00','USER_LOGIN',1,'2012-12-29 15:38:00',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(230,'2012-12-29 17:16:48','USER_LOGIN',1,'2012-12-29 18:16:48',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(231,'2012-12-31 12:02:59','USER_LOGIN',1,'2012-12-31 13:02:59',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(232,'2013-01-02 20:32:51','USER_LOGIN',1,'2013-01-02 21:32:51',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:17.0) Gecko/20100101 Firefox/17.0',NULL),(233,'2013-01-02 20:58:59','USER_LOGIN',1,'2013-01-02 21:58:59',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(234,'2013-01-03 09:25:07','USER_LOGIN',1,'2013-01-03 10:25:07',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(235,'2013-01-03 19:39:31','USER_LOGIN',1,'2013-01-03 20:39:31',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(236,'2013-01-04 22:40:19','USER_LOGIN',1,'2013-01-04 23:40:19',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(237,'2013-01-05 12:59:59','USER_LOGIN',1,'2013-01-05 13:59:59',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(238,'2013-01-05 15:28:52','USER_LOGIN',1,'2013-01-05 16:28:52',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(239,'2013-01-05 17:02:08','USER_LOGIN',1,'2013-01-05 18:02:08',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(240,'2013-01-06 12:13:33','USER_LOGIN',1,'2013-01-06 13:13:33',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(241,'2013-01-07 01:21:15','USER_LOGIN',1,'2013-01-07 02:21:15',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(242,'2013-01-07 01:46:31','USER_LOGOUT',1,'2013-01-07 02:46:31',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(243,'2013-01-07 19:54:50','USER_LOGIN',1,'2013-01-07 20:54:50',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(244,'2013-01-08 21:55:01','USER_LOGIN',1,'2013-01-08 22:55:01',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(245,'2013-01-09 11:13:28','USER_LOGIN',1,'2013-01-09 12:13:28',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(246,'2013-01-10 18:30:46','USER_LOGIN',1,'2013-01-10 19:30:46',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(247,'2013-01-11 18:03:26','USER_LOGIN',1,'2013-01-11 19:03:26',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(248,'2013-01-12 11:15:04','USER_LOGIN',1,'2013-01-12 12:15:04',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(249,'2013-01-12 14:42:44','USER_LOGIN',1,'2013-01-12 15:42:44',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(250,'2013-01-13 12:07:17','USER_LOGIN',1,'2013-01-13 13:07:17',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(251,'2013-01-13 17:37:58','USER_LOGIN',1,'2013-01-13 18:37:58',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(252,'2013-01-13 19:24:21','USER_LOGIN',1,'2013-01-13 20:24:21',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(253,'2013-01-13 19:29:19','USER_LOGOUT',1,'2013-01-13 20:29:19',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(254,'2013-01-13 21:39:39','USER_LOGIN',1,'2013-01-13 22:39:39',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(255,'2013-01-14 00:52:21','USER_LOGIN',1,'2013-01-14 01:52:21',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(256,'2013-01-16 11:34:31','USER_LOGIN',1,'2013-01-16 12:34:31',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(257,'2013-01-16 15:36:21','USER_LOGIN',1,'2013-01-16 16:36:21',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(258,'2013-01-16 19:17:36','USER_LOGIN',1,'2013-01-16 20:17:36',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(259,'2013-01-16 19:48:08','GROUP_CREATE',1,'2013-01-16 20:48:08',1,'Création groupe ggg','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(260,'2013-01-16 21:48:53','USER_LOGIN',1,'2013-01-16 22:48:53',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(261,'2013-01-17 19:55:53','USER_LOGIN',1,'2013-01-17 20:55:53',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(262,'2013-01-18 09:48:01','USER_LOGIN',1,'2013-01-18 10:48:01',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(263,'2013-01-18 13:22:36','USER_LOGIN',1,'2013-01-18 14:22:36',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(264,'2013-01-18 16:10:23','USER_LOGIN',1,'2013-01-18 17:10:22',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(265,'2013-01-18 17:41:40','USER_LOGIN',1,'2013-01-18 18:41:40',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(266,'2013-01-19 14:33:48','USER_LOGIN',1,'2013-01-19 15:33:48',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(267,'2013-01-19 16:47:43','USER_LOGIN',1,'2013-01-19 17:47:43',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(268,'2013-01-19 16:59:43','USER_LOGIN',1,'2013-01-19 17:59:43',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(269,'2013-01-19 17:00:22','USER_LOGIN',1,'2013-01-19 18:00:22',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(270,'2013-01-19 17:04:16','USER_LOGOUT',1,'2013-01-19 18:04:16',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(271,'2013-01-19 17:04:18','USER_LOGIN',1,'2013-01-19 18:04:18',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(272,'2013-01-20 00:34:19','USER_LOGIN',1,'2013-01-20 01:34:19',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(273,'2013-01-21 11:54:17','USER_LOGIN',1,'2013-01-21 12:54:17',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(274,'2013-01-21 13:48:15','USER_LOGIN',1,'2013-01-21 14:48:15',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(275,'2013-01-21 14:30:22','USER_LOGIN',1,'2013-01-21 15:30:22',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(276,'2013-01-21 15:10:46','USER_LOGIN',1,'2013-01-21 16:10:46',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(277,'2013-01-21 17:27:43','USER_LOGIN',1,'2013-01-21 18:27:43',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(278,'2013-01-21 21:48:15','USER_LOGIN',1,'2013-01-21 22:48:15',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(279,'2013-01-21 21:50:42','USER_LOGIN',1,'2013-01-21 22:50:42',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(280,'2013-01-23 09:28:26','USER_LOGIN',1,'2013-01-23 10:28:26',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(281,'2013-01-23 13:21:57','USER_LOGIN',1,'2013-01-23 14:21:57',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(282,'2013-01-23 16:52:00','USER_LOGOUT',1,'2013-01-23 17:52:00',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(283,'2013-01-23 16:52:05','USER_LOGIN_FAILED',1,'2013-01-23 17:52:05',NULL,'Bad value for login or password - login=bbb','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(284,'2013-01-23 16:52:09','USER_LOGIN',1,'2013-01-23 17:52:09',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(285,'2013-01-23 16:52:27','USER_CREATE',1,'2013-01-23 17:52:27',1,'Création utilisateur aaa','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(286,'2013-01-23 16:52:27','USER_NEW_PASSWORD',1,'2013-01-23 17:52:27',1,'Changement mot de passe de aaa','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(287,'2013-01-23 16:52:37','USER_CREATE',1,'2013-01-23 17:52:37',1,'Création utilisateur bbb','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(288,'2013-01-23 16:52:37','USER_NEW_PASSWORD',1,'2013-01-23 17:52:37',1,'Changement mot de passe de bbb','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(289,'2013-01-23 16:53:15','USER_LOGOUT',1,'2013-01-23 17:53:15',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(290,'2013-01-23 16:53:20','USER_LOGIN',1,'2013-01-23 17:53:20',4,'(UserLogged,aaa)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(291,'2013-01-23 19:16:58','USER_LOGIN',1,'2013-01-23 20:16:58',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(292,'2013-01-26 10:54:07','USER_LOGIN',1,'2013-01-26 11:54:07',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(293,'2013-01-29 10:15:36','USER_LOGIN',1,'2013-01-29 11:15:36',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(294,'2013-01-30 17:42:50','USER_LOGIN',1,'2013-01-30 18:42:50',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(295,'2013-02-01 08:49:55','USER_LOGIN',1,'2013-02-01 09:49:55',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(296,'2013-02-01 08:51:57','USER_LOGOUT',1,'2013-02-01 09:51:57',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(297,'2013-02-01 08:52:39','USER_LOGIN',1,'2013-02-01 09:52:39',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(298,'2013-02-01 21:03:01','USER_LOGIN',1,'2013-02-01 22:03:01',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(299,'2013-02-10 19:48:39','USER_LOGIN',1,'2013-02-10 20:48:39',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(300,'2013-02-10 20:46:48','USER_LOGIN',1,'2013-02-10 21:46:48',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(301,'2013-02-10 21:39:23','USER_LOGIN',1,'2013-02-10 22:39:23',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(302,'2013-02-11 19:00:13','USER_LOGIN',1,'2013-02-11 20:00:13',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(303,'2013-02-11 19:43:44','USER_LOGIN_FAILED',1,'2013-02-11 20:43:44',NULL,'Unknown column \'u.fk_user\' in \'field list\'','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(304,'2013-02-11 19:44:01','USER_LOGIN',1,'2013-02-11 20:44:01',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(305,'2013-02-12 00:27:35','USER_LOGIN',1,'2013-02-12 01:27:35',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(306,'2013-02-12 00:27:38','USER_LOGOUT',1,'2013-02-12 01:27:38',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(307,'2013-02-12 00:28:07','USER_LOGIN',1,'2013-02-12 01:28:07',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(308,'2013-02-12 00:28:09','USER_LOGOUT',1,'2013-02-12 01:28:09',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(309,'2013-02-12 00:28:26','USER_LOGIN',1,'2013-02-12 01:28:26',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(310,'2013-02-12 00:28:30','USER_LOGOUT',1,'2013-02-12 01:28:30',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(311,'2013-02-12 12:42:15','USER_LOGIN',1,'2013-02-12 13:42:15',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(312,'2013-02-12 13:46:16','USER_LOGIN',1,'2013-02-12 14:46:16',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(313,'2013-02-12 14:54:28','USER_LOGIN',1,'2013-02-12 15:54:28',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(314,'2013-02-12 16:04:46','USER_LOGIN',1,'2013-02-12 17:04:46',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(315,'2013-02-13 14:02:43','USER_LOGIN',1,'2013-02-13 15:02:43',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(316,'2013-02-13 14:48:30','USER_LOGIN',1,'2013-02-13 15:48:30',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(317,'2013-02-13 17:44:53','USER_LOGIN',1,'2013-02-13 18:44:53',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(318,'2013-02-15 08:44:36','USER_LOGIN',1,'2013-02-15 09:44:36',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(319,'2013-02-15 08:53:20','USER_LOGIN',1,'2013-02-15 09:53:20',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(320,'2013-02-16 19:10:28','USER_LOGIN',1,'2013-02-16 20:10:28',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(321,'2013-02-16 19:22:40','USER_CREATE',1,'2013-02-16 20:22:40',1,'Création utilisateur aaab','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(322,'2013-02-16 19:22:40','USER_NEW_PASSWORD',1,'2013-02-16 20:22:40',1,'Changement mot de passe de aaab','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(323,'2013-02-16 19:48:15','USER_CREATE',1,'2013-02-16 20:48:15',1,'Création utilisateur zzz','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(324,'2013-02-16 19:48:15','USER_NEW_PASSWORD',1,'2013-02-16 20:48:15',1,'Changement mot de passe de zzz','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(325,'2013-02-16 19:50:08','USER_CREATE',1,'2013-02-16 20:50:08',1,'Création utilisateur zzzg','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(326,'2013-02-16 19:50:08','USER_NEW_PASSWORD',1,'2013-02-16 20:50:08',1,'Changement mot de passe de zzzg','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(327,'2013-02-16 21:20:03','USER_LOGIN',1,'2013-02-16 22:20:03',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(328,'2013-02-17 14:30:51','USER_LOGIN',1,'2013-02-17 15:30:51',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(329,'2013-02-17 17:21:22','USER_LOGIN',1,'2013-02-17 18:21:22',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(330,'2013-02-17 17:48:43','USER_MODIFY',1,'2013-02-17 18:48:43',1,'Modification utilisateur aaa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(331,'2013-02-17 17:48:47','USER_MODIFY',1,'2013-02-17 18:48:47',1,'Modification utilisateur aaa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(332,'2013-02-17 17:48:51','USER_MODIFY',1,'2013-02-17 18:48:51',1,'Modification utilisateur aaa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(333,'2013-02-17 17:48:56','USER_MODIFY',1,'2013-02-17 18:48:56',1,'Modification utilisateur aaa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(334,'2013-02-18 22:00:01','USER_LOGIN',1,'2013-02-18 23:00:01',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(335,'2013-02-19 08:19:52','USER_LOGIN',1,'2013-02-19 09:19:52',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(336,'2013-02-19 22:00:52','USER_LOGIN',1,'2013-02-19 23:00:52',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(337,'2013-02-20 09:34:52','USER_LOGIN',1,'2013-02-20 10:34:52',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(338,'2013-02-20 13:12:28','USER_LOGIN',1,'2013-02-20 14:12:28',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(339,'2013-02-20 17:19:44','USER_LOGIN',1,'2013-02-20 18:19:44',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(340,'2013-02-20 19:07:21','USER_MODIFY',1,'2013-02-20 20:07:21',1,'Modification utilisateur adupont','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(341,'2013-02-20 19:47:17','USER_LOGIN',1,'2013-02-20 20:47:17',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(342,'2013-02-20 19:48:01','USER_MODIFY',1,'2013-02-20 20:48:01',1,'Modification utilisateur aaa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(343,'2013-02-21 08:27:07','USER_LOGIN',1,'2013-02-21 09:27:07',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(344,'2013-02-23 13:34:13','USER_LOGIN',1,'2013-02-23 14:34:13',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(345,'2013-02-24 01:06:41','USER_LOGIN_FAILED',1,'2013-02-24 02:06:41',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(346,'2013-02-24 01:06:45','USER_LOGIN_FAILED',1,'2013-02-24 02:06:45',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(347,'2013-02-24 01:06:55','USER_LOGIN_FAILED',1,'2013-02-24 02:06:55',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(348,'2013-02-24 01:07:03','USER_LOGIN_FAILED',1,'2013-02-24 02:07:03',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(349,'2013-02-24 01:07:21','USER_LOGIN_FAILED',1,'2013-02-24 02:07:21',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(350,'2013-02-24 01:08:12','USER_LOGIN_FAILED',1,'2013-02-24 02:08:12',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(351,'2013-02-24 01:08:42','USER_LOGIN_FAILED',1,'2013-02-24 02:08:42',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(352,'2013-02-24 01:08:50','USER_LOGIN_FAILED',1,'2013-02-24 02:08:50',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(353,'2013-02-24 01:09:08','USER_LOGIN_FAILED',1,'2013-02-24 02:09:08',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(354,'2013-02-24 01:09:42','USER_LOGIN_FAILED',1,'2013-02-24 02:09:42',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(355,'2013-02-24 01:09:50','USER_LOGIN_FAILED',1,'2013-02-24 02:09:50',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(356,'2013-02-24 01:10:05','USER_LOGIN_FAILED',1,'2013-02-24 02:10:05',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(357,'2013-02-24 01:10:22','USER_LOGIN_FAILED',1,'2013-02-24 02:10:22',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(358,'2013-02-24 01:10:30','USER_LOGIN_FAILED',1,'2013-02-24 02:10:30',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(359,'2013-02-24 01:10:56','USER_LOGIN_FAILED',1,'2013-02-24 02:10:56',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(360,'2013-02-24 01:11:26','USER_LOGIN_FAILED',1,'2013-02-24 02:11:26',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(361,'2013-02-24 01:12:06','USER_LOGIN_FAILED',1,'2013-02-24 02:12:06',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(362,'2013-02-24 01:21:14','USER_LOGIN_FAILED',1,'2013-02-24 02:21:14',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(363,'2013-02-24 01:21:25','USER_LOGIN_FAILED',1,'2013-02-24 02:21:25',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(364,'2013-02-24 01:21:54','USER_LOGIN_FAILED',1,'2013-02-24 02:21:54',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(365,'2013-02-24 01:22:14','USER_LOGIN_FAILED',1,'2013-02-24 02:22:14',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(366,'2013-02-24 01:22:37','USER_LOGIN_FAILED',1,'2013-02-24 02:22:37',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(367,'2013-02-24 01:23:01','USER_LOGIN_FAILED',1,'2013-02-24 02:23:01',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(368,'2013-02-24 01:23:39','USER_LOGIN_FAILED',1,'2013-02-24 02:23:39',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(369,'2013-02-24 01:24:04','USER_LOGIN_FAILED',1,'2013-02-24 02:24:04',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(370,'2013-02-24 01:24:39','USER_LOGIN_FAILED',1,'2013-02-24 02:24:39',NULL,'Bad value for login or password - login=aa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(371,'2013-02-24 01:25:01','USER_LOGIN_FAILED',1,'2013-02-24 02:25:01',NULL,'Bad value for login or password - login=aa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(372,'2013-02-24 01:25:12','USER_LOGIN_FAILED',1,'2013-02-24 02:25:12',NULL,'Bad value for login or password - login=aa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(373,'2013-02-24 01:27:30','USER_LOGIN_FAILED',1,'2013-02-24 02:27:30',NULL,'Bad value for login or password - login=aa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(374,'2013-02-24 01:28:00','USER_LOGIN_FAILED',1,'2013-02-24 02:28:00',NULL,'Bad value for login or password - login=aa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(375,'2013-02-24 01:28:35','USER_LOGIN_FAILED',1,'2013-02-24 02:28:35',NULL,'Bad value for login or password - login=aa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(376,'2013-02-24 01:29:03','USER_LOGIN_FAILED',1,'2013-02-24 02:29:03',NULL,'Bad value for login or password - login=aa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(377,'2013-02-24 01:29:55','USER_LOGIN_FAILED',1,'2013-02-24 02:29:55',NULL,'Bad value for login or password - login=aa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(378,'2013-02-24 01:32:40','USER_LOGIN_FAILED',1,'2013-02-24 02:32:40',NULL,'Bad value for login or password - login=aa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(379,'2013-02-24 01:39:33','USER_LOGIN_FAILED',1,'2013-02-24 02:39:33',NULL,'Identifiants login ou mot de passe incorrects - login=aa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(380,'2013-02-24 01:39:38','USER_LOGIN_FAILED',1,'2013-02-24 02:39:38',NULL,'Identifiants login ou mot de passe incorrects - login=aa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(381,'2013-02-24 01:39:47','USER_LOGIN_FAILED',1,'2013-02-24 02:39:47',NULL,'Identifiants login ou mot de passe incorrects - login=lmkm','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(382,'2013-02-24 01:40:54','USER_LOGIN_FAILED',1,'2013-02-24 02:40:54',NULL,'Identifiants login ou mot de passe incorrects - login=lmkm','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(383,'2013-02-24 01:47:57','USER_LOGIN_FAILED',1,'2013-02-24 02:47:57',NULL,'Identifiants login ou mot de passe incorrects - login=lmkm','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(384,'2013-02-24 01:48:05','USER_LOGIN_FAILED',1,'2013-02-24 02:48:05',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(385,'2013-02-24 01:48:07','USER_LOGIN_FAILED',1,'2013-02-24 02:48:07',NULL,'Unknown column \'u.lastname\' in \'field list\'','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(386,'2013-02-24 01:48:35','USER_LOGIN',1,'2013-02-24 02:48:35',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(387,'2013-02-24 01:56:32','USER_LOGIN',1,'2013-02-24 02:56:32',1,'(UserLogged,admin)','192.168.0.254','Mozilla/5.0 (Linux; U; Android 2.2; en-us; sdk Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1',NULL),(388,'2013-02-24 02:05:55','USER_LOGOUT',1,'2013-02-24 03:05:55',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(389,'2013-02-24 02:39:52','USER_LOGIN',1,'2013-02-24 03:39:52',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(390,'2013-02-24 02:51:10','USER_LOGOUT',1,'2013-02-24 03:51:10',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(391,'2013-02-24 12:46:41','USER_LOGIN',1,'2013-02-24 13:46:41',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(392,'2013-02-24 12:46:52','USER_LOGOUT',1,'2013-02-24 13:46:52',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(393,'2013-02-24 12:46:56','USER_LOGIN',1,'2013-02-24 13:46:56',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(394,'2013-02-24 12:47:56','USER_LOGOUT',1,'2013-02-24 13:47:56',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(395,'2013-02-24 12:48:00','USER_LOGIN',1,'2013-02-24 13:48:00',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(396,'2013-02-24 12:48:11','USER_LOGOUT',1,'2013-02-24 13:48:11',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(397,'2013-02-24 12:48:32','USER_LOGIN',1,'2013-02-24 13:48:32',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(398,'2013-02-24 12:52:22','USER_LOGOUT',1,'2013-02-24 13:52:22',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(399,'2013-02-24 12:52:27','USER_LOGIN',1,'2013-02-24 13:52:27',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(400,'2013-02-24 12:52:54','USER_LOGOUT',1,'2013-02-24 13:52:54',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(401,'2013-02-24 12:52:59','USER_LOGIN',1,'2013-02-24 13:52:59',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(402,'2013-02-24 12:55:39','USER_LOGOUT',1,'2013-02-24 13:55:39',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(403,'2013-02-24 12:55:59','USER_LOGIN',1,'2013-02-24 13:55:59',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(404,'2013-02-24 12:56:07','USER_LOGOUT',1,'2013-02-24 13:56:07',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(405,'2013-02-24 12:56:23','USER_LOGIN',1,'2013-02-24 13:56:23',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(406,'2013-02-24 12:56:46','USER_LOGOUT',1,'2013-02-24 13:56:46',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(407,'2013-02-24 12:58:30','USER_LOGIN',1,'2013-02-24 13:58:30',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(408,'2013-02-24 12:58:33','USER_LOGOUT',1,'2013-02-24 13:58:33',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(409,'2013-02-24 12:58:51','USER_LOGIN',1,'2013-02-24 13:58:51',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(410,'2013-02-24 12:58:58','USER_LOGOUT',1,'2013-02-24 13:58:58',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(411,'2013-02-24 13:18:53','USER_LOGIN',1,'2013-02-24 14:18:53',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(412,'2013-02-24 13:19:52','USER_LOGOUT',1,'2013-02-24 14:19:52',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(413,'2013-02-24 15:39:31','USER_LOGIN_FAILED',1,'2013-02-24 16:39:31',NULL,'ErrorBadValueForCode - login=admin','127.0.0.1',NULL,NULL),(414,'2013-02-24 15:42:07','USER_LOGIN',1,'2013-02-24 16:42:07',1,'(UserLogged,admin)','127.0.0.1',NULL,NULL),(415,'2013-02-24 15:42:52','USER_LOGOUT',1,'2013-02-24 16:42:52',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7',NULL),(416,'2013-02-24 16:04:21','USER_LOGIN',1,'2013-02-24 17:04:21',1,'(UserLogged,admin)','192.168.0.254','Mozilla/5.0 (Linux; U; Android 2.2; en-us; sdk Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1',NULL),(417,'2013-02-24 16:11:28','USER_LOGIN_FAILED',1,'2013-02-24 17:11:28',NULL,'ErrorBadValueForCode - login=admin','127.0.0.1','Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7',NULL),(418,'2013-02-24 16:11:37','USER_LOGIN',1,'2013-02-24 17:11:37',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7',NULL),(419,'2013-02-24 16:36:52','USER_LOGOUT',1,'2013-02-24 17:36:52',1,'(UserLogoff,admin)','192.168.0.254','Mozilla/5.0 (Linux; U; Android 2.2; en-us; sdk Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1',NULL),(420,'2013-02-24 16:40:37','USER_LOGIN',1,'2013-02-24 17:40:37',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(421,'2013-02-24 16:57:16','USER_LOGIN',1,'2013-02-24 17:57:16',1,'(UserLogged,admin)','192.168.0.254','Mozilla/5.0 (Linux; U; Android 2.2; en-us; sdk Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1 - 2131034114',NULL),(422,'2013-02-24 17:01:30','USER_LOGOUT',1,'2013-02-24 18:01:30',1,'(UserLogoff,admin)','192.168.0.254','Mozilla/5.0 (Linux; U; Android 2.2; en-us; sdk Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1 - 2131034114',NULL),(423,'2013-02-24 17:02:33','USER_LOGIN',1,'2013-02-24 18:02:33',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(424,'2013-02-24 17:14:22','USER_LOGOUT',1,'2013-02-24 18:14:22',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(425,'2013-02-24 17:15:07','USER_LOGIN_FAILED',1,'2013-02-24 18:15:07',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(426,'2013-02-24 17:15:20','USER_LOGIN',1,'2013-02-24 18:15:20',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(427,'2013-02-24 17:20:14','USER_LOGIN',1,'2013-02-24 18:20:14',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(428,'2013-02-24 17:20:51','USER_LOGIN',1,'2013-02-24 18:20:51',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(429,'2013-02-24 17:20:54','USER_LOGOUT',1,'2013-02-24 18:20:54',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(430,'2013-02-24 17:21:19','USER_LOGIN',1,'2013-02-24 18:21:19',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(431,'2013-02-24 17:32:35','USER_LOGIN',1,'2013-02-24 18:32:35',1,'(UserLogged,admin)','192.168.0.254','Mozilla/5.0 (Linux; U; Android 2.2; en-us; sdk Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1 - 2131034114',NULL),(432,'2013-02-24 18:28:48','USER_LOGIN',1,'2013-02-24 19:28:48',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(433,'2013-02-24 18:29:27','USER_LOGOUT',1,'2013-02-24 19:29:27',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7',NULL),(434,'2013-02-24 18:29:32','USER_LOGIN',1,'2013-02-24 19:29:32',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7',NULL),(435,'2013-02-24 20:13:13','USER_LOGOUT',1,'2013-02-24 21:13:13',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(436,'2013-02-24 20:13:17','USER_LOGIN',1,'2013-02-24 21:13:17',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(437,'2013-02-25 08:57:16','USER_LOGIN',1,'2013-02-25 09:57:16',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(438,'2013-02-25 08:57:59','USER_LOGOUT',1,'2013-02-25 09:57:59',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(439,'2013-02-25 09:15:02','USER_LOGIN',1,'2013-02-25 10:15:02',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(440,'2013-02-25 09:15:50','USER_LOGOUT',1,'2013-02-25 10:15:50',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(441,'2013-02-25 09:15:57','USER_LOGIN',1,'2013-02-25 10:15:57',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(442,'2013-02-25 09:16:12','USER_LOGOUT',1,'2013-02-25 10:16:12',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(443,'2013-02-25 09:16:19','USER_LOGIN',1,'2013-02-25 10:16:19',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(444,'2013-02-25 09:16:25','USER_LOGOUT',1,'2013-02-25 10:16:25',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(445,'2013-02-25 09:16:39','USER_LOGIN_FAILED',1,'2013-02-25 10:16:39',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(446,'2013-02-25 09:16:42','USER_LOGIN_FAILED',1,'2013-02-25 10:16:42',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(447,'2013-02-25 09:16:54','USER_LOGIN_FAILED',1,'2013-02-25 10:16:54',NULL,'Identificadors d'usuari o contrasenya incorrectes - login=gfdg','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(448,'2013-02-25 09:17:53','USER_LOGIN',1,'2013-02-25 10:17:53',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(449,'2013-02-25 09:18:37','USER_LOGOUT',1,'2013-02-25 10:18:37',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(450,'2013-02-25 09:18:41','USER_LOGIN',1,'2013-02-25 10:18:41',4,'(UserLogged,aaa)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(451,'2013-02-25 09:18:47','USER_LOGOUT',1,'2013-02-25 10:18:47',4,'(UserLogoff,aaa)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(452,'2013-02-25 10:05:34','USER_LOGIN',1,'2013-02-25 11:05:34',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(453,'2013-02-26 21:51:40','USER_LOGIN',1,'2013-02-26 22:51:40',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(454,'2013-02-26 23:30:06','USER_LOGIN',1,'2013-02-27 00:30:06',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(455,'2013-02-27 14:13:11','USER_LOGIN',1,'2013-02-27 15:13:11',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(456,'2013-02-27 18:12:06','USER_LOGIN_FAILED',1,'2013-02-27 19:12:06',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(457,'2013-02-27 18:12:10','USER_LOGIN',1,'2013-02-27 19:12:10',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(458,'2013-02-27 20:20:08','USER_LOGIN',1,'2013-02-27 21:20:08',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(459,'2013-03-01 22:12:03','USER_LOGIN',1,'2013-03-01 23:12:03',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(460,'2013-03-02 11:45:50','USER_LOGIN',1,'2013-03-02 12:45:50',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(461,'2013-03-02 15:53:51','USER_LOGIN_FAILED',1,'2013-03-02 16:53:51',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(462,'2013-03-02 15:53:53','USER_LOGIN',1,'2013-03-02 16:53:53',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(463,'2013-03-02 18:32:32','USER_LOGIN',1,'2013-03-02 19:32:32',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(464,'2013-03-02 22:59:36','USER_LOGIN',1,'2013-03-02 23:59:36',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(465,'2013-03-03 16:26:26','USER_LOGIN',1,'2013-03-03 17:26:26',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(466,'2013-03-03 22:50:27','USER_LOGIN',1,'2013-03-03 23:50:27',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(467,'2013-03-04 08:29:27','USER_LOGIN',1,'2013-03-04 09:29:27',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(468,'2013-03-04 18:27:28','USER_LOGIN',1,'2013-03-04 19:27:28',1,'(UserLogged,admin)','192.168.0.254','Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0; NP06)',NULL),(469,'2013-03-04 19:27:23','USER_LOGIN',1,'2013-03-04 20:27:23',1,'(UserLogged,admin)','192.168.0.254','Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)',NULL),(470,'2013-03-04 19:35:14','USER_LOGIN',1,'2013-03-04 20:35:14',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(471,'2013-03-04 19:55:49','USER_LOGIN',1,'2013-03-04 20:55:49',1,'(UserLogged,admin)','192.168.0.254','Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0)',NULL),(472,'2013-03-04 21:16:13','USER_LOGIN',1,'2013-03-04 22:16:13',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(473,'2013-03-05 10:17:30','USER_LOGIN',1,'2013-03-05 11:17:30',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(474,'2013-03-05 11:02:43','USER_LOGIN',1,'2013-03-05 12:02:43',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(475,'2013-03-05 23:14:39','USER_LOGIN',1,'2013-03-06 00:14:39',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(476,'2013-03-06 08:58:57','USER_LOGIN',1,'2013-03-06 09:58:57',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(477,'2013-03-06 14:29:40','USER_LOGIN',1,'2013-03-06 15:29:40',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(478,'2013-03-06 21:53:02','USER_LOGIN',1,'2013-03-06 22:53:02',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(479,'2013-03-07 21:14:39','USER_LOGIN',1,'2013-03-07 22:14:39',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(480,'2013-03-08 00:06:05','USER_LOGIN',1,'2013-03-08 01:06:05',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(481,'2013-03-08 01:38:13','USER_LOGIN',1,'2013-03-08 02:38:13',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(482,'2013-03-08 08:59:50','USER_LOGIN',1,'2013-03-08 09:59:50',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(483,'2013-03-09 12:08:51','USER_LOGIN',1,'2013-03-09 13:08:51',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(484,'2013-03-09 15:19:53','USER_LOGIN',1,'2013-03-09 16:19:53',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(495,'2013-03-09 18:06:21','USER_LOGIN',1,'2013-03-09 19:06:21',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(496,'2013-03-09 20:01:24','USER_LOGIN',1,'2013-03-09 21:01:24',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(497,'2013-03-09 23:36:45','USER_LOGIN',1,'2013-03-10 00:36:45',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(498,'2013-03-10 14:37:13','USER_LOGIN',1,'2013-03-10 15:37:13',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(499,'2013-03-10 17:54:12','USER_LOGIN',1,'2013-03-10 18:54:12',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(500,'2013-03-11 08:57:09','USER_LOGIN',1,'2013-03-11 09:57:09',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(501,'2013-03-11 22:05:13','USER_LOGIN',1,'2013-03-11 23:05:13',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(502,'2013-03-12 08:34:27','USER_LOGIN',1,'2013-03-12 09:34:27',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(503,'2013-03-13 09:11:02','USER_LOGIN',1,'2013-03-13 10:11:02',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(504,'2013-03-13 10:02:11','USER_LOGIN',1,'2013-03-13 11:02:11',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(505,'2013-03-13 13:20:58','USER_LOGIN',1,'2013-03-13 14:20:58',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(506,'2013-03-13 16:19:28','USER_LOGIN',1,'2013-03-13 17:19:28',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(507,'2013-03-13 18:34:30','USER_LOGIN',1,'2013-03-13 19:34:30',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(508,'2013-03-14 08:25:02','USER_LOGIN',1,'2013-03-14 09:25:02',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(509,'2013-03-14 19:15:22','USER_LOGIN',1,'2013-03-14 20:15:22',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(510,'2013-03-14 21:58:53','USER_LOGIN',1,'2013-03-14 22:58:53',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(511,'2013-03-14 21:58:59','USER_LOGOUT',1,'2013-03-14 22:58:59',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(512,'2013-03-14 21:59:07','USER_LOGIN',1,'2013-03-14 22:59:07',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(513,'2013-03-14 22:58:22','USER_LOGOUT',1,'2013-03-14 23:58:22',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(514,'2013-03-14 23:00:25','USER_LOGIN',1,'2013-03-15 00:00:25',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(515,'2013-03-16 12:14:28','USER_LOGIN',1,'2013-03-16 13:14:28',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(516,'2013-03-16 16:09:01','USER_LOGIN',1,'2013-03-16 17:09:01',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(517,'2013-03-16 16:57:11','USER_LOGIN',1,'2013-03-16 17:57:11',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(518,'2013-03-16 19:31:31','USER_LOGIN',1,'2013-03-16 20:31:31',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(519,'2013-03-17 17:44:39','USER_LOGIN',1,'2013-03-17 18:44:39',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(520,'2013-03-17 20:40:57','USER_LOGIN',1,'2013-03-17 21:40:57',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(521,'2013-03-17 23:14:05','USER_LOGIN',1,'2013-03-18 00:14:05',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(522,'2013-03-17 23:28:47','USER_LOGOUT',1,'2013-03-18 00:28:47',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(523,'2013-03-17 23:28:54','USER_LOGIN',1,'2013-03-18 00:28:54',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(524,'2013-03-18 17:37:30','USER_LOGIN',1,'2013-03-18 18:37:30',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(525,'2013-03-18 18:11:37','USER_LOGIN',1,'2013-03-18 19:11:37',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(526,'2013-03-19 08:35:08','USER_LOGIN',1,'2013-03-19 09:35:08',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(527,'2013-03-19 09:20:23','USER_LOGIN',1,'2013-03-19 10:20:23',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(528,'2013-03-20 13:17:13','USER_LOGIN',1,'2013-03-20 14:17:13',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(529,'2013-03-20 14:44:31','USER_LOGIN',1,'2013-03-20 15:44:31',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(530,'2013-03-20 18:24:25','USER_LOGIN',1,'2013-03-20 19:24:25',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(531,'2013-03-20 19:15:54','USER_LOGIN',1,'2013-03-20 20:15:54',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(532,'2013-03-21 18:40:47','USER_LOGIN',1,'2013-03-21 19:40:47',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(533,'2013-03-21 21:42:24','USER_LOGIN',1,'2013-03-21 22:42:24',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(534,'2013-03-22 08:39:23','USER_LOGIN',1,'2013-03-22 09:39:23',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(535,'2013-03-23 13:04:55','USER_LOGIN',1,'2013-03-23 14:04:55',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(536,'2013-03-23 15:47:43','USER_LOGIN',1,'2013-03-23 16:47:43',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(537,'2013-03-23 22:56:36','USER_LOGIN',1,'2013-03-23 23:56:36',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(538,'2013-03-24 01:22:32','USER_LOGIN',1,'2013-03-24 02:22:32',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(539,'2013-03-24 14:40:42','USER_LOGIN',1,'2013-03-24 15:40:42',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(540,'2013-03-24 15:30:26','USER_LOGOUT',1,'2013-03-24 16:30:26',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(541,'2013-03-24 15:30:29','USER_LOGIN',1,'2013-03-24 16:30:29',2,'(UserLogged,demo)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(542,'2013-03-24 15:49:40','USER_LOGOUT',1,'2013-03-24 16:49:40',2,'(UserLogoff,demo)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(543,'2013-03-24 15:49:48','USER_LOGIN',1,'2013-03-24 16:49:48',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(544,'2013-03-24 15:52:35','USER_MODIFY',1,'2013-03-24 16:52:35',1,'Modification utilisateur zzzg','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(545,'2013-03-24 15:52:52','USER_MODIFY',1,'2013-03-24 16:52:52',1,'Modification utilisateur zzzg','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(546,'2013-03-24 15:53:09','USER_MODIFY',1,'2013-03-24 16:53:09',1,'Modification utilisateur zzzg','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(547,'2013-03-24 15:53:23','USER_MODIFY',1,'2013-03-24 16:53:23',1,'Modification utilisateur zzzg','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(548,'2013-03-24 16:00:04','USER_MODIFY',1,'2013-03-24 17:00:04',1,'Modification utilisateur zzzg','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(549,'2013-03-24 16:01:50','USER_MODIFY',1,'2013-03-24 17:01:50',1,'Modification utilisateur zzzg','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(550,'2013-03-24 16:10:14','USER_MODIFY',1,'2013-03-24 17:10:14',1,'Modification utilisateur zzzg','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(551,'2013-03-24 16:55:13','USER_LOGIN',1,'2013-03-24 17:55:13',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(552,'2013-03-24 17:44:29','USER_LOGIN',1,'2013-03-24 18:44:29',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(553,'2013-09-08 23:06:26','USER_LOGIN',1,'2013-09-09 01:06:26',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.57 Safari/537.36',NULL),(554,'2013-10-21 22:32:28','USER_LOGIN',1,'2013-10-22 00:32:28',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.66 Safari/537.36',NULL),(555,'2013-10-21 22:32:48','USER_LOGIN',1,'2013-10-22 00:32:48',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.66 Safari/537.36',NULL),(556,'2013-11-07 00:01:51','USER_LOGIN',1,'2013-11-07 01:01:51',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.114 Safari/537.36',NULL),(557,'2014-03-02 15:21:07','USER_LOGIN',1,'2014-03-02 16:21:07',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.117 Safari/537.36',NULL),(558,'2014-03-02 15:36:53','USER_LOGIN',1,'2014-03-02 16:36:53',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.117 Safari/537.36',NULL); +INSERT INTO `llx_events` VALUES (30,'2011-07-18 18:23:06','USER_LOGOUT',1,'2011-07-18 20:23:06',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(31,'2011-07-18 18:23:12','USER_LOGIN_FAILED',1,'2011-07-18 20:23:12',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(32,'2011-07-18 18:23:17','USER_LOGIN',1,'2011-07-18 20:23:17',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(33,'2011-07-18 20:10:51','USER_LOGIN_FAILED',1,'2011-07-18 22:10:51',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(34,'2011-07-18 20:10:55','USER_LOGIN',1,'2011-07-18 22:10:55',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(35,'2011-07-18 21:18:57','USER_LOGIN',1,'2011-07-18 23:18:57',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(36,'2011-07-20 10:34:10','USER_LOGIN',1,'2011-07-20 12:34:10',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(37,'2011-07-20 12:36:44','USER_LOGIN',1,'2011-07-20 14:36:44',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(38,'2011-07-20 13:20:51','USER_LOGIN_FAILED',1,'2011-07-20 15:20:51',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(39,'2011-07-20 13:20:54','USER_LOGIN',1,'2011-07-20 15:20:54',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(40,'2011-07-20 15:03:46','USER_LOGIN_FAILED',1,'2011-07-20 17:03:46',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(41,'2011-07-20 15:03:55','USER_LOGIN',1,'2011-07-20 17:03:55',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(42,'2011-07-20 18:05:05','USER_LOGIN_FAILED',1,'2011-07-20 20:05:05',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(43,'2011-07-20 18:05:08','USER_LOGIN',1,'2011-07-20 20:05:08',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(44,'2011-07-20 21:08:53','USER_LOGIN_FAILED',1,'2011-07-20 23:08:53',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(45,'2011-07-20 21:08:56','USER_LOGIN',1,'2011-07-20 23:08:56',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(46,'2011-07-21 01:26:12','USER_LOGIN',1,'2011-07-21 03:26:12',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(47,'2011-07-21 22:35:45','USER_LOGIN_FAILED',1,'2011-07-22 00:35:45',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(48,'2011-07-21 22:35:49','USER_LOGIN',1,'2011-07-22 00:35:49',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(49,'2011-07-26 23:09:47','USER_LOGIN_FAILED',1,'2011-07-27 01:09:47',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(50,'2011-07-26 23:09:50','USER_LOGIN',1,'2011-07-27 01:09:50',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(51,'2011-07-27 17:02:27','USER_LOGIN_FAILED',1,'2011-07-27 19:02:27',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(52,'2011-07-27 17:02:32','USER_LOGIN',1,'2011-07-27 19:02:32',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(53,'2011-07-27 23:33:37','USER_LOGIN_FAILED',1,'2011-07-28 01:33:37',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(54,'2011-07-27 23:33:41','USER_LOGIN',1,'2011-07-28 01:33:41',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(55,'2011-07-28 18:20:36','USER_LOGIN_FAILED',1,'2011-07-28 20:20:36',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(56,'2011-07-28 18:20:38','USER_LOGIN',1,'2011-07-28 20:20:38',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(57,'2011-07-28 20:13:30','USER_LOGIN_FAILED',1,'2011-07-28 22:13:30',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(58,'2011-07-28 20:13:34','USER_LOGIN',1,'2011-07-28 22:13:34',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(59,'2011-07-28 20:22:51','USER_LOGIN',1,'2011-07-28 22:22:51',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(60,'2011-07-28 23:05:06','USER_LOGIN',1,'2011-07-29 01:05:06',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(61,'2011-07-29 20:15:50','USER_LOGIN_FAILED',1,'2011-07-29 22:15:50',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(62,'2011-07-29 20:15:53','USER_LOGIN',1,'2011-07-29 22:15:53',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(68,'2011-07-29 20:51:01','USER_LOGOUT',1,'2011-07-29 22:51:01',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(69,'2011-07-29 20:51:05','USER_LOGIN',1,'2011-07-29 22:51:05',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(70,'2011-07-30 08:46:20','USER_LOGIN_FAILED',1,'2011-07-30 10:46:20',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(71,'2011-07-30 08:46:38','USER_LOGIN_FAILED',1,'2011-07-30 10:46:38',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(72,'2011-07-30 08:46:42','USER_LOGIN',1,'2011-07-30 10:46:42',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(73,'2011-07-30 10:05:12','USER_LOGIN_FAILED',1,'2011-07-30 12:05:12',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(74,'2011-07-30 10:05:15','USER_LOGIN',1,'2011-07-30 12:05:15',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(75,'2011-07-30 12:15:46','USER_LOGIN',1,'2011-07-30 14:15:46',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(76,'2011-07-31 22:19:30','USER_LOGIN',1,'2011-08-01 00:19:30',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(77,'2011-07-31 23:32:52','USER_LOGIN',1,'2011-08-01 01:32:52',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(78,'2011-08-01 01:24:50','USER_LOGIN_FAILED',1,'2011-08-01 03:24:50',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(79,'2011-08-01 01:24:54','USER_LOGIN',1,'2011-08-01 03:24:54',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(80,'2011-08-01 19:31:36','USER_LOGIN_FAILED',1,'2011-08-01 21:31:35',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(81,'2011-08-01 19:31:39','USER_LOGIN',1,'2011-08-01 21:31:39',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(82,'2011-08-01 20:01:36','USER_LOGIN',1,'2011-08-01 22:01:36',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(83,'2011-08-01 20:52:54','USER_LOGIN_FAILED',1,'2011-08-01 22:52:54',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(84,'2011-08-01 20:52:58','USER_LOGIN',1,'2011-08-01 22:52:58',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(85,'2011-08-01 21:17:28','USER_LOGIN_FAILED',1,'2011-08-01 23:17:28',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(86,'2011-08-01 21:17:31','USER_LOGIN',1,'2011-08-01 23:17:31',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(87,'2011-08-04 11:55:17','USER_LOGIN',1,'2011-08-04 13:55:17',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(88,'2011-08-04 20:19:03','USER_LOGIN_FAILED',1,'2011-08-04 22:19:03',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(89,'2011-08-04 20:19:07','USER_LOGIN',1,'2011-08-04 22:19:07',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(90,'2011-08-05 17:51:42','USER_LOGIN_FAILED',1,'2011-08-05 19:51:42',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(91,'2011-08-05 17:51:47','USER_LOGIN',1,'2011-08-05 19:51:47',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(92,'2011-08-05 17:56:03','USER_LOGIN',1,'2011-08-05 19:56:03',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(93,'2011-08-05 17:59:10','USER_LOGIN',1,'2011-08-05 19:59:10',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.100 Safari/534.30',NULL),(94,'2011-08-05 18:01:58','USER_LOGIN',1,'2011-08-05 20:01:58',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.100 Safari/534.30',NULL),(95,'2011-08-05 19:59:56','USER_LOGIN',1,'2011-08-05 21:59:56',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(96,'2011-08-06 18:33:22','USER_LOGIN',1,'2011-08-06 20:33:22',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(97,'2011-08-07 00:56:59','USER_LOGIN',1,'2011-08-07 02:56:59',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(98,'2011-08-07 22:49:14','USER_LOGIN',1,'2011-08-08 00:49:14',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(99,'2011-08-07 23:05:18','USER_LOGOUT',1,'2011-08-08 01:05:18',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(105,'2011-08-08 00:41:09','USER_LOGIN',1,'2011-08-08 02:41:09',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(106,'2011-08-08 11:58:55','USER_LOGIN',1,'2011-08-08 13:58:55',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(107,'2011-08-08 14:35:48','USER_LOGIN',1,'2011-08-08 16:35:48',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(108,'2011-08-08 14:36:31','USER_LOGOUT',1,'2011-08-08 16:36:31',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(109,'2011-08-08 14:38:28','USER_LOGIN',1,'2011-08-08 16:38:28',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(110,'2011-08-08 14:39:02','USER_LOGOUT',1,'2011-08-08 16:39:02',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(111,'2011-08-08 14:39:10','USER_LOGIN',1,'2011-08-08 16:39:10',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(112,'2011-08-08 14:39:28','USER_LOGOUT',1,'2011-08-08 16:39:28',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(113,'2011-08-08 14:39:37','USER_LOGIN',1,'2011-08-08 16:39:37',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(114,'2011-08-08 14:50:02','USER_LOGOUT',1,'2011-08-08 16:50:02',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(115,'2011-08-08 14:51:45','USER_LOGIN_FAILED',1,'2011-08-08 16:51:45',NULL,'Identifiants login ou mot de passe incorrects - login=','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(116,'2011-08-08 14:51:52','USER_LOGIN',1,'2011-08-08 16:51:52',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(117,'2011-08-08 15:09:54','USER_LOGOUT',1,'2011-08-08 17:09:54',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(118,'2011-08-08 15:10:19','USER_LOGIN_FAILED',1,'2011-08-08 17:10:19',NULL,'Identifiants login ou mot de passe incorrects - login=','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(119,'2011-08-08 15:10:28','USER_LOGIN',1,'2011-08-08 17:10:28',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(121,'2011-08-08 15:14:58','USER_LOGOUT',1,'2011-08-08 17:14:58',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(122,'2011-08-08 15:15:00','USER_LOGIN_FAILED',1,'2011-08-08 17:15:00',NULL,'Identifiants login ou mot de passe incorrects - login=','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(123,'2011-08-08 15:17:57','USER_LOGIN',1,'2011-08-08 17:17:57',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(124,'2011-08-08 15:35:56','USER_LOGOUT',1,'2011-08-08 17:35:56',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(125,'2011-08-08 15:36:05','USER_LOGIN',1,'2011-08-08 17:36:05',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(126,'2011-08-08 17:32:42','USER_LOGIN',1,'2011-08-08 19:32:42',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(127,'2012-12-08 13:49:37','USER_LOGOUT',1,'2012-12-08 14:49:37',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(128,'2012-12-08 13:49:42','USER_LOGIN',1,'2012-12-08 14:49:42',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(129,'2012-12-08 13:50:12','USER_LOGOUT',1,'2012-12-08 14:50:12',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(130,'2012-12-08 13:50:14','USER_LOGIN',1,'2012-12-08 14:50:14',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(131,'2012-12-08 13:50:17','USER_LOGOUT',1,'2012-12-08 14:50:17',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(132,'2012-12-08 13:52:47','USER_LOGIN',1,'2012-12-08 14:52:47',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(133,'2012-12-08 13:53:08','USER_MODIFY',1,'2012-12-08 14:53:08',1,'User admin modified','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(134,'2012-12-08 14:08:45','USER_LOGOUT',1,'2012-12-08 15:08:45',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(135,'2012-12-08 14:09:09','USER_LOGIN',1,'2012-12-08 15:09:09',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(136,'2012-12-08 14:11:43','USER_LOGOUT',1,'2012-12-08 15:11:43',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(137,'2012-12-08 14:11:45','USER_LOGIN',1,'2012-12-08 15:11:45',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(138,'2012-12-08 14:22:53','USER_LOGOUT',1,'2012-12-08 15:22:53',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(139,'2012-12-08 14:22:54','USER_LOGIN',1,'2012-12-08 15:22:54',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(140,'2012-12-08 14:23:10','USER_LOGOUT',1,'2012-12-08 15:23:10',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(141,'2012-12-08 14:23:11','USER_LOGIN',1,'2012-12-08 15:23:11',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(142,'2012-12-08 14:23:49','USER_LOGOUT',1,'2012-12-08 15:23:49',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(143,'2012-12-08 14:23:50','USER_LOGIN',1,'2012-12-08 15:23:50',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(144,'2012-12-08 14:28:08','USER_LOGOUT',1,'2012-12-08 15:28:08',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(145,'2012-12-08 14:35:15','USER_LOGIN',1,'2012-12-08 15:35:15',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(146,'2012-12-08 14:35:18','USER_LOGOUT',1,'2012-12-08 15:35:18',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(147,'2012-12-08 14:36:07','USER_LOGIN',1,'2012-12-08 15:36:07',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(148,'2012-12-08 14:36:09','USER_LOGOUT',1,'2012-12-08 15:36:09',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(149,'2012-12-08 14:36:41','USER_LOGIN',1,'2012-12-08 15:36:41',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(150,'2012-12-08 15:59:13','USER_LOGIN',1,'2012-12-08 16:59:13',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(151,'2012-12-09 11:49:52','USER_LOGIN',1,'2012-12-09 12:49:52',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(152,'2012-12-09 13:46:31','USER_LOGIN',1,'2012-12-09 14:46:31',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(153,'2012-12-09 19:03:14','USER_LOGIN',1,'2012-12-09 20:03:14',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(154,'2012-12-10 00:16:31','USER_LOGIN',1,'2012-12-10 01:16:31',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(170,'2012-12-11 22:03:31','USER_LOGIN',1,'2012-12-11 23:03:31',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(171,'2012-12-12 00:32:39','USER_LOGIN',1,'2012-12-12 01:32:39',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(172,'2012-12-12 10:49:59','USER_LOGIN',1,'2012-12-12 11:49:59',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(175,'2012-12-12 10:57:40','USER_MODIFY',1,'2012-12-12 11:57:40',1,'Modification utilisateur admin','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(176,'2012-12-12 13:29:15','USER_LOGIN',1,'2012-12-12 14:29:15',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(177,'2012-12-12 13:30:15','USER_LOGIN',1,'2012-12-12 14:30:15',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(178,'2012-12-12 13:40:08','USER_LOGOUT',1,'2012-12-12 14:40:08',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(179,'2012-12-12 13:40:10','USER_LOGIN',1,'2012-12-12 14:40:10',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(180,'2012-12-12 13:40:26','USER_MODIFY',1,'2012-12-12 14:40:26',1,'Modification utilisateur admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(181,'2012-12-12 13:40:34','USER_LOGOUT',1,'2012-12-12 14:40:34',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(182,'2012-12-12 13:42:23','USER_LOGIN',1,'2012-12-12 14:42:23',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(183,'2012-12-12 13:43:02','USER_NEW_PASSWORD',1,'2012-12-12 14:43:02',NULL,'Changement mot de passe de admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(184,'2012-12-12 13:43:25','USER_LOGOUT',1,'2012-12-12 14:43:25',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(185,'2012-12-12 13:43:27','USER_LOGIN_FAILED',1,'2012-12-12 14:43:27',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(186,'2012-12-12 13:43:30','USER_LOGIN',1,'2012-12-12 14:43:30',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(187,'2012-12-12 14:52:11','USER_LOGIN',1,'2012-12-12 15:52:11',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(188,'2012-12-12 17:53:00','USER_LOGIN_FAILED',1,'2012-12-12 18:53:00',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(189,'2012-12-12 17:53:07','USER_LOGIN_FAILED',1,'2012-12-12 18:53:07',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(190,'2012-12-12 17:53:51','USER_NEW_PASSWORD',1,'2012-12-12 18:53:51',NULL,'Changement mot de passe de admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(191,'2012-12-12 17:54:00','USER_LOGIN',1,'2012-12-12 18:54:00',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(192,'2012-12-12 17:54:10','USER_NEW_PASSWORD',1,'2012-12-12 18:54:10',1,'Changement mot de passe de admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(193,'2012-12-12 17:54:10','USER_MODIFY',1,'2012-12-12 18:54:10',1,'Modification utilisateur admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(194,'2012-12-12 18:57:09','USER_LOGIN',1,'2012-12-12 19:57:09',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(195,'2012-12-12 23:04:08','USER_LOGIN',1,'2012-12-13 00:04:08',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(196,'2012-12-17 20:03:14','USER_LOGIN',1,'2012-12-17 21:03:14',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(197,'2012-12-17 21:18:45','USER_LOGIN',1,'2012-12-17 22:18:45',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(198,'2012-12-17 22:30:08','USER_LOGIN',1,'2012-12-17 23:30:08',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(199,'2012-12-18 23:32:03','USER_LOGIN',1,'2012-12-19 00:32:03',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(200,'2012-12-19 09:38:03','USER_LOGIN',1,'2012-12-19 10:38:03',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(201,'2012-12-19 11:23:35','USER_LOGIN',1,'2012-12-19 12:23:35',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(202,'2012-12-19 12:46:22','USER_LOGIN',1,'2012-12-19 13:46:22',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(214,'2012-12-19 19:11:31','USER_LOGIN',1,'2012-12-19 20:11:31',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(215,'2012-12-21 16:36:57','USER_LOGIN',1,'2012-12-21 17:36:57',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(216,'2012-12-21 16:38:43','USER_NEW_PASSWORD',1,'2012-12-21 17:38:43',1,'Changement mot de passe de adupont','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(217,'2012-12-21 16:38:43','USER_MODIFY',1,'2012-12-21 17:38:43',1,'Modification utilisateur adupont','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(218,'2012-12-21 16:38:51','USER_LOGOUT',1,'2012-12-21 17:38:51',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(219,'2012-12-21 16:38:55','USER_LOGIN',1,'2012-12-21 17:38:55',3,'(UserLogged,adupont)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(220,'2012-12-21 16:48:18','USER_LOGOUT',1,'2012-12-21 17:48:18',3,'(UserLogoff,adupont)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(221,'2012-12-21 16:48:20','USER_LOGIN',1,'2012-12-21 17:48:20',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(222,'2012-12-26 18:28:18','USER_LOGIN',1,'2012-12-26 19:28:18',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(223,'2012-12-26 20:00:24','USER_LOGIN',1,'2012-12-26 21:00:24',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(224,'2012-12-27 01:10:27','USER_LOGIN',1,'2012-12-27 02:10:27',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(225,'2012-12-28 19:12:08','USER_LOGIN',1,'2012-12-28 20:12:08',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(226,'2012-12-28 20:16:58','USER_LOGIN',1,'2012-12-28 21:16:58',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(227,'2012-12-29 14:35:46','USER_LOGIN',1,'2012-12-29 15:35:46',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(228,'2012-12-29 14:37:59','USER_LOGOUT',1,'2012-12-29 15:37:59',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(229,'2012-12-29 14:38:00','USER_LOGIN',1,'2012-12-29 15:38:00',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(230,'2012-12-29 17:16:48','USER_LOGIN',1,'2012-12-29 18:16:48',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(231,'2012-12-31 12:02:59','USER_LOGIN',1,'2012-12-31 13:02:59',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(232,'2013-01-02 20:32:51','USER_LOGIN',1,'2013-01-02 21:32:51',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:17.0) Gecko/20100101 Firefox/17.0',NULL),(233,'2013-01-02 20:58:59','USER_LOGIN',1,'2013-01-02 21:58:59',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(234,'2013-01-03 09:25:07','USER_LOGIN',1,'2013-01-03 10:25:07',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(235,'2013-01-03 19:39:31','USER_LOGIN',1,'2013-01-03 20:39:31',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(236,'2013-01-04 22:40:19','USER_LOGIN',1,'2013-01-04 23:40:19',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(237,'2013-01-05 12:59:59','USER_LOGIN',1,'2013-01-05 13:59:59',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(238,'2013-01-05 15:28:52','USER_LOGIN',1,'2013-01-05 16:28:52',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(239,'2013-01-05 17:02:08','USER_LOGIN',1,'2013-01-05 18:02:08',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(240,'2013-01-06 12:13:33','USER_LOGIN',1,'2013-01-06 13:13:33',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(241,'2013-01-07 01:21:15','USER_LOGIN',1,'2013-01-07 02:21:15',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(242,'2013-01-07 01:46:31','USER_LOGOUT',1,'2013-01-07 02:46:31',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(243,'2013-01-07 19:54:50','USER_LOGIN',1,'2013-01-07 20:54:50',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(244,'2013-01-08 21:55:01','USER_LOGIN',1,'2013-01-08 22:55:01',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(245,'2013-01-09 11:13:28','USER_LOGIN',1,'2013-01-09 12:13:28',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(246,'2013-01-10 18:30:46','USER_LOGIN',1,'2013-01-10 19:30:46',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(247,'2013-01-11 18:03:26','USER_LOGIN',1,'2013-01-11 19:03:26',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(248,'2013-01-12 11:15:04','USER_LOGIN',1,'2013-01-12 12:15:04',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(249,'2013-01-12 14:42:44','USER_LOGIN',1,'2013-01-12 15:42:44',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(250,'2013-01-13 12:07:17','USER_LOGIN',1,'2013-01-13 13:07:17',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(251,'2013-01-13 17:37:58','USER_LOGIN',1,'2013-01-13 18:37:58',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(252,'2013-01-13 19:24:21','USER_LOGIN',1,'2013-01-13 20:24:21',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(253,'2013-01-13 19:29:19','USER_LOGOUT',1,'2013-01-13 20:29:19',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(254,'2013-01-13 21:39:39','USER_LOGIN',1,'2013-01-13 22:39:39',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(255,'2013-01-14 00:52:21','USER_LOGIN',1,'2013-01-14 01:52:21',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(256,'2013-01-16 11:34:31','USER_LOGIN',1,'2013-01-16 12:34:31',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(257,'2013-01-16 15:36:21','USER_LOGIN',1,'2013-01-16 16:36:21',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(258,'2013-01-16 19:17:36','USER_LOGIN',1,'2013-01-16 20:17:36',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(259,'2013-01-16 19:48:08','GROUP_CREATE',1,'2013-01-16 20:48:08',1,'Création groupe ggg','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(260,'2013-01-16 21:48:53','USER_LOGIN',1,'2013-01-16 22:48:53',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(261,'2013-01-17 19:55:53','USER_LOGIN',1,'2013-01-17 20:55:53',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(262,'2013-01-18 09:48:01','USER_LOGIN',1,'2013-01-18 10:48:01',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(263,'2013-01-18 13:22:36','USER_LOGIN',1,'2013-01-18 14:22:36',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(264,'2013-01-18 16:10:23','USER_LOGIN',1,'2013-01-18 17:10:22',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(265,'2013-01-18 17:41:40','USER_LOGIN',1,'2013-01-18 18:41:40',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(266,'2013-01-19 14:33:48','USER_LOGIN',1,'2013-01-19 15:33:48',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(267,'2013-01-19 16:47:43','USER_LOGIN',1,'2013-01-19 17:47:43',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(268,'2013-01-19 16:59:43','USER_LOGIN',1,'2013-01-19 17:59:43',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(269,'2013-01-19 17:00:22','USER_LOGIN',1,'2013-01-19 18:00:22',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(270,'2013-01-19 17:04:16','USER_LOGOUT',1,'2013-01-19 18:04:16',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(271,'2013-01-19 17:04:18','USER_LOGIN',1,'2013-01-19 18:04:18',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(272,'2013-01-20 00:34:19','USER_LOGIN',1,'2013-01-20 01:34:19',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(273,'2013-01-21 11:54:17','USER_LOGIN',1,'2013-01-21 12:54:17',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(274,'2013-01-21 13:48:15','USER_LOGIN',1,'2013-01-21 14:48:15',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(275,'2013-01-21 14:30:22','USER_LOGIN',1,'2013-01-21 15:30:22',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(276,'2013-01-21 15:10:46','USER_LOGIN',1,'2013-01-21 16:10:46',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(277,'2013-01-21 17:27:43','USER_LOGIN',1,'2013-01-21 18:27:43',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(278,'2013-01-21 21:48:15','USER_LOGIN',1,'2013-01-21 22:48:15',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(279,'2013-01-21 21:50:42','USER_LOGIN',1,'2013-01-21 22:50:42',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(280,'2013-01-23 09:28:26','USER_LOGIN',1,'2013-01-23 10:28:26',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(281,'2013-01-23 13:21:57','USER_LOGIN',1,'2013-01-23 14:21:57',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(282,'2013-01-23 16:52:00','USER_LOGOUT',1,'2013-01-23 17:52:00',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(283,'2013-01-23 16:52:05','USER_LOGIN_FAILED',1,'2013-01-23 17:52:05',NULL,'Bad value for login or password - login=bbb','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(284,'2013-01-23 16:52:09','USER_LOGIN',1,'2013-01-23 17:52:09',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(285,'2013-01-23 16:52:27','USER_CREATE',1,'2013-01-23 17:52:27',1,'Création utilisateur aaa','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(286,'2013-01-23 16:52:27','USER_NEW_PASSWORD',1,'2013-01-23 17:52:27',1,'Changement mot de passe de aaa','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(287,'2013-01-23 16:52:37','USER_CREATE',1,'2013-01-23 17:52:37',1,'Création utilisateur bbb','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(288,'2013-01-23 16:52:37','USER_NEW_PASSWORD',1,'2013-01-23 17:52:37',1,'Changement mot de passe de bbb','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(289,'2013-01-23 16:53:15','USER_LOGOUT',1,'2013-01-23 17:53:15',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(290,'2013-01-23 16:53:20','USER_LOGIN',1,'2013-01-23 17:53:20',4,'(UserLogged,aaa)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(291,'2013-01-23 19:16:58','USER_LOGIN',1,'2013-01-23 20:16:58',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(292,'2013-01-26 10:54:07','USER_LOGIN',1,'2013-01-26 11:54:07',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(293,'2013-01-29 10:15:36','USER_LOGIN',1,'2013-01-29 11:15:36',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(294,'2013-01-30 17:42:50','USER_LOGIN',1,'2013-01-30 18:42:50',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(295,'2013-02-01 08:49:55','USER_LOGIN',1,'2013-02-01 09:49:55',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(296,'2013-02-01 08:51:57','USER_LOGOUT',1,'2013-02-01 09:51:57',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(297,'2013-02-01 08:52:39','USER_LOGIN',1,'2013-02-01 09:52:39',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(298,'2013-02-01 21:03:01','USER_LOGIN',1,'2013-02-01 22:03:01',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(299,'2013-02-10 19:48:39','USER_LOGIN',1,'2013-02-10 20:48:39',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(300,'2013-02-10 20:46:48','USER_LOGIN',1,'2013-02-10 21:46:48',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(301,'2013-02-10 21:39:23','USER_LOGIN',1,'2013-02-10 22:39:23',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(302,'2013-02-11 19:00:13','USER_LOGIN',1,'2013-02-11 20:00:13',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(303,'2013-02-11 19:43:44','USER_LOGIN_FAILED',1,'2013-02-11 20:43:44',NULL,'Unknown column \'u.fk_user\' in \'field list\'','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(304,'2013-02-11 19:44:01','USER_LOGIN',1,'2013-02-11 20:44:01',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(305,'2013-02-12 00:27:35','USER_LOGIN',1,'2013-02-12 01:27:35',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(306,'2013-02-12 00:27:38','USER_LOGOUT',1,'2013-02-12 01:27:38',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(307,'2013-02-12 00:28:07','USER_LOGIN',1,'2013-02-12 01:28:07',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(308,'2013-02-12 00:28:09','USER_LOGOUT',1,'2013-02-12 01:28:09',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(309,'2013-02-12 00:28:26','USER_LOGIN',1,'2013-02-12 01:28:26',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(310,'2013-02-12 00:28:30','USER_LOGOUT',1,'2013-02-12 01:28:30',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(311,'2013-02-12 12:42:15','USER_LOGIN',1,'2013-02-12 13:42:15',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(312,'2013-02-12 13:46:16','USER_LOGIN',1,'2013-02-12 14:46:16',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(313,'2013-02-12 14:54:28','USER_LOGIN',1,'2013-02-12 15:54:28',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(314,'2013-02-12 16:04:46','USER_LOGIN',1,'2013-02-12 17:04:46',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(315,'2013-02-13 14:02:43','USER_LOGIN',1,'2013-02-13 15:02:43',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(316,'2013-02-13 14:48:30','USER_LOGIN',1,'2013-02-13 15:48:30',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(317,'2013-02-13 17:44:53','USER_LOGIN',1,'2013-02-13 18:44:53',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(318,'2013-02-15 08:44:36','USER_LOGIN',1,'2013-02-15 09:44:36',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(319,'2013-02-15 08:53:20','USER_LOGIN',1,'2013-02-15 09:53:20',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(320,'2013-02-16 19:10:28','USER_LOGIN',1,'2013-02-16 20:10:28',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(321,'2013-02-16 19:22:40','USER_CREATE',1,'2013-02-16 20:22:40',1,'Création utilisateur aaab','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(322,'2013-02-16 19:22:40','USER_NEW_PASSWORD',1,'2013-02-16 20:22:40',1,'Changement mot de passe de aaab','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(323,'2013-02-16 19:48:15','USER_CREATE',1,'2013-02-16 20:48:15',1,'Création utilisateur zzz','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(324,'2013-02-16 19:48:15','USER_NEW_PASSWORD',1,'2013-02-16 20:48:15',1,'Changement mot de passe de zzz','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(325,'2013-02-16 19:50:08','USER_CREATE',1,'2013-02-16 20:50:08',1,'Création utilisateur zzzg','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(326,'2013-02-16 19:50:08','USER_NEW_PASSWORD',1,'2013-02-16 20:50:08',1,'Changement mot de passe de zzzg','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(327,'2013-02-16 21:20:03','USER_LOGIN',1,'2013-02-16 22:20:03',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(328,'2013-02-17 14:30:51','USER_LOGIN',1,'2013-02-17 15:30:51',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(329,'2013-02-17 17:21:22','USER_LOGIN',1,'2013-02-17 18:21:22',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(330,'2013-02-17 17:48:43','USER_MODIFY',1,'2013-02-17 18:48:43',1,'Modification utilisateur aaa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(331,'2013-02-17 17:48:47','USER_MODIFY',1,'2013-02-17 18:48:47',1,'Modification utilisateur aaa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(332,'2013-02-17 17:48:51','USER_MODIFY',1,'2013-02-17 18:48:51',1,'Modification utilisateur aaa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(333,'2013-02-17 17:48:56','USER_MODIFY',1,'2013-02-17 18:48:56',1,'Modification utilisateur aaa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(334,'2013-02-18 22:00:01','USER_LOGIN',1,'2013-02-18 23:00:01',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(335,'2013-02-19 08:19:52','USER_LOGIN',1,'2013-02-19 09:19:52',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(336,'2013-02-19 22:00:52','USER_LOGIN',1,'2013-02-19 23:00:52',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(337,'2013-02-20 09:34:52','USER_LOGIN',1,'2013-02-20 10:34:52',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(338,'2013-02-20 13:12:28','USER_LOGIN',1,'2013-02-20 14:12:28',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(339,'2013-02-20 17:19:44','USER_LOGIN',1,'2013-02-20 18:19:44',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(340,'2013-02-20 19:07:21','USER_MODIFY',1,'2013-02-20 20:07:21',1,'Modification utilisateur adupont','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(341,'2013-02-20 19:47:17','USER_LOGIN',1,'2013-02-20 20:47:17',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(342,'2013-02-20 19:48:01','USER_MODIFY',1,'2013-02-20 20:48:01',1,'Modification utilisateur aaa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(343,'2013-02-21 08:27:07','USER_LOGIN',1,'2013-02-21 09:27:07',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(344,'2013-02-23 13:34:13','USER_LOGIN',1,'2013-02-23 14:34:13',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(345,'2013-02-24 01:06:41','USER_LOGIN_FAILED',1,'2013-02-24 02:06:41',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(346,'2013-02-24 01:06:45','USER_LOGIN_FAILED',1,'2013-02-24 02:06:45',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(347,'2013-02-24 01:06:55','USER_LOGIN_FAILED',1,'2013-02-24 02:06:55',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(348,'2013-02-24 01:07:03','USER_LOGIN_FAILED',1,'2013-02-24 02:07:03',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(349,'2013-02-24 01:07:21','USER_LOGIN_FAILED',1,'2013-02-24 02:07:21',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(350,'2013-02-24 01:08:12','USER_LOGIN_FAILED',1,'2013-02-24 02:08:12',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(351,'2013-02-24 01:08:42','USER_LOGIN_FAILED',1,'2013-02-24 02:08:42',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(352,'2013-02-24 01:08:50','USER_LOGIN_FAILED',1,'2013-02-24 02:08:50',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(353,'2013-02-24 01:09:08','USER_LOGIN_FAILED',1,'2013-02-24 02:09:08',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(354,'2013-02-24 01:09:42','USER_LOGIN_FAILED',1,'2013-02-24 02:09:42',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(355,'2013-02-24 01:09:50','USER_LOGIN_FAILED',1,'2013-02-24 02:09:50',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(356,'2013-02-24 01:10:05','USER_LOGIN_FAILED',1,'2013-02-24 02:10:05',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(357,'2013-02-24 01:10:22','USER_LOGIN_FAILED',1,'2013-02-24 02:10:22',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(358,'2013-02-24 01:10:30','USER_LOGIN_FAILED',1,'2013-02-24 02:10:30',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(359,'2013-02-24 01:10:56','USER_LOGIN_FAILED',1,'2013-02-24 02:10:56',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(360,'2013-02-24 01:11:26','USER_LOGIN_FAILED',1,'2013-02-24 02:11:26',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(361,'2013-02-24 01:12:06','USER_LOGIN_FAILED',1,'2013-02-24 02:12:06',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(362,'2013-02-24 01:21:14','USER_LOGIN_FAILED',1,'2013-02-24 02:21:14',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(363,'2013-02-24 01:21:25','USER_LOGIN_FAILED',1,'2013-02-24 02:21:25',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(364,'2013-02-24 01:21:54','USER_LOGIN_FAILED',1,'2013-02-24 02:21:54',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(365,'2013-02-24 01:22:14','USER_LOGIN_FAILED',1,'2013-02-24 02:22:14',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(366,'2013-02-24 01:22:37','USER_LOGIN_FAILED',1,'2013-02-24 02:22:37',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(367,'2013-02-24 01:23:01','USER_LOGIN_FAILED',1,'2013-02-24 02:23:01',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(368,'2013-02-24 01:23:39','USER_LOGIN_FAILED',1,'2013-02-24 02:23:39',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(369,'2013-02-24 01:24:04','USER_LOGIN_FAILED',1,'2013-02-24 02:24:04',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(370,'2013-02-24 01:24:39','USER_LOGIN_FAILED',1,'2013-02-24 02:24:39',NULL,'Bad value for login or password - login=aa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(371,'2013-02-24 01:25:01','USER_LOGIN_FAILED',1,'2013-02-24 02:25:01',NULL,'Bad value for login or password - login=aa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(372,'2013-02-24 01:25:12','USER_LOGIN_FAILED',1,'2013-02-24 02:25:12',NULL,'Bad value for login or password - login=aa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(373,'2013-02-24 01:27:30','USER_LOGIN_FAILED',1,'2013-02-24 02:27:30',NULL,'Bad value for login or password - login=aa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(374,'2013-02-24 01:28:00','USER_LOGIN_FAILED',1,'2013-02-24 02:28:00',NULL,'Bad value for login or password - login=aa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(375,'2013-02-24 01:28:35','USER_LOGIN_FAILED',1,'2013-02-24 02:28:35',NULL,'Bad value for login or password - login=aa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(376,'2013-02-24 01:29:03','USER_LOGIN_FAILED',1,'2013-02-24 02:29:03',NULL,'Bad value for login or password - login=aa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(377,'2013-02-24 01:29:55','USER_LOGIN_FAILED',1,'2013-02-24 02:29:55',NULL,'Bad value for login or password - login=aa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(378,'2013-02-24 01:32:40','USER_LOGIN_FAILED',1,'2013-02-24 02:32:40',NULL,'Bad value for login or password - login=aa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(379,'2013-02-24 01:39:33','USER_LOGIN_FAILED',1,'2013-02-24 02:39:33',NULL,'Identifiants login ou mot de passe incorrects - login=aa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(380,'2013-02-24 01:39:38','USER_LOGIN_FAILED',1,'2013-02-24 02:39:38',NULL,'Identifiants login ou mot de passe incorrects - login=aa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(381,'2013-02-24 01:39:47','USER_LOGIN_FAILED',1,'2013-02-24 02:39:47',NULL,'Identifiants login ou mot de passe incorrects - login=lmkm','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(382,'2013-02-24 01:40:54','USER_LOGIN_FAILED',1,'2013-02-24 02:40:54',NULL,'Identifiants login ou mot de passe incorrects - login=lmkm','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(383,'2013-02-24 01:47:57','USER_LOGIN_FAILED',1,'2013-02-24 02:47:57',NULL,'Identifiants login ou mot de passe incorrects - login=lmkm','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(384,'2013-02-24 01:48:05','USER_LOGIN_FAILED',1,'2013-02-24 02:48:05',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(385,'2013-02-24 01:48:07','USER_LOGIN_FAILED',1,'2013-02-24 02:48:07',NULL,'Unknown column \'u.lastname\' in \'field list\'','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(386,'2013-02-24 01:48:35','USER_LOGIN',1,'2013-02-24 02:48:35',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(387,'2013-02-24 01:56:32','USER_LOGIN',1,'2013-02-24 02:56:32',1,'(UserLogged,admin)','192.168.0.254','Mozilla/5.0 (Linux; U; Android 2.2; en-us; sdk Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1',NULL),(388,'2013-02-24 02:05:55','USER_LOGOUT',1,'2013-02-24 03:05:55',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(389,'2013-02-24 02:39:52','USER_LOGIN',1,'2013-02-24 03:39:52',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(390,'2013-02-24 02:51:10','USER_LOGOUT',1,'2013-02-24 03:51:10',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(391,'2013-02-24 12:46:41','USER_LOGIN',1,'2013-02-24 13:46:41',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(392,'2013-02-24 12:46:52','USER_LOGOUT',1,'2013-02-24 13:46:52',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(393,'2013-02-24 12:46:56','USER_LOGIN',1,'2013-02-24 13:46:56',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(394,'2013-02-24 12:47:56','USER_LOGOUT',1,'2013-02-24 13:47:56',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(395,'2013-02-24 12:48:00','USER_LOGIN',1,'2013-02-24 13:48:00',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(396,'2013-02-24 12:48:11','USER_LOGOUT',1,'2013-02-24 13:48:11',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(397,'2013-02-24 12:48:32','USER_LOGIN',1,'2013-02-24 13:48:32',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(398,'2013-02-24 12:52:22','USER_LOGOUT',1,'2013-02-24 13:52:22',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(399,'2013-02-24 12:52:27','USER_LOGIN',1,'2013-02-24 13:52:27',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(400,'2013-02-24 12:52:54','USER_LOGOUT',1,'2013-02-24 13:52:54',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(401,'2013-02-24 12:52:59','USER_LOGIN',1,'2013-02-24 13:52:59',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(402,'2013-02-24 12:55:39','USER_LOGOUT',1,'2013-02-24 13:55:39',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(403,'2013-02-24 12:55:59','USER_LOGIN',1,'2013-02-24 13:55:59',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(404,'2013-02-24 12:56:07','USER_LOGOUT',1,'2013-02-24 13:56:07',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(405,'2013-02-24 12:56:23','USER_LOGIN',1,'2013-02-24 13:56:23',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(406,'2013-02-24 12:56:46','USER_LOGOUT',1,'2013-02-24 13:56:46',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(407,'2013-02-24 12:58:30','USER_LOGIN',1,'2013-02-24 13:58:30',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(408,'2013-02-24 12:58:33','USER_LOGOUT',1,'2013-02-24 13:58:33',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(409,'2013-02-24 12:58:51','USER_LOGIN',1,'2013-02-24 13:58:51',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(410,'2013-02-24 12:58:58','USER_LOGOUT',1,'2013-02-24 13:58:58',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(411,'2013-02-24 13:18:53','USER_LOGIN',1,'2013-02-24 14:18:53',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(412,'2013-02-24 13:19:52','USER_LOGOUT',1,'2013-02-24 14:19:52',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(413,'2013-02-24 15:39:31','USER_LOGIN_FAILED',1,'2013-02-24 16:39:31',NULL,'ErrorBadValueForCode - login=admin','127.0.0.1',NULL,NULL),(414,'2013-02-24 15:42:07','USER_LOGIN',1,'2013-02-24 16:42:07',1,'(UserLogged,admin)','127.0.0.1',NULL,NULL),(415,'2013-02-24 15:42:52','USER_LOGOUT',1,'2013-02-24 16:42:52',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7',NULL),(416,'2013-02-24 16:04:21','USER_LOGIN',1,'2013-02-24 17:04:21',1,'(UserLogged,admin)','192.168.0.254','Mozilla/5.0 (Linux; U; Android 2.2; en-us; sdk Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1',NULL),(417,'2013-02-24 16:11:28','USER_LOGIN_FAILED',1,'2013-02-24 17:11:28',NULL,'ErrorBadValueForCode - login=admin','127.0.0.1','Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7',NULL),(418,'2013-02-24 16:11:37','USER_LOGIN',1,'2013-02-24 17:11:37',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7',NULL),(419,'2013-02-24 16:36:52','USER_LOGOUT',1,'2013-02-24 17:36:52',1,'(UserLogoff,admin)','192.168.0.254','Mozilla/5.0 (Linux; U; Android 2.2; en-us; sdk Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1',NULL),(420,'2013-02-24 16:40:37','USER_LOGIN',1,'2013-02-24 17:40:37',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(421,'2013-02-24 16:57:16','USER_LOGIN',1,'2013-02-24 17:57:16',1,'(UserLogged,admin)','192.168.0.254','Mozilla/5.0 (Linux; U; Android 2.2; en-us; sdk Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1 - 2131034114',NULL),(422,'2013-02-24 17:01:30','USER_LOGOUT',1,'2013-02-24 18:01:30',1,'(UserLogoff,admin)','192.168.0.254','Mozilla/5.0 (Linux; U; Android 2.2; en-us; sdk Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1 - 2131034114',NULL),(423,'2013-02-24 17:02:33','USER_LOGIN',1,'2013-02-24 18:02:33',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(424,'2013-02-24 17:14:22','USER_LOGOUT',1,'2013-02-24 18:14:22',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(425,'2013-02-24 17:15:07','USER_LOGIN_FAILED',1,'2013-02-24 18:15:07',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(426,'2013-02-24 17:15:20','USER_LOGIN',1,'2013-02-24 18:15:20',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(427,'2013-02-24 17:20:14','USER_LOGIN',1,'2013-02-24 18:20:14',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(428,'2013-02-24 17:20:51','USER_LOGIN',1,'2013-02-24 18:20:51',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(429,'2013-02-24 17:20:54','USER_LOGOUT',1,'2013-02-24 18:20:54',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(430,'2013-02-24 17:21:19','USER_LOGIN',1,'2013-02-24 18:21:19',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(431,'2013-02-24 17:32:35','USER_LOGIN',1,'2013-02-24 18:32:35',1,'(UserLogged,admin)','192.168.0.254','Mozilla/5.0 (Linux; U; Android 2.2; en-us; sdk Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1 - 2131034114',NULL),(432,'2013-02-24 18:28:48','USER_LOGIN',1,'2013-02-24 19:28:48',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(433,'2013-02-24 18:29:27','USER_LOGOUT',1,'2013-02-24 19:29:27',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7',NULL),(434,'2013-02-24 18:29:32','USER_LOGIN',1,'2013-02-24 19:29:32',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7',NULL),(435,'2013-02-24 20:13:13','USER_LOGOUT',1,'2013-02-24 21:13:13',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(436,'2013-02-24 20:13:17','USER_LOGIN',1,'2013-02-24 21:13:17',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(437,'2013-02-25 08:57:16','USER_LOGIN',1,'2013-02-25 09:57:16',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(438,'2013-02-25 08:57:59','USER_LOGOUT',1,'2013-02-25 09:57:59',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(439,'2013-02-25 09:15:02','USER_LOGIN',1,'2013-02-25 10:15:02',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(440,'2013-02-25 09:15:50','USER_LOGOUT',1,'2013-02-25 10:15:50',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(441,'2013-02-25 09:15:57','USER_LOGIN',1,'2013-02-25 10:15:57',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(442,'2013-02-25 09:16:12','USER_LOGOUT',1,'2013-02-25 10:16:12',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(443,'2013-02-25 09:16:19','USER_LOGIN',1,'2013-02-25 10:16:19',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(444,'2013-02-25 09:16:25','USER_LOGOUT',1,'2013-02-25 10:16:25',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(445,'2013-02-25 09:16:39','USER_LOGIN_FAILED',1,'2013-02-25 10:16:39',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(446,'2013-02-25 09:16:42','USER_LOGIN_FAILED',1,'2013-02-25 10:16:42',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(447,'2013-02-25 09:16:54','USER_LOGIN_FAILED',1,'2013-02-25 10:16:54',NULL,'Identificadors d'usuari o contrasenya incorrectes - login=gfdg','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(448,'2013-02-25 09:17:53','USER_LOGIN',1,'2013-02-25 10:17:53',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(449,'2013-02-25 09:18:37','USER_LOGOUT',1,'2013-02-25 10:18:37',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(450,'2013-02-25 09:18:41','USER_LOGIN',1,'2013-02-25 10:18:41',4,'(UserLogged,aaa)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(451,'2013-02-25 09:18:47','USER_LOGOUT',1,'2013-02-25 10:18:47',4,'(UserLogoff,aaa)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(452,'2013-02-25 10:05:34','USER_LOGIN',1,'2013-02-25 11:05:34',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(453,'2013-02-26 21:51:40','USER_LOGIN',1,'2013-02-26 22:51:40',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(454,'2013-02-26 23:30:06','USER_LOGIN',1,'2013-02-27 00:30:06',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(455,'2013-02-27 14:13:11','USER_LOGIN',1,'2013-02-27 15:13:11',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(456,'2013-02-27 18:12:06','USER_LOGIN_FAILED',1,'2013-02-27 19:12:06',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(457,'2013-02-27 18:12:10','USER_LOGIN',1,'2013-02-27 19:12:10',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(458,'2013-02-27 20:20:08','USER_LOGIN',1,'2013-02-27 21:20:08',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(459,'2013-03-01 22:12:03','USER_LOGIN',1,'2013-03-01 23:12:03',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(460,'2013-03-02 11:45:50','USER_LOGIN',1,'2013-03-02 12:45:50',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(461,'2013-03-02 15:53:51','USER_LOGIN_FAILED',1,'2013-03-02 16:53:51',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(462,'2013-03-02 15:53:53','USER_LOGIN',1,'2013-03-02 16:53:53',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(463,'2013-03-02 18:32:32','USER_LOGIN',1,'2013-03-02 19:32:32',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(464,'2013-03-02 22:59:36','USER_LOGIN',1,'2013-03-02 23:59:36',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(465,'2013-03-03 16:26:26','USER_LOGIN',1,'2013-03-03 17:26:26',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(466,'2013-03-03 22:50:27','USER_LOGIN',1,'2013-03-03 23:50:27',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(467,'2013-03-04 08:29:27','USER_LOGIN',1,'2013-03-04 09:29:27',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(468,'2013-03-04 18:27:28','USER_LOGIN',1,'2013-03-04 19:27:28',1,'(UserLogged,admin)','192.168.0.254','Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0; NP06)',NULL),(469,'2013-03-04 19:27:23','USER_LOGIN',1,'2013-03-04 20:27:23',1,'(UserLogged,admin)','192.168.0.254','Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)',NULL),(470,'2013-03-04 19:35:14','USER_LOGIN',1,'2013-03-04 20:35:14',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(471,'2013-03-04 19:55:49','USER_LOGIN',1,'2013-03-04 20:55:49',1,'(UserLogged,admin)','192.168.0.254','Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0)',NULL),(472,'2013-03-04 21:16:13','USER_LOGIN',1,'2013-03-04 22:16:13',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(473,'2013-03-05 10:17:30','USER_LOGIN',1,'2013-03-05 11:17:30',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(474,'2013-03-05 11:02:43','USER_LOGIN',1,'2013-03-05 12:02:43',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(475,'2013-03-05 23:14:39','USER_LOGIN',1,'2013-03-06 00:14:39',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(476,'2013-03-06 08:58:57','USER_LOGIN',1,'2013-03-06 09:58:57',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(477,'2013-03-06 14:29:40','USER_LOGIN',1,'2013-03-06 15:29:40',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(478,'2013-03-06 21:53:02','USER_LOGIN',1,'2013-03-06 22:53:02',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(479,'2013-03-07 21:14:39','USER_LOGIN',1,'2013-03-07 22:14:39',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(480,'2013-03-08 00:06:05','USER_LOGIN',1,'2013-03-08 01:06:05',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(481,'2013-03-08 01:38:13','USER_LOGIN',1,'2013-03-08 02:38:13',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(482,'2013-03-08 08:59:50','USER_LOGIN',1,'2013-03-08 09:59:50',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(483,'2013-03-09 12:08:51','USER_LOGIN',1,'2013-03-09 13:08:51',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(484,'2013-03-09 15:19:53','USER_LOGIN',1,'2013-03-09 16:19:53',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(495,'2013-03-09 18:06:21','USER_LOGIN',1,'2013-03-09 19:06:21',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(496,'2013-03-09 20:01:24','USER_LOGIN',1,'2013-03-09 21:01:24',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(497,'2013-03-09 23:36:45','USER_LOGIN',1,'2013-03-10 00:36:45',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(498,'2013-03-10 14:37:13','USER_LOGIN',1,'2013-03-10 15:37:13',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(499,'2013-03-10 17:54:12','USER_LOGIN',1,'2013-03-10 18:54:12',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(500,'2013-03-11 08:57:09','USER_LOGIN',1,'2013-03-11 09:57:09',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(501,'2013-03-11 22:05:13','USER_LOGIN',1,'2013-03-11 23:05:13',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(502,'2013-03-12 08:34:27','USER_LOGIN',1,'2013-03-12 09:34:27',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(503,'2013-03-13 09:11:02','USER_LOGIN',1,'2013-03-13 10:11:02',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(504,'2013-03-13 10:02:11','USER_LOGIN',1,'2013-03-13 11:02:11',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(505,'2013-03-13 13:20:58','USER_LOGIN',1,'2013-03-13 14:20:58',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(506,'2013-03-13 16:19:28','USER_LOGIN',1,'2013-03-13 17:19:28',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(507,'2013-03-13 18:34:30','USER_LOGIN',1,'2013-03-13 19:34:30',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(508,'2013-03-14 08:25:02','USER_LOGIN',1,'2013-03-14 09:25:02',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(509,'2013-03-14 19:15:22','USER_LOGIN',1,'2013-03-14 20:15:22',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(510,'2013-03-14 21:58:53','USER_LOGIN',1,'2013-03-14 22:58:53',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(511,'2013-03-14 21:58:59','USER_LOGOUT',1,'2013-03-14 22:58:59',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(512,'2013-03-14 21:59:07','USER_LOGIN',1,'2013-03-14 22:59:07',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(513,'2013-03-14 22:58:22','USER_LOGOUT',1,'2013-03-14 23:58:22',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(514,'2013-03-14 23:00:25','USER_LOGIN',1,'2013-03-15 00:00:25',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(515,'2013-03-16 12:14:28','USER_LOGIN',1,'2013-03-16 13:14:28',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(516,'2013-03-16 16:09:01','USER_LOGIN',1,'2013-03-16 17:09:01',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(517,'2013-03-16 16:57:11','USER_LOGIN',1,'2013-03-16 17:57:11',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(518,'2013-03-16 19:31:31','USER_LOGIN',1,'2013-03-16 20:31:31',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(519,'2013-03-17 17:44:39','USER_LOGIN',1,'2013-03-17 18:44:39',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(520,'2013-03-17 20:40:57','USER_LOGIN',1,'2013-03-17 21:40:57',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(521,'2013-03-17 23:14:05','USER_LOGIN',1,'2013-03-18 00:14:05',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(522,'2013-03-17 23:28:47','USER_LOGOUT',1,'2013-03-18 00:28:47',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(523,'2013-03-17 23:28:54','USER_LOGIN',1,'2013-03-18 00:28:54',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(524,'2013-03-18 17:37:30','USER_LOGIN',1,'2013-03-18 18:37:30',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(525,'2013-03-18 18:11:37','USER_LOGIN',1,'2013-03-18 19:11:37',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(526,'2013-03-19 08:35:08','USER_LOGIN',1,'2013-03-19 09:35:08',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(527,'2013-03-19 09:20:23','USER_LOGIN',1,'2013-03-19 10:20:23',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(528,'2013-03-20 13:17:13','USER_LOGIN',1,'2013-03-20 14:17:13',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(529,'2013-03-20 14:44:31','USER_LOGIN',1,'2013-03-20 15:44:31',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(530,'2013-03-20 18:24:25','USER_LOGIN',1,'2013-03-20 19:24:25',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(531,'2013-03-20 19:15:54','USER_LOGIN',1,'2013-03-20 20:15:54',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(532,'2013-03-21 18:40:47','USER_LOGIN',1,'2013-03-21 19:40:47',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(533,'2013-03-21 21:42:24','USER_LOGIN',1,'2013-03-21 22:42:24',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(534,'2013-03-22 08:39:23','USER_LOGIN',1,'2013-03-22 09:39:23',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(535,'2013-03-23 13:04:55','USER_LOGIN',1,'2013-03-23 14:04:55',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(536,'2013-03-23 15:47:43','USER_LOGIN',1,'2013-03-23 16:47:43',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(537,'2013-03-23 22:56:36','USER_LOGIN',1,'2013-03-23 23:56:36',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(538,'2013-03-24 01:22:32','USER_LOGIN',1,'2013-03-24 02:22:32',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(539,'2013-03-24 14:40:42','USER_LOGIN',1,'2013-03-24 15:40:42',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(540,'2013-03-24 15:30:26','USER_LOGOUT',1,'2013-03-24 16:30:26',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(541,'2013-03-24 15:30:29','USER_LOGIN',1,'2013-03-24 16:30:29',2,'(UserLogged,demo)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(542,'2013-03-24 15:49:40','USER_LOGOUT',1,'2013-03-24 16:49:40',2,'(UserLogoff,demo)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(543,'2013-03-24 15:49:48','USER_LOGIN',1,'2013-03-24 16:49:48',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(544,'2013-03-24 15:52:35','USER_MODIFY',1,'2013-03-24 16:52:35',1,'Modification utilisateur zzzg','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(545,'2013-03-24 15:52:52','USER_MODIFY',1,'2013-03-24 16:52:52',1,'Modification utilisateur zzzg','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(546,'2013-03-24 15:53:09','USER_MODIFY',1,'2013-03-24 16:53:09',1,'Modification utilisateur zzzg','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(547,'2013-03-24 15:53:23','USER_MODIFY',1,'2013-03-24 16:53:23',1,'Modification utilisateur zzzg','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(548,'2013-03-24 16:00:04','USER_MODIFY',1,'2013-03-24 17:00:04',1,'Modification utilisateur zzzg','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(549,'2013-03-24 16:01:50','USER_MODIFY',1,'2013-03-24 17:01:50',1,'Modification utilisateur zzzg','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(550,'2013-03-24 16:10:14','USER_MODIFY',1,'2013-03-24 17:10:14',1,'Modification utilisateur zzzg','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(551,'2013-03-24 16:55:13','USER_LOGIN',1,'2013-03-24 17:55:13',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(552,'2013-03-24 17:44:29','USER_LOGIN',1,'2013-03-24 18:44:29',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(553,'2013-09-08 23:06:26','USER_LOGIN',1,'2013-09-09 01:06:26',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.57 Safari/537.36',NULL),(554,'2013-10-21 22:32:28','USER_LOGIN',1,'2013-10-22 00:32:28',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.66 Safari/537.36',NULL),(555,'2013-10-21 22:32:48','USER_LOGIN',1,'2013-10-22 00:32:48',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.66 Safari/537.36',NULL),(556,'2013-11-07 00:01:51','USER_LOGIN',1,'2013-11-07 01:01:51',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.114 Safari/537.36',NULL),(557,'2014-03-02 15:21:07','USER_LOGIN',1,'2014-03-02 16:21:07',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.117 Safari/537.36',NULL),(558,'2014-03-02 15:36:53','USER_LOGIN',1,'2014-03-02 16:36:53',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.117 Safari/537.36',NULL),(559,'2014-03-02 18:54:23','USER_LOGIN',1,'2014-03-02 19:54:23',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.117 Safari/537.36',NULL),(560,'2014-03-02 19:11:17','USER_LOGIN',1,'2014-03-02 20:11:17',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.117 Safari/537.36',NULL),(561,'2014-03-03 18:19:24','USER_LOGIN',1,'2014-03-03 19:19:24',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.117 Safari/537.36',NULL); /*!40000 ALTER TABLE `llx_events` ENABLE KEYS */; UNLOCK TABLES; @@ -3745,7 +3745,7 @@ CREATE TABLE `llx_facture` ( CONSTRAINT `fk_facture_fk_soc` FOREIGN KEY (`fk_soc`) REFERENCES `llx_societe` (`rowid`), CONSTRAINT `fk_facture_fk_user_author` FOREIGN KEY (`fk_user_author`) REFERENCES `llx_user` (`rowid`), CONSTRAINT `fk_facture_fk_user_valid` FOREIGN KEY (`fk_user_valid`) REFERENCES `llx_user` (`rowid`) -) ENGINE=InnoDB AUTO_INCREMENT=212 DEFAULT CHARSET=utf8; +) ENGINE=InnoDB AUTO_INCREMENT=214 DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -3754,7 +3754,7 @@ CREATE TABLE `llx_facture` ( LOCK TABLES `llx_facture` WRITE; /*!40000 ALTER TABLE `llx_facture` DISABLE KEYS */; -INSERT INTO `llx_facture` VALUES (1,'FA1007-0001',1,NULL,NULL,0,NULL,NULL,9,'2010-07-10 14:55:26','2010-07-10',NULL,'2011-07-20 11:18:39',0,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,0.02000000,0.02000000,1,1,1,NULL,1,NULL,NULL,1,0,'2010-07-10',NULL,NULL,'crabe',NULL,NULL),(2,'FA1007-0002',1,NULL,NULL,0,NULL,NULL,2,'2010-07-10 18:20:13','2010-07-10',NULL,'2011-08-08 00:54:05',1,10.00000000,NULL,NULL,0,NULL,NULL,0.10000000,0.00000000,0.00000000,0.00000000,46.00000000,46.10000000,2,1,1,NULL,NULL,NULL,NULL,1,0,'2010-07-10',NULL,NULL,'crabe',NULL,NULL),(3,'FA1107-0006',1,NULL,NULL,0,NULL,NULL,10,'2011-07-18 20:33:35','2011-07-18',NULL,'2012-12-08 16:39:01',1,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,15.00000000,15.00000000,2,1,1,NULL,1,NULL,NULL,1,0,'2011-07-18',NULL,NULL,'crabe',NULL,NULL),(5,'FA1108-0003',1,NULL,NULL,0,NULL,NULL,7,'2011-08-01 03:34:11','2011-08-01',NULL,'2011-08-01 01:34:11',1,0.00000000,NULL,NULL,0,NULL,NULL,0.63000000,0.00000000,0.00000000,0.00000000,5.00000000,5.63000000,2,1,1,NULL,NULL,NULL,NULL,0,6,'2011-08-01',NULL,NULL,'',NULL,NULL),(6,'FA1108-0004',1,NULL,NULL,0,NULL,NULL,7,'2011-08-06 20:33:53','2011-08-06',NULL,'2011-08-06 18:35:13',1,0.00000000,NULL,NULL,0,NULL,NULL,0.98000000,0.00000000,0.00000000,0.00000000,5.00000000,5.98000000,2,1,1,NULL,NULL,NULL,NULL,0,4,'2011-08-06','Cash\nReceived : 6 EUR\nRendu : 0.02 EUR\n\n--------------------------------------',NULL,'crabe',NULL,NULL),(8,'FA1108-0005',1,NULL,NULL,3,NULL,NULL,2,'2011-08-08 02:41:44','2011-08-08',NULL,'2011-08-08 00:53:40',1,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,10.00000000,10.00000000,2,1,1,NULL,NULL,NULL,NULL,1,0,'2011-08-08',NULL,NULL,'crabe',NULL,NULL),(9,'FA1108-0007',1,NULL,NULL,3,NULL,NULL,10,'2011-08-08 02:55:14','2011-08-08',NULL,'2011-08-08 00:55:26',0,0.00000000,NULL,NULL,0,NULL,NULL,1.96000000,0.00000000,0.00000000,0.00000000,10.00000000,11.96000000,1,1,1,NULL,NULL,NULL,NULL,1,0,'2011-08-08',NULL,NULL,'crabe',NULL,NULL),(10,'AV1212-0001',1,NULL,NULL,2,NULL,NULL,10,'2012-12-08 17:45:20','2012-12-08','2012-12-08','2012-12-08 16:57:11',0,0.00000000,NULL,NULL,0,NULL,NULL,-0.63000000,0.00000000,0.00000000,0.00000000,-11.00000000,-11.63000000,1,1,1,3,NULL,NULL,NULL,0,0,'2012-12-08',NULL,NULL,'crabe',NULL,NULL),(11,'FA1212-0008',1,NULL,NULL,0,NULL,NULL,10,'2012-12-08 17:58:13','2012-12-08','2012-12-08','2012-12-08 16:58:27',0,0.00000000,NULL,NULL,0,NULL,NULL,0.63000000,0.00000000,0.00000000,0.00000000,5.00000000,5.63000000,1,1,1,NULL,NULL,NULL,NULL,1,0,'2012-12-08',NULL,NULL,'crabe',NULL,NULL),(12,'AV1212-0002',1,NULL,NULL,2,NULL,NULL,10,'2012-12-08 18:20:14','2012-12-08','2012-12-08','2012-12-09 17:35:07',1,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,-5.00000000,-5.00000000,2,1,1,3,NULL,NULL,NULL,0,0,'2012-12-08',NULL,NULL,'crabe',NULL,NULL),(13,'FA1212-0011',1,NULL,NULL,0,NULL,NULL,7,'2012-12-09 20:04:19','2012-12-09','2013-02-12','2013-02-12 14:54:37',0,0.00000000,NULL,NULL,0,NULL,NULL,2.74000000,0.00000000,0.00000000,0.00000000,14.00000000,16.74000000,1,1,1,NULL,NULL,NULL,NULL,1,0,'2012-12-09',NULL,NULL,'crabe',NULL,NULL),(32,'FA1212-0021',1,NULL,NULL,0,NULL,NULL,1,'2012-12-11 09:34:23','2012-12-11','2013-03-24','2013-03-24 14:54:00',0,0.00000000,NULL,NULL,0,NULL,NULL,90.00000000,0.00000000,0.00000000,0.60000000,520.00000000,610.60000000,1,1,1,NULL,NULL,NULL,NULL,1,0,'2012-12-11','This is a comment (private)','This is a comment (public)','crabe',NULL,NULL),(33,'(PROV33)',1,NULL,NULL,0,NULL,NULL,1,'2012-12-11 09:34:23','2012-12-11',NULL,'2012-12-11 08:34:23',0,0.00000000,NULL,NULL,0,NULL,NULL,0.24000000,0.00000000,0.00000000,0.00000000,2.48000000,2.72000000,0,1,NULL,NULL,NULL,NULL,NULL,1,0,'2012-12-11','This is a comment (private)','This is a comment (public)','',NULL,NULL),(55,'FA1212-0009',1,NULL,NULL,0,NULL,NULL,1,'2012-12-11 09:35:51','2012-12-11','2012-12-12','2012-12-12 17:54:19',0,0.00000000,NULL,NULL,0,NULL,NULL,0.24000000,0.00000000,0.00000000,0.00000000,2.48000000,2.72000000,1,1,1,NULL,NULL,NULL,NULL,1,0,'2012-12-11','This is a comment (private)','This is a comment (public)','',NULL,NULL),(56,'(PROV56)',1,NULL,NULL,0,NULL,NULL,1,'2012-12-11 09:35:52','2012-12-11',NULL,'2012-12-11 08:35:52',0,0.00000000,NULL,NULL,0,NULL,NULL,0.24000000,0.00000000,0.00000000,0.00000000,2.48000000,2.72000000,0,1,NULL,NULL,NULL,NULL,NULL,1,0,'2012-12-11','This is a comment (private)','This is a comment (public)','',NULL,NULL),(78,'(PROV78)',1,NULL,NULL,0,NULL,NULL,1,'2012-12-11 09:36:41','2012-12-11',NULL,'2012-12-11 08:36:41',0,0.00000000,NULL,NULL,0,NULL,NULL,0.24000000,0.00000000,0.00000000,0.00000000,2.48000000,2.72000000,0,1,NULL,NULL,NULL,NULL,NULL,1,0,'2012-12-11','This is a comment (private)','This is a comment (public)','',NULL,NULL),(79,'(PROV79)',1,NULL,NULL,0,NULL,NULL,1,'2012-12-11 09:36:41','2012-12-11',NULL,'2012-12-19 16:56:16',0,0.00000000,NULL,NULL,0,NULL,NULL,7.60000000,0.66000000,-3.00000000,0.00000000,50.00000000,55.26000000,0,1,NULL,NULL,NULL,NULL,NULL,1,0,'2012-12-11','This is a comment (private)','This is a comment (public)','',NULL,NULL),(121,'(PROV121)',1,NULL,NULL,0,NULL,NULL,1,'2012-12-19 18:39:38','2012-12-19',NULL,'2012-12-19 17:39:38',0,0.00000000,NULL,NULL,0,NULL,NULL,0.24000000,0.00000000,0.00000000,0.00000000,2.48000000,2.72000000,0,1,NULL,NULL,NULL,NULL,NULL,1,0,'2012-12-19','This is a comment (private)','This is a comment (public)','',NULL,NULL),(122,'(PROV122)',1,NULL,NULL,0,NULL,NULL,1,'2012-12-19 18:39:38','2012-12-19',NULL,'2012-12-19 17:39:38',0,0.00000000,NULL,NULL,0,NULL,NULL,0.24000000,0.00000000,0.00000000,0.00000000,2.48000000,2.72000000,0,1,NULL,NULL,NULL,NULL,NULL,1,0,'2012-12-19','This is a comment (private)','This is a comment (public)','',NULL,NULL),(146,'(PROV146)',1,NULL,NULL,0,NULL,NULL,1,'2012-12-19 18:48:41','2012-12-19',NULL,'2013-01-18 14:51:01',0,0.00000000,NULL,NULL,0,NULL,NULL,0.24000000,0.00000000,0.00000000,0.00000000,2.48000000,2.72000000,0,1,NULL,NULL,NULL,NULL,NULL,1,0,'2012-12-19','This is a comment (private)','This is a comment (public)','crabe',NULL,NULL),(147,'(PROV147)',1,NULL,NULL,0,NULL,NULL,1,'2012-12-19 18:48:42','2012-12-19',NULL,'2012-12-19 17:48:42',0,0.00000000,NULL,NULL,0,NULL,NULL,0.24000000,0.00000000,0.00000000,0.00000000,2.48000000,2.72000000,0,1,NULL,NULL,NULL,NULL,NULL,1,0,'2012-12-19','This is a comment (private)','This is a comment (public)','',NULL,NULL),(148,'FS1301-0001',1,NULL,NULL,0,NULL,NULL,1,'2013-01-19 18:22:48','2013-01-19','2013-01-19','2013-01-19 17:22:48',0,0.00000000,NULL,NULL,0,NULL,NULL,0.63000000,0.00000000,0.00000000,0.00000000,5.00000000,5.63000000,1,1,1,NULL,NULL,NULL,NULL,0,1,'2013-01-19',NULL,NULL,'',NULL,NULL),(149,'(PROV149)',1,NULL,NULL,0,NULL,NULL,1,'2013-01-19 18:30:05','2013-01-19',NULL,'2013-02-13 14:02:53',0,0.00000000,NULL,NULL,0,NULL,NULL,1.96000000,0.00000000,0.00000000,0.00000000,10.00000000,11.96000000,0,1,NULL,NULL,NULL,NULL,NULL,0,0,'2013-01-19',NULL,NULL,'crabe',NULL,NULL),(150,'FA6801-0010',1,NULL,NULL,0,NULL,NULL,1,'2013-01-19 18:31:10','2013-01-19','2013-01-19','2013-01-19 17:31:10',1,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,2,1,1,NULL,NULL,NULL,NULL,0,1,'2013-01-19',NULL,NULL,'',NULL,NULL),(151,'FS1301-0002',1,NULL,NULL,0,NULL,NULL,1,'2013-01-19 18:31:58','2013-01-19','2013-01-19','2013-01-19 17:31:58',1,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,2,1,1,NULL,NULL,NULL,NULL,0,1,'2013-01-19',NULL,NULL,'',NULL,NULL),(152,'FA1302-0012',1,NULL,NULL,0,NULL,NULL,18,'2013-02-17 16:26:53','2013-02-17','2013-02-17','2013-02-17 15:27:00',0,0.00000000,NULL,NULL,0,NULL,NULL,1.96000000,0.00000000,0.00000000,0.00000000,10.00000000,11.96000000,1,1,1,NULL,NULL,NULL,NULL,1,0,'2013-02-17',NULL,NULL,'crabe',NULL,NULL),(153,'(PROV153)',1,NULL,NULL,0,NULL,NULL,1,'2013-02-17 18:22:24','2013-02-17',NULL,'2013-02-17 17:22:24',0,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,10.00000000,10.00000000,0,1,NULL,NULL,NULL,NULL,NULL,1,0,'2013-02-17',NULL,NULL,'crabe',NULL,NULL),(154,'(PROV154)',1,NULL,NULL,0,NULL,NULL,1,'2013-02-17 18:24:21','2013-02-17',NULL,'2013-02-17 17:24:21',0,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,10.00000000,10.00000000,0,1,NULL,NULL,NULL,NULL,NULL,1,0,'2013-02-17',NULL,NULL,'crabe',NULL,NULL),(155,'(PROV155)',1,NULL,NULL,0,NULL,NULL,1,'2013-02-17 18:30:30','2013-02-17',NULL,'2013-02-17 17:30:30',0,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,10.00000000,10.00000000,0,1,NULL,NULL,NULL,NULL,NULL,1,0,'2013-02-17',NULL,NULL,'crabe',NULL,NULL),(156,'(PROV156)',1,NULL,NULL,0,NULL,NULL,1,'2013-02-17 18:37:01','2013-02-17',NULL,'2013-02-17 17:37:01',0,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,10.00000000,10.00000000,0,1,NULL,NULL,NULL,NULL,NULL,1,0,'2013-02-17',NULL,NULL,'crabe',NULL,NULL),(157,'(PROV157)',1,NULL,NULL,0,NULL,NULL,18,'2013-02-17 18:39:23','2013-02-17',NULL,'2013-02-17 17:39:23',0,0.00000000,NULL,NULL,0,NULL,NULL,3.22000000,0.00000000,0.00000000,0.00000000,20.00000000,23.22000000,0,1,NULL,NULL,NULL,NULL,NULL,1,0,'2013-02-17',NULL,NULL,'crabe',NULL,NULL),(158,'FA1307-0013',1,NULL,NULL,0,NULL,NULL,12,'2013-03-06 16:43:37','2013-07-18','2013-03-23','2013-03-23 17:23:03',0,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,10.00000000,10.00000000,1,1,1,NULL,NULL,NULL,NULL,1,0,'2013-07-18',NULL,NULL,'crabe',NULL,NULL),(159,'FA1407-0014',1,NULL,NULL,0,NULL,NULL,12,'2013-03-06 16:44:12','2014-07-18','2013-03-06','2013-03-06 15:44:12',0,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,11.00000000,11.00000000,1,1,1,NULL,NULL,NULL,NULL,1,0,'2014-07-18',NULL,NULL,'',NULL,NULL),(160,'FA1507-0015',1,NULL,NULL,0,NULL,NULL,12,'2013-03-06 16:47:48','2015-07-18','2013-03-06','2013-03-06 15:47:48',0,0.00000000,NULL,NULL,0,NULL,NULL,1.11000000,0.00000000,0.00000000,0.00000000,8.89000000,10.00000000,1,1,1,NULL,NULL,NULL,NULL,1,0,'2015-07-18',NULL,NULL,'',NULL,NULL),(161,'FA1607-0016',1,NULL,NULL,0,NULL,NULL,12,'2013-03-06 16:48:16','2016-07-18','2013-03-06','2013-03-06 15:48:16',0,0.00000000,NULL,NULL,0,NULL,NULL,2.22000000,0.00000000,0.00000000,0.00000000,17.78000000,20.00000000,1,1,1,NULL,NULL,NULL,NULL,1,0,'2016-07-18',NULL,NULL,'',NULL,NULL),(162,'(PROV162)',1,NULL,NULL,0,'fdfs',NULL,23,'2013-03-08 10:02:54','2013-03-08',NULL,'2013-03-08 09:02:54',0,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,5.00000000,5.00000000,0,1,NULL,NULL,NULL,NULL,NULL,1,0,'2013-03-08',NULL,NULL,'crabe',NULL,NULL),(184,'(PROV184)',1,NULL,NULL,0,NULL,NULL,1,'2013-03-09 18:19:36','2013-03-09',NULL,'2013-03-09 17:19:36',0,0.00000000,NULL,NULL,0,NULL,NULL,0.24000000,0.00000000,0.00000000,0.00000000,2.48000000,2.72000000,0,1,NULL,NULL,NULL,NULL,NULL,1,0,'2013-03-09','This is a comment (private)','This is a comment (public)','',NULL,NULL),(185,'(PROV185)',1,NULL,NULL,0,NULL,NULL,1,'2013-03-09 18:19:36','2013-03-09',NULL,'2013-03-09 17:19:36',0,0.00000000,NULL,NULL,0,NULL,NULL,0.24000000,0.00000000,0.00000000,0.00000000,2.48000000,2.72000000,0,1,NULL,NULL,NULL,NULL,NULL,1,0,'2013-03-09','This is a comment (private)','This is a comment (public)','',NULL,NULL),(186,'(PROV186)',1,NULL,NULL,0,NULL,NULL,1,'2013-03-09 18:26:56','2013-03-09',NULL,'2013-03-09 17:26:56',0,0.00000000,NULL,NULL,0,NULL,NULL,0.24000000,0.00000000,0.00000000,0.00000000,2.48000000,2.72000000,0,1,NULL,NULL,NULL,NULL,NULL,1,0,'2013-03-09','This is a comment (private)','This is a comment (public)','',NULL,NULL),(187,'(PROV187)',1,NULL,NULL,0,NULL,NULL,1,'2013-03-09 18:26:56','2013-03-09',NULL,'2013-03-09 17:26:56',0,0.00000000,NULL,NULL,0,NULL,NULL,0.24000000,0.00000000,0.00000000,0.00000000,2.48000000,2.72000000,0,1,NULL,NULL,NULL,NULL,NULL,1,0,'2013-03-09','This is a comment (private)','This is a comment (public)','',NULL,NULL),(206,'(PROV206)',1,NULL,NULL,0,NULL,NULL,1,'2013-03-09 18:34:05','2013-03-09',NULL,'2013-03-09 17:34:05',0,0.00000000,NULL,NULL,0,NULL,NULL,0.24000000,0.00000000,0.00000000,0.00000000,2.48000000,2.72000000,0,1,NULL,NULL,NULL,NULL,NULL,1,0,'2013-03-09','This is a comment (private)','This is a comment (public)','',NULL,NULL),(207,'(PROV207)',1,NULL,NULL,0,NULL,NULL,1,'2013-03-09 18:34:05','2013-03-09',NULL,'2013-03-10 14:45:36',0,0.00000000,NULL,NULL,0,NULL,NULL,0.24000000,0.00000000,0.00000000,0.00000000,2.48000000,2.72000000,0,1,NULL,NULL,NULL,NULL,NULL,1,0,'2013-03-09','This is a comment (private)','This is a comment (public)','generic_invoice_odt:/var/www/dolibarrnew/documents/doctemplates/invoices/template_invoice.odt',NULL,NULL),(208,'FA1303-0017',1,NULL,NULL,0,NULL,NULL,26,'2013-03-10 15:58:11','2013-03-10','2013-03-10','2013-03-10 14:58:34',0,0.00000000,NULL,NULL,0,NULL,NULL,1.25000000,0.00000000,0.00000000,0.00000000,10.00000000,11.25000000,1,1,1,NULL,NULL,NULL,NULL,1,0,'2013-03-10',NULL,NULL,'generic_invoice_odt:/var/www/dolibarrnew/documents/doctemplates/invoices/template_invoice.odt',NULL,NULL),(209,'FA1303-0018',1,NULL,NULL,0,NULL,NULL,19,'2013-03-19 09:37:51','2013-03-19','2013-03-19','2013-03-19 08:38:10',0,0.00000000,NULL,NULL,0,NULL,NULL,-1.25000000,0.00000000,0.00000000,0.00000000,10.00000000,8.75000000,1,1,1,NULL,NULL,NULL,NULL,1,0,'2013-03-19',NULL,NULL,'crabe',NULL,NULL),(210,'FA1107-0019',1,NULL,NULL,0,NULL,NULL,10,'2013-03-20 14:30:11','2011-07-10','2013-03-20','2013-03-20 13:30:11',0,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,10.00000000,10.00000000,1,1,1,NULL,NULL,NULL,NULL,1,0,'2011-07-10',NULL,NULL,'',NULL,NULL),(211,'FA1303-0020',1,NULL,NULL,0,NULL,NULL,19,'2013-03-22 09:40:10','2013-03-22','2013-03-23','2013-03-23 16:31:13',0,0.00000000,NULL,NULL,0,NULL,NULL,0.60000000,0.00000000,0.00000000,0.40000000,110.00000000,111.00000000,0,1,NULL,NULL,NULL,NULL,NULL,1,0,'2013-03-22',NULL,NULL,'crabe',NULL,NULL); +INSERT INTO `llx_facture` VALUES (1,'FA1007-0001',1,NULL,NULL,0,NULL,NULL,9,'2010-07-10 14:55:26','2010-07-10',NULL,'2011-07-20 11:18:39',0,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,0.02000000,0.02000000,1,1,1,NULL,1,NULL,NULL,1,0,'2010-07-10',NULL,NULL,'crabe',NULL,NULL),(2,'FA1007-0002',1,NULL,NULL,0,NULL,NULL,2,'2010-07-10 18:20:13','2010-07-10',NULL,'2011-08-08 00:54:05',1,10.00000000,NULL,NULL,0,NULL,NULL,0.10000000,0.00000000,0.00000000,0.00000000,46.00000000,46.10000000,2,1,1,NULL,NULL,NULL,NULL,1,0,'2010-07-10',NULL,NULL,'crabe',NULL,NULL),(3,'FA1107-0006',1,NULL,NULL,0,NULL,NULL,10,'2011-07-18 20:33:35','2011-07-18',NULL,'2012-12-08 16:39:01',1,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,15.00000000,15.00000000,2,1,1,NULL,1,NULL,NULL,1,0,'2011-07-18',NULL,NULL,'crabe',NULL,NULL),(5,'FA1108-0003',1,NULL,NULL,0,NULL,NULL,7,'2011-08-01 03:34:11','2011-08-01',NULL,'2011-08-01 01:34:11',1,0.00000000,NULL,NULL,0,NULL,NULL,0.63000000,0.00000000,0.00000000,0.00000000,5.00000000,5.63000000,2,1,1,NULL,NULL,NULL,NULL,0,6,'2011-08-01',NULL,NULL,'',NULL,NULL),(6,'FA1108-0004',1,NULL,NULL,0,NULL,NULL,7,'2011-08-06 20:33:53','2011-08-06',NULL,'2011-08-06 18:35:13',1,0.00000000,NULL,NULL,0,NULL,NULL,0.98000000,0.00000000,0.00000000,0.00000000,5.00000000,5.98000000,2,1,1,NULL,NULL,NULL,NULL,0,4,'2011-08-06','Cash\nReceived : 6 EUR\nRendu : 0.02 EUR\n\n--------------------------------------',NULL,'crabe',NULL,NULL),(8,'FA1108-0005',1,NULL,NULL,3,NULL,NULL,2,'2011-08-08 02:41:44','2011-08-08',NULL,'2011-08-08 00:53:40',1,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,10.00000000,10.00000000,2,1,1,NULL,NULL,NULL,NULL,1,0,'2011-08-08',NULL,NULL,'crabe',NULL,NULL),(9,'FA1108-0007',1,NULL,NULL,3,NULL,NULL,10,'2011-08-08 02:55:14','2011-08-08',NULL,'2011-08-08 00:55:26',0,0.00000000,NULL,NULL,0,NULL,NULL,1.96000000,0.00000000,0.00000000,0.00000000,10.00000000,11.96000000,1,1,1,NULL,NULL,NULL,NULL,1,0,'2011-08-08',NULL,NULL,'crabe',NULL,NULL),(10,'AV1212-0001',1,NULL,NULL,2,NULL,NULL,10,'2012-12-08 17:45:20','2012-12-08','2012-12-08','2012-12-08 16:57:11',0,0.00000000,NULL,NULL,0,NULL,NULL,-0.63000000,0.00000000,0.00000000,0.00000000,-11.00000000,-11.63000000,1,1,1,3,NULL,NULL,NULL,0,0,'2012-12-08',NULL,NULL,'crabe',NULL,NULL),(11,'FA1212-0008',1,NULL,NULL,0,NULL,NULL,10,'2012-12-08 17:58:13','2012-12-08','2012-12-08','2012-12-08 16:58:27',0,0.00000000,NULL,NULL,0,NULL,NULL,0.63000000,0.00000000,0.00000000,0.00000000,5.00000000,5.63000000,1,1,1,NULL,NULL,NULL,NULL,1,0,'2012-12-08',NULL,NULL,'crabe',NULL,NULL),(12,'AV1212-0002',1,NULL,NULL,2,NULL,NULL,10,'2012-12-08 18:20:14','2012-12-08','2012-12-08','2012-12-09 17:35:07',1,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,-5.00000000,-5.00000000,2,1,1,3,NULL,NULL,NULL,0,0,'2012-12-08',NULL,NULL,'crabe',NULL,NULL),(13,'FA1212-0011',1,NULL,NULL,0,NULL,NULL,7,'2012-12-09 20:04:19','2012-12-09','2013-02-12','2013-02-12 14:54:37',0,0.00000000,NULL,NULL,0,NULL,NULL,2.74000000,0.00000000,0.00000000,0.00000000,14.00000000,16.74000000,1,1,1,NULL,NULL,NULL,NULL,1,0,'2012-12-09',NULL,NULL,'crabe',NULL,NULL),(32,'FA1212-0021',1,NULL,NULL,0,NULL,NULL,1,'2012-12-11 09:34:23','2012-12-11','2013-03-24','2013-03-24 14:54:00',0,0.00000000,NULL,NULL,0,NULL,NULL,90.00000000,0.00000000,0.00000000,0.60000000,520.00000000,610.60000000,1,1,1,NULL,NULL,NULL,NULL,1,0,'2012-12-11','This is a comment (private)','This is a comment (public)','crabe',NULL,NULL),(33,'FA1212-0023',1,NULL,NULL,0,NULL,NULL,1,'2012-12-11 09:34:23','2012-12-11','2014-03-03','2014-03-03 18:20:25',0,0.00000000,NULL,NULL,0,'abandon',NULL,0.24000000,0.00000000,0.00000000,0.00000000,2.48000000,2.72000000,3,1,1,NULL,NULL,NULL,NULL,1,0,'2012-12-11','This is a comment (private)','This is a comment (public)','',NULL,NULL),(55,'FA1212-0009',1,NULL,NULL,0,NULL,NULL,1,'2012-12-11 09:35:51','2012-12-11','2012-12-12','2012-12-12 17:54:19',0,0.00000000,NULL,NULL,0,NULL,NULL,0.24000000,0.00000000,0.00000000,0.00000000,2.48000000,2.72000000,1,1,1,NULL,NULL,NULL,NULL,1,0,'2012-12-11','This is a comment (private)','This is a comment (public)','',NULL,NULL),(56,'(PROV56)',1,NULL,NULL,0,NULL,NULL,1,'2012-12-11 09:35:52','2012-12-11',NULL,'2012-12-11 08:35:52',0,0.00000000,NULL,NULL,0,NULL,NULL,0.24000000,0.00000000,0.00000000,0.00000000,2.48000000,2.72000000,0,1,NULL,NULL,NULL,NULL,NULL,1,0,'2012-12-11','This is a comment (private)','This is a comment (public)','',NULL,NULL),(78,'(PROV78)',1,NULL,NULL,0,NULL,NULL,1,'2012-12-11 09:36:41','2012-12-11',NULL,'2012-12-11 08:36:41',0,0.00000000,NULL,NULL,0,NULL,NULL,0.24000000,0.00000000,0.00000000,0.00000000,2.48000000,2.72000000,0,1,NULL,NULL,NULL,NULL,NULL,1,0,'2012-12-11','This is a comment (private)','This is a comment (public)','',NULL,NULL),(79,'(PROV79)',1,NULL,NULL,0,NULL,NULL,1,'2012-12-11 09:36:41','2012-12-11',NULL,'2012-12-19 16:56:16',0,0.00000000,NULL,NULL,0,NULL,NULL,7.60000000,0.66000000,-3.00000000,0.00000000,50.00000000,55.26000000,0,1,NULL,NULL,NULL,NULL,NULL,1,0,'2012-12-11','This is a comment (private)','This is a comment (public)','',NULL,NULL),(121,'(PROV121)',1,NULL,NULL,0,NULL,NULL,1,'2012-12-19 18:39:38','2012-12-19',NULL,'2012-12-19 17:39:38',0,0.00000000,NULL,NULL,0,NULL,NULL,0.24000000,0.00000000,0.00000000,0.00000000,2.48000000,2.72000000,0,1,NULL,NULL,NULL,NULL,NULL,1,0,'2012-12-19','This is a comment (private)','This is a comment (public)','',NULL,NULL),(122,'(PROV122)',1,NULL,NULL,0,NULL,NULL,1,'2012-12-19 18:39:38','2012-12-19',NULL,'2012-12-19 17:39:38',0,0.00000000,NULL,NULL,0,NULL,NULL,0.24000000,0.00000000,0.00000000,0.00000000,2.48000000,2.72000000,0,1,NULL,NULL,NULL,NULL,NULL,1,0,'2012-12-19','This is a comment (private)','This is a comment (public)','',NULL,NULL),(146,'(PROV146)',1,NULL,NULL,0,NULL,NULL,1,'2012-12-19 18:48:41','2012-12-19',NULL,'2013-01-18 14:51:01',0,0.00000000,NULL,NULL,0,NULL,NULL,0.24000000,0.00000000,0.00000000,0.00000000,2.48000000,2.72000000,0,1,NULL,NULL,NULL,NULL,NULL,1,0,'2012-12-19','This is a comment (private)','This is a comment (public)','crabe',NULL,NULL),(147,'(PROV147)',1,NULL,NULL,0,NULL,NULL,1,'2012-12-19 18:48:42','2012-12-19',NULL,'2012-12-19 17:48:42',0,0.00000000,NULL,NULL,0,NULL,NULL,0.24000000,0.00000000,0.00000000,0.00000000,2.48000000,2.72000000,0,1,NULL,NULL,NULL,NULL,NULL,1,0,'2012-12-19','This is a comment (private)','This is a comment (public)','',NULL,NULL),(148,'FS1301-0001',1,NULL,NULL,0,NULL,NULL,1,'2013-01-19 18:22:48','2013-01-19','2013-01-19','2013-01-19 17:22:48',0,0.00000000,NULL,NULL,0,NULL,NULL,0.63000000,0.00000000,0.00000000,0.00000000,5.00000000,5.63000000,1,1,1,NULL,NULL,NULL,NULL,0,1,'2013-01-19',NULL,NULL,'',NULL,NULL),(149,'(PROV149)',1,NULL,NULL,0,NULL,NULL,1,'2013-01-19 18:30:05','2013-01-19',NULL,'2013-02-13 14:02:53',0,0.00000000,NULL,NULL,0,NULL,NULL,1.96000000,0.00000000,0.00000000,0.00000000,10.00000000,11.96000000,0,1,NULL,NULL,NULL,NULL,NULL,0,0,'2013-01-19',NULL,NULL,'crabe',NULL,NULL),(150,'FA6801-0010',1,NULL,NULL,0,NULL,NULL,1,'2013-01-19 18:31:10','2013-01-19','2013-01-19','2013-01-19 17:31:10',1,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,2,1,1,NULL,NULL,NULL,NULL,0,1,'2013-01-19',NULL,NULL,'',NULL,NULL),(151,'FS1301-0002',1,NULL,NULL,0,NULL,NULL,1,'2013-01-19 18:31:58','2013-01-19','2013-01-19','2013-01-19 17:31:58',1,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,2,1,1,NULL,NULL,NULL,NULL,0,1,'2013-01-19',NULL,NULL,'',NULL,NULL),(152,'FA1302-0012',1,NULL,NULL,0,NULL,NULL,18,'2013-02-17 16:26:53','2013-02-17','2013-02-17','2013-02-17 15:27:00',0,0.00000000,NULL,NULL,0,NULL,NULL,1.96000000,0.00000000,0.00000000,0.00000000,10.00000000,11.96000000,1,1,1,NULL,NULL,NULL,NULL,1,0,'2013-02-17',NULL,NULL,'crabe',NULL,NULL),(153,'(PROV153)',1,NULL,NULL,0,NULL,NULL,1,'2013-02-17 18:22:24','2013-02-17',NULL,'2013-02-17 17:22:24',0,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,10.00000000,10.00000000,0,1,NULL,NULL,NULL,NULL,NULL,1,0,'2013-02-17',NULL,NULL,'crabe',NULL,NULL),(154,'(PROV154)',1,NULL,NULL,0,NULL,NULL,1,'2013-02-17 18:24:21','2013-02-17',NULL,'2013-02-17 17:24:21',0,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,10.00000000,10.00000000,0,1,NULL,NULL,NULL,NULL,NULL,1,0,'2013-02-17',NULL,NULL,'crabe',NULL,NULL),(155,'(PROV155)',1,NULL,NULL,0,NULL,NULL,1,'2013-02-17 18:30:30','2013-02-17',NULL,'2013-02-17 17:30:30',0,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,10.00000000,10.00000000,0,1,NULL,NULL,NULL,NULL,NULL,1,0,'2013-02-17',NULL,NULL,'crabe',NULL,NULL),(156,'(PROV156)',1,NULL,NULL,0,NULL,NULL,1,'2013-02-17 18:37:01','2013-02-17',NULL,'2013-02-17 17:37:01',0,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,10.00000000,10.00000000,0,1,NULL,NULL,NULL,NULL,NULL,1,0,'2013-02-17',NULL,NULL,'crabe',NULL,NULL),(157,'FA1302-0022',1,NULL,NULL,0,NULL,NULL,18,'2013-02-17 18:39:23','2013-02-17','2014-03-02','2014-03-02 16:24:04',0,0.00000000,NULL,NULL,0,NULL,NULL,3.22000000,0.00000000,0.00000000,0.00000000,20.00000000,23.22000000,1,1,1,NULL,NULL,NULL,NULL,1,0,'2013-02-17',NULL,NULL,'crabe',NULL,NULL),(158,'FA1307-0013',1,NULL,NULL,0,NULL,NULL,12,'2013-03-06 16:43:37','2013-07-18','2013-03-23','2013-03-23 17:23:03',0,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,10.00000000,10.00000000,1,1,1,NULL,NULL,NULL,NULL,1,0,'2013-07-18',NULL,NULL,'crabe',NULL,NULL),(159,'FA1407-0014',1,NULL,NULL,0,NULL,NULL,12,'2013-03-06 16:44:12','2014-07-18','2013-03-06','2013-03-06 15:44:12',0,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,11.00000000,11.00000000,1,1,1,NULL,NULL,NULL,NULL,1,0,'2014-07-18',NULL,NULL,'',NULL,NULL),(160,'FA1507-0015',1,NULL,NULL,0,NULL,NULL,12,'2013-03-06 16:47:48','2015-07-18','2013-03-06','2013-03-06 15:47:48',0,0.00000000,NULL,NULL,0,NULL,NULL,1.11000000,0.00000000,0.00000000,0.00000000,8.89000000,10.00000000,1,1,1,NULL,NULL,NULL,NULL,1,0,'2015-07-18',NULL,NULL,'',NULL,NULL),(161,'FA1607-0016',1,NULL,NULL,0,NULL,NULL,12,'2013-03-06 16:48:16','2016-07-18','2013-03-06','2013-03-06 15:48:16',0,0.00000000,NULL,NULL,0,NULL,NULL,2.22000000,0.00000000,0.00000000,0.00000000,17.78000000,20.00000000,1,1,1,NULL,NULL,NULL,NULL,1,0,'2016-07-18',NULL,NULL,'',NULL,NULL),(162,'(PROV162)',1,NULL,NULL,0,'fdfs',NULL,23,'2013-03-08 10:02:54','2013-03-08',NULL,'2013-03-08 09:02:54',0,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,5.00000000,5.00000000,0,1,NULL,NULL,NULL,NULL,NULL,1,0,'2013-03-08',NULL,NULL,'crabe',NULL,NULL),(184,'(PROV184)',1,NULL,NULL,0,NULL,NULL,1,'2013-03-09 18:19:36','2013-03-09',NULL,'2013-03-09 17:19:36',0,0.00000000,NULL,NULL,0,NULL,NULL,0.24000000,0.00000000,0.00000000,0.00000000,2.48000000,2.72000000,0,1,NULL,NULL,NULL,NULL,NULL,1,0,'2013-03-09','This is a comment (private)','This is a comment (public)','',NULL,NULL),(185,'(PROV185)',1,NULL,NULL,0,NULL,NULL,1,'2013-03-09 18:19:36','2013-03-09',NULL,'2013-03-09 17:19:36',0,0.00000000,NULL,NULL,0,NULL,NULL,0.24000000,0.00000000,0.00000000,0.00000000,2.48000000,2.72000000,0,1,NULL,NULL,NULL,NULL,NULL,1,0,'2013-03-09','This is a comment (private)','This is a comment (public)','',NULL,NULL),(186,'(PROV186)',1,NULL,NULL,0,NULL,NULL,1,'2013-03-09 18:26:56','2013-03-09',NULL,'2013-03-09 17:26:56',0,0.00000000,NULL,NULL,0,NULL,NULL,0.24000000,0.00000000,0.00000000,0.00000000,2.48000000,2.72000000,0,1,NULL,NULL,NULL,NULL,NULL,1,0,'2013-03-09','This is a comment (private)','This is a comment (public)','',NULL,NULL),(187,'(PROV187)',1,NULL,NULL,0,NULL,NULL,1,'2013-03-09 18:26:56','2013-03-09',NULL,'2013-03-09 17:26:56',0,0.00000000,NULL,NULL,0,NULL,NULL,0.24000000,0.00000000,0.00000000,0.00000000,2.48000000,2.72000000,0,1,NULL,NULL,NULL,NULL,NULL,1,0,'2013-03-09','This is a comment (private)','This is a comment (public)','',NULL,NULL),(206,'(PROV206)',1,NULL,NULL,0,NULL,NULL,1,'2013-03-09 18:34:05','2013-03-09',NULL,'2013-03-09 17:34:05',0,0.00000000,NULL,NULL,0,NULL,NULL,0.24000000,0.00000000,0.00000000,0.00000000,2.48000000,2.72000000,0,1,NULL,NULL,NULL,NULL,NULL,1,0,'2013-03-09','This is a comment (private)','This is a comment (public)','',NULL,NULL),(207,'(PROV207)',1,NULL,NULL,0,NULL,NULL,1,'2013-03-09 18:34:05','2013-03-09',NULL,'2013-03-10 14:45:36',0,0.00000000,NULL,NULL,0,NULL,NULL,0.24000000,0.00000000,0.00000000,0.00000000,2.48000000,2.72000000,0,1,NULL,NULL,NULL,NULL,NULL,1,0,'2013-03-09','This is a comment (private)','This is a comment (public)','generic_invoice_odt:/var/www/dolibarrnew/documents/doctemplates/invoices/template_invoice.odt',NULL,NULL),(208,'FA1303-0017',1,NULL,NULL,0,NULL,NULL,26,'2013-03-10 15:58:11','2013-03-10','2013-03-10','2013-03-10 14:58:34',0,0.00000000,NULL,NULL,0,NULL,NULL,1.25000000,0.00000000,0.00000000,0.00000000,10.00000000,11.25000000,1,1,1,NULL,NULL,NULL,NULL,1,0,'2013-03-10',NULL,NULL,'generic_invoice_odt:/var/www/dolibarrnew/documents/doctemplates/invoices/template_invoice.odt',NULL,NULL),(209,'FA1303-0018',1,NULL,NULL,0,NULL,NULL,19,'2013-03-19 09:37:51','2013-03-19','2013-03-19','2013-03-19 08:38:10',0,0.00000000,NULL,NULL,0,NULL,NULL,-1.25000000,0.00000000,0.00000000,0.00000000,10.00000000,8.75000000,1,1,1,NULL,NULL,NULL,NULL,1,0,'2013-03-19',NULL,NULL,'crabe',NULL,NULL),(210,'FA1107-0019',1,NULL,NULL,0,NULL,NULL,10,'2013-03-20 14:30:11','2011-07-10','2013-03-20','2013-03-20 13:30:11',0,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,10.00000000,10.00000000,1,1,1,NULL,NULL,NULL,NULL,1,0,'2011-07-10',NULL,NULL,'',NULL,NULL),(211,'FA1303-0020',1,NULL,NULL,0,NULL,NULL,19,'2013-03-22 09:40:10','2013-03-22','2014-03-02','2014-03-02 19:13:39',0,0.00000000,NULL,NULL,0,NULL,NULL,17.64000000,0.00000000,0.00000000,0.40000000,340.00000000,358.04000000,1,1,1,NULL,NULL,NULL,NULL,1,0,'2013-03-22',NULL,NULL,'crabe',NULL,NULL),(213,'AV1303-0003',1,NULL,NULL,2,NULL,NULL,1,'2014-03-03 19:22:03','2013-03-03','2014-03-03','2014-03-03 18:22:16',0,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,-1000.00000000,-1000.00000000,1,1,1,32,NULL,NULL,NULL,0,0,'2013-03-03',NULL,NULL,'crabe',NULL,NULL); /*!40000 ALTER TABLE `llx_facture` ENABLE KEYS */; UNLOCK TABLES; @@ -4031,7 +4031,7 @@ CREATE TABLE `llx_facturedet` ( KEY `idx_facturedet_fk_facture` (`fk_facture`), KEY `idx_facturedet_fk_product` (`fk_product`), CONSTRAINT `fk_facturedet_fk_facture` FOREIGN KEY (`fk_facture`) REFERENCES `llx_facture` (`rowid`) -) ENGINE=InnoDB AUTO_INCREMENT=1025 DEFAULT CHARSET=utf8; +) ENGINE=InnoDB AUTO_INCREMENT=1027 DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -4040,7 +4040,7 @@ CREATE TABLE `llx_facturedet` ( LOCK TABLES `llx_facturedet` WRITE; /*!40000 ALTER TABLE `llx_facturedet` DISABLE KEYS */; -INSERT INTO `llx_facturedet` VALUES (1,1,NULL,4,NULL,'',0.000,0.000,'',0.000,'',2,0,0,NULL,0.01000000,0.01000000,0.02000000,0.00000000,0.00000000,0.00000000,0.02000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL),(3,2,NULL,3,NULL,'Service S1',0.000,0.000,'',0.000,'',1,10,4,NULL,40.00000000,36.00000000,36.00000000,0.00000000,0.00000000,0.00000000,36.00000000,1,'2010-07-10 00:00:00',NULL,0,NULL,0.00000000,0,0,2,NULL),(4,2,NULL,NULL,NULL,'Abonnement annuel assurance',1.000,0.000,'',0.000,'',1,0,0,NULL,10.00000000,10.00000000,10.00000000,0.10000000,0.00000000,0.00000000,10.10000000,0,'2010-07-10 00:00:00','2011-07-10 00:00:00',0,NULL,0.00000000,0,0,3,NULL),(11,3,NULL,4,NULL,'afsdfsdfsdfsdf',0.000,0.000,'',0.000,'',1,0,0,NULL,5.00000000,5.00000000,5.00000000,0.00000000,0.00000000,0.00000000,5.00000000,0,NULL,NULL,0,NULL,0.00000000,0,0,0,NULL),(12,3,NULL,NULL,NULL,'dfdfd',0.000,0.000,'',0.000,'',1,0,0,NULL,10.00000000,10.00000000,10.00000000,0.00000000,0.00000000,0.00000000,10.00000000,0,NULL,NULL,0,NULL,0.00000000,0,0,2,NULL),(13,5,NULL,4,NULL,'Decapsuleur',12.500,0.000,'',0.000,'',1,0,0,NULL,5.00000000,5.00000000,5.00000000,0.63000000,0.00000000,0.00000000,5.63000000,0,NULL,NULL,0,NULL,0.00000000,0,0,0,NULL),(14,6,NULL,4,NULL,'Decapsuleur',19.600,0.000,'',0.000,'',1,0,0,NULL,5.00000000,5.00000000,5.00000000,0.98000000,0.00000000,0.00000000,5.98000000,0,NULL,NULL,0,NULL,0.00000000,0,0,0,NULL),(21,8,NULL,NULL,NULL,'dddd',0.000,0.000,'',0.000,'',1,0,0,NULL,10.00000000,10.00000000,10.00000000,0.00000000,0.00000000,0.00000000,10.00000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL),(22,9,NULL,NULL,NULL,'ggg',19.600,0.000,'',0.000,'',1,0,0,NULL,10.00000000,10.00000000,10.00000000,1.96000000,0.00000000,0.00000000,11.96000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL),(23,10,NULL,4,NULL,'',12.500,0.000,'',0.000,'',1,0,0,NULL,-5.00000000,NULL,-5.00000000,-0.63000000,0.00000000,0.00000000,-5.63000000,0,NULL,NULL,0,NULL,12.00000000,0,0,1,NULL),(24,10,NULL,1,NULL,'A beatifull pink dress\r\nlkm',0.000,0.000,'',0.000,'',1,0,0,NULL,-6.00000000,NULL,-6.00000000,0.00000000,0.00000000,0.00000000,-6.00000000,0,NULL,NULL,0,0,0.00000000,0,0,2,NULL),(25,11,NULL,4,NULL,'jljk',12.500,0.000,'',0.000,'',1,0,0,NULL,5.00000000,NULL,5.00000000,0.63000000,0.00000000,0.00000000,5.63000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL),(26,12,NULL,1,NULL,'A beatifull pink dress\r\nhfghf',0.000,0.000,'',0.000,'',1,0,0,NULL,-5.00000000,NULL,-5.00000000,0.00000000,0.00000000,0.00000000,-5.00000000,0,NULL,NULL,0,0,0.00000000,0,0,1,NULL),(27,13,NULL,NULL,NULL,'gdfgdf',19.600,0.000,'',0.000,'',1.4,0,0,NULL,10.00000000,NULL,14.00000000,2.74000000,0.00000000,0.00000000,16.74000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL),(137,33,NULL,NULL,NULL,'Desc',10.000,0.000,'',0.000,'',1,0,0,NULL,1.24000000,NULL,1.24000000,0.12000000,0.00000000,0.00000000,1.36000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL),(138,33,NULL,NULL,NULL,'Desc',10.000,0.000,'',0.000,'',1,0,0,NULL,1.24000000,NULL,1.24000000,0.12000000,0.00000000,0.00000000,1.36000000,0,NULL,NULL,0,NULL,0.00000000,0,0,2,NULL),(256,55,NULL,NULL,NULL,'Desc',10.000,0.000,'',0.000,'',1,0,0,NULL,1.24000000,NULL,1.24000000,0.12000000,0.00000000,0.00000000,1.36000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL),(257,55,NULL,NULL,NULL,'Desc',10.000,0.000,'',0.000,'',1,0,0,NULL,1.24000000,NULL,1.24000000,0.12000000,0.00000000,0.00000000,1.36000000,0,NULL,NULL,0,NULL,0.00000000,0,0,2,NULL),(258,56,NULL,NULL,NULL,'Desc',10.000,0.000,'',0.000,'',1,0,0,NULL,1.24000000,NULL,1.24000000,0.12000000,0.00000000,0.00000000,1.36000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL),(259,56,NULL,NULL,NULL,'Desc',10.000,0.000,'',0.000,'',1,0,0,NULL,1.24000000,NULL,1.24000000,0.12000000,0.00000000,0.00000000,1.36000000,0,NULL,NULL,0,NULL,0.00000000,0,0,2,NULL),(377,78,NULL,NULL,NULL,'Desc',10.000,0.000,'',0.000,'',1,0,0,NULL,1.24000000,NULL,1.24000000,0.12000000,0.00000000,0.00000000,1.36000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL),(378,78,NULL,NULL,NULL,'Desc',10.000,0.000,'',0.000,'',1,0,0,NULL,1.24000000,NULL,1.24000000,0.12000000,0.00000000,0.00000000,1.36000000,0,NULL,NULL,0,NULL,0.00000000,0,0,2,NULL),(385,79,NULL,NULL,NULL,'hfghfg',10.000,1.400,'',-15.000,'',1,0,0,NULL,10.00000000,NULL,10.00000000,1.00000000,0.14000000,-1.50000000,9.64000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL),(386,79,NULL,NULL,NULL,'gdfg',15.000,0.000,'',0.000,'',1,0,0,NULL,10.00000000,NULL,10.00000000,1.50000000,0.00000000,0.00000000,11.50000000,0,NULL,NULL,0,NULL,0.00000000,0,0,2,NULL),(387,79,NULL,NULL,NULL,'fdsf',21.000,5.200,'',-15.000,'',1,0,0,NULL,10.00000000,NULL,10.00000000,2.10000000,0.52000000,-1.50000000,11.12000000,0,NULL,NULL,0,NULL,0.00000000,0,0,3,NULL),(388,79,NULL,NULL,NULL,'ghfgh',15.000,0.000,'',0.000,'',1,0,0,NULL,10.00000000,NULL,10.00000000,1.50000000,0.00000000,0.00000000,11.50000000,0,NULL,NULL,0,NULL,0.00000000,0,0,4,NULL),(389,79,NULL,NULL,NULL,'ghfgh',15.000,0.000,'',0.000,'',1,0,0,NULL,10.00000000,NULL,10.00000000,1.50000000,0.00000000,0.00000000,11.50000000,0,NULL,NULL,0,NULL,0.00000000,0,0,5,NULL),(618,121,NULL,NULL,NULL,'Desc',10.000,0.000,'',0.000,'',1,0,0,NULL,1.24000000,NULL,1.24000000,0.12000000,0.00000000,0.00000000,1.36000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL),(619,121,NULL,NULL,NULL,'Desc',10.000,0.000,'',0.000,'',1,0,0,NULL,1.24000000,NULL,1.24000000,0.12000000,0.00000000,0.00000000,1.36000000,0,NULL,NULL,0,NULL,0.00000000,0,0,2,NULL),(620,122,NULL,NULL,NULL,'Desc',10.000,0.000,'',0.000,'',1,0,0,NULL,1.24000000,NULL,1.24000000,0.12000000,0.00000000,0.00000000,1.36000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL),(621,122,NULL,NULL,NULL,'Desc',10.000,0.000,'',0.000,'',1,0,0,NULL,1.24000000,NULL,1.24000000,0.12000000,0.00000000,0.00000000,1.36000000,0,NULL,NULL,0,NULL,0.00000000,0,0,2,NULL),(749,146,NULL,NULL,NULL,'Desc',10.000,0.000,'',0.000,'',1,0,0,NULL,1.24000000,NULL,1.24000000,0.12000000,0.00000000,0.00000000,1.36000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL),(750,146,NULL,NULL,NULL,'Desc',10.000,0.000,'',0.000,'',1,0,0,NULL,1.24000000,NULL,1.24000000,0.12000000,0.00000000,0.00000000,1.36000000,0,NULL,NULL,0,NULL,0.00000000,0,0,2,NULL),(751,147,NULL,NULL,NULL,'Desc',10.000,0.000,'',0.000,'',1,0,0,NULL,1.24000000,NULL,1.24000000,0.12000000,0.00000000,0.00000000,1.36000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL),(752,147,NULL,NULL,NULL,'Desc',10.000,0.000,'',0.000,'',1,0,0,NULL,1.24000000,NULL,1.24000000,0.12000000,0.00000000,0.00000000,1.36000000,0,NULL,NULL,0,NULL,0.00000000,0,0,2,NULL),(753,13,NULL,2,NULL,'(Pays d\'origine: Albanie)',0.000,0.000,'',0.000,'',1,0,0,NULL,0.00000000,NULL,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,0,NULL,NULL,0,0,0.00000000,0,0,2,NULL),(754,148,NULL,11,NULL,'hfghf',0.000,0.000,'',0.000,'',1,0,0,NULL,0.00000000,NULL,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL),(755,148,NULL,4,NULL,'Decapsuleur',12.500,0.000,'',0.000,'',1,0,0,NULL,5.00000000,NULL,5.00000000,0.63000000,0.00000000,0.00000000,5.63000000,0,NULL,NULL,0,NULL,0.00000000,0,0,2,NULL),(756,149,NULL,5,NULL,'aaaa',19.600,0.000,'',0.000,'',1,0,0,NULL,10.00000000,NULL,10.00000000,1.96000000,0.00000000,0.00000000,11.96000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL),(757,150,NULL,2,NULL,'Product P1',12.500,0.000,'',0.000,'',1,0,0,NULL,0.00000000,NULL,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL),(758,151,NULL,2,NULL,'Product P1',12.500,0.000,'',0.000,'',1,0,0,NULL,0.00000000,NULL,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL),(759,152,NULL,NULL,NULL,'gdfgfd',19.600,0.000,'',0.000,'',1,0,0,NULL,10.00000000,NULL,10.00000000,1.96000000,0.00000000,0.00000000,11.96000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL),(760,153,NULL,NULL,NULL,'gfdgdf',0.000,0.000,'',0.000,'',1,0,0,NULL,10.00000000,NULL,10.00000000,0.00000000,0.00000000,0.00000000,10.00000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL),(761,154,NULL,NULL,NULL,'',0.000,0.000,'',0.000,'',1,0,0,NULL,10.00000000,NULL,10.00000000,0.00000000,0.00000000,0.00000000,10.00000000,0,NULL,NULL,0,NULL,0.00000000,0,0,0,NULL),(762,155,NULL,NULL,NULL,'',0.000,0.000,'',0.000,'',1,0,0,NULL,10.00000000,NULL,10.00000000,0.00000000,0.00000000,0.00000000,10.00000000,0,NULL,NULL,0,NULL,0.00000000,0,0,0,NULL),(763,156,NULL,NULL,NULL,'gfdgdf',0.000,0.000,'',0.000,'',1,0,0,NULL,10.00000000,NULL,10.00000000,0.00000000,0.00000000,0.00000000,10.00000000,0,NULL,NULL,0,NULL,0.00000000,0,0,0,NULL),(764,157,NULL,NULL,NULL,'gfdg',19.600,0.000,'',0.000,'',1,0,0,NULL,10.00000000,NULL,10.00000000,1.96000000,0.00000000,0.00000000,11.96000000,0,NULL,NULL,0,NULL,0.00000000,0,0,0,NULL),(765,157,NULL,4,NULL,'Decapsuleur',12.500,0.000,'',0.000,'',1,0,0,NULL,5.00000000,NULL,5.00000000,0.63000000,0.00000000,0.00000000,5.63000000,0,NULL,NULL,0,NULL,0.00000000,0,0,0,NULL),(766,157,NULL,4,NULL,'eeee',12.500,0.000,'',0.000,'',1,0,0,NULL,5.00000000,NULL,5.00000000,0.63000000,0.00000000,0.00000000,5.63000000,0,NULL,NULL,0,NULL,0.00000000,0,0,0,NULL),(768,32,NULL,NULL,NULL,'mlml',18.000,0.000,'',0.000,'',1,0,0,NULL,100.00000000,NULL,100.00000000,18.00000000,0.00000000,0.00000000,118.00000000,0,NULL,NULL,0,NULL,0.00000000,0,0,3,NULL),(769,32,NULL,NULL,NULL,'mlkml',18.000,0.000,'',0.000,'',1,0,0,NULL,400.00000000,NULL,400.00000000,72.00000000,0.00000000,0.00000000,472.00000000,0,NULL,NULL,0,NULL,0.00000000,0,0,4,NULL),(770,158,NULL,NULL,NULL,'Adhésion/cotisation 2013',0.000,0.000,'',0.000,'',1,0,0,NULL,10.00000000,NULL,10.00000000,0.00000000,0.00000000,0.00000000,10.00000000,1,'2013-07-18 00:00:00','2014-07-17 00:00:00',0,NULL,0.00000000,0,0,1,NULL),(771,159,NULL,NULL,NULL,'Adhésion/cotisation 2014',0.000,0.000,'',0.000,'',1,0,0,NULL,11.00000000,NULL,11.00000000,0.00000000,0.00000000,0.00000000,11.00000000,1,'2014-07-18 00:00:00','2015-07-17 00:00:00',0,NULL,0.00000000,0,0,1,NULL),(772,160,NULL,NULL,NULL,'Adhésion/cotisation 2015',12.500,0.000,'',0.000,'',1,0,0,NULL,8.88889000,NULL,8.89000000,1.11000000,0.00000000,0.00000000,10.00000000,1,'2015-07-18 00:00:00','2016-07-17 00:00:00',0,NULL,0.00000000,0,0,1,NULL),(773,161,NULL,NULL,NULL,'Adhésion/cotisation 2016',12.500,0.000,'',0.000,'',1,0,0,NULL,17.77778000,NULL,17.78000000,2.22000000,0.00000000,0.00000000,20.00000000,1,'2016-07-18 00:00:00','2017-07-17 00:00:00',0,NULL,0.00000000,0,0,1,NULL),(774,162,NULL,NULL,NULL,'fdsfs',0.000,0.000,'',0.000,'',1,0,0,NULL,10.00000000,NULL,10.00000000,0.00000000,0.00000000,0.00000000,10.00000000,0,NULL,NULL,0,NULL,0.00000000,0,0,3,NULL),(775,162,NULL,NULL,NULL,'fsdfsf',0.000,0.000,'',0.000,'',1,0,0,1,-5.00000000,NULL,-5.00000000,0.00000000,0.00000000,0.00000000,-5.00000000,0,NULL,NULL,2,NULL,0.00000000,0,0,1,NULL),(776,32,NULL,NULL,NULL,'fsdfsdfds',0.000,0.000,'0',0.000,'0',1,0,0,NULL,10.00000000,NULL,10.00000000,0.00000000,0.00000000,0.00000000,10.00000000,0,NULL,NULL,0,NULL,0.00000000,0,0,5,NULL),(777,32,NULL,NULL,NULL,'fsdfsdfds',0.000,0.000,'0',0.000,'0',1,0,0,NULL,10.00000000,NULL,10.00000000,0.00000000,0.00000000,0.00000000,10.00000000,0,NULL,NULL,0,NULL,0.00000000,0,0,6,NULL),(779,32,NULL,NULL,NULL,'fsdfds',0.000,0.000,'0',0.000,'0',0,0,0,NULL,0.00000000,NULL,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,9,NULL,NULL,0,0,0.00000000,0,0,2,NULL),(780,32,NULL,NULL,NULL,'ffsdf',0.000,0.000,'0',0.000,'0',0,0,0,NULL,0.00000000,NULL,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,9,NULL,NULL,0,NULL,0.00000000,0,1790,1,NULL),(781,162,NULL,NULL,NULL,'hh',0.000,0.000,'0',0.000,'0',0,0,0,NULL,0.00000000,NULL,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,9,NULL,NULL,0,NULL,0.00000000,0,1790,2,NULL),(899,184,NULL,NULL,NULL,'Desc',10.000,0.000,'0',0.000,'0',1,0,0,NULL,1.24000000,NULL,1.24000000,0.12000000,0.00000000,0.00000000,1.36000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL),(900,184,NULL,NULL,NULL,'Desc',10.000,0.000,'0',0.000,'0',1,0,0,NULL,1.24000000,NULL,1.24000000,0.12000000,0.00000000,0.00000000,1.36000000,0,NULL,NULL,0,NULL,0.00000000,0,0,2,NULL),(901,185,NULL,NULL,NULL,'Desc',10.000,0.000,'0',0.000,'0',1,0,0,NULL,1.24000000,NULL,1.24000000,0.12000000,0.00000000,0.00000000,1.36000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL),(902,185,NULL,NULL,NULL,'Desc',10.000,0.000,'0',0.000,'0',1,0,0,NULL,1.24000000,NULL,1.24000000,0.12000000,0.00000000,0.00000000,1.36000000,0,NULL,NULL,0,NULL,0.00000000,0,0,2,NULL),(903,186,NULL,NULL,NULL,'Desc',10.000,0.000,'0',0.000,'0',1,0,0,NULL,1.24000000,NULL,1.24000000,0.12000000,0.00000000,0.00000000,1.36000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL),(904,186,NULL,NULL,NULL,'Desc',10.000,0.000,'0',0.000,'0',1,0,0,NULL,1.24000000,NULL,1.24000000,0.12000000,0.00000000,0.00000000,1.36000000,0,NULL,NULL,0,NULL,0.00000000,0,0,2,NULL),(905,187,NULL,NULL,NULL,'Desc',10.000,0.000,'0',0.000,'0',1,0,0,NULL,1.24000000,NULL,1.24000000,0.12000000,0.00000000,0.00000000,1.36000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL),(906,187,NULL,NULL,NULL,'Desc',10.000,0.000,'0',0.000,'0',1,0,0,NULL,1.24000000,NULL,1.24000000,0.12000000,0.00000000,0.00000000,1.36000000,0,NULL,NULL,0,NULL,0.00000000,0,0,2,NULL),(1014,206,NULL,NULL,NULL,'Desc',10.000,0.000,'0',0.000,'0',1,0,0,NULL,1.24000000,NULL,1.24000000,0.12000000,0.00000000,0.00000000,1.36000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL),(1015,206,NULL,NULL,NULL,'Desc',10.000,0.000,'0',0.000,'0',1,0,0,NULL,1.24000000,NULL,1.24000000,0.12000000,0.00000000,0.00000000,1.36000000,0,NULL,NULL,0,NULL,0.00000000,0,0,2,NULL),(1016,207,NULL,NULL,NULL,'Desc',10.000,0.000,'0',0.000,'0',1,0,0,NULL,1.24000000,NULL,1.24000000,0.12000000,0.00000000,0.00000000,1.36000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL),(1017,207,NULL,NULL,NULL,'Desc',10.000,0.000,'0',0.000,'0',1,0,0,NULL,1.24000000,NULL,1.24000000,0.12000000,0.00000000,0.00000000,1.36000000,0,NULL,NULL,0,NULL,0.00000000,0,0,2,NULL),(1018,208,NULL,NULL,NULL,'ggdfg',12.500,0.000,'0',0.000,'0',1,0,0,NULL,10.00000000,NULL,10.00000000,1.25000000,0.00000000,0.00000000,11.25000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL),(1019,209,NULL,NULL,NULL,'hfghgf',12.500,0.000,'0',0.000,'0',1,0,0,2,-10.00000000,NULL,-10.00000000,-1.25000000,0.00000000,0.00000000,-11.25000000,0,NULL,NULL,2,NULL,0.00000000,0,0,-1,NULL),(1020,209,NULL,NULL,NULL,'fsdfsd',0.000,0.000,'0',0.000,'0',1,0,0,NULL,10.00000000,NULL,10.00000000,0.00000000,0.00000000,0.00000000,10.00000000,0,NULL,NULL,0,NULL,0.00000000,0,0,0,NULL),(1021,209,NULL,NULL,NULL,'hfg',0.000,0.000,'0',0.000,'0',1,0,0,NULL,10.00000000,NULL,10.00000000,0.00000000,0.00000000,0.00000000,10.00000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL),(1022,210,NULL,NULL,NULL,'Adhésion/cotisation 2011',0.000,0.000,'0',0.000,'0',1,0,0,NULL,10.00000000,NULL,10.00000000,0.00000000,0.00000000,0.00000000,10.00000000,1,'2011-07-10 00:00:00','2012-07-09 00:00:00',0,NULL,0.00000000,0,0,1,NULL),(1023,211,NULL,NULL,NULL,'gfdg',6.000,0.000,'0',0.000,'0',1,0,0,NULL,10.00000000,NULL,10.00000000,0.60000000,0.00000000,0.00000000,10.60000000,0,NULL,NULL,0,0,0.00000000,0,0,1,NULL),(1024,211,NULL,1,NULL,'A beatifull pink dress\nghkhgj',0.000,0.000,'0',0.000,'0',1,0,0,NULL,100.00000000,NULL,100.00000000,0.00000000,0.00000000,0.00000000,100.00000000,0,NULL,NULL,0,NULL,0.00000000,0,0,2,NULL); +INSERT INTO `llx_facturedet` VALUES (1,1,NULL,4,NULL,'',0.000,0.000,'',0.000,'',2,0,0,NULL,0.01000000,0.01000000,0.02000000,0.00000000,0.00000000,0.00000000,0.02000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL),(3,2,NULL,3,NULL,'Service S1',0.000,0.000,'',0.000,'',1,10,4,NULL,40.00000000,36.00000000,36.00000000,0.00000000,0.00000000,0.00000000,36.00000000,1,'2010-07-10 00:00:00',NULL,0,NULL,0.00000000,0,0,2,NULL),(4,2,NULL,NULL,NULL,'Abonnement annuel assurance',1.000,0.000,'',0.000,'',1,0,0,NULL,10.00000000,10.00000000,10.00000000,0.10000000,0.00000000,0.00000000,10.10000000,0,'2010-07-10 00:00:00','2011-07-10 00:00:00',0,NULL,0.00000000,0,0,3,NULL),(11,3,NULL,4,NULL,'afsdfsdfsdfsdf',0.000,0.000,'',0.000,'',1,0,0,NULL,5.00000000,5.00000000,5.00000000,0.00000000,0.00000000,0.00000000,5.00000000,0,NULL,NULL,0,NULL,0.00000000,0,0,0,NULL),(12,3,NULL,NULL,NULL,'dfdfd',0.000,0.000,'',0.000,'',1,0,0,NULL,10.00000000,10.00000000,10.00000000,0.00000000,0.00000000,0.00000000,10.00000000,0,NULL,NULL,0,NULL,0.00000000,0,0,2,NULL),(13,5,NULL,4,NULL,'Decapsuleur',12.500,0.000,'',0.000,'',1,0,0,NULL,5.00000000,5.00000000,5.00000000,0.63000000,0.00000000,0.00000000,5.63000000,0,NULL,NULL,0,NULL,0.00000000,0,0,0,NULL),(14,6,NULL,4,NULL,'Decapsuleur',19.600,0.000,'',0.000,'',1,0,0,NULL,5.00000000,5.00000000,5.00000000,0.98000000,0.00000000,0.00000000,5.98000000,0,NULL,NULL,0,NULL,0.00000000,0,0,0,NULL),(21,8,NULL,NULL,NULL,'dddd',0.000,0.000,'',0.000,'',1,0,0,NULL,10.00000000,10.00000000,10.00000000,0.00000000,0.00000000,0.00000000,10.00000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL),(22,9,NULL,NULL,NULL,'ggg',19.600,0.000,'',0.000,'',1,0,0,NULL,10.00000000,10.00000000,10.00000000,1.96000000,0.00000000,0.00000000,11.96000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL),(23,10,NULL,4,NULL,'',12.500,0.000,'',0.000,'',1,0,0,NULL,-5.00000000,NULL,-5.00000000,-0.63000000,0.00000000,0.00000000,-5.63000000,0,NULL,NULL,0,NULL,12.00000000,0,0,1,NULL),(24,10,NULL,1,NULL,'A beatifull pink dress\r\nlkm',0.000,0.000,'',0.000,'',1,0,0,NULL,-6.00000000,NULL,-6.00000000,0.00000000,0.00000000,0.00000000,-6.00000000,0,NULL,NULL,0,0,0.00000000,0,0,2,NULL),(25,11,NULL,4,NULL,'jljk',12.500,0.000,'',0.000,'',1,0,0,NULL,5.00000000,NULL,5.00000000,0.63000000,0.00000000,0.00000000,5.63000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL),(26,12,NULL,1,NULL,'A beatifull pink dress\r\nhfghf',0.000,0.000,'',0.000,'',1,0,0,NULL,-5.00000000,NULL,-5.00000000,0.00000000,0.00000000,0.00000000,-5.00000000,0,NULL,NULL,0,0,0.00000000,0,0,1,NULL),(27,13,NULL,NULL,NULL,'gdfgdf',19.600,0.000,'',0.000,'',1.4,0,0,NULL,10.00000000,NULL,14.00000000,2.74000000,0.00000000,0.00000000,16.74000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL),(137,33,NULL,NULL,NULL,'Desc',10.000,0.000,'',0.000,'',1,0,0,NULL,1.24000000,NULL,1.24000000,0.12000000,0.00000000,0.00000000,1.36000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL),(138,33,NULL,NULL,NULL,'Desc',10.000,0.000,'',0.000,'',1,0,0,NULL,1.24000000,NULL,1.24000000,0.12000000,0.00000000,0.00000000,1.36000000,0,NULL,NULL,0,NULL,0.00000000,0,0,2,NULL),(256,55,NULL,NULL,NULL,'Desc',10.000,0.000,'',0.000,'',1,0,0,NULL,1.24000000,NULL,1.24000000,0.12000000,0.00000000,0.00000000,1.36000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL),(257,55,NULL,NULL,NULL,'Desc',10.000,0.000,'',0.000,'',1,0,0,NULL,1.24000000,NULL,1.24000000,0.12000000,0.00000000,0.00000000,1.36000000,0,NULL,NULL,0,NULL,0.00000000,0,0,2,NULL),(258,56,NULL,NULL,NULL,'Desc',10.000,0.000,'',0.000,'',1,0,0,NULL,1.24000000,NULL,1.24000000,0.12000000,0.00000000,0.00000000,1.36000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL),(259,56,NULL,NULL,NULL,'Desc',10.000,0.000,'',0.000,'',1,0,0,NULL,1.24000000,NULL,1.24000000,0.12000000,0.00000000,0.00000000,1.36000000,0,NULL,NULL,0,NULL,0.00000000,0,0,2,NULL),(377,78,NULL,NULL,NULL,'Desc',10.000,0.000,'',0.000,'',1,0,0,NULL,1.24000000,NULL,1.24000000,0.12000000,0.00000000,0.00000000,1.36000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL),(378,78,NULL,NULL,NULL,'Desc',10.000,0.000,'',0.000,'',1,0,0,NULL,1.24000000,NULL,1.24000000,0.12000000,0.00000000,0.00000000,1.36000000,0,NULL,NULL,0,NULL,0.00000000,0,0,2,NULL),(385,79,NULL,NULL,NULL,'hfghfg',10.000,1.400,'',-15.000,'',1,0,0,NULL,10.00000000,NULL,10.00000000,1.00000000,0.14000000,-1.50000000,9.64000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL),(386,79,NULL,NULL,NULL,'gdfg',15.000,0.000,'',0.000,'',1,0,0,NULL,10.00000000,NULL,10.00000000,1.50000000,0.00000000,0.00000000,11.50000000,0,NULL,NULL,0,NULL,0.00000000,0,0,2,NULL),(387,79,NULL,NULL,NULL,'fdsf',21.000,5.200,'',-15.000,'',1,0,0,NULL,10.00000000,NULL,10.00000000,2.10000000,0.52000000,-1.50000000,11.12000000,0,NULL,NULL,0,NULL,0.00000000,0,0,3,NULL),(388,79,NULL,NULL,NULL,'ghfgh',15.000,0.000,'',0.000,'',1,0,0,NULL,10.00000000,NULL,10.00000000,1.50000000,0.00000000,0.00000000,11.50000000,0,NULL,NULL,0,NULL,0.00000000,0,0,4,NULL),(389,79,NULL,NULL,NULL,'ghfgh',15.000,0.000,'',0.000,'',1,0,0,NULL,10.00000000,NULL,10.00000000,1.50000000,0.00000000,0.00000000,11.50000000,0,NULL,NULL,0,NULL,0.00000000,0,0,5,NULL),(618,121,NULL,NULL,NULL,'Desc',10.000,0.000,'',0.000,'',1,0,0,NULL,1.24000000,NULL,1.24000000,0.12000000,0.00000000,0.00000000,1.36000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL),(619,121,NULL,NULL,NULL,'Desc',10.000,0.000,'',0.000,'',1,0,0,NULL,1.24000000,NULL,1.24000000,0.12000000,0.00000000,0.00000000,1.36000000,0,NULL,NULL,0,NULL,0.00000000,0,0,2,NULL),(620,122,NULL,NULL,NULL,'Desc',10.000,0.000,'',0.000,'',1,0,0,NULL,1.24000000,NULL,1.24000000,0.12000000,0.00000000,0.00000000,1.36000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL),(621,122,NULL,NULL,NULL,'Desc',10.000,0.000,'',0.000,'',1,0,0,NULL,1.24000000,NULL,1.24000000,0.12000000,0.00000000,0.00000000,1.36000000,0,NULL,NULL,0,NULL,0.00000000,0,0,2,NULL),(749,146,NULL,NULL,NULL,'Desc',10.000,0.000,'',0.000,'',1,0,0,NULL,1.24000000,NULL,1.24000000,0.12000000,0.00000000,0.00000000,1.36000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL),(750,146,NULL,NULL,NULL,'Desc',10.000,0.000,'',0.000,'',1,0,0,NULL,1.24000000,NULL,1.24000000,0.12000000,0.00000000,0.00000000,1.36000000,0,NULL,NULL,0,NULL,0.00000000,0,0,2,NULL),(751,147,NULL,NULL,NULL,'Desc',10.000,0.000,'',0.000,'',1,0,0,NULL,1.24000000,NULL,1.24000000,0.12000000,0.00000000,0.00000000,1.36000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL),(752,147,NULL,NULL,NULL,'Desc',10.000,0.000,'',0.000,'',1,0,0,NULL,1.24000000,NULL,1.24000000,0.12000000,0.00000000,0.00000000,1.36000000,0,NULL,NULL,0,NULL,0.00000000,0,0,2,NULL),(753,13,NULL,2,NULL,'(Pays d\'origine: Albanie)',0.000,0.000,'',0.000,'',1,0,0,NULL,0.00000000,NULL,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,0,NULL,NULL,0,0,0.00000000,0,0,2,NULL),(754,148,NULL,11,NULL,'hfghf',0.000,0.000,'',0.000,'',1,0,0,NULL,0.00000000,NULL,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL),(755,148,NULL,4,NULL,'Decapsuleur',12.500,0.000,'',0.000,'',1,0,0,NULL,5.00000000,NULL,5.00000000,0.63000000,0.00000000,0.00000000,5.63000000,0,NULL,NULL,0,NULL,0.00000000,0,0,2,NULL),(756,149,NULL,5,NULL,'aaaa',19.600,0.000,'',0.000,'',1,0,0,NULL,10.00000000,NULL,10.00000000,1.96000000,0.00000000,0.00000000,11.96000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL),(757,150,NULL,2,NULL,'Product P1',12.500,0.000,'',0.000,'',1,0,0,NULL,0.00000000,NULL,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL),(758,151,NULL,2,NULL,'Product P1',12.500,0.000,'',0.000,'',1,0,0,NULL,0.00000000,NULL,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL),(759,152,NULL,NULL,NULL,'gdfgfd',19.600,0.000,'',0.000,'',1,0,0,NULL,10.00000000,NULL,10.00000000,1.96000000,0.00000000,0.00000000,11.96000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL),(760,153,NULL,NULL,NULL,'gfdgdf',0.000,0.000,'',0.000,'',1,0,0,NULL,10.00000000,NULL,10.00000000,0.00000000,0.00000000,0.00000000,10.00000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL),(761,154,NULL,NULL,NULL,'',0.000,0.000,'',0.000,'',1,0,0,NULL,10.00000000,NULL,10.00000000,0.00000000,0.00000000,0.00000000,10.00000000,0,NULL,NULL,0,NULL,0.00000000,0,0,0,NULL),(762,155,NULL,NULL,NULL,'',0.000,0.000,'',0.000,'',1,0,0,NULL,10.00000000,NULL,10.00000000,0.00000000,0.00000000,0.00000000,10.00000000,0,NULL,NULL,0,NULL,0.00000000,0,0,0,NULL),(763,156,NULL,NULL,NULL,'gfdgdf',0.000,0.000,'',0.000,'',1,0,0,NULL,10.00000000,NULL,10.00000000,0.00000000,0.00000000,0.00000000,10.00000000,0,NULL,NULL,0,NULL,0.00000000,0,0,0,NULL),(764,157,NULL,NULL,NULL,'gfdg',19.600,0.000,'',0.000,'',1,0,0,NULL,10.00000000,NULL,10.00000000,1.96000000,0.00000000,0.00000000,11.96000000,0,NULL,NULL,0,NULL,0.00000000,0,0,0,NULL),(765,157,NULL,4,NULL,'Decapsuleur',12.500,0.000,'',0.000,'',1,0,0,NULL,5.00000000,NULL,5.00000000,0.63000000,0.00000000,0.00000000,5.63000000,0,NULL,NULL,0,NULL,0.00000000,0,0,0,NULL),(766,157,NULL,4,NULL,'eeee',12.500,0.000,'',0.000,'',1,0,0,NULL,5.00000000,NULL,5.00000000,0.63000000,0.00000000,0.00000000,5.63000000,0,NULL,NULL,0,NULL,0.00000000,0,0,0,NULL),(768,32,NULL,NULL,NULL,'mlml',18.000,0.000,'',0.000,'',1,0,0,NULL,100.00000000,NULL,100.00000000,18.00000000,0.00000000,0.00000000,118.00000000,0,NULL,NULL,0,NULL,0.00000000,0,0,3,NULL),(769,32,NULL,NULL,NULL,'mlkml',18.000,0.000,'',0.000,'',1,0,0,NULL,400.00000000,NULL,400.00000000,72.00000000,0.00000000,0.00000000,472.00000000,0,NULL,NULL,0,NULL,0.00000000,0,0,4,NULL),(770,158,NULL,NULL,NULL,'Adhésion/cotisation 2013',0.000,0.000,'',0.000,'',1,0,0,NULL,10.00000000,NULL,10.00000000,0.00000000,0.00000000,0.00000000,10.00000000,1,'2013-07-18 00:00:00','2014-07-17 00:00:00',0,NULL,0.00000000,0,0,1,NULL),(771,159,NULL,NULL,NULL,'Adhésion/cotisation 2014',0.000,0.000,'',0.000,'',1,0,0,NULL,11.00000000,NULL,11.00000000,0.00000000,0.00000000,0.00000000,11.00000000,1,'2014-07-18 00:00:00','2015-07-17 00:00:00',0,NULL,0.00000000,0,0,1,NULL),(772,160,NULL,NULL,NULL,'Adhésion/cotisation 2015',12.500,0.000,'',0.000,'',1,0,0,NULL,8.88889000,NULL,8.89000000,1.11000000,0.00000000,0.00000000,10.00000000,1,'2015-07-18 00:00:00','2016-07-17 00:00:00',0,NULL,0.00000000,0,0,1,NULL),(773,161,NULL,NULL,NULL,'Adhésion/cotisation 2016',12.500,0.000,'',0.000,'',1,0,0,NULL,17.77778000,NULL,17.78000000,2.22000000,0.00000000,0.00000000,20.00000000,1,'2016-07-18 00:00:00','2017-07-17 00:00:00',0,NULL,0.00000000,0,0,1,NULL),(774,162,NULL,NULL,NULL,'fdsfs',0.000,0.000,'',0.000,'',1,0,0,NULL,10.00000000,NULL,10.00000000,0.00000000,0.00000000,0.00000000,10.00000000,0,NULL,NULL,0,NULL,0.00000000,0,0,3,NULL),(775,162,NULL,NULL,NULL,'fsdfsf',0.000,0.000,'',0.000,'',1,0,0,1,-5.00000000,NULL,-5.00000000,0.00000000,0.00000000,0.00000000,-5.00000000,0,NULL,NULL,2,NULL,0.00000000,0,0,1,NULL),(776,32,NULL,NULL,NULL,'fsdfsdfds',0.000,0.000,'0',0.000,'0',1,0,0,NULL,10.00000000,NULL,10.00000000,0.00000000,0.00000000,0.00000000,10.00000000,0,NULL,NULL,0,NULL,0.00000000,0,0,5,NULL),(777,32,NULL,NULL,NULL,'fsdfsdfds',0.000,0.000,'0',0.000,'0',1,0,0,NULL,10.00000000,NULL,10.00000000,0.00000000,0.00000000,0.00000000,10.00000000,0,NULL,NULL,0,NULL,0.00000000,0,0,6,NULL),(779,32,NULL,NULL,NULL,'fsdfds',0.000,0.000,'0',0.000,'0',0,0,0,NULL,0.00000000,NULL,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,9,NULL,NULL,0,0,0.00000000,0,0,2,NULL),(780,32,NULL,NULL,NULL,'ffsdf',0.000,0.000,'0',0.000,'0',0,0,0,NULL,0.00000000,NULL,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,9,NULL,NULL,0,NULL,0.00000000,0,1790,1,NULL),(781,162,NULL,NULL,NULL,'hh',0.000,0.000,'0',0.000,'0',0,0,0,NULL,0.00000000,NULL,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,9,NULL,NULL,0,NULL,0.00000000,0,1790,2,NULL),(899,184,NULL,NULL,NULL,'Desc',10.000,0.000,'0',0.000,'0',1,0,0,NULL,1.24000000,NULL,1.24000000,0.12000000,0.00000000,0.00000000,1.36000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL),(900,184,NULL,NULL,NULL,'Desc',10.000,0.000,'0',0.000,'0',1,0,0,NULL,1.24000000,NULL,1.24000000,0.12000000,0.00000000,0.00000000,1.36000000,0,NULL,NULL,0,NULL,0.00000000,0,0,2,NULL),(901,185,NULL,NULL,NULL,'Desc',10.000,0.000,'0',0.000,'0',1,0,0,NULL,1.24000000,NULL,1.24000000,0.12000000,0.00000000,0.00000000,1.36000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL),(902,185,NULL,NULL,NULL,'Desc',10.000,0.000,'0',0.000,'0',1,0,0,NULL,1.24000000,NULL,1.24000000,0.12000000,0.00000000,0.00000000,1.36000000,0,NULL,NULL,0,NULL,0.00000000,0,0,2,NULL),(903,186,NULL,NULL,NULL,'Desc',10.000,0.000,'0',0.000,'0',1,0,0,NULL,1.24000000,NULL,1.24000000,0.12000000,0.00000000,0.00000000,1.36000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL),(904,186,NULL,NULL,NULL,'Desc',10.000,0.000,'0',0.000,'0',1,0,0,NULL,1.24000000,NULL,1.24000000,0.12000000,0.00000000,0.00000000,1.36000000,0,NULL,NULL,0,NULL,0.00000000,0,0,2,NULL),(905,187,NULL,NULL,NULL,'Desc',10.000,0.000,'0',0.000,'0',1,0,0,NULL,1.24000000,NULL,1.24000000,0.12000000,0.00000000,0.00000000,1.36000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL),(906,187,NULL,NULL,NULL,'Desc',10.000,0.000,'0',0.000,'0',1,0,0,NULL,1.24000000,NULL,1.24000000,0.12000000,0.00000000,0.00000000,1.36000000,0,NULL,NULL,0,NULL,0.00000000,0,0,2,NULL),(1014,206,NULL,NULL,NULL,'Desc',10.000,0.000,'0',0.000,'0',1,0,0,NULL,1.24000000,NULL,1.24000000,0.12000000,0.00000000,0.00000000,1.36000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL),(1015,206,NULL,NULL,NULL,'Desc',10.000,0.000,'0',0.000,'0',1,0,0,NULL,1.24000000,NULL,1.24000000,0.12000000,0.00000000,0.00000000,1.36000000,0,NULL,NULL,0,NULL,0.00000000,0,0,2,NULL),(1016,207,NULL,NULL,NULL,'Desc',10.000,0.000,'0',0.000,'0',1,0,0,NULL,1.24000000,NULL,1.24000000,0.12000000,0.00000000,0.00000000,1.36000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL),(1017,207,NULL,NULL,NULL,'Desc',10.000,0.000,'0',0.000,'0',1,0,0,NULL,1.24000000,NULL,1.24000000,0.12000000,0.00000000,0.00000000,1.36000000,0,NULL,NULL,0,NULL,0.00000000,0,0,2,NULL),(1018,208,NULL,NULL,NULL,'ggdfg',12.500,0.000,'0',0.000,'0',1,0,0,NULL,10.00000000,NULL,10.00000000,1.25000000,0.00000000,0.00000000,11.25000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL),(1019,209,NULL,NULL,NULL,'hfghgf',12.500,0.000,'0',0.000,'0',1,0,0,2,-10.00000000,NULL,-10.00000000,-1.25000000,0.00000000,0.00000000,-11.25000000,0,NULL,NULL,2,NULL,0.00000000,0,0,-1,NULL),(1020,209,NULL,NULL,NULL,'fsdfsd',0.000,0.000,'0',0.000,'0',1,0,0,NULL,10.00000000,NULL,10.00000000,0.00000000,0.00000000,0.00000000,10.00000000,0,NULL,NULL,0,NULL,0.00000000,0,0,0,NULL),(1021,209,NULL,NULL,NULL,'hfg',0.000,0.000,'0',0.000,'0',1,0,0,NULL,10.00000000,NULL,10.00000000,0.00000000,0.00000000,0.00000000,10.00000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL),(1022,210,NULL,NULL,NULL,'Adhésion/cotisation 2011',0.000,0.000,'0',0.000,'0',1,0,0,NULL,10.00000000,NULL,10.00000000,0.00000000,0.00000000,0.00000000,10.00000000,1,'2011-07-10 00:00:00','2012-07-09 00:00:00',0,NULL,0.00000000,0,0,1,NULL),(1023,211,NULL,NULL,NULL,'Samsung Android x4',0.000,0.000,'0',0.000,'0',1,0,0,NULL,250.00000000,NULL,250.00000000,0.00000000,0.00000000,0.00000000,250.00000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL),(1024,211,NULL,1,NULL,'A beatifull pink dress\r\nSize XXL',19.600,0.000,'0',0.000,'0',1,10,0,NULL,100.00000000,NULL,90.00000000,17.64000000,0.00000000,0.00000000,107.64000000,0,NULL,NULL,0,NULL,0.00000000,0,0,2,NULL),(1026,213,NULL,1,NULL,'A beatifull pink dress',0.000,0.000,'0',0.000,'0',10,0,0,NULL,-100.00000000,NULL,-1000.00000000,0.00000000,0.00000000,0.00000000,-1000.00000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL); /*!40000 ALTER TABLE `llx_facturedet` ENABLE KEYS */; UNLOCK TABLES; @@ -4962,7 +4962,7 @@ CREATE TABLE `llx_paiement` ( `statut` smallint(6) NOT NULL DEFAULT '0', `fk_export_compta` int(11) NOT NULL DEFAULT '0', PRIMARY KEY (`rowid`) -) ENGINE=InnoDB AUTO_INCREMENT=26 DEFAULT CHARSET=utf8; +) ENGINE=InnoDB AUTO_INCREMENT=34 DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -4971,7 +4971,7 @@ CREATE TABLE `llx_paiement` ( LOCK TABLES `llx_paiement` WRITE; /*!40000 ALTER TABLE `llx_paiement` DISABLE KEYS */; -INSERT INTO `llx_paiement` VALUES (1,1,'2010-07-10 14:59:41','2010-07-10 12:59:41','2010-07-10 12:00:00',0.02000000,4,'','',4,1,NULL,0,0),(2,1,'2011-07-18 20:50:24','2011-07-18 18:50:24','2011-07-08 12:00:00',20.00000000,6,'','',5,1,NULL,0,0),(3,1,'2011-07-18 20:50:47','2011-07-18 18:50:47','2011-07-08 12:00:00',10.00000000,4,'','',6,1,NULL,0,0),(5,1,'2011-08-01 03:34:11','2011-08-01 01:34:11','2011-08-01 03:34:11',5.63000000,6,'','Payment Invoice FA1108-0003',8,1,NULL,0,0),(6,1,'2011-08-06 20:33:54','2011-08-06 18:33:54','2011-08-06 20:33:53',5.98000000,4,'','Payment Invoice FA1108-0004',13,1,NULL,0,0),(8,1,'2011-08-08 02:53:40','2011-08-08 00:53:40','2011-08-08 12:00:00',26.10000000,4,'','',14,1,NULL,0,0),(9,1,'2011-08-08 02:55:58','2011-08-08 00:55:58','2011-08-08 12:00:00',26.96000000,1,'','',15,1,NULL,0,0),(17,1,'2012-12-09 15:28:44','2012-12-09 14:28:44','2012-12-09 12:00:00',2.00000000,4,'','',16,1,NULL,0,0),(18,1,'2012-12-09 15:28:53','2012-12-09 14:28:53','2012-12-09 12:00:00',-2.00000000,4,'','',17,1,NULL,0,0),(19,1,'2012-12-09 17:35:55','2012-12-09 16:35:55','2012-12-09 12:00:00',-2.00000000,4,'','',18,1,NULL,0,0),(20,1,'2012-12-09 17:37:02','2012-12-09 16:37:02','2012-12-09 12:00:00',2.00000000,4,'','',19,1,NULL,0,0),(21,1,'2012-12-09 18:35:07','2012-12-09 17:35:07','2012-12-09 12:00:00',-2.00000000,4,'','',20,1,NULL,0,0),(23,1,'2012-12-12 18:54:33','2012-12-12 17:54:33','2012-12-12 12:00:00',1.00000000,1,'','',21,1,NULL,0,0),(24,1,'2013-03-06 16:48:16','2013-03-06 15:48:16','2013-03-06 00:00:00',20.00000000,4,'','Adhésion/cotisation 2016',22,1,NULL,0,0),(25,1,'2013-03-20 14:30:11','2013-03-20 13:30:11','2013-03-20 00:00:00',10.00000000,2,'','Adhésion/cotisation 2011',23,1,NULL,0,0); +INSERT INTO `llx_paiement` VALUES (1,1,'2010-07-10 14:59:41','2010-07-10 12:59:41','2010-07-10 12:00:00',0.02000000,4,'','',4,1,NULL,0,0),(2,1,'2011-07-18 20:50:24','2011-07-18 18:50:24','2011-07-08 12:00:00',20.00000000,6,'','',5,1,NULL,0,0),(3,1,'2011-07-18 20:50:47','2011-07-18 18:50:47','2011-07-08 12:00:00',10.00000000,4,'','',6,1,NULL,0,0),(5,1,'2011-08-01 03:34:11','2011-08-01 01:34:11','2011-08-01 03:34:11',5.63000000,6,'','Payment Invoice FA1108-0003',8,1,NULL,0,0),(6,1,'2011-08-06 20:33:54','2011-08-06 18:33:54','2011-08-06 20:33:53',5.98000000,4,'','Payment Invoice FA1108-0004',13,1,NULL,0,0),(8,1,'2011-08-08 02:53:40','2011-08-08 00:53:40','2011-08-08 12:00:00',26.10000000,4,'','',14,1,NULL,0,0),(9,1,'2011-08-08 02:55:58','2011-08-08 00:55:58','2011-08-08 12:00:00',26.96000000,1,'','',15,1,NULL,0,0),(17,1,'2012-12-09 15:28:44','2012-12-09 14:28:44','2012-12-09 12:00:00',2.00000000,4,'','',16,1,NULL,0,0),(18,1,'2012-12-09 15:28:53','2012-12-09 14:28:53','2012-12-09 12:00:00',-2.00000000,4,'','',17,1,NULL,0,0),(19,1,'2012-12-09 17:35:55','2012-12-09 16:35:55','2012-12-09 12:00:00',-2.00000000,4,'','',18,1,NULL,0,0),(20,1,'2012-12-09 17:37:02','2012-12-09 16:37:02','2012-12-09 12:00:00',2.00000000,4,'','',19,1,NULL,0,0),(21,1,'2012-12-09 18:35:07','2012-12-09 17:35:07','2012-12-09 12:00:00',-2.00000000,4,'','',20,1,NULL,0,0),(23,1,'2012-12-12 18:54:33','2012-12-12 17:54:33','2012-12-12 12:00:00',1.00000000,1,'','',21,1,NULL,0,0),(24,1,'2013-03-06 16:48:16','2013-03-06 15:48:16','2013-03-06 00:00:00',20.00000000,4,'','Adhésion/cotisation 2016',22,1,NULL,0,0),(25,1,'2013-03-20 14:30:11','2013-03-20 13:30:11','2013-03-20 00:00:00',10.00000000,2,'','Adhésion/cotisation 2011',23,1,NULL,0,0),(26,1,'2014-03-02 19:57:58','2014-03-02 18:57:58','2013-07-09 12:00:00',605.00000000,2,'','',24,1,NULL,0,0),(27,1,'2014-03-02 19:59:48','2014-03-02 18:59:48','2013-03-22 12:00:00',30.00000000,4,'','',25,1,NULL,0,0),(29,1,'2014-03-02 20:01:39','2014-03-02 19:01:39','2013-03-19 12:00:00',500.00000000,4,'','',26,1,NULL,0,0),(30,1,'2014-03-02 20:02:06','2014-03-02 19:02:06','2013-03-21 12:00:00',400.00000000,2,'','',27,1,NULL,0,0),(32,1,'2014-03-03 19:22:32','2014-03-03 18:22:32','2013-10-03 12:00:00',-400.00000000,4,'','',28,1,NULL,0,0),(33,1,'2014-03-03 19:23:16','2014-03-03 18:23:16','2013-03-10 12:00:00',-300.00000000,4,'','',29,1,NULL,0,0); /*!40000 ALTER TABLE `llx_paiement` ENABLE KEYS */; UNLOCK TABLES; @@ -4993,7 +4993,7 @@ CREATE TABLE `llx_paiement_facture` ( KEY `idx_paiement_facture_fk_paiement` (`fk_paiement`), CONSTRAINT `fk_paiement_facture_fk_facture` FOREIGN KEY (`fk_facture`) REFERENCES `llx_facture` (`rowid`), CONSTRAINT `fk_paiement_facture_fk_paiement` FOREIGN KEY (`fk_paiement`) REFERENCES `llx_paiement` (`rowid`) -) ENGINE=InnoDB AUTO_INCREMENT=31 DEFAULT CHARSET=utf8; +) ENGINE=InnoDB AUTO_INCREMENT=41 DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -5002,7 +5002,7 @@ CREATE TABLE `llx_paiement_facture` ( LOCK TABLES `llx_paiement_facture` WRITE; /*!40000 ALTER TABLE `llx_paiement_facture` DISABLE KEYS */; -INSERT INTO `llx_paiement_facture` VALUES (1,1,1,0.02000000),(2,2,2,20.00000000),(3,3,2,10.00000000),(5,5,5,5.63000000),(6,6,6,5.98000000),(9,8,2,16.10000000),(10,8,8,10.00000000),(11,9,3,15.00000000),(12,9,9,11.96000000),(20,17,11,2.00000000),(21,18,12,-2.00000000),(22,19,10,-1.00000000),(23,19,12,-1.00000000),(24,20,9,1.00000000),(25,20,11,1.00000000),(26,21,12,-2.00000000),(28,23,55,1.00000000),(29,24,161,20.00000000),(30,25,210,10.00000000); +INSERT INTO `llx_paiement_facture` VALUES (1,1,1,0.02000000),(2,2,2,20.00000000),(3,3,2,10.00000000),(5,5,5,5.63000000),(6,6,6,5.98000000),(9,8,2,16.10000000),(10,8,8,10.00000000),(11,9,3,15.00000000),(12,9,9,11.96000000),(20,17,11,2.00000000),(21,18,12,-2.00000000),(22,19,10,-1.00000000),(23,19,12,-1.00000000),(24,20,9,1.00000000),(25,20,11,1.00000000),(26,21,12,-2.00000000),(28,23,55,1.00000000),(29,24,161,20.00000000),(30,25,210,10.00000000),(31,26,32,600.00000000),(32,26,148,5.00000000),(33,27,152,10.00000000),(34,27,157,20.00000000),(36,29,32,500.00000000),(37,30,32,400.00000000),(39,32,213,-400.00000000),(40,33,213,-300.00000000); /*!40000 ALTER TABLE `llx_paiement_facture` ENABLE KEYS */; UNLOCK TABLES; @@ -6386,7 +6386,7 @@ CREATE TABLE `llx_societe` ( LOCK TABLES `llx_societe` WRITE; /*!40000 ALTER TABLE `llx_societe` DISABLE KEYS */; -INSERT INTO `llx_societe` VALUES (1,0,NULL,'2012-12-19 14:47:50','2010-07-08 14:21:44','2012-12-19 15:47:49','ABC and Co',1,NULL,NULL,'CU1212-0007','SU1212-0005','7050','6050','1 alalah road',NULL,'Delhi',0,4,NULL,NULL,NULL,NULL,NULL,NULL,4,NULL,0,'','','','','',5000,1,NULL,NULL,NULL,1,1,NULL,NULL,0,0,0,1,1,0,NULL,NULL,NULL,NULL,NULL,1,1,0,NULL,NULL,'en_IN',NULL,NULL,1,NULL,'','',0),(2,0,NULL,'2011-07-31 22:35:08','2010-07-08 14:23:48','2011-08-01 00:35:08','Belin SARL',1,NULL,NULL,'CU1108-0001','SU1108-0001',NULL,NULL,'11 rue de la paix.','75000','Paris',0,117,NULL,NULL,'dolibarr.fr',NULL,NULL,NULL,3,NULL,0,'123456789','','ACE14','','',10000,0,NULL,NULL,NULL,3,1,NULL,NULL,0,0,0,1,1,0,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,'fr_FR',NULL,NULL,1,NULL,NULL,NULL,0),(3,0,NULL,'2010-07-08 20:42:12','2010-07-08 22:42:12','2010-07-08 22:42:12','Spanish Comp',1,NULL,NULL,'SPANISHCOMP',NULL,NULL,NULL,'1 via mallere',NULL,'Madrid',123,4,NULL,NULL,NULL,NULL,NULL,3,4,408,0,'','','','','',10000,0,NULL,NULL,NULL,3,1,NULL,NULL,0,0,0,1,1,0,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,'es_AR',NULL,NULL,1,NULL,NULL,NULL,0),(4,0,NULL,'2013-03-03 23:09:48','2010-07-08 22:48:18','2013-03-04 00:08:04','Prospector Vaalen',1,NULL,NULL,'CU1303-0014',NULL,NULL,NULL,'',NULL,'Bruxelles',103,2,NULL,NULL,NULL,NULL,NULL,3,4,201,0,'12345678','','','','',0,0,NULL,NULL,NULL,3,0,NULL,'PL_LOW',0,0,0,1,1,0,NULL,NULL,NULL,NULL,NULL,1,0,0,NULL,NULL,NULL,NULL,NULL,1,NULL,'','',0),(5,0,NULL,'2010-07-08 21:37:56','2010-07-08 23:22:57','2010-07-08 23:37:56','NoCountry Co',1,NULL,NULL,NULL,NULL,NULL,NULL,'',NULL,NULL,0,193,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,0,'','','','','',0,0,NULL,NULL,NULL,0,0,NULL,NULL,0,0,0,1,1,0,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,0),(6,0,NULL,'2010-07-08 22:25:06','2010-07-09 00:15:09','2010-07-09 00:25:06','Swiss customer supplier',1,NULL,NULL,NULL,NULL,NULL,NULL,'',NULL,'Genevia',0,6,NULL,NULL,NULL,'abademail@aa.com',NULL,2,2,601,0,'','','','','',56000,0,NULL,NULL,NULL,3,1,NULL,NULL,0,0,0,1,1,0,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,0),(7,0,NULL,'2013-02-12 16:06:20','2010-07-09 01:24:26','2013-02-12 17:06:20','Generic customer',1,NULL,NULL,'CU1302-0011',NULL,NULL,NULL,'',NULL,NULL,0,7,NULL,NULL,NULL,'ttt@ttt.com',NULL,NULL,8,NULL,0,'','','','','',0,0,'Generic customer to use for Point Of Sale module.
',NULL,NULL,1,0,NULL,NULL,0,0,0,1,1,0,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'','',0),(8,0,NULL,'2010-07-10 12:54:27','2010-07-10 14:54:27','2010-07-10 14:54:27','Client salon',1,NULL,NULL,NULL,NULL,NULL,NULL,'',NULL,NULL,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,0,'','','','','',0,0,NULL,NULL,NULL,0,0,NULL,NULL,0,0,0,1,1,0,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,0),(9,0,NULL,'2010-07-10 12:55:11','2010-07-10 14:54:44','2010-07-10 14:55:11','Client salon invidivdu',1,NULL,NULL,NULL,NULL,NULL,NULL,'',NULL,NULL,0,1,NULL,NULL,NULL,NULL,NULL,NULL,8,NULL,0,'','','','','',0,0,NULL,NULL,NULL,3,1,NULL,NULL,0,0,0,1,1,0,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,0),(10,0,NULL,'2012-12-08 16:38:30','2010-07-10 15:13:08','2012-12-08 17:38:30','Smith Vick',1,NULL,NULL,'CU1212-0005',NULL,NULL,NULL,'',NULL,NULL,0,102,NULL,NULL,NULL,'vsmith@email.com',NULL,NULL,0,NULL,0,'','','','','',0,0,NULL,NULL,NULL,1,0,NULL,NULL,0,0,0,1,1,0,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'','',0),(11,0,NULL,'2010-07-11 12:35:22','2010-07-10 18:35:57','2010-07-10 18:36:24','Mon client',1,NULL,NULL,NULL,NULL,'7051',NULL,'',NULL,NULL,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,0,'','','','','',0,0,NULL,NULL,NULL,3,0,NULL,'PL_LOW',0,0,0,1,1,0,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,0),(12,0,NULL,'2013-02-20 19:07:21','2010-07-11 16:18:08','2013-02-20 20:07:21','Dupont Alain',1,NULL,NULL,NULL,NULL,NULL,NULL,'',NULL,NULL,0,1,NULL,NULL,NULL,'toto@aa.com',NULL,NULL,0,NULL,0,'','','','','',0,0,NULL,NULL,NULL,1,0,NULL,NULL,0,0,0,1,1,0,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'','',0),(13,0,NULL,'2010-07-11 15:13:20','2010-07-11 17:13:20','2010-07-11 17:13:20','Vendeur de chips',1,NULL,NULL,NULL,NULL,NULL,NULL,'',NULL,NULL,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,0,'','','','','',0,0,NULL,NULL,NULL,0,1,NULL,NULL,0,0,0,1,1,0,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,0),(15,0,NULL,'2011-08-01 00:31:24','2011-08-01 02:31:24','2011-08-01 02:31:24','mmm',1,NULL,NULL,'CU1108-0002','SU1108-0002',NULL,NULL,'','78180','mmm',0,31,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,0,'','','','','',0,0,NULL,NULL,NULL,3,1,NULL,NULL,0,0,0,1,1,0,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,0),(16,0,NULL,'2011-08-01 00:42:21','2011-08-01 02:31:43','2011-08-01 02:42:21','ppp',1,NULL,NULL,'CU1108-0003','SU1108-0003',NULL,NULL,'','78180','mmm',103,2,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,0,'','','','','',0,0,NULL,NULL,NULL,3,1,NULL,NULL,0,0,0,1,1,0,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,0),(17,0,NULL,'2011-08-04 21:24:24','2011-08-01 02:41:26','2011-08-04 23:24:24','FFF SARL',1,NULL,NULL,'CU1108-0004','SU1108-0004',NULL,NULL,'The French Company',NULL,NULL,0,1,NULL,NULL,NULL,NULL,NULL,1,3,NULL,0,'','','','','',0,0,NULL,NULL,NULL,3,1,NULL,NULL,0,0,0,1,1,0,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,0),(18,0,NULL,'2013-01-12 13:38:32','2012-12-09 20:14:42','2013-01-12 14:38:32','doe john',1,NULL,NULL,'CU1212-0006',NULL,NULL,NULL,'',NULL,NULL,0,1,'111','2222',NULL,'johndoe@email.com',NULL,NULL,101,NULL,0,'','','','','',0,0,NULL,NULL,NULL,1,0,NULL,NULL,0,0,0,1,1,0,NULL,NULL,NULL,NULL,NULL,1,0,0,NULL,NULL,NULL,NULL,NULL,1,NULL,'','',0),(19,0,NULL,'2013-03-16 12:52:02','2013-01-12 12:23:05','2013-03-16 13:52:02','aaa',1,NULL,NULL,'CU1301-0008',NULL,NULL,NULL,'fdgfd','gggfd','fgfgfd',0,4,'gggh','0101',NULL,NULL,NULL,NULL,101,NULL,0,'','','10/10/2010','','',0,0,NULL,NULL,NULL,1,0,NULL,NULL,0,0,0,1,1,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'en_US','patient@cabinetmed',NULL,1,NULL,'','',0),(20,0,NULL,'2013-01-12 11:52:20','2013-01-12 12:52:20','2013-01-12 12:52:20','pppoo',1,NULL,NULL,'CU1301-0009',NULL,NULL,NULL,'pppoo',NULL,NULL,0,4,NULL,NULL,NULL,NULL,NULL,NULL,101,NULL,0,'','','','','',0,0,NULL,NULL,NULL,1,0,NULL,NULL,0,0,0,1,1,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'en_US','patient@cabinetmed',NULL,1,NULL,'','',0),(21,0,NULL,'2013-01-23 15:56:58','2013-01-23 16:56:58','2013-01-23 16:56:58','pa',1,NULL,NULL,'CU1301-0010',NULL,NULL,NULL,'',NULL,NULL,0,81,NULL,NULL,NULL,NULL,NULL,NULL,101,NULL,0,'','','','','',0,0,NULL,NULL,NULL,1,0,NULL,NULL,0,0,0,1,1,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'en_US','patient@cabinetmed',NULL,1,NULL,'','',0),(22,0,NULL,'2013-02-26 21:57:58','2013-02-26 22:57:50','2013-02-26 22:57:58','pppp',1,NULL,NULL,'CU1302-0012',NULL,NULL,NULL,'',NULL,NULL,0,1,NULL,NULL,NULL,NULL,NULL,NULL,101,NULL,0,'','','','','',0,0,NULL,NULL,NULL,1,0,NULL,NULL,0,0,0,1,1,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'fr_FR','patient@cabinetmed',NULL,1,NULL,'','',0),(23,0,NULL,'2013-02-26 21:58:13','2013-02-26 22:58:13','2013-02-26 22:58:13','ttttt',1,NULL,NULL,'CU1302-0013','SU1302-0006',NULL,NULL,'',NULL,NULL,0,1,NULL,NULL,NULL,NULL,NULL,NULL,101,NULL,0,'','','','','',0,0,NULL,NULL,NULL,1,1,NULL,NULL,0,0,0,1,1,0,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,'fr_FR',NULL,NULL,1,NULL,'','',0),(24,0,NULL,'2013-03-09 15:33:39','2013-03-06 17:13:59','2013-03-09 16:33:39','smith smith',1,NULL,NULL,'CU1303-0015',NULL,'411E123',NULL,'',NULL,NULL,0,11,NULL,NULL,NULL,'smith@email.com',NULL,NULL,0,NULL,0,'','','','','',0,0,NULL,NULL,NULL,1,0,NULL,NULL,0,0,0,1,1,0,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'','',0),(25,0,NULL,'2013-03-10 14:47:37','2013-03-10 15:47:37','2013-03-10 15:47:37','jlmkjlkj',1,NULL,NULL,'CU1303-0016','SU1303-0007',NULL,NULL,'',NULL,NULL,0,117,NULL,NULL,NULL,NULL,NULL,NULL,101,NULL,0,'','','','','',0,0,NULL,NULL,NULL,1,1,NULL,NULL,0,0,0,1,1,0,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,'en_US',NULL,NULL,1,NULL,'','',0),(26,0,NULL,'2013-03-10 14:57:32','2013-03-10 15:57:32','2013-03-10 15:57:32','iiii',1,NULL,NULL,'CU1303-0017','SU1303-0008',NULL,NULL,'',NULL,NULL,290,117,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,0,'','','','','',0,0,NULL,NULL,NULL,1,1,NULL,NULL,0,0,0,1,1,0,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,'en_US',NULL,NULL,1,NULL,'','',0); +INSERT INTO `llx_societe` VALUES (1,0,NULL,'2012-12-19 14:47:50','2010-07-08 14:21:44','2012-12-19 15:47:49','ABC and Co',1,NULL,NULL,'CU1212-0007','SU1212-0005','7050','6050','1 alalah road',NULL,'Delhi',0,4,NULL,NULL,NULL,NULL,NULL,NULL,4,NULL,0,'','','','','',5000,1,NULL,NULL,NULL,1,1,NULL,NULL,0,0,0,1,1,0,NULL,NULL,NULL,NULL,NULL,1,1,0,NULL,NULL,'en_IN',NULL,NULL,1,NULL,'','',0),(2,0,NULL,'2011-07-31 22:35:08','2010-07-08 14:23:48','2011-08-01 00:35:08','Belin SARL',1,NULL,NULL,'CU1108-0001','SU1108-0001',NULL,NULL,'11 rue de la paix.','75000','Paris',0,117,NULL,NULL,'dolibarr.fr',NULL,NULL,NULL,3,NULL,0,'123456789','','ACE14','','',10000,0,NULL,NULL,NULL,3,1,NULL,NULL,0,0,0,1,1,0,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,'fr_FR',NULL,NULL,1,NULL,NULL,NULL,0),(3,0,NULL,'2010-07-08 20:42:12','2010-07-08 22:42:12','2010-07-08 22:42:12','Spanish Comp',1,NULL,NULL,'SPANISHCOMP',NULL,NULL,NULL,'1 via mallere',NULL,'Madrid',123,4,NULL,NULL,NULL,NULL,NULL,3,4,408,0,'','','','','',10000,0,NULL,NULL,NULL,3,1,NULL,NULL,0,0,0,1,1,0,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,'es_AR',NULL,NULL,1,NULL,NULL,NULL,0),(4,0,NULL,'2013-03-03 23:09:48','2010-07-08 22:48:18','2013-03-04 00:08:04','Prospector Vaalen',1,NULL,NULL,'CU1303-0014',NULL,NULL,NULL,'',NULL,'Bruxelles',103,2,NULL,NULL,NULL,NULL,NULL,3,4,201,0,'12345678','','','','',0,0,NULL,NULL,NULL,3,0,NULL,'PL_LOW',0,0,0,1,1,0,NULL,NULL,NULL,NULL,NULL,1,0,0,NULL,NULL,NULL,NULL,NULL,1,NULL,'','',0),(5,0,NULL,'2010-07-08 21:37:56','2010-07-08 23:22:57','2010-07-08 23:37:56','NoCountry Co',1,NULL,NULL,NULL,NULL,NULL,NULL,'',NULL,NULL,0,193,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,0,'','','','','',0,0,NULL,NULL,NULL,0,0,NULL,NULL,0,0,0,1,1,0,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,0),(6,0,NULL,'2010-07-08 22:25:06','2010-07-09 00:15:09','2010-07-09 00:25:06','Swiss customer supplier',1,NULL,NULL,NULL,NULL,NULL,NULL,'',NULL,'Genevia',0,6,NULL,NULL,NULL,'abademail@aa.com',NULL,2,2,601,0,'','','','','',56000,0,NULL,NULL,NULL,3,1,NULL,NULL,0,0,0,1,1,0,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,0),(7,0,NULL,'2013-02-12 16:06:20','2010-07-09 01:24:26','2013-02-12 17:06:20','Generic customer',1,NULL,NULL,'CU1302-0011',NULL,NULL,NULL,'',NULL,NULL,0,7,NULL,NULL,NULL,'ttt@ttt.com',NULL,NULL,8,NULL,0,'','','','','',0,0,'Generic customer to use for Point Of Sale module.
',NULL,NULL,1,0,NULL,NULL,0,0,0,1,1,0,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'','',0),(8,0,NULL,'2010-07-10 12:54:27','2010-07-10 14:54:27','2010-07-10 14:54:27','Client salon',1,NULL,NULL,NULL,NULL,NULL,NULL,'',NULL,NULL,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,0,'','','','','',0,0,NULL,NULL,NULL,0,0,NULL,NULL,0,0,0,1,1,0,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,0),(9,0,NULL,'2010-07-10 12:55:11','2010-07-10 14:54:44','2010-07-10 14:55:11','Client salon invidivdu',1,NULL,NULL,NULL,NULL,NULL,NULL,'',NULL,NULL,0,1,NULL,NULL,NULL,NULL,NULL,NULL,8,NULL,0,'','','','','',0,0,NULL,NULL,NULL,3,1,NULL,NULL,0,0,0,1,1,0,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,0),(10,0,NULL,'2012-12-08 16:38:30','2010-07-10 15:13:08','2012-12-08 17:38:30','Smith Vick',1,NULL,NULL,'CU1212-0005',NULL,NULL,NULL,'',NULL,NULL,0,102,NULL,NULL,NULL,'vsmith@email.com',NULL,NULL,0,NULL,0,'','','','','',0,0,NULL,NULL,NULL,1,0,NULL,NULL,0,0,0,1,1,0,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'','',0),(11,0,NULL,'2010-07-11 12:35:22','2010-07-10 18:35:57','2010-07-10 18:36:24','Mon client',1,NULL,NULL,NULL,NULL,'7051',NULL,'',NULL,NULL,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,0,'','','','','',0,0,NULL,NULL,NULL,3,0,NULL,'PL_LOW',0,0,0,1,1,0,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,0),(12,0,NULL,'2013-02-20 19:07:21','2010-07-11 16:18:08','2013-02-20 20:07:21','Dupont Alain',1,NULL,NULL,NULL,NULL,NULL,NULL,'',NULL,NULL,0,1,NULL,NULL,NULL,'toto@aa.com',NULL,NULL,0,NULL,0,'','','','','',0,0,NULL,NULL,NULL,1,0,NULL,NULL,0,0,0,1,1,0,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'','',0),(13,0,NULL,'2010-07-11 15:13:20','2010-07-11 17:13:20','2010-07-11 17:13:20','Vendeur de chips',1,NULL,NULL,NULL,NULL,NULL,NULL,'',NULL,NULL,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,0,'','','','','',0,0,NULL,NULL,NULL,0,1,NULL,NULL,0,0,0,1,1,0,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,0),(15,0,NULL,'2011-08-01 00:31:24','2011-08-01 02:31:24','2011-08-01 02:31:24','mmm',1,NULL,NULL,'CU1108-0002','SU1108-0002',NULL,NULL,'','78180','mmm',0,31,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,0,'','','','','',0,0,NULL,NULL,NULL,3,1,NULL,NULL,0,0,0,1,1,0,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,0),(16,0,NULL,'2011-08-01 00:42:21','2011-08-01 02:31:43','2011-08-01 02:42:21','ppp',1,NULL,NULL,'CU1108-0003','SU1108-0003',NULL,NULL,'','78180','mmm',103,2,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,0,'','','','','',0,0,NULL,NULL,NULL,3,1,NULL,NULL,0,0,0,1,1,0,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,0),(17,0,NULL,'2011-08-04 21:24:24','2011-08-01 02:41:26','2011-08-04 23:24:24','FFF SARL',1,NULL,NULL,'CU1108-0004','SU1108-0004',NULL,NULL,'The French Company',NULL,NULL,0,1,NULL,NULL,NULL,NULL,NULL,1,3,NULL,0,'','','','','',0,0,NULL,NULL,NULL,3,1,NULL,NULL,0,0,0,1,1,0,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,0),(18,0,NULL,'2013-01-12 13:38:32','2012-12-09 20:14:42','2013-01-12 14:38:32','doe john',1,NULL,NULL,'CU1212-0006',NULL,NULL,NULL,'',NULL,NULL,0,1,'111','2222',NULL,'johndoe@email.com',NULL,NULL,101,NULL,0,'','','','','',0,0,NULL,NULL,NULL,1,0,NULL,NULL,0,0,0,1,1,0,NULL,NULL,NULL,NULL,NULL,1,0,0,NULL,NULL,NULL,NULL,NULL,1,NULL,'','',0),(19,0,NULL,'2014-03-02 19:09:52','2013-01-12 12:23:05','2014-03-02 20:09:52','Magic Food Store',1,NULL,NULL,'CU1301-0008',NULL,NULL,NULL,'65 holdywood boulevard','123456','BigTown',0,4,NULL,'0101',NULL,'myemail@domain.com',NULL,NULL,0,NULL,0,'','','10/10/2010','','',0,0,NULL,NULL,NULL,1,0,NULL,NULL,0,0,0,1,1,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'en_US','patient@cabinetmed',NULL,1,NULL,'','',0),(20,0,NULL,'2013-01-12 11:52:20','2013-01-12 12:52:20','2013-01-12 12:52:20','pppoo',1,NULL,NULL,'CU1301-0009',NULL,NULL,NULL,'pppoo',NULL,NULL,0,4,NULL,NULL,NULL,NULL,NULL,NULL,101,NULL,0,'','','','','',0,0,NULL,NULL,NULL,1,0,NULL,NULL,0,0,0,1,1,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'en_US','patient@cabinetmed',NULL,1,NULL,'','',0),(21,0,NULL,'2013-01-23 15:56:58','2013-01-23 16:56:58','2013-01-23 16:56:58','pa',1,NULL,NULL,'CU1301-0010',NULL,NULL,NULL,'',NULL,NULL,0,81,NULL,NULL,NULL,NULL,NULL,NULL,101,NULL,0,'','','','','',0,0,NULL,NULL,NULL,1,0,NULL,NULL,0,0,0,1,1,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'en_US','patient@cabinetmed',NULL,1,NULL,'','',0),(22,0,NULL,'2013-02-26 21:57:58','2013-02-26 22:57:50','2013-02-26 22:57:58','pppp',1,NULL,NULL,'CU1302-0012',NULL,NULL,NULL,'',NULL,NULL,0,1,NULL,NULL,NULL,NULL,NULL,NULL,101,NULL,0,'','','','','',0,0,NULL,NULL,NULL,1,0,NULL,NULL,0,0,0,1,1,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'fr_FR','patient@cabinetmed',NULL,1,NULL,'','',0),(23,0,NULL,'2013-02-26 21:58:13','2013-02-26 22:58:13','2013-02-26 22:58:13','ttttt',1,NULL,NULL,'CU1302-0013','SU1302-0006',NULL,NULL,'',NULL,NULL,0,1,NULL,NULL,NULL,NULL,NULL,NULL,101,NULL,0,'','','','','',0,0,NULL,NULL,NULL,1,1,NULL,NULL,0,0,0,1,1,0,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,'fr_FR',NULL,NULL,1,NULL,'','',0),(24,0,NULL,'2013-03-09 15:33:39','2013-03-06 17:13:59','2013-03-09 16:33:39','smith smith',1,NULL,NULL,'CU1303-0015',NULL,'411E123',NULL,'',NULL,NULL,0,11,NULL,NULL,NULL,'smith@email.com',NULL,NULL,0,NULL,0,'','','','','',0,0,NULL,NULL,NULL,1,0,NULL,NULL,0,0,0,1,1,0,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'','',0),(25,0,NULL,'2013-03-10 14:47:37','2013-03-10 15:47:37','2013-03-10 15:47:37','jlmkjlkj',1,NULL,NULL,'CU1303-0016','SU1303-0007',NULL,NULL,'',NULL,NULL,0,117,NULL,NULL,NULL,NULL,NULL,NULL,101,NULL,0,'','','','','',0,0,NULL,NULL,NULL,1,1,NULL,NULL,0,0,0,1,1,0,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,'en_US',NULL,NULL,1,NULL,'','',0),(26,0,NULL,'2013-03-10 14:57:32','2013-03-10 15:57:32','2013-03-10 15:57:32','iiii',1,NULL,NULL,'CU1303-0017','SU1303-0008',NULL,NULL,'',NULL,NULL,290,117,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,0,'','','','','',0,0,NULL,NULL,NULL,1,1,NULL,NULL,0,0,0,1,1,0,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,'en_US',NULL,NULL,1,NULL,'','',0); /*!40000 ALTER TABLE `llx_societe` ENABLE KEYS */; UNLOCK TABLES; @@ -6467,7 +6467,7 @@ CREATE TABLE `llx_societe_extrafields` ( `import_key` varchar(14) DEFAULT NULL, PRIMARY KEY (`rowid`), KEY `idx_societe_extrafields` (`fk_object`) -) ENGINE=InnoDB AUTO_INCREMENT=49 DEFAULT CHARSET=utf8; +) ENGINE=InnoDB AUTO_INCREMENT=50 DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -6476,7 +6476,7 @@ CREATE TABLE `llx_societe_extrafields` ( LOCK TABLES `llx_societe_extrafields` WRITE; /*!40000 ALTER TABLE `llx_societe_extrafields` DISABLE KEYS */; -INSERT INTO `llx_societe_extrafields` VALUES (1,'2011-06-22 16:23:01',40,'kkkk',NULL),(2,'2011-06-22 16:23:16',41,'jjj',NULL),(4,'2011-06-23 07:40:40',39,'lll',NULL),(12,'2011-06-29 13:03:12',42,NULL,NULL),(14,'2011-07-02 01:24:03',57,NULL,NULL),(16,'2011-07-02 14:11:29',60,NULL,NULL),(17,'2011-07-18 10:26:55',35,NULL,NULL),(18,'2011-07-31 22:35:08',2,NULL,NULL),(19,'2011-08-01 00:31:24',15,NULL,NULL),(22,'2011-08-01 00:42:21',16,NULL,NULL),(27,'2011-08-04 21:24:24',17,NULL,NULL),(28,'2012-12-08 16:38:30',10,NULL,NULL),(30,'2012-12-19 14:47:50',1,NULL,NULL),(31,'2013-01-12 13:38:32',18,NULL,NULL),(33,'2013-02-12 16:06:20',7,NULL,NULL),(34,'2013-02-20 19:07:21',12,'jjj',NULL),(36,'2013-02-26 21:57:58',22,'jjj',NULL),(37,'2013-02-26 21:58:13',23,NULL,NULL),(44,'2013-03-03 23:08:04',4,'jjj',NULL),(45,'2013-03-09 15:33:39',24,'jjj',NULL),(46,'2013-03-10 14:47:37',25,NULL,NULL),(47,'2013-03-10 14:57:32',26,NULL,NULL),(48,'2013-03-16 12:52:02',19,'jjj',NULL); +INSERT INTO `llx_societe_extrafields` VALUES (1,'2011-06-22 16:23:01',40,'kkkk',NULL),(2,'2011-06-22 16:23:16',41,'jjj',NULL),(4,'2011-06-23 07:40:40',39,'lll',NULL),(12,'2011-06-29 13:03:12',42,NULL,NULL),(14,'2011-07-02 01:24:03',57,NULL,NULL),(16,'2011-07-02 14:11:29',60,NULL,NULL),(17,'2011-07-18 10:26:55',35,NULL,NULL),(18,'2011-07-31 22:35:08',2,NULL,NULL),(19,'2011-08-01 00:31:24',15,NULL,NULL),(22,'2011-08-01 00:42:21',16,NULL,NULL),(27,'2011-08-04 21:24:24',17,NULL,NULL),(28,'2012-12-08 16:38:30',10,NULL,NULL),(30,'2012-12-19 14:47:50',1,NULL,NULL),(31,'2013-01-12 13:38:32',18,NULL,NULL),(33,'2013-02-12 16:06:20',7,NULL,NULL),(34,'2013-02-20 19:07:21',12,'jjj',NULL),(36,'2013-02-26 21:57:58',22,'jjj',NULL),(37,'2013-02-26 21:58:13',23,NULL,NULL),(44,'2013-03-03 23:08:04',4,'jjj',NULL),(45,'2013-03-09 15:33:39',24,'jjj',NULL),(46,'2013-03-10 14:47:37',25,NULL,NULL),(47,'2013-03-10 14:57:32',26,NULL,NULL),(49,'2014-03-02 19:09:52',19,'jjj',NULL); /*!40000 ALTER TABLE `llx_societe_extrafields` ENABLE KEYS */; UNLOCK TABLES; @@ -7032,7 +7032,7 @@ CREATE TABLE `llx_user` ( LOCK TABLES `llx_user` WRITE; /*!40000 ALTER TABLE `llx_user` DISABLE KEYS */; -INSERT INTO `llx_user` VALUES (1,'2010-07-08 13:20:11','2012-12-12 17:54:10','admin',0,NULL,NULL,NULL,'admin','21232f297a57a5a743894a0e4a801fc3',NULL,'SuperAdminName','Firstname','',NULL,'','','','eldy@destailleur.fr','',1,'','','',1,1,NULL,NULL,NULL,'','2014-03-02 16:36:53','2014-03-02 16:21:07',NULL,'',1,'01.jpg',NULL,NULL,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(2,'2010-07-08 13:54:48','2010-07-08 11:54:48','demo',1,NULL,NULL,NULL,'demo','fe01ce2a7fbac8fafaed7c982a04e229',NULL,'John','Doe',NULL,NULL,'09123123','','','johndoe@mycompany.com',NULL,0,'','','',1,1,NULL,NULL,NULL,'','2013-03-24 16:30:29','2010-07-08 14:12:02',NULL,'',1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(3,'2010-07-11 16:18:59','2013-02-20 19:07:21','adupont',1,NULL,NULL,NULL,'adupont','00856ab2bbb748aa29aa335a6e3a2407',NULL,'Dupont','Alain','',NULL,'','','','toto@aa.com','',0,'','','',1,1,NULL,NULL,2,'','2012-12-21 17:38:55',NULL,NULL,'',1,NULL,NULL,NULL,2,NULL,NULL,NULL,0,0,NULL,NULL),(4,'2013-01-23 17:52:27','2013-02-20 19:48:01','aaa',1,NULL,NULL,NULL,'aaa','47bce5c74f589f4867dbd57e9ca9f808',NULL,'aaa','','',NULL,'','','','','',0,'','','',1,1,17,6,NULL,'','2013-02-25 10:18:41','2013-01-23 17:53:20',NULL,'',1,NULL,NULL,NULL,5,NULL,NULL,NULL,0,0,NULL,NULL),(5,'2013-01-23 17:52:37','2013-01-23 16:52:37','bbb',0,NULL,NULL,NULL,'bbb','08f8e0260c64418510cefb2b06eee5cd',NULL,'bbb','','',NULL,'','','','','',1,'','','',1,1,NULL,NULL,NULL,'',NULL,NULL,NULL,'',1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(6,'2013-02-16 20:22:40','2013-02-16 19:22:40','aaab',2,NULL,NULL,NULL,'aaab','4c189b020ceb022e0ecc42482802e2b8',NULL,'aaab','','',NULL,'','','','','',0,'','','',1,1,NULL,NULL,NULL,'',NULL,NULL,NULL,'',1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(7,'2013-02-16 20:48:15','2013-02-16 19:48:15','zzz',2,NULL,NULL,NULL,'zzz','f3abb86bd34cf4d52698f14c0da1dc60',NULL,'zzz','','',NULL,'','','','','',0,'','','',1,1,NULL,NULL,NULL,'',NULL,NULL,NULL,'',1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(9,'2013-02-16 20:50:07','2013-03-24 16:10:14','zzzg',2,NULL,NULL,NULL,'jc28fg4h','93d789524fd223cf05eecea3f59cbe86',NULL,'zzzg','','',NULL,'','','','','fsdkkfsdf
\r\nfsdfsd
\r\nfsdfs',0,'','','',1,1,NULL,NULL,NULL,'',NULL,NULL,NULL,'',1,NULL,NULL,NULL,5,'','','',NULL,NULL,NULL,NULL); +INSERT INTO `llx_user` VALUES (1,'2010-07-08 13:20:11','2012-12-12 17:54:10','admin',0,NULL,NULL,NULL,'admin','21232f297a57a5a743894a0e4a801fc3',NULL,'SuperAdminName','Firstname','',NULL,'','','','eldy@destailleur.fr','',1,'','','',1,1,NULL,NULL,NULL,'','2014-03-03 19:19:24','2014-03-02 20:11:17',NULL,'',1,'01.jpg',NULL,NULL,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(2,'2010-07-08 13:54:48','2010-07-08 11:54:48','demo',1,NULL,NULL,NULL,'demo','fe01ce2a7fbac8fafaed7c982a04e229',NULL,'John','Doe',NULL,NULL,'09123123','','','johndoe@mycompany.com',NULL,0,'','','',1,1,NULL,NULL,NULL,'','2013-03-24 16:30:29','2010-07-08 14:12:02',NULL,'',1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(3,'2010-07-11 16:18:59','2013-02-20 19:07:21','adupont',1,NULL,NULL,NULL,'adupont','00856ab2bbb748aa29aa335a6e3a2407',NULL,'Dupont','Alain','',NULL,'','','','toto@aa.com','',0,'','','',1,1,NULL,NULL,2,'','2012-12-21 17:38:55',NULL,NULL,'',1,NULL,NULL,NULL,2,NULL,NULL,NULL,0,0,NULL,NULL),(4,'2013-01-23 17:52:27','2013-02-20 19:48:01','aaa',1,NULL,NULL,NULL,'aaa','47bce5c74f589f4867dbd57e9ca9f808',NULL,'aaa','','',NULL,'','','','','',0,'','','',1,1,17,6,NULL,'','2013-02-25 10:18:41','2013-01-23 17:53:20',NULL,'',1,NULL,NULL,NULL,5,NULL,NULL,NULL,0,0,NULL,NULL),(5,'2013-01-23 17:52:37','2013-01-23 16:52:37','bbb',0,NULL,NULL,NULL,'bbb','08f8e0260c64418510cefb2b06eee5cd',NULL,'bbb','','',NULL,'','','','','',1,'','','',1,1,NULL,NULL,NULL,'',NULL,NULL,NULL,'',1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(6,'2013-02-16 20:22:40','2013-02-16 19:22:40','aaab',2,NULL,NULL,NULL,'aaab','4c189b020ceb022e0ecc42482802e2b8',NULL,'aaab','','',NULL,'','','','','',0,'','','',1,1,NULL,NULL,NULL,'',NULL,NULL,NULL,'',1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(7,'2013-02-16 20:48:15','2013-02-16 19:48:15','zzz',2,NULL,NULL,NULL,'zzz','f3abb86bd34cf4d52698f14c0da1dc60',NULL,'zzz','','',NULL,'','','','','',0,'','','',1,1,NULL,NULL,NULL,'',NULL,NULL,NULL,'',1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,NULL,NULL),(9,'2013-02-16 20:50:07','2013-03-24 16:10:14','zzzg',2,NULL,NULL,NULL,'jc28fg4h','93d789524fd223cf05eecea3f59cbe86',NULL,'zzzg','','',NULL,'','','','','fsdkkfsdf
\r\nfsdfsd
\r\nfsdfs',0,'','','',1,1,NULL,NULL,NULL,'',NULL,NULL,NULL,'',1,NULL,NULL,NULL,5,'','','',NULL,NULL,NULL,NULL); /*!40000 ALTER TABLE `llx_user` ENABLE KEYS */; UNLOCK TABLES; @@ -7290,4 +7290,4 @@ UNLOCK TABLES; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2014-03-02 16:44:12 +-- Dump completed on 2014-03-03 19:39:05 From aeaf4bf5f8b38f734585aea3659e9fbe3cf2de0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o?= Date: Tue, 4 Mar 2014 02:29:18 +0100 Subject: [PATCH 083/293] Update index.php from Project folder A trailing "quote" sign was causing a problem with the link generation of href in the recap table on dashboard. --- htdocs/projet/index.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/projet/index.php b/htdocs/projet/index.php index 6b1c0e7be9b..81c3b0b8fe8 100644 --- a/htdocs/projet/index.php +++ b/htdocs/projet/index.php @@ -184,7 +184,7 @@ if ( $resql ) print "

uZ>OGLRgZ?Nf7hzQ*^T*zPfW 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

'.$username.'projectid.'">'.$obj->title.''.$obj->title.''.$obj->label.''.dol_print_date($db->jdate($obj->dateo)).''.dol_print_date($db->jdate($obj->datee)).'
'.$langs->trans("Status").' ('.$langs->trans("Buy").')'; $statutarray=array('1' => $langs->trans("ProductStatusOnBuy"), '0' => $langs->trans("ProductStatusNotOnBuy")); - print $form->selectarray('statut_buy',$statutarray,GETPOST('statut_buy"')); + print $form->selectarray('statut_buy',$statutarray,GETPOST('statut_buy')); print '
'.$langs->trans("Status").' ('.$langs->trans("Batch").')'; + $statutarray=array('0' => $langs->trans("ProductStatusNotOnBatch"), '1' => $langs->trans("ProductStatusOnBatch")); + print $form->selectarray('status_batch',$statutarray,GETPOST('status_batch')); + print '
'.$langs->trans("Status").' ('.$langs->trans("Lot").')'; + $statutarray=array('0' => $langs->trans("ProductStatusNotOnBatch"), '1' => $langs->trans("ProductStatusOnBatch")); + print $form->selectarray('status_batch',$statutarray,$object->status_batch); + print '
'.$langs->trans("Status").' ('.$langs->trans("Lot").')'; + print $object->getLibStatut(2,2); + print '
'.$langs->trans("Description").''.(dol_textishtml($object->description)?$object->description:dol_nl2br($object->description,1,true)).'
'.$langs->trans("Status").' ('.$langs->trans("l_sellby").')'; + print $product->getLibStatut(2,2); + print '
'.$langs->trans("AverageUnitPricePMP").''.price($product->pmp).' '.$langs->trans("HT").'
'.$langs->trans("Warehouse").''.$langs->trans("Warehouse").''; print $formproduct->selectWarehouses(($_GET["dwid"]?$_GET["dwid"]:GETPOST('id_entrepot')),'id_entrepot','',1); print '
'.$langs->trans("Label").''.$langs->trans("Label").''; print ''; print ''.$langs->trans("UnitPurchaseValue").'
'.$langs->trans("l_eatby").''; + $form->select_date('','eatby','','',1,""); + print ''.$langs->trans("l_sellby").''; + $form->select_date('','sellby','','',1,""); + print ''.$langs->trans("batch_number").''; + print ''; + print '
'; print '
 '; @@ -513,7 +565,7 @@ if (empty($action) && $product->id) print ''.$langs->trans("StockCorrection").''; } - if ($user->rights->stock->mouvement->creer) + if (($user->rights->stock->mouvement->creer) && !$product->hasbatch()) { print ''.$langs->trans("StockMovement").''; } @@ -528,15 +580,22 @@ if (empty($action) && $product->id) * Contenu des stocks */ print '
'; -print ''; +print ''; print ''; print ''; print ''; print ''; print ''; print ''; +if ( (! empty($conf->productbatch->enabled)) && $product->hasbatch()) { + print ''; + print ''; + print ''; + print ''; + print ''; +} -$sql = "SELECT e.rowid, e.label, ps.reel, ps.pmp"; +$sql = "SELECT e.rowid, e.label, ps.reel, ps.pmp, ps.rowid as product_stock_id"; $sql.= " FROM ".MAIN_DB_PREFIX."entrepot as e,"; $sql.= " ".MAIN_DB_PREFIX."product_stock as ps"; $sql.= " WHERE ps.reel != 0"; @@ -561,7 +620,7 @@ if ($resql) $entrepotstatic->id=$obj->rowid; $entrepotstatic->libelle=$obj->label; print ''; - print ''; + print ''; print ''; // PMP print ''; // Ditto : Show PMP from movement or from product @@ -579,12 +638,24 @@ if ($resql) if (price2num($obj->pmp)) $totalwithpmp += $obj->reel; $totalvalue = $totalvalue + price2num($obj->pmp*$obj->reel,'MU'); // Ditto : Show PMP from movement or from product $totalvaluesell = $totalvaluesell + price2num($product->price*$obj->reel,'MU'); // Ditto : Show PMP from movement or from product + //Batch Detail + if ((! empty($conf->productbatch->enabled)) && $product->hasbatch()) { + $details=Productbatch::findAll($db,$obj->product_stock_id); + if ($details<0) dol_print_error($db); + foreach ($details as $pdluo) { + print "\n".''; + print ''; + print ''; + print ''; + print ''; + } + } $i++; $var=!$var; } } else dol_print_error($db); -print ''; +print ''; print ''; print ''; + if ($conf->productbatch->enabled) { + print ''; + } + // PMP print ''; print ''; @@ -405,7 +444,7 @@ if ($id > 0 || $ref) // Warehouse print ''; - print ''; + print ''; print ''; @@ -419,13 +458,26 @@ if ($id > 0 || $ref) // Label print ''; - print ''; + print ''; print ''; print ''; print ''; + //eat-by date + if ((! empty($conf->productbatch->enabled)) && $product->hasbatch()) { + print ''; + print ''; + print ''; + print ''; + } print '
'.$langs->trans("Warehouse").'
'.$langs->trans("Warehouse").''.$langs->trans("NumberOfUnit").''.$langs->trans("AverageUnitPricePMPShort").''.$langs->trans("EstimatedStockValueShort").''.$langs->trans("SellPriceMin").''.$langs->trans("EstimatedStockValueSellShort").'
'.$langs->trans("l_eatby").''.$langs->trans("l_sellby").''.$langs->trans("batch_number").'
'.$entrepotstatic->getNomUrl(1).''.$entrepotstatic->getNomUrl(1).''.$obj->reel.($obj->reel<0?' '.img_warning():'').''.(price2num($obj->pmp)?price2num($obj->pmp,'MU'):'').'
'. dol_print_date($pdluo->eatby,'day') .''. dol_print_date($pdluo->sellby,'day') .''.$pdluo->batch.''.$pdluo->qty.($pdluo->qty<0?' '.img_warning():'').'
'.$langs->trans("Total").':
'.$langs->trans("Total").':'.$total.''; print ($totalwithpmp?price($totalvalue/$totalwithpmp):' '); From 58f2bf078b9822a293a411c3157bec9bedcffa75 Mon Sep 17 00:00:00 2001 From: KreizIT Date: Wed, 5 Mar 2014 10:30:06 +0100 Subject: [PATCH 090/293] -Add batch record management -Implements stock increase or decrease with batch number record on product's warehouse tab --- htdocs/langs/en_US/productbatch.lang | 4 + htdocs/langs/fr_FR/productbatch.lang | 5 + htdocs/product/class/product.class.php | 46 +- htdocs/product/class/productbatch.class.php | 521 ++++++++++++++++++ .../stock/class/mouvementstock.class.php | 90 ++- htdocs/product/stock/product.php | 87 ++- 6 files changed, 740 insertions(+), 13 deletions(-) create mode 100644 htdocs/product/class/productbatch.class.php diff --git a/htdocs/langs/en_US/productbatch.lang b/htdocs/langs/en_US/productbatch.lang index 09806e2261a..0d530722306 100644 --- a/htdocs/langs/en_US/productbatch.lang +++ b/htdocs/langs/en_US/productbatch.lang @@ -5,3 +5,7 @@ ProductStatusNotOnBatch= Not Managed ProductStatusOnBatchShort= Managed ProductStatusNotOnBatchShort= Not Managed Batch=Batch +atleast1batchfield= Eat-by date or Sell-by date or Batch number +batch_number= Batch number +l_eatby= Eat-by date +l_sellby= Sell-by date diff --git a/htdocs/langs/fr_FR/productbatch.lang b/htdocs/langs/fr_FR/productbatch.lang index 24231f0e6e2..0954e74ef16 100644 --- a/htdocs/langs/fr_FR/productbatch.lang +++ b/htdocs/langs/fr_FR/productbatch.lang @@ -5,3 +5,8 @@ ProductStatusNotOnBatch= Non gérer ProductStatusOnBatchShort= Gérer ProductStatusNotOnBatchShort= Non gérer Batch=Lot +atleast1batchfield= DLC ou DLUO ou Numéro de lot +batch_number= Numéro de lot +l_eatby= DLC +l_sellby= DLUO + diff --git a/htdocs/product/class/product.class.php b/htdocs/product/class/product.class.php index 1aebe0307eb..7e0508ffc50 100644 --- a/htdocs/product/class/product.class.php +++ b/htdocs/product/class/product.class.php @@ -29,6 +29,7 @@ * \brief File of class to manage predefined products or services */ require_once DOL_DOCUMENT_ROOT .'/core/class/commonobject.class.php'; +require_once DOL_DOCUMENT_ROOT.'/product/class/productbatch.class.php'; /** @@ -2796,7 +2797,7 @@ class Product extends CommonObject { $this->stock_reel = 0; - $sql = "SELECT ps.reel, ps.fk_entrepot, ps.pmp"; + $sql = "SELECT ps.reel, ps.fk_entrepot, ps.pmp, ps.rowid"; $sql.= " FROM ".MAIN_DB_PREFIX."product_stock as ps"; $sql.= ", ".MAIN_DB_PREFIX."entrepot as w"; $sql.= " WHERE w.entity IN (".getEntity('warehouse', 1).")"; @@ -2817,6 +2818,7 @@ class Product extends CommonObject $this->stock_warehouse[$row->fk_entrepot] = new stdClass(); $this->stock_warehouse[$row->fk_entrepot]->real = $row->reel; $this->stock_warehouse[$row->fk_entrepot]->pmp = $row->pmp; + if ($this->hasbatch()) $this->stock_warehouse[$row->fk_entrepot]->detail_batch=Productbatch::findAll($this->db,$row->rowid,1); $this->stock_reel+=$row->reel; $i++; } @@ -3320,5 +3322,47 @@ class Product extends CommonObject { return ($this->status_batch == 1 ? true : false); } + + /** + * Adjust stock in a warehouse for product with batch number + * + * @param User $user user asking change + * @param int $id_entrepot id of warehouse + * @param double $nbpiece nb of units + * @param int $movement 0 = add, 1 = remove + * @param string $label Label of stock movement + * @param double $price Price to use for stock eval + * @param date $dlc eat-by date + * @param date $dluo sell-by date + * @param string $lot Lot number + * @return int <0 if KO, >0 if OK + */ + function correct_stock_batch($user, $id_entrepot, $nbpiece, $movement, $label='', $price=0, $dlc='', $dluo='',$lot='') + { + if ($id_entrepot) + { + $this->db->begin(); + + require_once DOL_DOCUMENT_ROOT .'/product/stock/class/mouvementstock.class.php'; + + $op[0] = "+".trim($nbpiece); + $op[1] = "-".trim($nbpiece); + + $movementstock=new MouvementStock($this->db); + $result=$movementstock->_create($user,$this->id,$id_entrepot,$op[$movement],$movement,$price,$label,'',$dlc,$dluo,$lot); + + if ($result >= 0) + { + $this->db->commit(); + return 1; + } + else + { + dol_print_error($this->db); + $this->db->rollback(); + return -1; + } + } + } } ?> diff --git a/htdocs/product/class/productbatch.class.php b/htdocs/product/class/productbatch.class.php new file mode 100644 index 00000000000..413a7cf4838 --- /dev/null +++ b/htdocs/product/class/productbatch.class.php @@ -0,0 +1,521 @@ + + * Copyright (C) 2013-2014 Cedric GROSS + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/** + * \file product/class/productbatch.class.php + * \ingroup productbatch + * \brief Manage record and specific data for batch number management + */ + +require_once(DOL_DOCUMENT_ROOT."/core/class/commonobject.class.php"); + + +/** + * Manage record for batch number management + */ +class Productbatch extends CommonObject +{ + var $element='productbatch'; //!< Id that identify managed objects + private static $table_element='product_batch'; //!< Name of table without prefix where object is stored + + var $id; + + var $tms=''; + var $fk_product_stock; + var $sellby=''; + var $eatby=''; + var $batch=''; + var $qty; + var $import_key; + + + + + /** + * Constructor + * + * @param DoliDb $db Database handler + */ + function __construct($db) + { + $this->db = $db; + return 1; + } + + + /** + * Create object into database + * + * @param User $user User that creates + * @param int $notrigger 0=launch triggers after, 1=disable triggers + * @return int <0 if KO, Id of created object if OK + */ + function create($user, $notrigger=0) + { + global $conf, $langs; + $error=0; + + // Clean parameters + $this->clean_param(); + + // Check parameters + // Put here code to add control on parameters values + + // Insert request + $sql = "INSERT INTO ".MAIN_DB_PREFIX.self::$table_element." ("; + $sql.= "fk_product_stock,"; + $sql.= "sellby,"; + $sql.= "eatby,"; + $sql.= "batch,"; + $sql.= "qty,"; + $sql.= "import_key"; + $sql.= ") VALUES ("; + $sql.= " ".(! isset($this->fk_product_stock)?'NULL':$this->fk_product_stock).","; + $sql.= " ".(! isset($this->sellby) || dol_strlen($this->sellby)==0?'NULL':$this->db->idate($this->sellby)).","; + $sql.= " ".(! isset($this->eatby) || dol_strlen($this->eatby)==0?'NULL':$this->db->idate($this->eatby)).","; + $sql.= " ".(! isset($this->batch)?'NULL':"'".$this->db->escape($this->batch)."'").","; + $sql.= " ".(! isset($this->qty)?'NULL':$this->qty).","; + $sql.= " ".(! isset($this->import_key)?'NULL':"'".$this->db->escape($this->import_key)."'").""; + + + $sql.= ")"; + + $this->db->begin(); + + dol_syslog(get_class($this)."::create sql=".$sql, LOG_DEBUG); + $resql=$this->db->query($sql); + if (! $resql) { $error++; $this->errors[]="Error ".$this->db->lasterror(); } + if (! $error) + { + $this->id = $this->db->last_insert_id(MAIN_DB_PREFIX.self::$table_element); + + if (! $notrigger) + { + // Uncomment this and change MYOBJECT to your own tag if you + // want this action calls a trigger. + + //// Call triggers + //include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php'; + //$interface=new Interfaces($this->db); + //$result=$interface->run_triggers('MYOBJECT_CREATE',$this,$user,$langs,$conf); + //if ($result < 0) { $error++; $this->errors=$interface->errors; } + //// End call triggers + } + } + + // Commit or rollback + if ($error) + { + foreach($this->errors as $errmsg) + { + dol_syslog(get_class($this)."::create ".$errmsg, LOG_ERR); + $this->error.=($this->error?', '.$errmsg:$errmsg); + } + $this->db->rollback(); + return -1*$error; + } + else + { + $this->db->commit(); + return $this->id; + } + } + + + /** + * Load object in memory from the database + * + * @param int $id Id object + * @return int <0 if KO, >0 if OK + */ + function fetch($id) + { + global $langs; + $sql = "SELECT"; + $sql.= " t.rowid,"; + + $sql.= " t.tms,"; + $sql.= " t.fk_product_stock,"; + $sql.= " t.sellby,"; + $sql.= " t.eatby,"; + $sql.= " t.batch,"; + $sql.= " t.qty,"; + $sql.= " t.import_key"; + + + $sql.= " FROM ".MAIN_DB_PREFIX.self::$table_element." as t"; + $sql.= " WHERE t.rowid = ".$id; + + dol_syslog(get_class($this)."::fetch sql=".$sql, LOG_DEBUG); + $resql = $this->db->query($sql); + if ($resql) + { + if ($this->db->num_rows($resql)) + { + $obj = $this->db->fetch_object($resql); + + $this->id = $obj->rowid; + $this->tms = $this->db->jdate($obj->tms); + $this->fk_product_stock = $obj->fk_product_stock; + $this->sellby = $this->db->jdate($obj->sellby); + $this->eatby = $this->db->jdate($obj->eatby); + $this->batch = $obj->batch; + $this->qty = $obj->qty; + $this->import_key = $obj->import_key; + } + $this->db->free($resql); + + return 1; + } + else + { + $this->error = "Error ".$this->db->lasterror(); + dol_syslog(get_class($this)."::fetch ".$this->error, LOG_ERR); + return -1; + } + } + + /** + * Update object into database + * + * @param User $user User that modifies + * @param int $notrigger 0=launch triggers after, 1=disable triggers + * @return int <0 if KO, >0 if OK + */ + function update($user=0, $notrigger=0) + { + global $conf, $langs; + $error=0; + + // Clean parameters + $this->clean_param(); + + // Update request + $sql = "UPDATE ".MAIN_DB_PREFIX.self::$table_element." SET"; + $sql.= " fk_product_stock=".(isset($this->fk_product_stock)?$this->fk_product_stock:"null").","; + $sql.= " sellby=".(dol_strlen($this->sellby)!=0 ? "'".$this->db->idate($this->sellby)."'" : 'null').","; + $sql.= " eatby=".(dol_strlen($this->eatby)!=0 ? "'".$this->db->idate($this->eatby)."'" : 'null').","; + $sql.= " batch=".(isset($this->batch)?"'".$this->db->escape($this->batch)."'":"null").","; + $sql.= " qty=".(isset($this->qty)?$this->qty:"null").","; + $sql.= " import_key=".(isset($this->import_key)?"'".$this->db->escape($this->import_key)."'":"null").""; + $sql.= " WHERE rowid=".$this->id." AND tms='".$this->db->idate($this->tms)."'"; + + $this->db->begin(); + + dol_syslog(get_class($this)."::update sql=".$sql, LOG_DEBUG); + $resql = $this->db->query($sql); + if (! $resql) { $error++; $this->errors[]="Error ".$this->db->lasterror(); } + if (! $error) + { + if (! $notrigger) + { + // Uncomment this and change MYOBJECT to your own tag if you + // want this action calls a trigger. + + //// Call triggers + //include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php'; + //$interface=new Interfaces($this->db); + //$result=$interface->run_triggers('MYOBJECT_MODIFY',$this,$user,$langs,$conf); + //if ($result < 0) { $error++; $this->errors=$interface->errors; } + //// End call triggers + } + } + + // Commit or rollback + if ($error) + { + foreach($this->errors as $errmsg) + { + dol_syslog(get_class($this)."::update ".$errmsg, LOG_ERR); + $this->error.=($this->error?', '.$errmsg:$errmsg); + } + $this->db->rollback(); + return -1*$error; + } + else + { + $this->db->commit(); + return 1; + } + } + + /** + * Delete object in database + * + * @param User $user User that deletes + * @param int $notrigger 0=launch triggers after, 1=disable triggers + * @return int <0 if KO, >0 if OK + */ + function delete($user, $notrigger=0) + { + global $conf, $langs; + $error=0; + + $this->db->begin(); + + if (! $error) + { + if (! $notrigger) + { + // Uncomment this and change MYOBJECT to your own tag if you + // want this action calls a trigger. + + //// Call triggers + //include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php'; + //$interface=new Interfaces($this->db); + //$result=$interface->run_triggers('MYOBJECT_DELETE',$this,$user,$langs,$conf); + //if ($result < 0) { $error++; $this->errors=$interface->errors; } + //// End call triggers + } + } + + if (! $error) + { + $sql = "DELETE FROM ".MAIN_DB_PREFIX.self::$table_element.""; + $sql.= " WHERE rowid=".$this->id; + + dol_syslog(get_class($this)."::delete sql=".$sql); + $resql = $this->db->query($sql); + if (! $resql) { $error++; $this->errors[]="Error ".$this->db->lasterror(); } + } + + // Commit or rollback + if ($error) + { + foreach($this->errors as $errmsg) + { + dol_syslog(get_class($this)."::delete ".$errmsg, LOG_ERR); + $this->error.=($this->error?', '.$errmsg:$errmsg); + } + $this->db->rollback(); + return -1*$error; + } + else + { + $this->db->commit(); + return 1; + } + } + + + + /** + * Load an object from its id and create a new one in database + * + * @param int $fromid Id of object to clone + * @return int New id of clone + */ + function createFromClone($fromid) + { + global $user,$langs; + + $error=0; + + $object=new Productbatch($this->db); + + $this->db->begin(); + + // Load source object + $object->fetch($fromid); + $object->id=0; + $object->statut=0; + + // Clear fields + // ... + + // Create clone + $result=$object->create($user); + + // Other options + if ($result < 0) + { + $this->error=$object->error; + $error++; + } + + if (! $error) + { + + + } + + // End + if (! $error) + { + $this->db->commit(); + return $object->id; + } + else + { + $this->db->rollback(); + return -1; + } + } + + + /** + * Initialise object with example values + * Id must be 0 if object instance is a specimen + * + * @return void + */ + function initAsSpecimen() + { + $this->id=0; + + $this->tms=''; + $this->fk_product_stock=''; + $this->sellby=''; + $this->eatby=''; + $this->batch=''; + $this->import_key=''; + + + } + + private function clean_param() { + if (isset($this->fk_product_stock)) $this->fk_product_stock=(int)trim($this->fk_product_stock); + if (isset($this->batch)) $this->batch=trim($this->batch); + if (isset($this->qty)) $this->qty=(float)trim($this->qty); + if (isset($this->import_key)) $this->import_key=trim($this->import_key); + } + + /** + * Find first detail record that match eather eat-by or sell-by or batch within given warehouse + * + * @param int $fk_product_stck id product_stock for objet + * @param date $eatby eat-by date for objet + * @param date $sellby sell-by date for objet + * @param string $batch_number batch number for objet + * @return int <0 if KO, >0 if OK + */ + function find($fk_product_stock=0, $eatby='',$sellby='',$batch_number='') + { + global $langs; + $where = array(); + $sql = "SELECT"; + $sql.= " t.rowid,"; + $sql.= " t.tms,"; + $sql.= " t.fk_product_stock,"; + $sql.= " t.sellby,"; + $sql.= " t.eatby,"; + $sql.= " t.batch,"; + $sql.= " t.qty,"; + $sql.= " t.import_key"; + $sql.= " FROM ".MAIN_DB_PREFIX.self::$table_element." as t"; + $sql.= " WHERE fk_product_stock=".$fk_product_stock; + + if (! empty($eatby)) array_push($where," eatby = '".$this->db->idate($eatby)."'"); + if (! empty($sellby)) array_push($where," sellby = '".$this->db->idate($sellby)."'"); + if (! empty($batch_number)) $sql.= " AND batch = '".$this->db->escape($batch_number)."'"; + + if (! empty($where)) $sql.= " AND (".implode(" OR ",$where).")"; + + dol_syslog(get_class($this)."::fetch sql=".$sql, LOG_DEBUG); + $resql=$this->db->query($sql); + if ($resql) + { + if ($this->db->num_rows($resql)) + { + $obj = $this->db->fetch_object($resql); + + $this->id = $obj->rowid; + + $this->tms = $this->db->jdate($obj->tms); + $this->fk_product_stock = $obj->fk_product_stock; + $this->sellby = $this->db->jdate($obj->sellby); + $this->eatby = $this->db->jdate($obj->eatby); + $this->batch = $obj->batch; + $this->qty = $obj->qty; + $this->import_key = $obj->import_key; + } + $this->db->free($resql); + + return 1; + } + else + { + $this->error="Error ".$this->db->lasterror(); + dol_syslog(get_class($this)."::fetch ".$this->error, LOG_ERR); + return -1; + } + } + /** + * Return all batch detail records for given product and warehouse + * + * @param obj $db database object + * @param int $fk_product_stck id product_stock for objet + * @param int $with_qty doesn't return line with 0 quantity + * @return int <0 if KO, >0 if OK + */ + public static function findAll($db,$fk_product_stock,$with_qty=0) + { + global $langs; + $ret = array(); + $sql = "SELECT"; + $sql.= " t.rowid,"; + $sql.= " t.tms,"; + $sql.= " t.fk_product_stock,"; + $sql.= " t.sellby,"; + $sql.= " t.eatby,"; + $sql.= " t.batch,"; + $sql.= " t.qty,"; + $sql.= " t.import_key"; + + + $sql.= " FROM ".MAIN_DB_PREFIX.self::$table_element." as t"; + $sql.= " WHERE fk_product_stock=".$fk_product_stock; + + if ($with_qty) $sql.= " AND qty<>0"; + dol_syslog("productbatch::findAll sql=".$sql, LOG_DEBUG); + $resql=$db->query($sql); + if ($resql) + { + $num = $db->num_rows($resql); + $i=0; + while ($i < $num) + { + $obj = $db->fetch_object($resql); + + $tmp = new productbatch($db); + $tmp->id = $obj->rowid; + $tmp->tms = $db->jdate($obj->tms); + $tmp->fk_product_stock = $obj->fk_product_stock; + $tmp->sellby = $db->jdate($obj->sellby); + $tmp->eatby = $db->jdate($obj->eatby); + $tmp->batch = $obj->batch; + $tmp->qty = $obj->qty; + $tmp->import_key = $obj->import_key; + + array_push($ret,$tmp); + $i++; + } + $db->free($resql); + + return $ret; + } + else + { + $error="Error ".$db->lasterror(); + dol_syslog("productbatch::find_all ".$error, LOG_ERR); + return -1; + } + } + +} +?> diff --git a/htdocs/product/stock/class/mouvementstock.class.php b/htdocs/product/stock/class/mouvementstock.class.php index 2652c7c45bd..01537e0be18 100644 --- a/htdocs/product/stock/class/mouvementstock.class.php +++ b/htdocs/product/stock/class/mouvementstock.class.php @@ -2,6 +2,7 @@ /* Copyright (C) 2003-2006 Rodolphe Quiedeville * Copyright (C) 2005-2013 Laurent Destailleur * Copyright (C) 2011 Jean Heimburger + * Copyright (C) 2014 Cedric GROSS * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -55,9 +56,12 @@ class MouvementStock * @param int $price Unit price HT of product, used to calculate average weighted price (PMP in french). If 0, average weighted price is not changed. * @param string $label Label of stock movement * @param string $datem Force date of movement + * @param date $eatby eat-by date + * @param date $sellby sell-by date + * @param string $batch batch number * @return int <0 if KO, 0 if fk_product is null, >0 if OK */ - function _create($user, $fk_product, $entrepot_id, $qty, $type, $price=0, $label='', $datem='') + function _create($user, $fk_product, $entrepot_id, $qty, $type, $price=0, $label='', $datem='',$eatby='',$sellby='',$batch='',$skip_sellby=false) { global $conf, $langs; @@ -132,6 +136,7 @@ class MouvementStock $num = 1; $oldqtywarehouse = $obj->reel; $oldpmpwarehouse = $obj->pmp; + $fk_product_stock = $obj->rowid; } $this->db->free($resql); } @@ -193,7 +198,17 @@ class MouvementStock $this->error=$this->db->lasterror(); dol_syslog(get_class($this)."::_create ".$this->error, LOG_ERR); $error = -3; + } else if(empty($fk_product_stock)){ + $fk_product_stock = $this->db->last_insert_id(MAIN_DB_PREFIX."product_stock"); } + + } + + // Update detail stock for sell-by date + if (($product->hasbatch()) && (! $error) && (! $skip_sellby)){ + $param_batch=array('fk_product_stock' =>$fk_product_stock, 'eatby'=>$eatby,'sellby'=>$sellby,'batchnumber'=>$batch); + $result=$this->_create_batch($param_batch, $qty); + if ($result<0) $error++; } if (! $error) @@ -314,9 +329,21 @@ class MouvementStock */ function livraison($user, $fk_product, $entrepot_id, $qty, $price=0, $label='', $datem='') { - return $this->_create($user, $fk_product, $entrepot_id, (0 - $qty), 2, $price, $label, $datem); + return $this->_create($user, $fk_product, $entrepot_id, (0 - $qty), 2, $price, $label, $datem,'','','',true); } + /** + * Decrease stock for batch record + * + * @param int $id_stock_dluo Id product_dluo + * @param int $qty Quantity + * @return int <0 if KO, >0 if OK + */ + function livraison_batch($id_stock_dluo, $qty) + { + $ret=$this->_create_batch($id_stock_dluo, (0 - $qty)); + return $ret; + } /** * Increase stock for product and subproducts @@ -327,11 +354,14 @@ class MouvementStock * @param int $qty Quantity * @param int $price Price * @param string $label Label of stock movement + * @param date $eatby eat-by date + * @param date $sellby sell-by date + * @param string $batch batch number * @return int <0 if KO, >0 if OK */ - function reception($user, $fk_product, $entrepot_id, $qty, $price=0, $label='') + function reception($user, $fk_product, $entrepot_id, $qty, $price=0, $label='', $eatby='', $sellby='', $batch='') { - return $this->_create($user, $fk_product, $entrepot_id, $qty, 3, $price, $label); + return $this->_create($user, $fk_product, $entrepot_id, $qty, 3, $price, $label, '', $eatby, $sellby, $batch); } @@ -384,6 +414,58 @@ class MouvementStock return -1; } } + + /** + * Create or update batch record + * + * @param variant $dluo Could be either int if id of product_batch or array with at leat fk_product_stock + * @param int $qty Quantity of product with batch number + */ + function _create_batch($dluo, $qty ) { + $pdluo=New Productbatch($this->db); + + //Try to find an existing record with batch same batch number or id + if (is_numeric($dluo)) { + $result=$pdluo->fetch($dluo); + } else if (is_array($dluo)) { + if (isset($dluo['fk_product_stock'])) { + $vfk_product_stock=$dluo['fk_product_stock']; + $veatby = $dluo['eatby']; + $vsellby = $dluo['sellby']; + $vbatchnumber = $dluo['batchnumber']; + $result = $pdluo->find($vfk_product_stock,$veatby,$vsellby,$vbatchnumber); + } else { + dol_syslog(get_class($this)."::_create_batch array param dluo must contain at least key fk_product_stock".$error, LOG_ERR); + $result = -1; + } + } else { + dol_syslog(get_class($this)."::_create_batch error invalid param dluo".$error, LOG_ERR); + $result = -1; + } + + //batch record found so we update it + if ($result>0) { + if ($pdluo->id >0) { + $pdluo->qty +=$qty; + if ($pdluo->qty == 0) { + $result=$pdluo->delete(0,1); + } else { + $result=$pdluo->update(0,1); + } + } else { + $pdluo->fk_product_stock=$vfk_product_stock; + $pdluo->qty = $qty; + $pdluo->eatby = $veatby; + $pdluo->sellby = $vsellby; + $pdluo->batch = $vbatchnumber; + $result=$pdluo->create(0,1); + } + return $result; + } else { + return -1; + } + + } } ?> diff --git a/htdocs/product/stock/product.php b/htdocs/product/stock/product.php index 3d7acc0661b..82e902c59c1 100644 --- a/htdocs/product/stock/product.php +++ b/htdocs/product/stock/product.php @@ -6,6 +6,7 @@ * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2013 Cédric Salvador * Copyright (C) 2013 Juanjo Menent + * Copyright (C) 2014 Cédric Gross * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -32,11 +33,14 @@ require_once DOL_DOCUMENT_ROOT.'/product/stock/class/entrepot.class.php'; require_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/product.lib.php'; require_once DOL_DOCUMENT_ROOT.'/product/class/html.formproduct.class.php'; +if (! empty($conf->productbatch->enabled)) require_once DOL_DOCUMENT_ROOT.'/product/class/productbatch.class.php'; $langs->load("products"); $langs->load("orders"); $langs->load("bills"); $langs->load("stocks"); +if (! empty($conf->productbatch->enabled)) $langs->load("productbatch"); + $action=GETPOST("action"); $cancel=GETPOST('cancel'); @@ -99,14 +103,42 @@ if ($action == "correct_stock" && ! $cancel) $action='correction'; } + if (! empty($conf->productbatch->enabled)) + { + $product = new Product($db); + $result=$product->fetch($id); + + if ($product->hasbatch() && (! GETPOST("sellby")) && (! GETPOST("eatby")) && (! GETPOST("batch_number"))) { + setEventMessage($langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("atleast1batchfield")), 'errors'); + $error++; + $action='correction'; + } + } + if (! $error) { $priceunit=price2num(GETPOST("price")); if (is_numeric(GETPOST("nbpiece")) && $id) { + if (empty($product)) { $product = new Product($db); $result=$product->fetch($id); - + } + if ($product->hasbatch()) { + $d_eatby=dol_mktime(12, 0 , 0, $_POST['eatbymonth'], $_POST['eatbyday'], $_POST['eatbyyear']); + $d_sellby=dol_mktime(12, 0 , 0, $_POST['sellbymonth'], $_POST['sellbyday'], $_POST['sellbyyear']); + $result=$product->correct_stock_batch( + $user, + GETPOST("id_entrepot"), + GETPOST("nbpiece"), + GETPOST("mouvement"), + GETPOST("label"), + $priceunit, + $d_eatby, + $d_sellby, + GETPOST('batch_number') + ); // We do not change value of stock for a correction + } else { $result=$product->correct_stock( $user, GETPOST("id_entrepot"), @@ -115,6 +147,7 @@ if ($action == "correct_stock" && ! $cancel) GETPOST("label"), $priceunit ); // We do not change value of stock for a correction + } if ($result > 0) { @@ -246,6 +279,12 @@ if ($id > 0 || $ref) print $product->getLibStatut(2,1); print '
'.$langs->trans("Status").' ('.$langs->trans("l_sellby").')'; + print $product->getLibStatut(2,2); + print '
'.$langs->trans("AverageUnitPricePMP").''.price($product->pmp).' '.$langs->trans("HT").'
'.$langs->trans("Warehouse").''.$langs->trans("Warehouse").''; print $formproduct->selectWarehouses(($_GET["dwid"]?$_GET["dwid"]:GETPOST('id_entrepot')),'id_entrepot','',1); print '
'.$langs->trans("Label").''.$langs->trans("Label").''; print ''; print ''.$langs->trans("UnitPurchaseValue").'
'.$langs->trans("l_eatby").''; + $form->select_date('','eatby','','',1,""); + print ''.$langs->trans("l_sellby").''; + $form->select_date('','sellby','','',1,""); + print ''.$langs->trans("batch_number").''; + print ''; + print '
'; print '
 '; @@ -513,7 +565,7 @@ if (empty($action) && $product->id) print ''.$langs->trans("StockCorrection").''; } - if ($user->rights->stock->mouvement->creer) + if (($user->rights->stock->mouvement->creer) && !$product->hasbatch()) { print ''.$langs->trans("StockMovement").''; } @@ -528,15 +580,22 @@ if (empty($action) && $product->id) * Contenu des stocks */ print '
'; -print ''; +print ''; print ''; print ''; print ''; print ''; print ''; print ''; +if ( (! empty($conf->productbatch->enabled)) && $product->hasbatch()) { + print ''; + print ''; + print ''; + print ''; + print ''; +} -$sql = "SELECT e.rowid, e.label, ps.reel, ps.pmp"; +$sql = "SELECT e.rowid, e.label, ps.reel, ps.pmp, ps.rowid as product_stock_id"; $sql.= " FROM ".MAIN_DB_PREFIX."entrepot as e,"; $sql.= " ".MAIN_DB_PREFIX."product_stock as ps"; $sql.= " WHERE ps.reel != 0"; @@ -561,7 +620,7 @@ if ($resql) $entrepotstatic->id=$obj->rowid; $entrepotstatic->libelle=$obj->label; print ''; - print ''; + print ''; print ''; // PMP print ''; // Ditto : Show PMP from movement or from product @@ -579,12 +638,24 @@ if ($resql) if (price2num($obj->pmp)) $totalwithpmp += $obj->reel; $totalvalue = $totalvalue + price2num($obj->pmp*$obj->reel,'MU'); // Ditto : Show PMP from movement or from product $totalvaluesell = $totalvaluesell + price2num($product->price*$obj->reel,'MU'); // Ditto : Show PMP from movement or from product + //Batch Detail + if ((! empty($conf->productbatch->enabled)) && $product->hasbatch()) { + $details=Productbatch::findAll($db,$obj->product_stock_id); + if ($details<0) dol_print_error($db); + foreach ($details as $pdluo) { + print "\n".''; + print ''; + print ''; + print ''; + print ''; + } + } $i++; $var=!$var; } } else dol_print_error($db); -print ''; +print ''; print ''; print ''; } - print ''; - + print ''; @@ -492,7 +492,7 @@ else print ''; print ''; - + print "\n"; $i++; } From feae560aa393fdfa36a0166f54ee8528351f7f6b Mon Sep 17 00:00:00 2001 From: KreizIT Date: Wed, 5 Mar 2014 11:13:23 +0100 Subject: [PATCH 093/293] Travis correction. --- htdocs/product/class/productbatch.class.php | 27 ++++++++++--------- .../stock/class/mouvementstock.class.php | 2 ++ htdocs/product/stock/product.php | 4 +-- 3 files changed, 19 insertions(+), 14 deletions(-) diff --git a/htdocs/product/class/productbatch.class.php b/htdocs/product/class/productbatch.class.php index 413a7cf4838..21e5fd39c6c 100644 --- a/htdocs/product/class/productbatch.class.php +++ b/htdocs/product/class/productbatch.class.php @@ -31,7 +31,7 @@ require_once(DOL_DOCUMENT_ROOT."/core/class/commonobject.class.php"); class Productbatch extends CommonObject { var $element='productbatch'; //!< Id that identify managed objects - private static $table_element='product_batch'; //!< Name of table without prefix where object is stored + private static $_table_element='product_batch'; //!< Name of table without prefix where object is stored var $id; @@ -77,7 +77,7 @@ class Productbatch extends CommonObject // Put here code to add control on parameters values // Insert request - $sql = "INSERT INTO ".MAIN_DB_PREFIX.self::$table_element." ("; + $sql = "INSERT INTO ".MAIN_DB_PREFIX.self::$_table_element." ("; $sql.= "fk_product_stock,"; $sql.= "sellby,"; $sql.= "eatby,"; @@ -102,7 +102,7 @@ class Productbatch extends CommonObject if (! $resql) { $error++; $this->errors[]="Error ".$this->db->lasterror(); } if (! $error) { - $this->id = $this->db->last_insert_id(MAIN_DB_PREFIX.self::$table_element); + $this->id = $this->db->last_insert_id(MAIN_DB_PREFIX.self::$_table_element); if (! $notrigger) { @@ -158,7 +158,7 @@ class Productbatch extends CommonObject $sql.= " t.import_key"; - $sql.= " FROM ".MAIN_DB_PREFIX.self::$table_element." as t"; + $sql.= " FROM ".MAIN_DB_PREFIX.self::$_table_element." as t"; $sql.= " WHERE t.rowid = ".$id; dol_syslog(get_class($this)."::fetch sql=".$sql, LOG_DEBUG); @@ -206,7 +206,7 @@ class Productbatch extends CommonObject $this->clean_param(); // Update request - $sql = "UPDATE ".MAIN_DB_PREFIX.self::$table_element." SET"; + $sql = "UPDATE ".MAIN_DB_PREFIX.self::$_table_element." SET"; $sql.= " fk_product_stock=".(isset($this->fk_product_stock)?$this->fk_product_stock:"null").","; $sql.= " sellby=".(dol_strlen($this->sellby)!=0 ? "'".$this->db->idate($this->sellby)."'" : 'null').","; $sql.= " eatby=".(dol_strlen($this->eatby)!=0 ? "'".$this->db->idate($this->eatby)."'" : 'null').","; @@ -286,7 +286,7 @@ class Productbatch extends CommonObject if (! $error) { - $sql = "DELETE FROM ".MAIN_DB_PREFIX.self::$table_element.""; + $sql = "DELETE FROM ".MAIN_DB_PREFIX.self::$_table_element.""; $sql.= " WHERE rowid=".$this->id; dol_syslog(get_class($this)."::delete sql=".$sql); @@ -388,17 +388,20 @@ class Productbatch extends CommonObject } + /** + * Clean fields (triming) + */ private function clean_param() { - if (isset($this->fk_product_stock)) $this->fk_product_stock=(int)trim($this->fk_product_stock); + if (isset($this->fk_product_stock)) $this->fk_product_stock=(int) trim($this->fk_product_stock); if (isset($this->batch)) $this->batch=trim($this->batch); - if (isset($this->qty)) $this->qty=(float)trim($this->qty); + if (isset($this->qty)) $this->qty=(float) trim($this->qty); if (isset($this->import_key)) $this->import_key=trim($this->import_key); } /** * Find first detail record that match eather eat-by or sell-by or batch within given warehouse * - * @param int $fk_product_stck id product_stock for objet + * @param int $fk_product_stock id product_stock for objet * @param date $eatby eat-by date for objet * @param date $sellby sell-by date for objet * @param string $batch_number batch number for objet @@ -417,7 +420,7 @@ class Productbatch extends CommonObject $sql.= " t.batch,"; $sql.= " t.qty,"; $sql.= " t.import_key"; - $sql.= " FROM ".MAIN_DB_PREFIX.self::$table_element." as t"; + $sql.= " FROM ".MAIN_DB_PREFIX.self::$_table_element." as t"; $sql.= " WHERE fk_product_stock=".$fk_product_stock; if (! empty($eatby)) array_push($where," eatby = '".$this->db->idate($eatby)."'"); @@ -459,7 +462,7 @@ class Productbatch extends CommonObject * Return all batch detail records for given product and warehouse * * @param obj $db database object - * @param int $fk_product_stck id product_stock for objet + * @param int $fk_product_stock id product_stock for objet * @param int $with_qty doesn't return line with 0 quantity * @return int <0 if KO, >0 if OK */ @@ -478,7 +481,7 @@ class Productbatch extends CommonObject $sql.= " t.import_key"; - $sql.= " FROM ".MAIN_DB_PREFIX.self::$table_element." as t"; + $sql.= " FROM ".MAIN_DB_PREFIX.self::$_table_element." as t"; $sql.= " WHERE fk_product_stock=".$fk_product_stock; if ($with_qty) $sql.= " AND qty<>0"; diff --git a/htdocs/product/stock/class/mouvementstock.class.php b/htdocs/product/stock/class/mouvementstock.class.php index 01537e0be18..143b9a8466c 100644 --- a/htdocs/product/stock/class/mouvementstock.class.php +++ b/htdocs/product/stock/class/mouvementstock.class.php @@ -59,6 +59,7 @@ class MouvementStock * @param date $eatby eat-by date * @param date $sellby sell-by date * @param string $batch batch number + * @param boolean $skip_sellby If set to true, stock mouvement is done without impacting batch record * @return int <0 if KO, 0 if fk_product is null, >0 if OK */ function _create($user, $fk_product, $entrepot_id, $qty, $type, $price=0, $label='', $datem='',$eatby='',$sellby='',$batch='',$skip_sellby=false) @@ -420,6 +421,7 @@ class MouvementStock * * @param variant $dluo Could be either int if id of product_batch or array with at leat fk_product_stock * @param int $qty Quantity of product with batch number + * @return int <0 if KO, else return productbatch id */ function _create_batch($dluo, $qty ) { $pdluo=New Productbatch($this->db); diff --git a/htdocs/product/stock/product.php b/htdocs/product/stock/product.php index 82e902c59c1..1fd34c65c2d 100644 --- a/htdocs/product/stock/product.php +++ b/htdocs/product/stock/product.php @@ -125,8 +125,8 @@ if ($action == "correct_stock" && ! $cancel) $result=$product->fetch($id); } if ($product->hasbatch()) { - $d_eatby=dol_mktime(12, 0 , 0, $_POST['eatbymonth'], $_POST['eatbyday'], $_POST['eatbyyear']); - $d_sellby=dol_mktime(12, 0 , 0, $_POST['sellbymonth'], $_POST['sellbyday'], $_POST['sellbyyear']); + $d_eatby=dol_mktime(12, 0, 0, $_POST['eatbymonth'], $_POST['eatbyday'], $_POST['eatbyyear']); + $d_sellby=dol_mktime(12, 0, 0, $_POST['sellbymonth'], $_POST['sellbyday'], $_POST['sellbyyear']); $result=$product->correct_stock_batch( $user, GETPOST("id_entrepot"), From d9ea0e0e8c7116a1c5df58b1308ea7a8f06c82f4 Mon Sep 17 00:00:00 2001 From: KreizIT Date: Wed, 5 Mar 2014 11:30:43 +0100 Subject: [PATCH 094/293] Travis again (It's susceptible) --- htdocs/product/class/productbatch.class.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/htdocs/product/class/productbatch.class.php b/htdocs/product/class/productbatch.class.php index 21e5fd39c6c..cdfef622f45 100644 --- a/htdocs/product/class/productbatch.class.php +++ b/htdocs/product/class/productbatch.class.php @@ -390,6 +390,8 @@ class Productbatch extends CommonObject /** * Clean fields (triming) + * + * @return void */ private function clean_param() { if (isset($this->fk_product_stock)) $this->fk_product_stock=(int) trim($this->fk_product_stock); From 6c536d43e547915094097e4f3c78e31ed94fe7c4 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 5 Mar 2014 11:37:32 +0100 Subject: [PATCH 095/293] Can also sort on username. Uniformize code of index page. --- htdocs/langs/en_US/opensurvey.lang | 1 + htdocs/langs/fr_FR/opensurvey.lang | 1 + htdocs/opensurvey/index.php | 33 ++++++++++++++++++++++++++++-- htdocs/opensurvey/list.php | 9 +++++--- htdocs/product/index.php | 22 ++++++++------------ 5 files changed, 48 insertions(+), 18 deletions(-) diff --git a/htdocs/langs/en_US/opensurvey.lang b/htdocs/langs/en_US/opensurvey.lang index 2a6f20ac014..48fbdc388b3 100644 --- a/htdocs/langs/en_US/opensurvey.lang +++ b/htdocs/langs/en_US/opensurvey.lang @@ -35,6 +35,7 @@ AddNewColumn=Add new column TitleChoice=Choice label ExportSpreadsheet=Export result spreadsheet ExpireDate=Limit date +NbOfSurveys=Number of surveys NbOfVoters=Nb of voters SurveyResults=Results PollAdminDesc=You are allowed to change all vote lines of this poll with button "Edit". You can, as well, remove a column or a line with %s. You can also add a new column with %s. diff --git a/htdocs/langs/fr_FR/opensurvey.lang b/htdocs/langs/fr_FR/opensurvey.lang index 5fc7ff81249..e98f26c4f33 100644 --- a/htdocs/langs/fr_FR/opensurvey.lang +++ b/htdocs/langs/fr_FR/opensurvey.lang @@ -35,6 +35,7 @@ AddNewColumn=Ajouter nouvelle colonne TitleChoice=Libellé du choix ExportSpreadsheet=Exporter feuille de résultats ExpireDate=Date expiration +NbOfSurveys=Nombre de sondage NbOfVoters=Nombre de votants SurveyResults=Résultats PollAdminDesc=Vous êtes habilité à modifier toutes les lignes de votes par le bouton "Éditer". Vous pouvez supprimer une colonne ou ligne avec %s. Vous pouvez aussi ajouter une nouvelle colonne avec %s. diff --git a/htdocs/opensurvey/index.php b/htdocs/opensurvey/index.php index 0f809f8e52f..a69b1ff19bd 100644 --- a/htdocs/opensurvey/index.php +++ b/htdocs/opensurvey/index.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2013-2014 Laurent Destailleur * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -46,9 +46,38 @@ if ($resql) } else dol_print_error($db,''); + + print_fiche_titre($langs->trans("OpenSurveyArea")); -echo $langs->trans("NoSurveysInDatabase",$nbsondages).'

'."\n"; + +print '
'; + + +$nbsondages=0; +$sql='SELECT COUNT(*) as nb FROM '.MAIN_DB_PREFIX.'opensurvey_sondage'; +$resql=$db->query($sql); +if ($resql) +{ + $obj=$db->fetch_object($resql); + $nbsondages=$obj->nb; +} +else dol_print_error($db,''); + +print '
'.$langs->trans("Warehouse").'
'.$langs->trans("Warehouse").''.$langs->trans("NumberOfUnit").''.$langs->trans("AverageUnitPricePMPShort").''.$langs->trans("EstimatedStockValueShort").''.$langs->trans("SellPriceMin").''.$langs->trans("EstimatedStockValueSellShort").'
'.$langs->trans("l_eatby").''.$langs->trans("l_sellby").''.$langs->trans("batch_number").'
'.$entrepotstatic->getNomUrl(1).''.$entrepotstatic->getNomUrl(1).''.$obj->reel.($obj->reel<0?' '.img_warning():'').''.(price2num($obj->pmp)?price2num($obj->pmp,'MU'):'').'
'. dol_print_date($pdluo->eatby,'day') .''. dol_print_date($pdluo->sellby,'day') .''.$pdluo->batch.''.$pdluo->qty.($pdluo->qty<0?' '.img_warning():'').'
'.$langs->trans("Total").':
'.$langs->trans("Total").':'.$total.''; print ($totalwithpmp?price($totalvalue/$totalwithpmp):' '); From 6c2232d16681a0574661b09caeca1113a011b0e3 Mon Sep 17 00:00:00 2001 From: KreizIT Date: Wed, 5 Mar 2014 11:13:23 +0100 Subject: [PATCH 091/293] Travis correction. --- htdocs/product/class/productbatch.class.php | 27 ++++++++++--------- .../stock/class/mouvementstock.class.php | 2 ++ htdocs/product/stock/product.php | 4 +-- 3 files changed, 19 insertions(+), 14 deletions(-) diff --git a/htdocs/product/class/productbatch.class.php b/htdocs/product/class/productbatch.class.php index 413a7cf4838..21e5fd39c6c 100644 --- a/htdocs/product/class/productbatch.class.php +++ b/htdocs/product/class/productbatch.class.php @@ -31,7 +31,7 @@ require_once(DOL_DOCUMENT_ROOT."/core/class/commonobject.class.php"); class Productbatch extends CommonObject { var $element='productbatch'; //!< Id that identify managed objects - private static $table_element='product_batch'; //!< Name of table without prefix where object is stored + private static $_table_element='product_batch'; //!< Name of table without prefix where object is stored var $id; @@ -77,7 +77,7 @@ class Productbatch extends CommonObject // Put here code to add control on parameters values // Insert request - $sql = "INSERT INTO ".MAIN_DB_PREFIX.self::$table_element." ("; + $sql = "INSERT INTO ".MAIN_DB_PREFIX.self::$_table_element." ("; $sql.= "fk_product_stock,"; $sql.= "sellby,"; $sql.= "eatby,"; @@ -102,7 +102,7 @@ class Productbatch extends CommonObject if (! $resql) { $error++; $this->errors[]="Error ".$this->db->lasterror(); } if (! $error) { - $this->id = $this->db->last_insert_id(MAIN_DB_PREFIX.self::$table_element); + $this->id = $this->db->last_insert_id(MAIN_DB_PREFIX.self::$_table_element); if (! $notrigger) { @@ -158,7 +158,7 @@ class Productbatch extends CommonObject $sql.= " t.import_key"; - $sql.= " FROM ".MAIN_DB_PREFIX.self::$table_element." as t"; + $sql.= " FROM ".MAIN_DB_PREFIX.self::$_table_element." as t"; $sql.= " WHERE t.rowid = ".$id; dol_syslog(get_class($this)."::fetch sql=".$sql, LOG_DEBUG); @@ -206,7 +206,7 @@ class Productbatch extends CommonObject $this->clean_param(); // Update request - $sql = "UPDATE ".MAIN_DB_PREFIX.self::$table_element." SET"; + $sql = "UPDATE ".MAIN_DB_PREFIX.self::$_table_element." SET"; $sql.= " fk_product_stock=".(isset($this->fk_product_stock)?$this->fk_product_stock:"null").","; $sql.= " sellby=".(dol_strlen($this->sellby)!=0 ? "'".$this->db->idate($this->sellby)."'" : 'null').","; $sql.= " eatby=".(dol_strlen($this->eatby)!=0 ? "'".$this->db->idate($this->eatby)."'" : 'null').","; @@ -286,7 +286,7 @@ class Productbatch extends CommonObject if (! $error) { - $sql = "DELETE FROM ".MAIN_DB_PREFIX.self::$table_element.""; + $sql = "DELETE FROM ".MAIN_DB_PREFIX.self::$_table_element.""; $sql.= " WHERE rowid=".$this->id; dol_syslog(get_class($this)."::delete sql=".$sql); @@ -388,17 +388,20 @@ class Productbatch extends CommonObject } + /** + * Clean fields (triming) + */ private function clean_param() { - if (isset($this->fk_product_stock)) $this->fk_product_stock=(int)trim($this->fk_product_stock); + if (isset($this->fk_product_stock)) $this->fk_product_stock=(int) trim($this->fk_product_stock); if (isset($this->batch)) $this->batch=trim($this->batch); - if (isset($this->qty)) $this->qty=(float)trim($this->qty); + if (isset($this->qty)) $this->qty=(float) trim($this->qty); if (isset($this->import_key)) $this->import_key=trim($this->import_key); } /** * Find first detail record that match eather eat-by or sell-by or batch within given warehouse * - * @param int $fk_product_stck id product_stock for objet + * @param int $fk_product_stock id product_stock for objet * @param date $eatby eat-by date for objet * @param date $sellby sell-by date for objet * @param string $batch_number batch number for objet @@ -417,7 +420,7 @@ class Productbatch extends CommonObject $sql.= " t.batch,"; $sql.= " t.qty,"; $sql.= " t.import_key"; - $sql.= " FROM ".MAIN_DB_PREFIX.self::$table_element." as t"; + $sql.= " FROM ".MAIN_DB_PREFIX.self::$_table_element." as t"; $sql.= " WHERE fk_product_stock=".$fk_product_stock; if (! empty($eatby)) array_push($where," eatby = '".$this->db->idate($eatby)."'"); @@ -459,7 +462,7 @@ class Productbatch extends CommonObject * Return all batch detail records for given product and warehouse * * @param obj $db database object - * @param int $fk_product_stck id product_stock for objet + * @param int $fk_product_stock id product_stock for objet * @param int $with_qty doesn't return line with 0 quantity * @return int <0 if KO, >0 if OK */ @@ -478,7 +481,7 @@ class Productbatch extends CommonObject $sql.= " t.import_key"; - $sql.= " FROM ".MAIN_DB_PREFIX.self::$table_element." as t"; + $sql.= " FROM ".MAIN_DB_PREFIX.self::$_table_element." as t"; $sql.= " WHERE fk_product_stock=".$fk_product_stock; if ($with_qty) $sql.= " AND qty<>0"; diff --git a/htdocs/product/stock/class/mouvementstock.class.php b/htdocs/product/stock/class/mouvementstock.class.php index 01537e0be18..143b9a8466c 100644 --- a/htdocs/product/stock/class/mouvementstock.class.php +++ b/htdocs/product/stock/class/mouvementstock.class.php @@ -59,6 +59,7 @@ class MouvementStock * @param date $eatby eat-by date * @param date $sellby sell-by date * @param string $batch batch number + * @param boolean $skip_sellby If set to true, stock mouvement is done without impacting batch record * @return int <0 if KO, 0 if fk_product is null, >0 if OK */ function _create($user, $fk_product, $entrepot_id, $qty, $type, $price=0, $label='', $datem='',$eatby='',$sellby='',$batch='',$skip_sellby=false) @@ -420,6 +421,7 @@ class MouvementStock * * @param variant $dluo Could be either int if id of product_batch or array with at leat fk_product_stock * @param int $qty Quantity of product with batch number + * @return int <0 if KO, else return productbatch id */ function _create_batch($dluo, $qty ) { $pdluo=New Productbatch($this->db); diff --git a/htdocs/product/stock/product.php b/htdocs/product/stock/product.php index 82e902c59c1..1fd34c65c2d 100644 --- a/htdocs/product/stock/product.php +++ b/htdocs/product/stock/product.php @@ -125,8 +125,8 @@ if ($action == "correct_stock" && ! $cancel) $result=$product->fetch($id); } if ($product->hasbatch()) { - $d_eatby=dol_mktime(12, 0 , 0, $_POST['eatbymonth'], $_POST['eatbyday'], $_POST['eatbyyear']); - $d_sellby=dol_mktime(12, 0 , 0, $_POST['sellbymonth'], $_POST['sellbyday'], $_POST['sellbyyear']); + $d_eatby=dol_mktime(12, 0, 0, $_POST['eatbymonth'], $_POST['eatbyday'], $_POST['eatbyyear']); + $d_sellby=dol_mktime(12, 0, 0, $_POST['sellbymonth'], $_POST['sellbyday'], $_POST['sellbyyear']); $result=$product->correct_stock_batch( $user, GETPOST("id_entrepot"), From 60327e92d1b114c60ed6d1d81acdb6693ccf1d9c Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 5 Mar 2014 11:22:01 +0100 Subject: [PATCH 092/293] New: Add filter on text and status into survey list. Can also sorter on id, text and date end. --- ChangeLog | 1 + .../install/mysql/migration/3.5.0-3.6.0.sql | 5 +- .../mysql/tables/llx_opensurvey_sondage.sql | 27 +++--- htdocs/opensurvey/list.php | 90 +++++++++++++++---- htdocs/product/liste.php | 10 +-- 5 files changed, 98 insertions(+), 35 deletions(-) diff --git a/ChangeLog b/ChangeLog index c400db96fe9..b13f0bc1586 100644 --- a/ChangeLog +++ b/ChangeLog @@ -25,6 +25,7 @@ For users: - New: Add an admin page to make a mass init of barcode values for all products. - New: Automatic events for sending mails showing info about mail linked objects. - New: Price management enhancement (multiprice level, price by customer, if MAIN_FEATURES_LEVEL=2 Price by qty) +- New: Add filter on text and status into survey list. Can also sorter on id, text and date end. - Fix: Project Task numbering rule customs rule works TODO diff --git a/htdocs/install/mysql/migration/3.5.0-3.6.0.sql b/htdocs/install/mysql/migration/3.5.0-3.6.0.sql index 9240cfe49b4..b10122ee269 100644 --- a/htdocs/install/mysql/migration/3.5.0-3.6.0.sql +++ b/htdocs/install/mysql/migration/3.5.0-3.6.0.sql @@ -18,10 +18,10 @@ -- -- VMYSQL4.1 DELETE FROM llx_usergroup_user WHERE fk_usergroup NOT IN (SELECT rowid from llx_usergroup); ALTER TABLE llx_bookmark ADD COLUMN entity integer DEFAULT 1 NOT NULL; - ALTER TABLE llx_bookmark MODIFY COLUMN url varchar(255) NOT NULL; -ALTER TABLE llx_opensurvey_sondage ADD COLUMN allow_comments tinyint NOT NULL DEFAULT 1 AFTER canedit; +ALTER TABLE llx_opensurvey_sondage ADD COLUMN entity integer DEFAULT 1 NOT NULL; +ALTER TABLE llx_opensurvey_sondage ADD COLUMN allow_comments tinyint NOT NULL DEFAULT 1; -- ALTER TABLE llx_opensurvey_sondage DROP COLUMN survey_link_visible; -- ALTER TABLE llx_opensurvey_sondage DROP INDEX idx_id_sondage_admin; -- ALTER TABLE llx_opensurvey_sondage DROP COLUMN id_sondage_admin; @@ -33,6 +33,7 @@ ALTER TABLE llx_opensurvey_sondage CHANGE COLUMN mailsonde mailsonde tinyint NOT ALTER TABLE llx_opensurvey_sondage CHANGE COLUMN titre titre TEXT NOT NULL; ALTER TABLE llx_opensurvey_sondage CHANGE COLUMN date_fin date_fin DATETIME NOT NULL; ALTER TABLE llx_opensurvey_sondage CHANGE COLUMN format format VARCHAR(2) NOT NULL; +ALTER TABLE llx_opensurvey_sondage ADD COLUMN sujet TEXT; ALTER TABLE llx_facture_rec CHANGE COLUMN usenewprice usenewprice INTEGER DEFAULT 0; diff --git a/htdocs/install/mysql/tables/llx_opensurvey_sondage.sql b/htdocs/install/mysql/tables/llx_opensurvey_sondage.sql index d8c3d74571c..dca50aba6f7 100644 --- a/htdocs/install/mysql/tables/llx_opensurvey_sondage.sql +++ b/htdocs/install/mysql/tables/llx_opensurvey_sondage.sql @@ -16,17 +16,18 @@ -- ============================================================================ CREATE TABLE llx_opensurvey_sondage ( - id_sondage VARCHAR(16) PRIMARY KEY, - commentaires text, - mail_admin VARCHAR(128), - nom_admin VARCHAR(64), - fk_user_creat integer NOT NULL, - titre TEXT NOT NULL, - date_fin DATETIME NOT NULL, - format VARCHAR(2) NOT NULL, - mailsonde tinyint NOT NULL DEFAULT 0, - allow_comments tinyint NOT NULL DEFAULT 1, - allow_spy tinyint NOT NULL DEFAULT 1, - tms TIMESTAMP, - sujet TEXT + id_sondage VARCHAR(16) PRIMARY KEY, + entity integer DEFAULT 1 NOT NULL, -- multi company id + commentaires text, + mail_admin VARCHAR(128), + nom_admin VARCHAR(64), + fk_user_creat integer NOT NULL, + titre TEXT NOT NULL, + date_fin DATETIME NOT NULL, + format VARCHAR(2) NOT NULL, + mailsonde tinyint NOT NULL DEFAULT 0, + allow_comments tinyint NOT NULL DEFAULT 1, + allow_spy tinyint NOT NULL DEFAULT 1, + tms TIMESTAMP, + sujet TEXT ) ENGINE=InnoDB; \ No newline at end of file diff --git a/htdocs/opensurvey/list.php b/htdocs/opensurvey/list.php index a9b36ca7a1c..76a3b959d2b 100644 --- a/htdocs/opensurvey/list.php +++ b/htdocs/opensurvey/list.php @@ -1,6 +1,6 @@ - * Copyright (C) 2014 Marcos García +/* Copyright (C) 2013-2014 Laurent Destailleur + * Copyright (C) 2014 Marcos García * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -32,15 +32,37 @@ if (!$user->rights->opensurvey->read) accessforbidden(); $action=GETPOST('action'); $id=GETPOST('id'); $numsondage= $id; +$surveytitle=GETPOST('surveytitle'); +$status=GETPOST('status'); +//if (! isset($_POST['status']) && ! isset($_GET['status'])) $status='opened'; // If filter unknown, we choose 'opened' -if (! $sortorder) $sortorder="ASC"; +$sortfield = GETPOST("sortfield",'alpha'); +$sortorder = GETPOST("sortorder",'alpha'); +$page = GETPOST("page",'int'); +if ($page == -1) { $page = 0; } +$offset = $conf->liste_limit * $page; +$pageprev = $page - 1; +$pagenext = $page + 1; if (! $sortfield) $sortfield="p.titre"; +if (! $sortorder) $sortorder="ASC"; if ($page < 0) { $page = 0; } $limit = $conf->liste_limit; $offset = $limit * $page; +$langs->load("opensurvey"); + +/* + * Actions + */ + +if (GETPOST('button_removefilter')) +{ + $status=''; + $surveytitle=''; +} + /* * View @@ -48,18 +70,49 @@ $offset = $limit * $page; $form=new Form($db); -$langs->load("opensurvey"); +$now = dol_now(); + llxHeader(); -print '
'."\n"; +$param=''; + +print '
'."\n"; print_fiche_titre($langs->trans("OpenSurveyArea")); -// tableau qui affiche tous les sondages de la base -print ''."\n"; -print ''."\n"; +// List of surveys into database -$sql = "SELECT id_sondage, fk_user_creat, u.login, format, date_fin, titre, nom_admin"; +print ''; +print ''; +print ''; +print ''; +print ''; + +print '
'. $langs->trans("Ref").''. $langs->trans("Title") .''. $langs->trans("Type") .''. $langs->trans("Author") .''. $langs->trans("ExpireDate") .''. $langs->trans("NbOfVoters") .'
'."\n"; +print ''; +print_liste_field_titre($langs->trans("Ref"), $_SERVER["PHP_SELF"], "p.id_sondage",$param,"","",$sortfield,$sortorder); +print_liste_field_titre($langs->trans("Title"), $_SERVER["PHP_SELF"], "p.titre",$param,"","",$sortfield,$sortorder); +print ''; +print ''; +print_liste_field_titre($langs->trans("ExpireDate"), $_SERVER["PHP_SELF"], "p.date_fin",$param,"",'align="center"',$sortfield,$sortorder); +print ''; +print ''."\n"; + +print ''; +print ''; +print ''; +print ''; +print ''; +$arraystatus=array(''=>' ','expired'=>$langs->trans("Expired"),'opened'=>$langs->trans("Opened")); +print ''; +print ''; +print ''."\n"; + +$sql = "SELECT p.id_sondage, p.fk_user_creat, p.format, p.date_fin, p.titre, p.nom_admin,"; +$sql.= " u.login"; $sql.= " FROM ".MAIN_DB_PREFIX."opensurvey_sondage as p"; $sql.= " LEFT OUTER JOIN ".MAIN_DB_PREFIX."user u ON u.rowid = p.fk_user_creat"; // Count total nb of records @@ -69,8 +122,12 @@ if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) $result = $db->query($sql); $nbtotalofrecords = $db->num_rows($result); } -$sql.= " ORDER BY $sortfield $sortorder "; -$sql.= " ".$db->plimit($conf->liste_limit+1, $offset); +$sql.= " WHERE p.entity = ".getEntity('survey'); +if ($status == 'expired') $sql.=" AND date_fin < '".$db->idate($now)."'"; +if ($status == 'opened') $sql.=" AND date_fin >= '".$db->idate($now)."'"; +if ($surveytitle) $sql.=" AND titre LIKE '%".$db->escape($surveytitle)."%'"; +$sql.= $db->order($sortfield,$sortorder); +$sql.= $db->plimit($conf->liste_limit+1, $offset); $resql=$db->query($sql); if (! $resql) dol_print_error($db); @@ -100,22 +157,22 @@ while ($i < min($num,$limit)) print img_picto('',dol_buildpath('/opensurvey/img/'.($type == 'classic'?'chart-32.png':'calendar-32.png'),1),'width="16"',1); print ' '.$langs->trans($type=='classic'?"TypeClassic":"TypeDate"); print ''; print ''; print''."\n"; @@ -125,6 +182,9 @@ while ($i < min($num,$limit)) } print '
'. $langs->trans("Type") .''. $langs->trans("Author") .''. $langs->trans("NbOfVoters") .'
'. $form->selectarray('status', $arraystatus, $status).''; +print ''; +print ''; +print '
'; - + // Author if ($obj->fk_user_creat) { $userstatic = new User($db); $userstatic->id = $obj->fk_user_creat; $userstatic->login = $obj->login; - + print $userstatic->getLoginUrl(1); } else { print dol_htmlentities($obj->nom_admin); } - + print ''.dol_print_date($db->jdate($obj->date_fin),'day'); - if ($db->jdate($obj->date_fin) < time()) { print ' '.img_warning(); } + if ($db->jdate($obj->date_fin) < time()) { print ' ('.$langs->trans("Expired").')'; } print ''.$nbuser.'
'."\n"; + +print ''; + print '
'."\n"; llxFooter(); diff --git a/htdocs/product/liste.php b/htdocs/product/liste.php index 28330586070..09576449f0b 100644 --- a/htdocs/product/liste.php +++ b/htdocs/product/liste.php @@ -260,7 +260,7 @@ else } else { - print '
'; + print ''; print ''; print ''; print ''; @@ -277,7 +277,7 @@ else if (empty($conf->global->PRODUIT_MULTIPRICES)) $colspan++; if ($user->rights->fournisseur->lire) $colspan++; if (! empty($conf->stock->enabled) && $user->rights->stock->lire && $type != 1) $colspan+=2; - + if (! empty($conf->categorie->enabled)) { $moreforfilter.=$langs->trans('Categories'). ': '; @@ -361,10 +361,10 @@ else print '
'; + print ''; print $form->selectarray('tosell', array('0'=>$langs->trans('ProductStatusNotOnSellShort'),'1'=>$langs->trans('ProductStatusOnSellShort')),$tosell,1); print ''; print $form->selectarray('tobuy', array('0'=>$langs->trans('ProductStatusNotOnBuyShort'),'1'=>$langs->trans('ProductStatusOnBuyShort')),$tobuy,1); print ''.$product_static->LibStatut($objp->tobuy,5,1).' 
'; +print ''; +print ""; +print ''; +print ""; +//print ''; +print '
'.$langs->trans("OpenSurveyArea").'
'.$langs->trans("NbOfSurveys").''.$nbsondages.'
'.$langs->trans("Total").''; +//print $total; +//print '
'; + + +print ''; + + llxFooter(); diff --git a/htdocs/opensurvey/list.php b/htdocs/opensurvey/list.php index 76a3b959d2b..4b0ca196639 100644 --- a/htdocs/opensurvey/list.php +++ b/htdocs/opensurvey/list.php @@ -75,6 +75,7 @@ $now = dol_now(); llxHeader(); $param=''; +$fieldtosortuser=empty($conf->global->MAIN_FIRSTNAME_NAME_POSITION)?'firstname':'lastname'; print '
'."\n"; @@ -93,7 +94,7 @@ print '
'. $langs->trans("Type") .''. $langs->trans("Author") .''. $langs->trans("NbOfVoters") .'
'; -//print '
'; print '
'; @@ -122,19 +120,19 @@ print ''; print ''; if (! empty($conf->product->enabled)) { - $statProducts = ""; + $statProducts = ""; $statProducts.= ''; $statProducts.= ""; - $statProducts.= ""; + $statProducts.= ""; $statProducts.= ''; $statProducts.= ""; } if (! empty($conf->service->enabled)) { - $statServices = ""; + $statServices = ""; $statServices.= ''; $statServices.= ""; - $statServices.= ""; + $statServices.= ""; $statServices.= ''; $statServices.= ""; } @@ -160,7 +158,6 @@ print ''; print '
'.$langs->trans("Statistics").'
'.$langs->trans("ProductsNotOnSell").''.round($prodser[0][0]).'
'.$langs->trans("ProductsOnSell").''.round($prodser[0][1]).'
'.$langs->trans("ServicesNotOnSell").''.round($prodser[1][0]).'
'.$langs->trans("ServicesOnSell").''.round($prodser[1][1]).'
'; -//print '
'; print '
'; @@ -261,7 +258,7 @@ else // TODO Move this into a page that should be available into menu "accountancy - report - turnover - per quarter" -// Also method used for counting must provide the 2 possible methods like done by all other reports into menu "accountancy - report - turnover": +// Also method used for counting must provide the 2 possible methods like done by all other reports into menu "accountancy - report - turnover": // "commitment engagment" method and "cash accounting" method if ($conf->global->MAIN_FEATURES_LEVEL) { @@ -270,7 +267,6 @@ if ($conf->global->MAIN_FEATURES_LEVEL) } -//print '
'; print ''; llxFooter(); @@ -283,8 +279,8 @@ $db->close(); function activitytrim($product_type) { global $conf,$langs,$db; - - // on affiche les 3 dernières années + + // on affiche les 3 dernières années $yearofbegindate=date('Y',dol_time_plus_duree(time(), -3, "y")); // ventilation par trimestre @@ -311,7 +307,7 @@ function activitytrim($product_type) $trim4=0; $lgn = 0; $num = $db->num_rows($result); - + if ($num > 0 ) { print '
'; @@ -353,7 +349,7 @@ function activitytrim($product_type) $trim3=0; $trim4=0; } - + if ($objp->mois == "01" || $objp->mois == "02" || $objp->mois == "03") $trim1 += $objp->Mnttot; From a3fcb5ac5a78735dd13f02e583ffe424b64ad22d Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 5 Mar 2014 11:52:51 +0100 Subject: [PATCH 096/293] Fix: Regression with firefox --- htdocs/opensurvey/public/studs.php | 26 ++++++++++++------------ htdocs/opensurvey/results.php | 32 +++++++++++++++--------------- 2 files changed, 29 insertions(+), 29 deletions(-) diff --git a/htdocs/opensurvey/public/studs.php b/htdocs/opensurvey/public/studs.php index 3467988f99a..f59a9d6e572 100644 --- a/htdocs/opensurvey/public/studs.php +++ b/htdocs/opensurvey/public/studs.php @@ -61,7 +61,7 @@ $listofvoters=explode(',',$_SESSION["savevoter"]); if (GETPOST('ajoutcomment')) { if (!$canbemodified) accessforbidden(); - + $error=0; if (! GETPOST('comment')) @@ -81,16 +81,16 @@ if (GETPOST('ajoutcomment')) $comment_user = GETPOST('commentuser'); $resql = $object->addComment($comment, $comment_user); - + if (! $resql) dol_print_error($db); } } // Add vote -if (isset($_POST["boutonp"])) +if (GETPOST("boutonp") || GETPOST("boutonp.x") || GETPOST("boutonp_x")) // boutonp for chrom, boutonp_x for firefox { if (!$canbemodified) accessforbidden(); - + //Si le nom est bien entré if (GETPOST('nom')) { @@ -110,7 +110,7 @@ if (isset($_POST["boutonp"])) } } - $nom=substr($_POST["nom"],0,64); + $nom=substr(GETPOST("nom"),0,64); // Check if vote already exists $sql = 'SELECT id_users, nom FROM '.MAIN_DB_PREFIX."opensurvey_user_studs WHERE id_sondage='".$db->escape($numsondage)."' AND nom = '".$db->escape($nom)."' ORDER BY id_users"; @@ -138,18 +138,18 @@ if (isset($_POST["boutonp"])) if ($object->fk_user_creat) { $userstatic = new User($db); $userstatic->fetch($object->fk_user_creat); - + $email = $userstatic->email; } else { $email = $object->mail_admin; } - + //Linked user may not have an email set if ($email) { include_once DOL_DOCUMENT_ROOT.'/core/class/CMailFile.class.php'; - + $body = $langs->trans('EmailSomeoneVoted', $nom, getUrlSondage($numsondage, true)); - + $cmailfile=new CMailFile("[".MAIN_APPLICATION_TITLE."] ".$langs->trans("Poll").': '.$object->titre, $email, $conf->global->MAIN_MAIL_EMAIL_FROM, $body); $result=$cmailfile->sendfile(); } @@ -204,7 +204,7 @@ if ($testmodifier) $nouveauchoix.="0"; } } - + if (!$canbemodified) accessforbidden(); $idtomodify=$_POST["idtomodify".$modifier]; @@ -222,7 +222,7 @@ $idcomment=GETPOST('deletecomment','int'); if ($idcomment) { if (!$canbemodified) accessforbidden(); - + $resql = $object->deleteComment($idcomment); } @@ -271,7 +271,7 @@ print ''."\n"; //The survey has expired, users can't vote or do any action if (!$canbemodified) { - + print '

'.$langs->trans('SurveyExpiredInfo').'

'; llxFooterSurvey(); @@ -714,7 +714,7 @@ $comments = $object->getComments(); if ($comments) { print "
" . $langs->trans("CommentsOfVoters") . ":
\n"; - + foreach ($comments as $obj) { print '
'; if (in_array($obj->usercomment, $listofvoters)) print ' '.img_picto('', 'delete.png').' '; diff --git a/htdocs/opensurvey/results.php b/htdocs/opensurvey/results.php index 365ea3cd9e3..434280d439a 100644 --- a/htdocs/opensurvey/results.php +++ b/htdocs/opensurvey/results.php @@ -52,13 +52,13 @@ $nblignes=count($object->fetch_lines()); //Return to the results if (GETPOST('retoursondage')) { header('Location: results.php?id='.$_GET['id']); - die; + exit; } $nbcolonnes = substr_count($object->sujet, ',') + 1; // Add vote -if (isset($_POST["boutonp"])) +if (GETPOST("boutonp") || GETPOST("boutonp.x") || GETPOST("boutonp_x")) // boutonp for chrom, boutonp.x for firefox { if (GETPOST('nom')) { @@ -128,7 +128,7 @@ if ($testmodifier) // Security check if (!$user->rights->opensurvey->write) accessforbidden(); - + $nouveauchoix = ''; for ($i = 0; $i < $nbcolonnes; $i++) { @@ -161,7 +161,7 @@ if (GETPOST("ajoutercolonne") && GETPOST('nouvellecolonne') && ($object->format { // Security check if (!$user->rights->opensurvey->write) accessforbidden(); - + $nouveauxsujets=$object->sujet; //on rajoute la valeur a la fin de tous les sujets deja entrés @@ -185,7 +185,7 @@ if (isset($_POST["ajoutercolonne"]) && ($object->format == "D")) { // Security check if (!$user->rights->opensurvey->write) accessforbidden(); - + $nouveauxsujets=$object->sujet; if (isset($_POST["nouveaujour"]) && $_POST["nouveaujour"] != "vide" && @@ -280,7 +280,7 @@ for ($i = 0; $i < $nblignes; $i++) { // Security check if (!$user->rights->opensurvey->write) accessforbidden(); - + $compteur=0; // Loop on each answer @@ -315,7 +315,7 @@ for ($i = 0; $i < $nbcolonnes; $i++) { // Security check if (!$user->rights->opensurvey->write) accessforbidden(); - + $db->begin(); $toutsujet = explode(",",$object->sujet); @@ -473,7 +473,7 @@ if (GETPOST('ajoutsujet')) { // Security check if (!$user->rights->opensurvey->write) accessforbidden(); - + //on recupere les données et les sujets du sondage print ''."\n"; print ''; @@ -496,7 +496,7 @@ if (GETPOST('ajoutsujet')) else { require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php'; - + $formother=new FormOther($db); //ajout d'une date avec creneau horaire print $langs->trans("AddADate") .':

'."\n"; @@ -508,9 +508,9 @@ if (GETPOST('ajoutsujet')) print ''."\n"; print $formother->select_month('', 'nouveaumois', 1); - + print ' '; - + print $formother->select_year('', 'nouvelleannee', 1, 0, 5, 0, 1); print '

'. $langs->trans("AddStartHour") .':

'."\n"; @@ -624,7 +624,7 @@ if ($object->format=="D") print '
'; print 'id_sondage.'">'.$langs->trans("Add").'
id_sondage.'">'.$langs->trans("Add").'
id_sondage.'">'.$langs->trans("Add").'
'."\n"; - + if ($user->rights->opensurvey->write) { print ''."\n"; } - + // Name print ''.dol_htmlentities($obj->nom).'
'.$langs->trans('DateDebCP').' ('.$langs->trans("FirstDayOfHoliday").')
'.$langs->trans('DateFinCP').' ('.$langs->trans("LastDayOfHoliday").')
'.$langs->trans('NbUseDaysCP').''.num_open_day($cp->date_debut, $cp->date_fin, 0, 1, $cp->halfday).''.num_open_day($cp->date_debut_gmt, $cp->date_fin_gmt, 0, 1, $cp->halfday).'
'; @@ -299,7 +299,7 @@ if($user->rights->holiday->lire_tous) $form->select_users($search_valideur,"search_valideur",1,"",0,$valideurarray,''); print ''; } -else +else { print ''; } @@ -366,7 +366,7 @@ if (! empty($holiday->holiday)) print ''; print ''; print ''; print ''."\n"; diff --git a/htdocs/holiday/month_report.php b/htdocs/holiday/month_report.php index df9206dfcc5..31b1765cf32 100644 --- a/htdocs/holiday/month_report.php +++ b/htdocs/holiday/month_report.php @@ -119,13 +119,8 @@ if($num == '0') { $start_date=$db->jdate($holiday['date_debut']); $end_date=$db->jdate($holiday['date_fin']); - /*if(substr($holiday['date_debut'],5,2)==$month-1){ - $holiday['date_debut'] = date('Y-'.$month.'-01'); - } - - if(substr($holiday['date_fin'],5,2)==$month+1){ - $holiday['date_fin'] = date('Y-'.$month.'-t'); - }*/ + $start_date_gmt=$db->jdate($holiday['date_debut'],1); + $end_date_gmt=$db->jdate($holiday['date_fin'],1); print ''; print ''; @@ -135,7 +130,7 @@ if($num == '0') { print ''; print ''; print ''; diff --git a/test/phpunit/DateLibTest.php b/test/phpunit/DateLibTest.php index 470b74df861..d5567ab55b3 100644 --- a/test/phpunit/DateLibTest.php +++ b/test/phpunit/DateLibTest.php @@ -150,6 +150,18 @@ class DateLibTest extends PHPUnit_Framework_TestCase print __METHOD__." result=".$result."\n"; $this->assertEquals(1,$result); + // With different date before and after sunlight hour (day to change is 2014-03-30) + $date1=dol_mktime(0, 0, 0, 3, 28, 2014, true); + $date2=dol_mktime(0, 0, 0, 3, 31, 2014, true); + + $result=num_between_day($date1,$date2,1); + print __METHOD__." result=".$result."\n"; + $this->assertEquals(4,$result); + + $result=num_between_day($date1,$date2,0); + print __METHOD__." result=".$result."\n"; + $this->assertEquals(3,$result); + return $result; } From fa098adc78a9031d5f35efc9975775361430bbad Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 5 Mar 2014 21:29:33 +0100 Subject: [PATCH 105/293] Fix: infinite loop in function num_public_holiday --- htdocs/core/lib/date.lib.php | 12 +++++++----- test/phpunit/DateLibTest.php | 2 +- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/htdocs/core/lib/date.lib.php b/htdocs/core/lib/date.lib.php index 9e28fda317b..5d336ccc2c2 100644 --- a/htdocs/core/lib/date.lib.php +++ b/htdocs/core/lib/date.lib.php @@ -585,7 +585,7 @@ function dol_get_first_day_week($day,$month,$year,$gm=false) } /** - * Fonction retournant le nombre de jour feries samedis et dimanches entre 2 dates entrees en timestamp + * Fonction retournant le nombre de jour feries, samedis et dimanches entre 2 dates entrees en timestamp. Dates must be UTC with hour, day, min to 0 * Called by function num_open_day * * @param timestamp $timestampStart Timestamp de debut @@ -597,7 +597,10 @@ function num_public_holiday($timestampStart, $timestampEnd, $countrycode='FR') { $nbFerie = 0; - while ($timestampStart != $timestampEnd) + // Check to ensure we use correct parameters + if ((($timestampEnd - $timestampStart) % 86400) != 0) return 'ErrorDates must use same hour and be GMT dates'; + + while ($timestampStart < $timestampEnd) // Loop end when equals { $ferie=false; $countryfound=0; @@ -707,9 +710,9 @@ function num_public_holiday($timestampStart, $timestampEnd, $countrycode='FR') // On incremente compteur if ($ferie) $nbFerie++; - // Incrementation du nombre de jour (on avance dans la boucle) + // Increase number of days (on go up into loop) $jour++; - $timestampStart=mktime(0,0,0,$mois,$jour,$annee); + $timestampStart=dol_mktime(0,0,0,$mois,$jour,$annee,1); // Generate GMT date for next day } return $nbFerie; @@ -765,7 +768,6 @@ function num_open_day($timestampStart, $timestampEnd, $inhour=0, $lastday=0, $ha //print 'num_open_day timestampStart='.$timestampStart.' timestampEnd='.$timestampEnd.' bit='.$lastday; if ($timestampStart < $timestampEnd) { - //print num_between_day($timestampStart, $timestampEnd, $lastday).' - '.num_public_holiday($timestampStart, $timestampEnd); $nbOpenDay = num_between_day($timestampStart, $timestampEnd, $lastday) - num_public_holiday($timestampStart, $timestampEnd, $lastday); $nbOpenDay.= " " . $langs->trans("Days"); if ($inhour == 1 && $nbOpenDay <= 3) $nbOpenDay = $nbOpenDay*24 . $langs->trans("HourShort"); diff --git a/test/phpunit/DateLibTest.php b/test/phpunit/DateLibTest.php index d5567ab55b3..8cf7520f9fd 100644 --- a/test/phpunit/DateLibTest.php +++ b/test/phpunit/DateLibTest.php @@ -150,7 +150,7 @@ class DateLibTest extends PHPUnit_Framework_TestCase print __METHOD__." result=".$result."\n"; $this->assertEquals(1,$result); - // With different date before and after sunlight hour (day to change is 2014-03-30) + // With different date before and after sunlight hour (day to change sunlight hour is 2014-03-30) $date1=dol_mktime(0, 0, 0, 3, 28, 2014, true); $date2=dol_mktime(0, 0, 0, 3, 31, 2014, true); From 2c22c7707f1422d92078da9d2aac3fbf6cc79dcc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcos=20Garci=CC=81a=20de=20La=20Fuente?= Date: Thu, 6 Mar 2014 08:55:04 +0100 Subject: [PATCH 106/293] Created locale ODT line tags for invoice, shipment and order modules, and corrected the use of line_price_ht, line_price_ttc and line_price_vat tags --- ChangeLog | 1 + .../commande/doc/doc_generic_order_odt.modules.php | 5 ++++- .../doc/doc_generic_shipment_odt.modules.php | 11 +++++++---- .../facture/doc/doc_generic_invoice_odt.modules.php | 5 ++++- 4 files changed, 16 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index 606a5577e80..1485ec14b1b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -28,6 +28,7 @@ For users: - New: Add filter on text and status into survey list. Can also sorter on id, text and date end. - New: Add option MAIN_FAVICON_URL - Fix: Project Task numbering rule customs rule works +- New: Created {line_price_ht_locale}, {line_price_vat_locale} and {line_price_ttc_locale} ODT tags TODO - New: Predefined product and free product use same form. diff --git a/htdocs/core/modules/commande/doc/doc_generic_order_odt.modules.php b/htdocs/core/modules/commande/doc/doc_generic_order_odt.modules.php index e3ca8814a70..549914fe8d8 100644 --- a/htdocs/core/modules/commande/doc/doc_generic_order_odt.modules.php +++ b/htdocs/core/modules/commande/doc/doc_generic_order_odt.modules.php @@ -93,7 +93,7 @@ class doc_generic_order_odt extends ModelePDFCommandes * @param Translate $outputlangs Lang object to use for output * @return array Array of substitution */ - function get_substitutionarray_object($object,$outputlangs) + function get_substitutionarray_object($object, Translate $outputlangs) { global $conf; @@ -176,6 +176,9 @@ class doc_generic_order_odt extends ModelePDFCommandes 'line_price_ht'=>price($line->total_ht, 0, $outputlangs), 'line_price_ttc'=>price($line->total_ttc, 0, $outputlangs), 'line_price_vat'=>price($line->total_tva, 0, $outputlangs), + 'line_price_ht_locale'=>price($line->total_ht, 0, $outputlangs), + 'line_price_ttc_locale'=>price($line->total_ttc, 0, $outputlangs), + 'line_price_vat_locale'=>price($line->total_tva, 0, $outputlangs), 'line_date_start'=>$line->date_start, 'line_date_end'=>$line->date_end ); diff --git a/htdocs/core/modules/expedition/doc/doc_generic_shipment_odt.modules.php b/htdocs/core/modules/expedition/doc/doc_generic_shipment_odt.modules.php index 4b1433ddd77..786ebec65e4 100644 --- a/htdocs/core/modules/expedition/doc/doc_generic_shipment_odt.modules.php +++ b/htdocs/core/modules/expedition/doc/doc_generic_shipment_odt.modules.php @@ -150,7 +150,7 @@ class doc_generic_shipment_odt extends ModelePdfExpedition * @param Translate $outputlangs Lang object to use for output * @return array Return a substitution array */ - function get_substitutionarray_lines($line,$outputlangs) + function get_substitutionarray_lines($line, Translate $outputlangs) { global $conf; @@ -163,9 +163,12 @@ class doc_generic_shipment_odt extends ModelePdfExpedition 'line_up'=>price($line->subprice, 0, $outputlangs), 'line_qty'=>$line->qty, 'line_discount_percent'=>($line->remise_percent?$line->remise_percent.'%':''), - 'line_price_ht'=>price($line->total_ht, 0, $outputlangs), - 'line_price_ttc'=>price($line->total_ttc, 0, $outputlangs), - 'line_price_vat'=>price($line->total_tva, 0, $outputlangs), + 'line_price_ht'=>price2num($line->total_ht), + 'line_price_ttc'=>price2num($line->total_ttc), + 'line_price_vat'=>price2num($line->total_tva), + 'line_price_ht_locale'=>price($line->total_ht, 0, $outputlangs), + 'line_price_ttc_locale'=>price($line->total_ttc, 0, $outputlangs), + 'line_price_vat_locale'=>price($line->total_tva, 0, $outputlangs), 'line_date_start'=>$line->date_start, 'line_date_end'=>$line->date_end ); diff --git a/htdocs/core/modules/facture/doc/doc_generic_invoice_odt.modules.php b/htdocs/core/modules/facture/doc/doc_generic_invoice_odt.modules.php index d1642023c24..9f31c3743b2 100644 --- a/htdocs/core/modules/facture/doc/doc_generic_invoice_odt.modules.php +++ b/htdocs/core/modules/facture/doc/doc_generic_invoice_odt.modules.php @@ -175,7 +175,7 @@ class doc_generic_invoice_odt extends ModelePDFFactures * @param Translate $outputlangs Lang object to use for output * @return array Return substitution array */ - function get_substitutionarray_lines($line,$outputlangs) + function get_substitutionarray_lines($line, Translate $outputlangs) { global $conf; @@ -191,6 +191,9 @@ class doc_generic_invoice_odt extends ModelePDFFactures 'line_price_ht'=>price2num($line->total_ht), 'line_price_ttc'=>price2num($line->total_ttc), 'line_price_vat'=>price2num($line->total_tva), + 'line_price_ht_locale'=>price($line->total_ht, 0, $outputlangs), + 'line_price_ttc_locale'=>price($line->total_ttc, 0, $outputlangs), + 'line_price_vat_locale'=>price($line->total_tva, 0, $outputlangs), 'line_date_start'=>dol_print_date($line->date_start, 'day', false, $outputlangs), 'line_date_end'=>dol_print_date($line->date_end, 'day', false, $outputlangs), ); From c7566893a31607204ab584a6f4ace56c5f8b350a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcos=20Garci=CC=81a=20de=20La=20Fuente?= Date: Thu, 6 Mar 2014 08:56:28 +0100 Subject: [PATCH 107/293] Corrected array indentation --- .../doc/doc_generic_order_odt.modules.php | 26 +++++++++---------- .../doc/doc_generic_shipment_odt.modules.php | 20 +++++++------- .../doc/doc_generic_invoice_odt.modules.php | 26 +++++++++---------- 3 files changed, 36 insertions(+), 36 deletions(-) diff --git a/htdocs/core/modules/commande/doc/doc_generic_order_odt.modules.php b/htdocs/core/modules/commande/doc/doc_generic_order_odt.modules.php index 549914fe8d8..68cf2ae044a 100644 --- a/htdocs/core/modules/commande/doc/doc_generic_order_odt.modules.php +++ b/htdocs/core/modules/commande/doc/doc_generic_order_odt.modules.php @@ -165,22 +165,22 @@ class doc_generic_order_odt extends ModelePDFCommandes global $conf; return array( - 'line_fulldesc'=>doc_getlinedesc($line,$outputlangs), - 'line_product_ref'=>$line->product_ref, - 'line_product_label'=>$line->product_label, - 'line_desc'=>$line->desc, - 'line_vatrate'=>vatrate($line->tva_tx,true,$line->info_bits), - 'line_up'=>price($line->subprice, 0, $outputlangs), - 'line_qty'=>$line->qty, - 'line_discount_percent'=>($line->remise_percent?$line->remise_percent.'%':''), - 'line_price_ht'=>price($line->total_ht, 0, $outputlangs), - 'line_price_ttc'=>price($line->total_ttc, 0, $outputlangs), - 'line_price_vat'=>price($line->total_tva, 0, $outputlangs), + 'line_fulldesc'=>doc_getlinedesc($line,$outputlangs), + 'line_product_ref'=>$line->product_ref, + 'line_product_label'=>$line->product_label, + 'line_desc'=>$line->desc, + 'line_vatrate'=>vatrate($line->tva_tx,true,$line->info_bits), + 'line_up'=>price($line->subprice, 0, $outputlangs), + 'line_qty'=>$line->qty, + 'line_discount_percent'=>($line->remise_percent?$line->remise_percent.'%':''), + 'line_price_ht'=>price($line->total_ht, 0, $outputlangs), + 'line_price_ttc'=>price($line->total_ttc, 0, $outputlangs), + 'line_price_vat'=>price($line->total_tva, 0, $outputlangs), 'line_price_ht_locale'=>price($line->total_ht, 0, $outputlangs), 'line_price_ttc_locale'=>price($line->total_ttc, 0, $outputlangs), 'line_price_vat_locale'=>price($line->total_tva, 0, $outputlangs), - 'line_date_start'=>$line->date_start, - 'line_date_end'=>$line->date_end + 'line_date_start'=>$line->date_start, + 'line_date_end'=>$line->date_end ); } diff --git a/htdocs/core/modules/expedition/doc/doc_generic_shipment_odt.modules.php b/htdocs/core/modules/expedition/doc/doc_generic_shipment_odt.modules.php index 786ebec65e4..ea1fea62c13 100644 --- a/htdocs/core/modules/expedition/doc/doc_generic_shipment_odt.modules.php +++ b/htdocs/core/modules/expedition/doc/doc_generic_shipment_odt.modules.php @@ -155,22 +155,22 @@ class doc_generic_shipment_odt extends ModelePdfExpedition global $conf; return array( - 'line_fulldesc'=>doc_getlinedesc($line,$outputlangs), - 'line_product_ref'=>$line->product_ref, - 'line_product_label'=>$line->product_label, - 'line_desc'=>$line->desc, - 'line_vatrate'=>vatrate($line->tva_tx,true,$line->info_bits), - 'line_up'=>price($line->subprice, 0, $outputlangs), - 'line_qty'=>$line->qty, - 'line_discount_percent'=>($line->remise_percent?$line->remise_percent.'%':''), + 'line_fulldesc'=>doc_getlinedesc($line,$outputlangs), + 'line_product_ref'=>$line->product_ref, + 'line_product_label'=>$line->product_label, + 'line_desc'=>$line->desc, + 'line_vatrate'=>vatrate($line->tva_tx,true,$line->info_bits), + 'line_up'=>price($line->subprice, 0, $outputlangs), + 'line_qty'=>$line->qty, + 'line_discount_percent'=>($line->remise_percent?$line->remise_percent.'%':''), 'line_price_ht'=>price2num($line->total_ht), 'line_price_ttc'=>price2num($line->total_ttc), 'line_price_vat'=>price2num($line->total_tva), 'line_price_ht_locale'=>price($line->total_ht, 0, $outputlangs), 'line_price_ttc_locale'=>price($line->total_ttc, 0, $outputlangs), 'line_price_vat_locale'=>price($line->total_tva, 0, $outputlangs), - 'line_date_start'=>$line->date_start, - 'line_date_end'=>$line->date_end + 'line_date_start'=>$line->date_start, + 'line_date_end'=>$line->date_end ); } diff --git a/htdocs/core/modules/facture/doc/doc_generic_invoice_odt.modules.php b/htdocs/core/modules/facture/doc/doc_generic_invoice_odt.modules.php index 9f31c3743b2..d9c79d7e119 100644 --- a/htdocs/core/modules/facture/doc/doc_generic_invoice_odt.modules.php +++ b/htdocs/core/modules/facture/doc/doc_generic_invoice_odt.modules.php @@ -180,22 +180,22 @@ class doc_generic_invoice_odt extends ModelePDFFactures global $conf; return array( - 'line_fulldesc'=>doc_getlinedesc($line,$outputlangs), - 'line_product_ref'=>$line->product_ref, - 'line_product_label'=>$line->product_label, - 'line_desc'=>$line->desc, - 'line_vatrate'=>vatrate($line->tva_tx,true,$line->info_bits), - 'line_up'=>price($line->subprice, 0, $outputlangs), - 'line_qty'=>$line->qty, - 'line_discount_percent'=>($line->remise_percent?$line->remise_percent.'%':''), - 'line_price_ht'=>price2num($line->total_ht), - 'line_price_ttc'=>price2num($line->total_ttc), - 'line_price_vat'=>price2num($line->total_tva), + 'line_fulldesc'=>doc_getlinedesc($line,$outputlangs), + 'line_product_ref'=>$line->product_ref, + 'line_product_label'=>$line->product_label, + 'line_desc'=>$line->desc, + 'line_vatrate'=>vatrate($line->tva_tx,true,$line->info_bits), + 'line_up'=>price($line->subprice, 0, $outputlangs), + 'line_qty'=>$line->qty, + 'line_discount_percent'=>($line->remise_percent?$line->remise_percent.'%':''), + 'line_price_ht'=>price2num($line->total_ht), + 'line_price_ttc'=>price2num($line->total_ttc), + 'line_price_vat'=>price2num($line->total_tva), 'line_price_ht_locale'=>price($line->total_ht, 0, $outputlangs), 'line_price_ttc_locale'=>price($line->total_ttc, 0, $outputlangs), 'line_price_vat_locale'=>price($line->total_tva, 0, $outputlangs), - 'line_date_start'=>dol_print_date($line->date_start, 'day', false, $outputlangs), - 'line_date_end'=>dol_print_date($line->date_end, 'day', false, $outputlangs), + 'line_date_start'=>dol_print_date($line->date_start, 'day', false, $outputlangs), + 'line_date_end'=>dol_print_date($line->date_end, 'day', false, $outputlangs), ); } From 4433f6e8b7271d39e3fe22565d80262aaa61898e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcos=20Garci=CC=81a=20de=20La=20Fuente?= Date: Thu, 6 Mar 2014 09:01:44 +0100 Subject: [PATCH 108/293] Missing copyright info --- .../modules/commande/doc/doc_generic_order_odt.modules.php | 1 + .../expedition/doc/doc_generic_shipment_odt.modules.php | 1 + .../modules/facture/doc/doc_generic_invoice_odt.modules.php | 3 ++- 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/htdocs/core/modules/commande/doc/doc_generic_order_odt.modules.php b/htdocs/core/modules/commande/doc/doc_generic_order_odt.modules.php index 68cf2ae044a..296f509fd7e 100644 --- a/htdocs/core/modules/commande/doc/doc_generic_order_odt.modules.php +++ b/htdocs/core/modules/commande/doc/doc_generic_order_odt.modules.php @@ -1,6 +1,7 @@ * Copyright (C) 2012 Juanjo Menent + * Copyright (C) 2014 Marcos García * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/htdocs/core/modules/expedition/doc/doc_generic_shipment_odt.modules.php b/htdocs/core/modules/expedition/doc/doc_generic_shipment_odt.modules.php index ea1fea62c13..f48afddb368 100644 --- a/htdocs/core/modules/expedition/doc/doc_generic_shipment_odt.modules.php +++ b/htdocs/core/modules/expedition/doc/doc_generic_shipment_odt.modules.php @@ -1,6 +1,7 @@ * Copyright (C) 2012 Juanjo Menent + * Copyright (C) 2014 Marcos García * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/htdocs/core/modules/facture/doc/doc_generic_invoice_odt.modules.php b/htdocs/core/modules/facture/doc/doc_generic_invoice_odt.modules.php index d9c79d7e119..fa5484eb593 100644 --- a/htdocs/core/modules/facture/doc/doc_generic_invoice_odt.modules.php +++ b/htdocs/core/modules/facture/doc/doc_generic_invoice_odt.modules.php @@ -1,7 +1,8 @@ * Copyright (C) 2012 Regis Houssin - +* Copyright (C) 2014 Marcos García +* * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or From ca0eb7919e8a82ed532105eb898fcd1a690e7374 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcos=20Garci=CC=81a=20de=20La=20Fuente?= Date: Thu, 6 Mar 2014 09:02:36 +0100 Subject: [PATCH 109/293] Corrected call to non-existing function --- htdocs/core/class/commondocgenerator.class.php | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/htdocs/core/class/commondocgenerator.class.php b/htdocs/core/class/commondocgenerator.class.php index 581ce0e7114..40a62663e55 100644 --- a/htdocs/core/class/commondocgenerator.class.php +++ b/htdocs/core/class/commondocgenerator.class.php @@ -133,7 +133,7 @@ abstract class CommonDocGenerator function get_substitutionarray_thirdparty($object,$outputlangs) { global $conf; - + if (empty($object->country) && ! empty($object->country_code)) { $object->country=$outputlangs->transnoentitiesnoconv("Country".$object->country_code); @@ -143,8 +143,6 @@ abstract class CommonDocGenerator $object->state=getState($object->state_code,0); } - $object->load_ban(); - $array_thirdparty = array( 'company_name'=>$object->name, 'company_email'=>$object->email, From c4c82f84c5bc4290075b3eb423e39f738b2e3d1b Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 6 Mar 2014 16:41:56 +0100 Subject: [PATCH 110/293] Fix: Typo --- htdocs/langs/en_US/admin.lang | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/langs/en_US/admin.lang b/htdocs/langs/en_US/admin.lang index 292dca00320..321c19877e4 100644 --- a/htdocs/langs/en_US/admin.lang +++ b/htdocs/langs/en_US/admin.lang @@ -109,8 +109,8 @@ ParameterInDolibarr=Parameter %s LanguageParameter=Language parameter %s LanguageBrowserParameter=Parameter %s LocalisationDolibarrParameters=Localisation parameters -ClientTZ=Client Time Zone(user) -ClientHour=Client time(user) +ClientTZ=Client Time Zone (user) +ClientHour=Client time (user) OSTZ=Servre OS Time Zone PHPTZ=PHP server Time Zone PHPServerOffsetWithGreenwich=PHP server offset width Greenwich (seconds) From 270eaf7aca469cf95aed239560d2c3ccdb10cc81 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 6 Mar 2014 17:02:27 +0100 Subject: [PATCH 111/293] Qual: Uniformize search date for lists. --- htdocs/comm/propal/list.php | 20 +++++++------------- htdocs/commande/liste.php | 34 ++++++++++++++-------------------- htdocs/compta/facture/list.php | 4 ++-- 3 files changed, 23 insertions(+), 35 deletions(-) diff --git a/htdocs/comm/propal/list.php b/htdocs/comm/propal/list.php index 7a652631d67..c84111fc951 100644 --- a/htdocs/comm/propal/list.php +++ b/htdocs/comm/propal/list.php @@ -289,12 +289,13 @@ if ($result) print ''; print ''; print ''; - print ''; + print ''; print ''; @@ -376,15 +377,8 @@ if ($result) // Date proposal print '\n"; + print dol_print_date($db->jdate($obj->dp), 'day'); + print "\n"; // Date end validity if ($objp->dfv) diff --git a/htdocs/commande/liste.php b/htdocs/commande/liste.php index 2beb0b73b55..f5d7c01ae56 100644 --- a/htdocs/commande/liste.php +++ b/htdocs/commande/liste.php @@ -162,15 +162,15 @@ if ($viewstatut <> '') if ($ordermonth > 0) { if ($orderyear > 0 && empty($day)) - $sql.= " AND c.date_valid BETWEEN '".$db->idate(dol_get_first_day($orderyear,$ordermonth,false))."' AND '".$db->idate(dol_get_last_day($orderyear,$ordermonth,false))."'"; + $sql.= " AND c.date_commande BETWEEN '".$db->idate(dol_get_first_day($orderyear,$ordermonth,false))."' AND '".$db->idate(dol_get_last_day($orderyear,$ordermonth,false))."'"; else if ($orderyear > 0 && ! empty($day)) - $sql.= " AND c.date_valid BETWEEN '".$db->idate(dol_mktime(0, 0, 0, $ordermonth, $day, $orderyear))."' AND '".$db->idate(dol_mktime(23, 59, 59, $ordermonth, $day, $orderyear))."'"; + $sql.= " AND c.date_commande BETWEEN '".$db->idate(dol_mktime(0, 0, 0, $ordermonth, $day, $orderyear))."' AND '".$db->idate(dol_mktime(23, 59, 59, $ordermonth, $day, $orderyear))."'"; else - $sql.= " AND date_format(c.date_valid, '%m') = '".$ordermonth."'"; + $sql.= " AND date_format(c.date_commande, '%m') = '".$ordermonth."'"; } else if ($orderyear > 0) { - $sql.= " AND c.date_valid BETWEEN '".$db->idate(dol_get_first_day($orderyear,1,false))."' AND '".$db->idate(dol_get_last_day($orderyear,12,false))."'"; + $sql.= " AND c.date_commande BETWEEN '".$db->idate(dol_get_first_day($orderyear,1,false))."' AND '".$db->idate(dol_get_last_day($orderyear,12,false))."'"; } if ($deliverymonth > 0) { @@ -297,8 +297,14 @@ if ($resql) print ''; - print ''; // Order date - $y = dol_print_date($db->jdate($objp->date_commande),'%Y'); - $m = dol_print_date($db->jdate($objp->date_commande),'%m'); - $ml = dol_print_date($db->jdate($objp->date_commande),'%B'); - $d = dol_print_date($db->jdate($objp->date_commande),'%d'); print ''; // Delivery date - $y = dol_print_date($db->jdate($objp->date_livraison),'%Y'); - $m = dol_print_date($db->jdate($objp->date_livraison),'%m'); - $ml = dol_print_date($db->jdate($objp->date_livraison),'%B'); - $d = dol_print_date($db->jdate($objp->date_livraison),'%d'); print ''; // Amount HT diff --git a/htdocs/compta/facture/list.php b/htdocs/compta/facture/list.php index 42d08c3b02c..01c06fee19a 100644 --- a/htdocs/compta/facture/list.php +++ b/htdocs/compta/facture/list.php @@ -218,10 +218,10 @@ if ($search_user > 0) } if (! $sall) { - $sql.= ' GROUP BY f.rowid, f.facnumber, f.type, f.increment, f.total,f.tva, f.total_ttc,'; + $sql.= ' GROUP BY f.rowid, f.facnumber, ref_client, f.type, f.note_private, f.increment, f.total, f.tva, f.total_ttc,'; $sql.= ' f.datef, f.date_lim_reglement,'; $sql.= ' f.paye, f.fk_statut,'; - $sql.= ' s.nom, s.rowid, f.note_private'; + $sql.= ' s.nom, s.rowid, s.code_client, s.client'; } else { From 2f150a89276d8cf9b42ae7ee234234a2d3c3f55c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rapha=C3=ABl=20Doursenaud?= Date: Thu, 6 Mar 2014 18:15:50 +0100 Subject: [PATCH 112/293] Updated dolibarr_changes --- dev/dolibarr_changes.txt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/dev/dolibarr_changes.txt b/dev/dolibarr_changes.txt index 2bf2e1a5c99..7f3490da165 100644 --- a/dev/dolibarr_changes.txt +++ b/dev/dolibarr_changes.txt @@ -39,6 +39,11 @@ into // initialize subsetchars $subsetchars = array_fill(0, 256, true); +* Made freemono the default monotype font because we removed courier +In htdocs/includes/tcpdf/tcpdf.php +- protected $default_monospaced_font = 'courier'; ++ protected $default_monospaced_font = 'freemono'; + JSGANTT: -------- From 06b2c646c3ef83b4d37c34dad1a8fdb5941befda Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 6 Mar 2014 18:31:02 +0100 Subject: [PATCH 113/293] Fix: Add a space after (int) for travis succes ;) --- htdocs/product/class/product.class.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/product/class/product.class.php b/htdocs/product/class/product.class.php index ac9381fbd9b..a8d5c29efb0 100644 --- a/htdocs/product/class/product.class.php +++ b/htdocs/product/class/product.class.php @@ -338,7 +338,7 @@ class Product extends CommonObject $sql.= ", ".$this->status; $sql.= ", ".$this->status_buy; $sql.= ", '".$this->canvas."'"; - $sql.= ", ".((! isset($this->finished) || $this->finished < 0 || $this->finished == '') ? 'null' : (int)$this->finished); + $sql.= ", ".((! isset($this->finished) || $this->finished < 0 || $this->finished == '') ? 'null' : (int) $this->finished); $sql.= ")"; dol_syslog(get_class($this)."::Create sql=".$sql); @@ -474,7 +474,7 @@ class Product extends CommonObject $sql.= ", tosell = " . $this->status; $sql.= ", tobuy = " . $this->status_buy; - $sql.= ", finished = " . ((! isset($this->finished) || $this->finished < 0) ? "null" : (int)$this->finished); + $sql.= ", finished = " . ((! isset($this->finished) || $this->finished < 0) ? "null" : (int) $this->finished); $sql.= ", weight = " . ($this->weight!='' ? "'".$this->weight."'" : 'null'); $sql.= ", weight_units = " . ($this->weight_units!='' ? "'".$this->weight_units."'": 'null'); $sql.= ", length = " . ($this->length!='' ? "'".$this->length."'" : 'null'); From 74df3543150d20b08411d4d43c730593afc02b06 Mon Sep 17 00:00:00 2001 From: miicha Date: Thu, 6 Mar 2014 18:58:46 +0100 Subject: [PATCH 114/293] spelling mistake I don't know, where its best to put a comment about wrong translations so I made a PR --- htdocs/langs/de_AT/admin.lang | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/langs/de_AT/admin.lang b/htdocs/langs/de_AT/admin.lang index 42aae30343b..678c6fba9bc 100644 --- a/htdocs/langs/de_AT/admin.lang +++ b/htdocs/langs/de_AT/admin.lang @@ -272,7 +272,7 @@ Module210Desc=PostNuke-Integration Module240Name=Datenexport Module240Desc=Werkzeug zum Datenexport(mit Assistenten) Module250Name=Datenimport -Module250Desc=Werkzeug zum Dateinport (mit Assistenten) +Module250Desc=Werkzeug zum Datenimport (mit Assistenten) Module310Name=Mitglieder Module310Desc=Mitgliederverwaltun Module320Name=RSS-Feed From 048b3c01ce8816efef35a780740e269a5445a95a Mon Sep 17 00:00:00 2001 From: aspangaro Date: Thu, 6 Mar 2014 21:21:16 +0100 Subject: [PATCH 115/293] Add salary payment in tax module - Link to user. Necessary for future hrm module. --- htdocs/compta/bank/account.php | 29 +- htdocs/compta/charges/index.php | 89 ++- .../compta/salaries/class/salaries.class.php | 578 ++++++++++++++++++ htdocs/compta/salaries/fiche.php | 327 ++++++++++ htdocs/compta/salaries/index.php | 107 ++++ htdocs/core/menus/init_menu_auguria.sql | 9 +- htdocs/core/menus/standard/eldy.lib.php | 8 +- htdocs/install/mysql/tables/llx_salaries.sql | 35 ++ htdocs/langs/en_US/compta.lang | 6 + htdocs/langs/fr_FR/compta.lang | 5 + 10 files changed, 1184 insertions(+), 9 deletions(-) create mode 100644 htdocs/compta/salaries/class/salaries.class.php create mode 100644 htdocs/compta/salaries/fiche.php create mode 100644 htdocs/compta/salaries/index.php create mode 100644 htdocs/install/mysql/tables/llx_salaries.sql diff --git a/htdocs/compta/bank/account.php b/htdocs/compta/bank/account.php index d85d6ff3b27..90a4e59fe40 100644 --- a/htdocs/compta/bank/account.php +++ b/htdocs/compta/bank/account.php @@ -5,7 +5,8 @@ * Copyright (C) 2004 Christophe Combelles * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2010-2011 Juanjo Menent - * Copyright (C) 2012 Marcos García + * Copyright (C) 2012 Marcos García + * Copyright (C) 2011-2014 Alexandre Spangaro * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -30,10 +31,12 @@ require('../../main.inc.php'); require_once DOL_DOCUMENT_ROOT.'/core/lib/bank.lib.php'; require_once DOL_DOCUMENT_ROOT.'/societe/class/societe.class.php'; +require_once DOL_DOCUMENT_ROOT.'/user/class/user.class.php'; require_once DOL_DOCUMENT_ROOT.'/adherents/class/adherent.class.php'; require_once DOL_DOCUMENT_ROOT.'/compta/sociales/class/chargesociales.class.php'; require_once DOL_DOCUMENT_ROOT.'/compta/paiement/class/paiement.class.php'; require_once DOL_DOCUMENT_ROOT.'/compta/tva/class/tva.class.php'; +require_once DOL_DOCUMENT_ROOT.'/compta/salaries/class/salaries.class.php'; require_once DOL_DOCUMENT_ROOT.'/fourn/class/paiementfourn.class.php'; require_once DOL_DOCUMENT_ROOT.'/compta/bank/class/account.class.php'; @@ -133,11 +136,13 @@ if ($action == 'confirm_delete' && $confirm == 'yes' && $user->rights->banque->m llxHeader(); $societestatic=new Societe($db); +$userstatic=new User($db); $chargestatic=new ChargeSociales($db); $memberstatic=new Adherent($db); $paymentstatic=new Paiement($db); $paymentsupplierstatic=new PaiementFourn($db); $paymentvatstatic=new TVA($db); +$paymentsalstatic=new Sal($db); $bankstatic=new Account($db); $banklinestatic=new AccountLine($db); @@ -458,8 +463,12 @@ if ($id > 0 || ! empty($ref)) } if ($mode_search && ! empty($conf->tax->enabled)) { - $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."bank_url as bu2 ON bu2.fk_bank = b.rowid AND bu2.type='payment_vat'"; + // VAT + $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."bank_url as bu2 ON bu2.fk_bank = b.rowid AND bu2.type='payment_vat'"; $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."tva as t ON bu2.url_id = t.rowid"; + // Salaries + $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."bank_url as bu3 ON bu3.fk_bank = b.rowid AND bu3.type='payment_sal'"; + $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."salaries as sal ON bu3.url_id = sal.rowid"; } if ($mode_search && ! empty($conf->adherent->enabled)) { @@ -577,6 +586,12 @@ if ($id > 0 || ! empty($ref)) $paymentvatstatic->ref=$links[$key]['url_id']; print ' '.$paymentvatstatic->getNomUrl(2); } + elseif ($links[$key]['type']=='payment_sal') + { + $paymentsalstatic->id=$links[$key]['url_id']; + $paymentsalstatic->ref=$links[$key]['url_id']; + print ' '.$paymentsalstatic->getNomUrl(2); + } elseif ($links[$key]['type']=='banktransfert') { // Do not show link to transfer since there is no transfer card (avoid confusion). Can already be accessed from transaction detail. @@ -611,6 +626,10 @@ if ($id > 0 || ! empty($ref)) elseif ($links[$key]['type']=='company') { + } + elseif ($links[$key]['type']=='user') + { + } elseif ($links[$key]['type']=='member') { @@ -650,6 +669,12 @@ if ($id > 0 || ! empty($ref)) $societestatic->nom=$links[$key]['label']; print $societestatic->getNomUrl(1,'',16); } + else if ($links[$key]['type']=='user') + { + $userstatic->id=$links[$key]['url_id']; + $userstatic->lastname=$links[$key]['label']; + print $userstatic->getNomUrl(1,''); + } else if ($links[$key]['type']=='sc') { // sc=old value diff --git a/htdocs/compta/charges/index.php b/htdocs/compta/charges/index.php index 21d68d42663..1004f765fa8 100644 --- a/htdocs/compta/charges/index.php +++ b/htdocs/compta/charges/index.php @@ -2,6 +2,7 @@ /* Copyright (C) 2001-2003 Rodolphe Quiedeville * Copyright (C) 2004-2010 Laurent Destailleur * Copyright (C) 2005-2010 Regis Houssin + * Copyright (C) 2011-2014 Alexandre Spangaro * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -20,13 +21,14 @@ /** * \file htdocs/compta/charges/index.php * \ingroup compta - * \brief Page to list payments of social contributions and vat + * \brief Page to list payments of social contributions, vat and salaries */ require '../../main.inc.php'; require_once DOL_DOCUMENT_ROOT.'/compta/tva/class/tva.class.php'; require_once DOL_DOCUMENT_ROOT.'/compta/sociales/class/chargesociales.class.php'; require_once DOL_DOCUMENT_ROOT.'/compta/sociales/class/paymentsocialcontribution.class.php'; +require_once DOL_DOCUMENT_ROOT.'/compta/salaries/class/salaries.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php'; $langs->load("compta"); @@ -59,6 +61,7 @@ if (! $sortorder) $sortorder="DESC"; $tva_static = new Tva($db); $socialcontrib=new ChargeSociales($db); $payment_sc_static=new PaymentSocialContribution($db); +$sal_static = new Sal($db); llxHeader('',$langs->trans("TaxAndDividendsArea")); @@ -74,12 +77,92 @@ print_fiche_titre($title, ($year?" if ($year) $param.='&year='.$year; -// Social contributions only if (GETPOST("mode") != 'sconly') { print $langs->trans("DescTaxAndDividendsArea").'
'; print "
"; +} +// Salaries +if (empty($_GET["mode"]) || $_GET["mode"] != 'sconly') +{ + $sal = new Sal($db); + + print_fiche_titre($langs->trans("SalPayments").($year?' ('.$langs->trans("Year").' '.$year.')':''), '', ''); + + $sql = "SELECT s.rowid, s.amount, s.label, s.datev as dm"; + $sql.= " FROM ".MAIN_DB_PREFIX."salaries as s"; + $sql.= " WHERE s.entity = ".$conf->entity; + if ($year > 0) + { + // Si period renseignee on l'utilise comme critere de date, sinon on prend date echeance, + // ceci afin d'etre compatible avec les cas ou la periode n'etait pas obligatoire + $sql.= " AND s.datev between '".$db->idate(dol_get_first_day($year,1,false))."' AND '".$db->idate(dol_get_last_day($year,12,false))."'"; + } + if (preg_match('/^s/',$sortfield)) $sql.= $db->order($sortfield,$sortorder); + + $result = $db->query($sql); + if ($result) + { + $num = $db->num_rows($result); + $i = 0; + $total = 0 ; + print '
 '.dol_print_date($infos_CP['date_debut'],'day').''.dol_print_date($infos_CP['date_fin'],'day').''; - $nbopenedday=num_open_day($infos_CP['date_debut'], $infos_CP['date_fin'], 0, 1, $infos_CP['halfday']); + $nbopenedday=num_open_day($infos_CP['date_debut_gmt'], $infos_CP['date_fin_gmt'], 0, 1, $infos_CP['halfday']); print $nbopenedday.' '.$langs->trans('DurationDays'); print ''.$holidaystatic->LibStatut($infos_CP['statut'],5).'
'.$holidaystatic->getNomUrl(1).''.dol_print_date($end_date,'day'); print ''; - $nbopenedday=num_open_day($start_date, $end_date, 0, 1, $holiday['halfday']); + $nbopenedday=num_open_day($start_date_gmt, $end_date_gmt, 0, 1, $holiday['halfday']); print $nbopenedday; print '
'; - print ''; + print ''; print ''; - print $langs->trans('Month').': '; - print ' '.$langs->trans('Year').': '; + //print $langs->trans('Month').': '; + print ''; + //print ' '.$langs->trans('Year').': '; $syear = $year; $formother->select_year($syear,'year',1, 20, 5); print ''; - $y = dol_print_date($db->jdate($objp->dp),'%Y'); - $m = dol_print_date($db->jdate($objp->dp),'%m'); - $mt= dol_print_date($db->jdate($objp->dp),'%b'); - $d = dol_print_date($db->jdate($objp->dp),'%d'); - print $d."\n"; - print ' '; - print $mt."\n"; - print ' '; - print $y."'; print ''; print ' '; - print ' '; + print ''; + if (! empty($conf->global->MAIN_LIST_FILTER_ON_DAY)) print ''; + print ''; + $formother->select_year($orderyear?$orderyear:-1,'orderyear',1, 20, 5); + print ''; + if (! empty($conf->global->MAIN_LIST_FILTER_ON_DAY)) print ''; + print ''; + $formother->select_year($deliveryyear?$deliveryyear:-1,'deliveryyear',1, 20, 5); print ' '; print ''; print ''; @@ -370,25 +376,13 @@ if ($resql) print ''; - print $d; - print ' '.$ml.''; - print ' '.$y.''; + print dol_print_date($db->jdate($objp->date_commande), 'day'); print ''; - print $d; - print ' '.$ml.''; - print ' '.$y.''; + print dol_print_date($db->jdate($objp->date_delivery), 'day'); print '
'; + print ''; + print_liste_field_titre($langs->trans("PeriodEndDate"),$_SERVER["PHP_SELF"],"s.datev","",$param,'width="120"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("Label"),$_SERVER["PHP_SELF"],"s.label","",$param,'',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("ExpectedToPay"),$_SERVER["PHP_SELF"],"s.amount","",$param,'align="right"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("RefPayment"),$_SERVER["PHP_SELF"],"s.rowid","",$param,'',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("DatePayment"),$_SERVER["PHP_SELF"],"s.datev","",$param,'align="center"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("PayedByThisPayment"),$_SERVER["PHP_SELF"],"s.amount","",$param,'align="right"',$sortfield,$sortorder); + print "\n"; + $var=1; + while ($i < $num) + { + $obj = $db->fetch_object($result); + + $total = $total + $obj->amount; + + $var=!$var; + print ""; + print ''."\n"; + + print "\n"; + + print '"; + + // Ref payment + $sal_static->id=$obj->rowid; + $sal_static->ref=$obj->rowid; + print '\n"; + + print '\n"; + print '"; + print "\n"; + + $i++; + } + print ''; + print '"; + print ''; + print ''; + print '"; + print ""; + + print "
'.dol_print_date($db->jdate($obj->dm),'day').'".$obj->label."'.price($obj->amount)."'.$sal_static->getNomUrl(1)."'.dol_print_date($db->jdate($obj->dm),'day')."'.price($obj->amount)."
'.$langs->trans("Total").''.price($total)."  '.price($total)."
"; + $db->free($result); + + print "
"; + } + else + { + dol_print_error($db); + } +} + +// Social contributions only +if (GETPOST("mode") != 'sconly') +{ print_fiche_titre($langs->trans("SocialContributionsPayments").($year?' ('.$langs->trans("Year").' '.$year.')':''), '', ''); } @@ -219,7 +302,7 @@ if (empty($_GET["mode"]) || $_GET["mode"] != 'sconly') $var=!$var; print "
'.dol_print_date($db->jdate($obj->dm),'day').' ? '.dol_print_date($db->jdate($obj->dm),'day').'".$obj->label."
'; + + print ""; + print ''; + + print ''; + + print ""; + print ''; + + // Label + print ''; + + print ""; + print ''; + + print ''; + + // Amount + print ''; + + // Bank + if (! empty($conf->banque->enabled)) + { + print ''; + + print '\n"; + print ""; + } + + // Other attributes + $parameters=array('colspan' => ' colspan="1"'); + $reshook=$hookmanager->executeHooks('formObjectOptions',$parameters,$object,$action); // Note that $action and $object may have been modified by hook + + print '
'.$langs->trans("DatePayment").''; + print $form->select_date($datep,"datep",'','','','add'); + print '
'.$langs->trans("DateValue").''; + print $form->select_date($datev,"datev",'','','','add'); + print '
'.$langs->trans("Person").''; + print $form->select_dolusers(GETPOST('fk_user','int'),'fk_user',1); + print '
'.$langs->trans("Label").'trans("SalPayment")).'">
'.$langs->trans("DateStartPeriod").''; + print $form->select_date($datesp,"datesp",'','','','add'); + print '
'.$langs->trans("DateEndPeriod").''; + print $form->select_date($dateep,"dateep",'','','','add'); + print '
'.$langs->trans("Amount").'
'.$langs->trans("Account").''; + $form->select_comptes($_POST["accountid"],"accountid",0,"courant=1",1); // Affiche liste des comptes courant + print '
'.$langs->trans("PaymentMode").''; + $form->select_types_paiements($_POST["paiementtype"], "paiementtype"); + print "
'; + + print "
"; + + print '
  '; + print '
'; + + print ''; +} + + +/* ************************************************************************** */ +/* */ +/* Barre d'action */ +/* */ +/* ************************************************************************** */ + +if ($id) +{ + $h = 0; + $head[$h][0] = DOL_URL_ROOT.'/compta/salaries/fiche.php?id='.$salpayment->id; + $head[$h][1] = $langs->trans('Card'); + $head[$h][2] = 'card'; + $h++; + + dol_fiche_head($head, 'card', $langs->trans("SalPayment"), 0, 'payment'); + + + print ''; + + print ""; + print ''; + + // Person + print ''; + + // Label + print ''; + + print ""; + print ''; + + print ''; + + print ""; + print ''; + + print ''; + + print ''; + + if (! empty($conf->banque->enabled)) + { + if ($salpayment->fk_account > 0) + { + $bankline=new AccountLine($db); + $bankline->fetch($salpayment->fk_bank); + + print ''; + print ''; + print ''; + print ''; + } + } + + // Other attributes + $parameters=array('colspan' => ' colspan="3"'); + $reshook=$hookmanager->executeHooks('formObjectOptions',$parameters,$salpayment,$action); // Note that $action and $object may have been modified by hook + + print '
'.$langs->trans("Ref").''; + print $salpayment->ref; + print '
'.$langs->trans("Person").''; + $usersal=new User($db); + $usersal->fetch($salpayment->fk_user); + print $usersal->getNomUrl(1); + print '
'.$langs->trans("Label").''.$salpayment->label.'
'.$langs->trans("DateStartPeriod").''; + print dol_print_date($salpayment->datesp,'day'); + print '
'.$langs->trans("DateEndPeriod").''; + print dol_print_date($salpayment->dateep,'day'); + print '
'.$langs->trans("DatePayment").''; + print dol_print_date($salpayment->datep,'day'); + print '
'.$langs->trans("DateValue").''; + print dol_print_date($salpayment->datev,'day'); + print '
'.$langs->trans("Amount").''.price($salpayment->amount).'
'.$langs->trans('BankTransactionLine').''; + print $bankline->getNomUrl(1,0,'showall'); + print '
'; + + print ''; + + /* + * Boutons d'actions + */ + print "
\n"; + if ($salpayment->rappro == 0) + { + if (! empty($user->rights->tax->charges->supprimer)) + { + print ''.$langs->trans("Delete").''; + } + else + { + print ''.$langs->trans("Delete").''; + } + } + else + { + print ''.$langs->trans("Delete").''; + } + print "
"; +} + + +$db->close(); + +llxFooter(); +?> diff --git a/htdocs/compta/salaries/index.php b/htdocs/compta/salaries/index.php new file mode 100644 index 00000000000..a2e166529de --- /dev/null +++ b/htdocs/compta/salaries/index.php @@ -0,0 +1,107 @@ + + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/** + * \file htdocs/compta/salaries/index.php + * \ingroup tax + * \brief List of salaries payments + */ + +require '../../main.inc.php'; +require_once DOL_DOCUMENT_ROOT.'/compta/salaries/class/salaries.class.php'; + +$langs->load("compta"); + +// Security check +$socid = isset($_GET["socid"])?$_GET["socid"]:''; +if ($user->societe_id) $socid=$user->societe_id; +$result = restrictedArea($user, 'tax', '', '', 'charges'); + + + +/* + * View + */ + +llxHeader(); + +$salstatic = new Sal($db); +$userstatic = new User($db); + + +print_fiche_titre($langs->trans("SalPayments")); + +$sql = "SELECT u.rowid as uid, u.lastname, u.firstname, s.rowid, s.fk_user, s.amount, s.label, s.datev as dm"; +$sql.= " FROM ".MAIN_DB_PREFIX."salaries as s, ".MAIN_DB_PREFIX."user as u"; +$sql.= " WHERE u.rowid = s.fk_user"; +$sql.= " AND s.entity = ".$conf->entity; +$sql.= " ORDER BY dm DESC"; + +$result = $db->query($sql); +if ($result) +{ + $num = $db->num_rows($result); + $i = 0; + $total = 0 ; + + print ''; + print ''; + print ''; + print ""; + print ""; + print ''; + print ""; + print "\n"; + $var=1; + while ($i < $num) + { + $obj = $db->fetch_object($result); + $var=!$var; + print ""; + + $userstatic->id=$obj->uid; + $userstatic->lastname=$obj->lastname; + $userstatic->firstname=$obj->firstname; + $salstatic->id=$obj->rowid; + $salstatic->ref=$obj->rowid; + print "\n"; + print "\n"; + print "\n"; + print '\n"; + $total = $total + $obj->amount; + + print ""; + print "\n"; + + $i++; + } + print ''; + print ""; + + print "
'.$langs->trans("Ref").'".$langs->trans("Person")."".$langs->trans("Label")."'.$langs->trans("DatePayment").'".$langs->trans("PayedByThisPayment")."
".$salstatic->getNomUrl(1)."".$userstatic->getNomUrl(1)."".dol_trunc($obj->label,40)."'.dol_print_date($db->jdate($obj->dm),'day')."".price($obj->amount)."
'.$langs->trans("Total").'".price($total)."
"; + $db->free($result); +} +else +{ + dol_print_error($db); +} + + +$db->close(); + +llxFooter(); +?> diff --git a/htdocs/core/menus/init_menu_auguria.sql b/htdocs/core/menus/init_menu_auguria.sql index ea9852253e2..91769af37fb 100644 --- a/htdocs/core/menus/init_menu_auguria.sql +++ b/htdocs/core/menus/init_menu_auguria.sql @@ -180,9 +180,12 @@ insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, left insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->deplacement->enabled && $leftmenu=="tripsandexpenses"', __HANDLER__, 'left', 2102__+MAX_llx_menu__, 'accountancy', '', 2100__+MAX_llx_menu__, '/compta/deplacement/list.php?leftmenu=tripsandexpenses', 'List', 1, 'trips', '$user->rights->deplacement->lire', '', 0, 2, __ENTITY__); insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->deplacement->enabled && $leftmenu=="tripsandexpenses"', __HANDLER__, 'left', 2103__+MAX_llx_menu__, 'accountancy', '', 2100__+MAX_llx_menu__, '/compta/deplacement/stats/index.php?leftmenu=tripsandexpenses', 'Statistics', 1, 'trips', '$user->rights->deplacement->lire', '', 0, 2, __ENTITY__); insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->tax->enabled', __HANDLER__, 'left', 2200__+MAX_llx_menu__, 'accountancy', 'tax', 6__+MAX_llx_menu__, '/compta/charges/index.php?leftmenu=tax&mainmenu=accountancy', 'MenuTaxAndDividends', 0, 'compta', '$user->rights->tax->charges->lire', '', 0, 6, __ENTITY__); -insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->tax->enabled', __HANDLER__, 'left', 2201__+MAX_llx_menu__, 'accountancy', 'tax_social', 2200__+MAX_llx_menu__, '/compta/sociales/index.php?leftmenu=tax_social', 'SocialContributions', 1, '', '$user->rights->tax->charges->lire', '', 0, 1, __ENTITY__); -insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->tax->enabled && $leftmenu=="tax_social"', __HANDLER__, 'left', 2202__+MAX_llx_menu__, 'accountancy', '', 2201__+MAX_llx_menu__, '/compta/sociales/charges.php?leftmenu=tax_social&action=create', 'MenuNewSocialContribution', 2, '', '$user->rights->tax->charges->creer', '', 0, 2, __ENTITY__); -insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->tax->enabled && $leftmenu=="tax_social"', __HANDLER__, 'left', 2203__+MAX_llx_menu__, 'accountancy', '', 2201__+MAX_llx_menu__, '/compta/charges/index.php?leftmenu=tax_social&mainmenu=accountancy&mode=sconly', 'Payments', 2, '', '$user->rights->tax->charges->lire', '', 0, 3, __ENTITY__); +insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->tax->enabled', __HANDLER__, 'left', 2201__+MAX_llx_menu__, 'accountancy', 'tax_sal', 2200__+MAX_llx_menu__, '/compta/salaries/index.php?leftmenu=tax_sal&mainmenu=accountancy', 'Salaries', 1, 'companies', '$user->rights->tax->charges->lire', '', 0, 7, __ENTITY__); +insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->tax->enabled && $leftmenu=="tax_sal"', __HANDLER__, 'left', 2201__+MAX_llx_menu__, 'accountancy', '', 2201__+MAX_llx_menu__, '/compta/salaries/fiche.php?leftmenu=tax_sal&action=create', 'NewPayment', 2, 'companies', '$user->rights->tax->charges->creer', '', 0, 0, __ENTITY__); +insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->tax->enabled && $leftmenu=="tax_sal"', __HANDLER__, 'left', 2202__+MAX_llx_menu__, 'accountancy', '', 2201__+MAX_llx_menu__, '/compta/salaries/index.php?leftmenu=tax_sal', 'Payments', 2, 'companies', '$user->rights->tax->charges->lire', '', 0, 1, __ENTITY__); +insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->tax->enabled', __HANDLER__, 'left', 2250__+MAX_llx_menu__, 'accountancy', 'tax_social', 2200__+MAX_llx_menu__, '/compta/sociales/index.php?leftmenu=tax_social', 'SocialContributions', 1, '', '$user->rights->tax->charges->lire', '', 0, 1, __ENTITY__); +insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->tax->enabled && $leftmenu=="tax_social"', __HANDLER__, 'left', 2251__+MAX_llx_menu__, 'accountancy', '', 2250__+MAX_llx_menu__, '/compta/sociales/charges.php?leftmenu=tax_social&action=create', 'MenuNewSocialContribution', 2, '', '$user->rights->tax->charges->creer', '', 0, 2, __ENTITY__); +insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->tax->enabled && $leftmenu=="tax_social"', __HANDLER__, 'left', 2252__+MAX_llx_menu__, 'accountancy', '', 2250__+MAX_llx_menu__, '/compta/charges/index.php?leftmenu=tax_social&mainmenu=accountancy&mode=sconly', 'Payments', 2, '', '$user->rights->tax->charges->lire', '', 0, 3, __ENTITY__); insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->tax->enabled && empty($conf->global->TAX_DISABLE_VAT_MENUS)', __HANDLER__, 'left', 2300__+MAX_llx_menu__, 'accountancy', 'tax_vat', 2200__+MAX_llx_menu__, '/compta/tva/index.php?leftmenu=tax_vat&mainmenu=accountancy', 'VAT', 1, 'companies', '$user->rights->tax->charges->lire', '', 0, 7, __ENTITY__); insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->tax->enabled && empty($conf->global->TAX_DISABLE_VAT_MENUS) && $leftmenu=="tax_vat"', __HANDLER__, 'left', 2301__+MAX_llx_menu__, 'accountancy', '', 2300__+MAX_llx_menu__, '/compta/tva/fiche.php?leftmenu=tax_vat&action=create', 'NewPayment', 2, 'companies', '$user->rights->tax->charges->creer', '', 0, 0, __ENTITY__); insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->tax->enabled && empty($conf->global->TAX_DISABLE_VAT_MENUS) && $leftmenu=="tax_vat"', __HANDLER__, 'left', 2302__+MAX_llx_menu__, 'accountancy', '', 2300__+MAX_llx_menu__, '/compta/tva/reglement.php?leftmenu=tax_vat', 'Payments', 2, 'companies', '$user->rights->tax->charges->lire', '', 0, 1, __ENTITY__); diff --git a/htdocs/core/menus/standard/eldy.lib.php b/htdocs/core/menus/standard/eldy.lib.php index 6c7e64d118a..d879d8cde7a 100644 --- a/htdocs/core/menus/standard/eldy.lib.php +++ b/htdocs/core/menus/standard/eldy.lib.php @@ -804,7 +804,13 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after,&$tabMenu if (! empty($conf->tax->enabled)) { $newmenu->add("/compta/charges/index.php?leftmenu=tax&mainmenu=accountancy",$langs->trans("MenuTaxAndDividends"), 0, $user->rights->tax->charges->lire, '', $mainmenu, 'tax'); - if (empty($leftmenu) || preg_match('/^tax/i',$leftmenu)) $newmenu->add("/compta/sociales/index.php?leftmenu=tax_social",$langs->trans("MenuSocialContributions"),1,$user->rights->tax->charges->lire); + // Salaries + if (empty($leftmenu) || preg_match('/^tax/i',$leftmenu)) $newmenu->add("/compta/salaries/index.php?leftmenu=tax_sal&mainmenu=accountancy",$langs->trans("Salaries"),1,$user->rights->tax->charges->lire, '', $mainmenu, 'tax_vat'); + if (empty($leftmenu) || preg_match('/^tax/i',$leftmenu)) $newmenu->add("/compta/salaries/fiche.php?leftmenu=tax_sal&action=create",$langs->trans("NewPayment"),2,$user->rights->tax->charges->creer); + if (empty($leftmenu) || preg_match('/^tax/i',$leftmenu)) $newmenu->add("/compta/salaries/index.php?leftmenu=tax_sal",$langs->trans("Payments"),2,$user->rights->tax->charges->lire); + global $mysoc; + // Social contributions + if (empty($leftmenu) || preg_match('/^tax/i',$leftmenu)) $newmenu->add("/compta/sociales/index.php?leftmenu=tax_social",$langs->trans("MenuSocialContributions"),1,$user->rights->tax->charges->lire); if (empty($leftmenu) || preg_match('/^tax/i',$leftmenu)) $newmenu->add("/compta/sociales/charges.php?leftmenu=tax_social&action=create",$langs->trans("MenuNewSocialContribution"), 2, $user->rights->tax->charges->creer); if (empty($leftmenu) || preg_match('/^tax/i',$leftmenu)) $newmenu->add("/compta/charges/index.php?leftmenu=tax_social&mainmenu=accountancy&mode=sconly",$langs->trans("Payments"), 2, $user->rights->tax->charges->lire); // VAT diff --git a/htdocs/install/mysql/tables/llx_salaries.sql b/htdocs/install/mysql/tables/llx_salaries.sql new file mode 100644 index 00000000000..398086274f1 --- /dev/null +++ b/htdocs/install/mysql/tables/llx_salaries.sql @@ -0,0 +1,35 @@ +-- =================================================================== +-- Copyright (C) 2011-2014 Alexandre Spangaro +-- +-- This program is free software; you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- the Free Software Foundation; either version 3 of the License, or +-- (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. +-- +-- You should have received a copy of the GNU General Public License +-- along with this program. If not, see . +-- +-- =================================================================== + +create table llx_salaries +( + rowid integer AUTO_INCREMENT PRIMARY KEY, + tms timestamp, + fk_user integer NOT NULL, + datep date, -- date de paiement + datev date, -- date de valeur + amount real NOT NULL DEFAULT 0, + label varchar(255), + datesp date, -- date de début de la période + dateep date, -- date de fin de la période + entity integer DEFAULT 1 NOT NULL, -- multi company id + note text, + fk_bank integer, + fk_user_creat integer, -- utilisateur qui a cree l'info + fk_user_modif integer -- utilisateur qui a modifié l'info +)ENGINE=innodb; \ No newline at end of file diff --git a/htdocs/langs/en_US/compta.lang b/htdocs/langs/en_US/compta.lang index b505efef8bc..45158337f04 100644 --- a/htdocs/langs/en_US/compta.lang +++ b/htdocs/langs/en_US/compta.lang @@ -41,6 +41,7 @@ VATToCollect=VAT purchases VATSummary=VAT Balance LT2SummaryES=IRPF Balance VATPaid=VAT paid +SalPaid=Salary paid LT2PaidES=IRPF Paid LT2CustomerES=IRPF sales LT2SupplierES=IRPF purchases @@ -63,19 +64,24 @@ PaymentCustomerInvoice=Customer invoice payment PaymentSupplierInvoice=Supplier invoice payment PaymentSocialContribution=Social contribution payment PaymentVat=VAT payment +PaymentSal=Salary payment ListPayment=List of payments ListOfPayments=List of payments ListOfCustomerPayments=List of customer payments ListOfSupplierPayments=List of supplier payments DatePayment=Payment date NewVATPayment=New VAT payment +NewSalPayment=New Salary payment newLT2PaymentES=New IRPF payment LT2PaymentES=IRPF Payment LT2PaymentsES=IRPF Payments VATPayment=VAT Payment VATPayments=VAT Payments +SalPayment=Salary payment +SalPayments=Saalries payments SocialContributionsPayments=Social contributions payments ShowVatPayment=Show VAT payment +ShowSalPayment=Show salary payment TotalToPay=Total to pay TotalVATReceived=Total VAT received CustomerAccountancyCode=Customer accountancy code diff --git a/htdocs/langs/fr_FR/compta.lang b/htdocs/langs/fr_FR/compta.lang index 4630b76f6e6..99cc954ab6d 100644 --- a/htdocs/langs/fr_FR/compta.lang +++ b/htdocs/langs/fr_FR/compta.lang @@ -63,19 +63,24 @@ PaymentCustomerInvoice=Règlement facture client PaymentSupplierInvoice=Règlement facture fournisseur PaymentSocialContribution=Règlement charge sociale PaymentVat=Règlement TVA +PaymentSal=Règlement salaire ListPayment=Liste des règlements ListOfPayments=Liste des règlements ListOfCustomerPayments=Liste des règlements clients ListOfSupplierPayments=Liste des règlements fournisseurs DatePayment=Date de règlement NewVATPayment=Nouveau règlement de TVA +NewSalPayment=Nouveau règlement de salaire newLT2PaymentES=Nouveau règlement de IRPF LT2PaymentES=Règlement IRPF LT2PaymentsES=Règlements IRPF VATPayment=Règlement TVA VATPayments=Règlements TVA +SalPayment=Règlement salaire +SalPayments=Règlements des salaires SocialContributionsPayments=Règlements charges sociales ShowVatPayment=Affiche paiement TVA +ShowSalPayment=Affiche paiement salaire TotalToPay=Total à payer TotalVATReceived=Total TVA perçue CustomerAccountancyCode=Compte comptable client From fca29f431270f4abbd0efdc241f693f0f12e2875 Mon Sep 17 00:00:00 2001 From: aspangaro Date: Thu, 6 Mar 2014 21:29:20 +0100 Subject: [PATCH 116/293] Add table into script migration && key language --- .../install/mysql/migration/3.5.0-3.6.0.sql | 20 ++++++++++++++++++- htdocs/langs/en_US/compta.lang | 2 ++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/htdocs/install/mysql/migration/3.5.0-3.6.0.sql b/htdocs/install/mysql/migration/3.5.0-3.6.0.sql index b10122ee269..584b994470e 100644 --- a/htdocs/install/mysql/migration/3.5.0-3.6.0.sql +++ b/htdocs/install/mysql/migration/3.5.0-3.6.0.sql @@ -1036,4 +1036,22 @@ CREATE TABLE IF NOT EXISTS `llx_expeditiondet_batch` ( `qty` double NOT NULL DEFAULT '0', `fk_origin_stock` int(11) NOT NULL, KEY `ix_fk_expeditiondet` (`fk_expeditiondet`) -) ENGINE=InnoDB; \ No newline at end of file +) ENGINE=InnoDB; + +--Salary payment in tax module +CREATE TABLE IF NOT EXISTS `llx_salaries` ( + `rowid` integer AUTO_INCREMENT PRIMARY KEY, + `tms` timestamp, + `fk_user` integer NOT NULL, + `datep` date, + `datev` date, + `amount` real NOT NULL DEFAULT 0, + `label` varchar(255), + `datesp` date, -- date de début de la période + `dateep` date, -- date de fin de la période + `entity` integer DEFAULT 1 NOT NULL, -- multi company id + `note` text, + `fk_bank` integer, + `fk_user_creat` integer, + `fk_user_modif` integer +)ENGINE=innodb; \ No newline at end of file diff --git a/htdocs/langs/en_US/compta.lang b/htdocs/langs/en_US/compta.lang index 45158337f04..909a5cb39aa 100644 --- a/htdocs/langs/en_US/compta.lang +++ b/htdocs/langs/en_US/compta.lang @@ -70,6 +70,8 @@ ListOfPayments=List of payments ListOfCustomerPayments=List of customer payments ListOfSupplierPayments=List of supplier payments DatePayment=Payment date +Datesp=Date start period +Dateep=Date end period NewVATPayment=New VAT payment NewSalPayment=New Salary payment newLT2PaymentES=New IRPF payment From 74d3fdae151c80aa336b7f4209781661e6eb9b96 Mon Sep 17 00:00:00 2001 From: aspangaro Date: Fri, 7 Mar 2014 06:42:48 +0100 Subject: [PATCH 117/293] Update langs & fix period for salaries in tax module --- htdocs/compta/salaries/fiche.php | 18 ++++++++++++++++++ htdocs/langs/en_US/compta.lang | 5 +++-- htdocs/langs/fr_FR/compta.lang | 3 +++ 3 files changed, 24 insertions(+), 2 deletions(-) diff --git a/htdocs/compta/salaries/fiche.php b/htdocs/compta/salaries/fiche.php index 9ff49c2ad11..2cdca50a71f 100644 --- a/htdocs/compta/salaries/fiche.php +++ b/htdocs/compta/salaries/fiche.php @@ -22,6 +22,7 @@ */ require '../../main.inc.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php'; require_once DOL_DOCUMENT_ROOT.'/compta/salaries/class/salaries.class.php'; require_once DOL_DOCUMENT_ROOT.'/compta/bank/class/account.class.php'; @@ -155,6 +156,23 @@ if ($id) // Formulaire saisie salaire if ($action == 'create') { + $year_current = strftime("%Y",dol_now()); + $pastmonth = strftime("%m",dol_now()) - 1; + $pastmonthyear = $year_current; + if ($pastmonth == 0) + { + $pastmonth = 12; + $pastmonthyear--; + } + + $datesp=dol_mktime(0, 0, 0, $datespmonth, $datespday, $datespyear); + $dateep=dol_mktime(23, 59, 59, $dateepmonth, $dateepday, $dateepyear); + + if (empty($datesp) || empty($dateep)) // We define date_start and date_end + { + $datesp=dol_get_first_day($pastmonthyear,$pastmonth,false); $dateep=dol_get_last_day($pastmonthyear,$pastmonth,false); + } + print "
\n"; print ''; print ''; diff --git a/htdocs/langs/en_US/compta.lang b/htdocs/langs/en_US/compta.lang index 909a5cb39aa..ffa1db78b34 100644 --- a/htdocs/langs/en_US/compta.lang +++ b/htdocs/langs/en_US/compta.lang @@ -52,6 +52,7 @@ TaxAndDividendsArea=Tax, social contributions and dividends area SocialContribution=Social contribution SocialContributions=Social contributions MenuTaxAndDividends=Taxes and dividends +MenuSalaries=Salaries MenuSocialContributions=Social contributions MenuNewSocialContribution=New contribution NewSocialContribution=New social contribution @@ -70,8 +71,8 @@ ListOfPayments=List of payments ListOfCustomerPayments=List of customer payments ListOfSupplierPayments=List of supplier payments DatePayment=Payment date -Datesp=Date start period -Dateep=Date end period +DateStartPeriod=Date start period +DateEndPeriod=Date end period NewVATPayment=New VAT payment NewSalPayment=New Salary payment newLT2PaymentES=New IRPF payment diff --git a/htdocs/langs/fr_FR/compta.lang b/htdocs/langs/fr_FR/compta.lang index 99cc954ab6d..f3d23f5f437 100644 --- a/htdocs/langs/fr_FR/compta.lang +++ b/htdocs/langs/fr_FR/compta.lang @@ -51,6 +51,7 @@ TaxAndDividendsArea=Espace taxes, charges sociales et dividendes SocialContribution=Charge sociale SocialContributions=Charges sociales MenuTaxAndDividends=Taxes et charges +MenuSalaries=Salaires MenuSocialContributions=Charges sociales MenuNewSocialContribution=Nouvelle charge NewSocialContribution=Nouvelle charge sociale @@ -69,6 +70,8 @@ ListOfPayments=Liste des règlements ListOfCustomerPayments=Liste des règlements clients ListOfSupplierPayments=Liste des règlements fournisseurs DatePayment=Date de règlement +DateStartPeriod=Date de début période +DateEndPeriod=Date de fin période NewVATPayment=Nouveau règlement de TVA NewSalPayment=Nouveau règlement de salaire newLT2PaymentES=Nouveau règlement de IRPF From 32c81588b072b086d2371dd6e5d0960b0e3e5fb1 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Fri, 7 Mar 2014 10:54:57 +0100 Subject: [PATCH 118/293] Fix: doxygen --- htdocs/core/db/sqlite.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/core/db/sqlite.class.php b/htdocs/core/db/sqlite.class.php index 84b8742eb75..36f583011e4 100644 --- a/htdocs/core/db/sqlite.class.php +++ b/htdocs/core/db/sqlite.class.php @@ -683,7 +683,7 @@ class DoliDBSqlite extends DoliDB * @param int $gm 1=Input informations are GMT values, otherwise local to server TZ * @return date Date TMS */ - function jdate($string, $gmt=false) + function jdate($string, $gm=false) { $string=preg_replace('/([^0-9])/i','',$string); $tmp=$string.'000000'; From a0f1a60780be54caa61daac028e186fa2a9d9323 Mon Sep 17 00:00:00 2001 From: KreizIT Date: Fri, 7 Mar 2014 11:35:16 +0100 Subject: [PATCH 119/293] Change on shipment for batch product --- htdocs/core/lib/pdf.lib.php | 16 ++ htdocs/expedition/class/expedition.class.php | 88 +++++++- .../class/expeditionbatch.class.php | 212 ++++++++++++++++++ htdocs/expedition/fiche.php | 118 ++++++++-- htdocs/langs/en_US/productbatch.lang | 6 + htdocs/langs/fr_FR/productbatch.lang | 6 + 6 files changed, 428 insertions(+), 18 deletions(-) create mode 100644 htdocs/expedition/class/expeditionbatch.class.php diff --git a/htdocs/core/lib/pdf.lib.php b/htdocs/core/lib/pdf.lib.php index 90d685e80a8..f0da47862d7 100644 --- a/htdocs/core/lib/pdf.lib.php +++ b/htdocs/core/lib/pdf.lib.php @@ -5,6 +5,7 @@ * Copyright (C) 2010-2012 Regis Houssin * Copyright (C) 2010 Juanjo Menent * Copyright (C) 2012 Christophe Battarel + * Copyright (C) 2014 Cedric GROSS * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -946,6 +947,7 @@ function pdf_getlinedesc($object,$i,$outputlangs,$hideref=0,$hidedesc=0,$issuppl $desc=(! empty($object->lines[$i]->desc)?$object->lines[$i]->desc:(! empty($object->lines[$i]->description)?$object->lines[$i]->description:'')); $ref_supplier=(! empty($object->lines[$i]->ref_supplier)?$object->lines[$i]->ref_supplier:(! empty($object->lines[$i]->ref_fourn)?$object->lines[$i]->ref_fourn:'')); // TODO Not yet saved for supplier invoices, only supplier orders $note=(! empty($object->lines[$i]->note)?$object->lines[$i]->note:''); + $dbatch=(! empty($object->lines[$i]->detail_batch)?$object->lines[$i]->detail_batch:false); if ($issupplierline) $prodser = new ProductFournisseur($db); else $prodser = new Product($db); @@ -1079,6 +1081,20 @@ function pdf_getlinedesc($object,$i,$outputlangs,$hideref=0,$hidedesc=0,$issuppl //print $libelleproduitservice; } + if ($dbatch) + { + $format='day'; + foreach ($dbatch as $detail) + { + $dte=array(); + if ($detail->eatby) $dte[]=$outputlangs->transnoentitiesnoconv('printEatby',dol_print_date($detail->eatby, $format, false, $outputlangs)); + if ($detail->sellby) $dte[]=$outputlangs->transnoentitiesnoconv('printSellby',dol_print_date($detail->sellby, $format, false, $outputlangs)); + if ($detail->batch) $dte[]=$outputlangs->transnoentitiesnoconv('printBatch',$detail->batch); + $dte[]=$outputlangs->transnoentitiesnoconv('printQty',$detail->dluo_qty); + $libelleproduitservice.= "__N__ ".implode($dte,"-"); + } + } + // Now we convert \n into br if (dol_textishtml($libelleproduitservice)) $libelleproduitservice=preg_replace('/__N__/','
',$libelleproduitservice); else $libelleproduitservice=preg_replace('/__N__/',"\n",$libelleproduitservice); diff --git a/htdocs/expedition/class/expedition.class.php b/htdocs/expedition/class/expedition.class.php index 136063d4552..8c103603fbe 100644 --- a/htdocs/expedition/class/expedition.class.php +++ b/htdocs/expedition/class/expedition.class.php @@ -5,6 +5,7 @@ * Copyright (C) 2006-2012 Laurent Destailleur * Copyright (C) 2011-2013 Juanjo Menent * Copyright (C) 2013 Florian Henry + * Copyright (C) 2014 Cedric GROSS * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -29,6 +30,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/class/commonobject.class.php'; if (! empty($conf->propal->enabled)) require_once DOL_DOCUMENT_ROOT.'/comm/propal/class/propal.class.php'; if (! empty($conf->commande->enabled)) require_once DOL_DOCUMENT_ROOT.'/commande/class/commande.class.php'; +if (! empty($conf->productbatch->enabled)) require_once DOL_DOCUMENT_ROOT.'/expedition/class/expeditionbatch.class.php'; /** @@ -241,10 +243,17 @@ class Expedition extends CommonObject $num=count($this->lines); for ($i = 0; $i < $num; $i++) { + if (! isset($this->lines[$i]->detail_batch)) { if (! $this->create_line($this->lines[$i]->entrepot_id, $this->lines[$i]->origin_line_id, $this->lines[$i]->qty) > 0) { $error++; } + } else { + if (! $this->create_line_ext($this->lines[$i]) > 0) + { + $error++; + } + } } if (! $error && $this->id && $this->origin_id) @@ -333,6 +342,31 @@ class Expedition extends CommonObject if (! $error) return 1; else return -1; } + /** + * Create a expedition line with eat-by date + * + * @param object $line_ext full line informations + * @return int <0 if KO, >0 if OK + */ + function create_line_ext($line_ext) + { + $error = 0; + + if ( $this->create_line(($line_ext->entrepot_id?$line_ext->entrepot_id:'null'),$line_ext->origin_line_id,$line_ext->qty)<0) + { + $error++; + } else { + $line_id= $this->db->last_insert_id(MAIN_DB_PREFIX."expeditiondet"); + $tab=$line_ext->detail_batch; + foreach ($tab as $detbatch) { + if (! ($detbatch->create($line_id) >0)) { + $error++; + } + } + } + if (! $error) return 1; + else return -1; + } /** * Get object and lines from database @@ -528,7 +562,7 @@ class Expedition extends CommonObject // Loop on each product line to add a stock movement // TODO possibilite d'expedier a partir d'une propale ou autre origine - $sql = "SELECT cd.fk_product, cd.subprice, ed.qty, ed.fk_entrepot"; + $sql = "SELECT cd.fk_product, cd.subprice, ed.qty, ed.fk_entrepot, ed.rowid"; $sql.= " FROM ".MAIN_DB_PREFIX."commandedet as cd,"; $sql.= " ".MAIN_DB_PREFIX."expeditiondet as ed"; $sql.= " WHERE ed.fk_expedition = ".$this->id; @@ -550,6 +584,14 @@ class Expedition extends CommonObject // We use warehouse selected for each line $result=$mouvS->livraison($user, $obj->fk_product, $obj->fk_entrepot, $obj->qty, $obj->subprice, $langs->trans("ShipmentValidatedInDolibarr",$numref)); if ($result < 0) { $error++; break; } + + if (! empty($conf->productbatch->enabled)) { + $details=ExpeditionLigneBatch::FetchAll($this->db,$obj->rowid); + foreach ($details as $dbatch) { + $result=$mouvS->livraison_batch($dbatch->fk_origin_stock,$dbatch->dluo_qty); + if ($result < 0) { $error++; $this->errors[]=$mouvS->$error; break 2; } + } + } } } else @@ -678,6 +720,38 @@ class Expedition extends CommonObject $this->lines[$num] = $line; } + /** + * Add a shipment line with batch record + * + * @param array $dbatch Array of value (key 'detail' -> Array, key 'qty' total quantity for line, key ix_l : original line index) + * @return int <0 if KO, >0 if OK + */ + function addline_batch($dbatch) + { + $num = count($this->lines); + if ($dbatch['qty']>0) { + $line = new ExpeditionLigne($this->db); + $tab=array(); + foreach ($dbatch['detail'] as $key=>$value) { + if ($value['q']>0) { + $linebatch = new ExpeditionLigneBatch($this->db); + $ret=$linebatch->fetchFromStock($value['id_batch']); + if ($ret<0) { + $this->error=$linebatch->error; + return -1; + } + $linebatch->dluo_qty=$value['q']; + $tab[]=$linebatch; + } + } + $line->entrepot_id = $linebatch->entrepot_id; + $line->origin_line_id = $dbatch['ix_l']; + $line->qty = $dbatch['qty']; + $line->detail_batch=$tab; + $this->lines[$num] = $line; + } + } + /** * Update database * @@ -798,6 +872,10 @@ class Expedition extends CommonObject $this->db->begin(); + if ($conf->productbatch->enabled) { + if ( ExpeditionLignebatch::deletefromexp($this->db,$this->id)<0) + {$error++;$this->errors[]="Error ".$this->db->lasterror();} + } // Stock control if ($conf->stock->enabled && $conf->global->STOCK_CALCULATE_ON_SHIPMENT && $this->statut > 0) { @@ -928,6 +1006,7 @@ class Expedition extends CommonObject */ function fetch_lines() { + global $conf; // TODO: recuperer les champs du document associe a part $sql = "SELECT cd.rowid, cd.fk_product, cd.label as custom_label, cd.description, cd.qty as qty_asked"; @@ -935,7 +1014,7 @@ class Expedition extends CommonObject $sql.= ", cd.tva_tx, cd.localtax1_tx, cd.localtax2_tx, cd.price, cd.subprice, cd.remise_percent"; $sql.= ", ed.qty as qty_shipped, ed.fk_origin_line, ed.fk_entrepot"; $sql.= ", p.ref as product_ref, p.label as product_label, p.fk_product_type"; - $sql.= ", p.weight, p.weight_units, p.length, p.length_units, p.surface, p.surface_units, p.volume, p.volume_units"; + $sql.= ", p.weight, p.weight_units, p.length, p.length_units, p.surface, p.surface_units, p.volume, p.volume_units, ed.rowid as line_id"; $sql.= " FROM (".MAIN_DB_PREFIX."expeditiondet as ed,"; $sql.= " ".MAIN_DB_PREFIX."commandedet as cd)"; $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."product as p ON p.rowid = cd.fk_product"; @@ -1006,6 +1085,10 @@ class Expedition extends CommonObject $this->total_localtax1+= $tabprice[9]; $this->total_localtax2+= $tabprice[10]; + // Eat-by date + if (! empty($conf->productbatch->enabled)) { + $line->detail_batch=ExpeditionLigneBatch::FetchAll($this->db,$obj->line_id); + } $this->lines[$i] = $line; $i++; @@ -1412,6 +1495,7 @@ class ExpeditionLigne var $qty; var $qty_shipped; var $fk_product; + var $detail_batch; // From llx_commandedet or llx_propaldet var $qty_asked; diff --git a/htdocs/expedition/class/expeditionbatch.class.php b/htdocs/expedition/class/expeditionbatch.class.php new file mode 100644 index 00000000000..9721db2eeb6 --- /dev/null +++ b/htdocs/expedition/class/expeditionbatch.class.php @@ -0,0 +1,212 @@ + + * Copyright (C) 2013-2014 Cedric GROSS + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/** + * \file expedtion/class/productbatch.class.php + * \ingroup productbatch + * \brief This file implements CRUD method for managing product's shipment + * with batch record + */ + +class ExpeditionLigneBatch extends CommonObject +{ + var $element='expeditionlignebatch'; //!< Id that identify managed objects + private static $_table_element='expeditiondet_batch'; //!< Name of table without prefix where object is stored + + var $id; + var $sellby=''; + var $eatby=''; + var $batch=''; + var $dluo_qty; + var $entrepot_id; + var $fk_origin_stock; + var $fk_expeditiondet; + + /** + * Constructor + * + * @param DoliDb $db Database handler + */ + function __construct($db) + { + $this->db = $db; + return 1; + } + + /** + * Fill object based on a product-warehouse-batch's record + * + * @param int $id_stockdluo Rowid in product_batch table + * @return int -1 if KO, 1 if OK + */ + function fetchFromStock($id_stockdluo) { + $sql = "SELECT"; + $sql.= " t.sellby,"; + $sql.= " t.eatby,"; + $sql.= " t.batch,"; + $sql.= " e.fk_entrepot"; + + $sql.= " FROM ".MAIN_DB_PREFIX."product_batch as t inner join "; + $sql.= MAIN_DB_PREFIX."product_stock as e on t.fk_product_stock=e.rowid "; + $sql.= " WHERE t.rowid = ".(int) $id_stockdluo; + + dol_syslog(get_class($this)."::fetch sql=".$sql, LOG_DEBUG); + $resql=$this->db->query($sql); + if ($resql) + { + if ($this->db->num_rows($resql)) + { + $obj = $this->db->fetch_object($resql); + + $this->sellby = $this->db->jdate($obj->sellby); + $this->eatby = $this->db->jdate($obj->eatby); + $this->batch = $obj->batch; + $this->entrepot_id= $obj->fk_entrepot; + $this->fk_origin_stock=(int)$id_stockdluo; + + } + $this->db->free($resql); + + return 1; + } + else + { + $this->error="Error ".$this->db->lasterror(); + dol_syslog(__METHOD__ .$this->error, LOG_ERR); + return -1; + } + } + + /** + * Create an expeditiondet_batch DB record link to an expedtiondet record + * + * @param int $id_line_expdet rowid of expedtiondet record + * @return int <0 if KO, Id of record (>0) if OK + */ + function create($id_line_expdet) { + $id_line_expdet = (int) $id_line_expdet; + + $sql = "INSERT INTO ".MAIN_DB_PREFIX.self::$_table_element." ("; + $sql.= "fk_expeditiondet"; + $sql.= ", sellby"; + $sql.= ", eatby"; + $sql.= ", batch"; + $sql.= ", qty"; + $sql.= ", fk_origin_stock"; + $sql.= ") VALUES ("; + $sql.= $id_line_expdet.","; + $sql.= " ".(! isset($this->sellby) || dol_strlen($this->sellby)==0?'NULL':$this->db->idate($this->sellby)).","; + $sql.= " ".(! isset($this->eatby) || dol_strlen($this->eatby)==0?'NULL':$this->db->idate($this->eatby)).","; + $sql.= " ".(! isset($this->batch)?'NULL':"'".$this->db->escape($this->batch)."'").","; + $sql.= " ".(! isset($this->dluo_qty)?'NULL':$this->dluo_qty).","; + $sql.= " ".(! isset($this->fk_origin_stock)?'NULL':$this->fk_origin_stock); + $sql.= ")"; + + dol_syslog(__METHOD__ ." sql=".$sql, LOG_DEBUG); + $resql=$this->db->query($sql); + + if (! $resql) { $error++; $this->errors[]="Error ".$this->db->lasterror(); } + + if (! $error){ + $this->id = $this->db->last_insert_id(MAIN_DB_PREFIX.self::$_table_element); + $this->fk_expeditiondet=$id_line_expdet; + return $this->id; + } else { + foreach($this->errors as $errmsg) + { + dol_syslog(get_class($this)."::create ".$errmsg, LOG_ERR); + $this->error.=($this->error?', '.$errmsg:$errmsg); + } + $this->db->rollback(); + return -1*$error; + } + } + + /** + * Delete batch record attach to a shipment + * + * @param object $db Database object + * @param int $id_expedtion rowid of shipment + * + * @return int -1 if KO, 1 if OK + */ + static function deletefromexp($db,$id_expedition) { + $id_expedition = (int) $id_expedition; + + $sql="DELETE FROM ".MAIN_DB_PREFIX.self::$_table_element; + $sql.=" WHERE fk_expeditiondet in (SELECT rowid FROM ".MAIN_DB_PREFIX."expeditiondet WHERE fk_expedition=".$id_expedition.")"; + + dol_syslog(__METHOD__ ." sql=".$sql, LOG_DEBUG); + if ( $db->query($sql) ) + { + return 1; + } else { + return -1; + } + } + + /** + * Retrieve all batch number details link to a shipment line + * + * @param object $db Database object + * @param int $id_line_expdet id of shipment line + * + * @return variant -1 if KO, array of ExpeditionLigneBatch if OK + */ + static function FetchAll($db,$id_line_expdet) { + $sql="SELECT rowid,"; + $sql.= "fk_expeditiondet"; + $sql.= ", sellby"; + $sql.= ", eatby"; + $sql.= ", batch"; + $sql.= ", qty"; + $sql.= ", fk_origin_stock"; + $sql.= " FROM ".MAIN_DB_PREFIX.self::$_table_element; + $sql.= " WHERE fk_expeditiondet=".(int) $id_line_expdet; + + dol_syslog(__METHOD__ ." sql=".$sql, LOG_DEBUG); + $resql=$db->query($sql); + if ($resql) + { + $num=$db->num_rows($resql); + $i=0; + while ($i<$num) { + $tmp=new self($db); + + $obj = $db->fetch_object($resql); + + $tmp->sellby = $db->jdate($obj->sellby); + $tmp->eatby = $db->jdate($obj->eatby); + $tmp->batch = $obj->batch; + $tmp->id = $obj->rowid; + $tmp->fk_origin_stock = $obj->fk_origin_stock; + $tmp->fk_expeditiondet = $obj->fk_expeditiondet; + $tmp->dluo_qty = $obj->qty; + + $ret[]=$tmp; + $i++; + } + $db->free($resql); + return $ret; + } else { + return -1; + } + } + +} +?> diff --git a/htdocs/expedition/fiche.php b/htdocs/expedition/fiche.php index c04c4966efe..bfc444faf56 100644 --- a/htdocs/expedition/fiche.php +++ b/htdocs/expedition/fiche.php @@ -6,6 +6,7 @@ * Copyright (C) 2011-2012 Juanjo Menent * Copyright (C) 2013 Florian Henry * Copyright (C) 2013 Marcos García + * Copyright (C) 2014 Cedric GROSS * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -39,6 +40,7 @@ if (! empty($conf->product->enabled) || ! empty($conf->service->enabled)) requi if (! empty($conf->propal->enabled)) require_once DOL_DOCUMENT_ROOT.'/comm/propal/class/propal.class.php'; if (! empty($conf->commande->enabled)) require_once DOL_DOCUMENT_ROOT.'/commande/class/commande.class.php'; if (! empty($conf->stock->enabled)) require_once DOL_DOCUMENT_ROOT.'/product/stock/class/entrepot.class.php'; +if (! empty($conf->productbatch->enabled)) require_once DOL_DOCUMENT_ROOT.'/product/class/productbatch.class.php'; $langs->load("sendings"); $langs->load("companies"); @@ -48,6 +50,7 @@ $langs->load('orders'); $langs->load('stocks'); $langs->load('other'); $langs->load('propal'); +if (! empty($conf->productbatch->enabled)) $langs->load('productbatch'); $origin = GETPOST('origin','alpha')?GETPOST('origin','alpha'):'expedition'; // Example: commande, propal $origin_id = GETPOST('id','int')?GETPOST('id','int'):''; @@ -126,7 +129,31 @@ if ($action == 'add') for ($i = 0; $i < $num; $i++) { $qty = "qtyl".$i; - if (GETPOST($qty,'int') > 0) $totalqty+=GETPOST($qty,'int'); + $j=0; + $sub_qty=array(); + $subtotalqty=0; + $idl="idl".$i; + $batch="batchl".$i."_0"; + if (isset($_POST[$batch])) { + //shipment line with batch-enable product + $qty .= '_'.$j; + while (isset($_POST[$batch])) { + $sub_qty[$j]['q']=GETPOST($qty,'int'); + $sub_qty[$j]['id_batch']=GETPOST($batch,'int'); + $subtotalqty+=$sub_qty[$j]['q']; + $j++; + $batch="batchl".$i."_".$j; + $qty = "qtyl".$i.'_'.$j; + + } + $batch_line[$i]['detail']=$sub_qty; + $batch_line[$i]['qty']=$subtotalqty; + $batch_line[$i]['ix_l']=GETPOST($idl,'int'); + $totalqty+=$subtotalqty; + } else { + //Standard product + if (GETPOST($qty,'int') > 0) $totalqty+=GETPOST($qty,'int'); + } } if ($totalqty > 0) @@ -135,20 +162,31 @@ if ($action == 'add') for ($i = 0; $i < $num; $i++) { $qty = "qtyl".$i; - if (GETPOST($qty,'int') > 0) - { - $ent = "entl".$i; - $idl = "idl".$i; - $entrepot_id = is_numeric(GETPOST($ent,'int'))?GETPOST($ent,'int'):GETPOST('entrepot_id','int'); - if ($entrepot_id < 0) $entrepot_id=''; + if (! isset($batch_line[$i])) { + if (GETPOST($qty,'int') > 0) + { + $ent = "entl".$i; + $idl = "idl".$i; + $entrepot_id = is_numeric(GETPOST($ent,'int'))?GETPOST($ent,'int'):GETPOST('entrepot_id','int'); + if ($entrepot_id < 0) $entrepot_id=''; - $ret=$object->addline($entrepot_id,GETPOST($idl,'int'),GETPOST($qty,'int')); - if ($ret < 0) - { - $mesg='
'.$object->error.'
'; - $error++; - } - } + $ret=$object->addline($entrepot_id,GETPOST($idl,'int'),GETPOST($qty,'int')); + if ($ret < 0) + { + $mesg='
'.$object->error.'
'; + $error++; + } + } + } else { + if ($batch_line[$i]['qty']>0) { + $ret=$object->addline_batch($batch_line[$i]); + if ($ret < 0) + { + $mesg='
'.$object->error.'
'; + $error++; + } + } + } } if (! $error) @@ -653,7 +691,7 @@ if ($action == 'create') print '
'; $expe->fetch_delivery_methods(); print $form->selectarray("shipping_method_id",$expe->meths,GETPOST('shipping_method_id','int'),1,0,0,"",1); - if ($user->admin) print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionarySetup"),1); + if ($user->admin) print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionnarySetup"),1); print "
'.$langs->trans("QtyOrdered").''.$langs->trans("QtyShipped").''.$langs->trans("QtyToShip"); + if (empty($conf->productbatch->enabled)) { print '
('.$langs->trans("Fill").''; print ' / '.$langs->trans("Reset").')'; + } print '
'.$langs->trans("Warehouse").' / '.$langs->trans("Stock").''.$langs->trans("Warehouse").' / '.$langs->trans("Batch").' / '.$langs->trans("Stock").'
'; if ($line->product_type == 0 || ! empty($conf->global->STOCK_SUPPORTS_SERVICES)) @@ -873,6 +918,28 @@ if ($action == 'create') } } } + } else { + print '
'; + print ''; + print ''; + print ''; + print $langs->trans("DetailBatchFormat", dol_print_date($dbatch->eatby,"day"), dol_print_date($dbatch->sellby,"day"), $dbatch->batch, $dbatch->qty); + if ($defaultqty<=0) { + $defaultqty=0; + } else { + $defaultqty -=min($defaultqty,$substock); + } + $subj++; + } + } $indiceAsked++; } @@ -1152,7 +1219,7 @@ else if ($id || $ref) print ''; $object->fetch_delivery_methods(); print $form->selectarray("shipping_method_id",$object->meths,$object->shipping_method_id,1,0,0,"",1); - if ($user->admin) print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionarySetup"),1); + if ($user->admin) print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionnarySetup"),1); print ''; print ''; } @@ -1208,6 +1275,11 @@ else if ($id || $ref) print ''.$langs->trans("WarehouseSource").''.$langs->trans("Batch").'
'; + $detail = ''; + foreach ($lines[$i]->detail_batch as $dbatch) { + $detail.= $langs->trans("DetailBatchFormat",dol_print_date($dbatch->eatby,"day"),dol_print_date($dbatch->sellby,"day"),$dbatch->batch,$dbatch->dluo_qty).'
'; + } + print $form->textwithtooltip($langs->trans("DetailBatchNumber"),$detail); + print '
'.$margin_rate.'%%%'.$mark_rate.'%%% + + ">
">
' + - '' + - '' + - '' + - '' + - '
' + - '' + - '', - lang.auto, - '
' + - '' + - '' ); - - // Render the color boxes. - for ( var i = 0 ; i < colors.length ; i++ ) - { - if ( ( i % 8 ) === 0 ) - output.push( '' ); - - var parts = colors[ i ].split( '/' ), - colorName = parts[ 0 ], - colorCode = parts[ 1 ] || colorName; - - // The data can be only a color code (without #) or colorName + color code - // If only a color code is provided, then the colorName is the color with the hash - // Convert the color from RGB to RRGGBB for better compatibility with IE and . See #5676 - if (!parts[1]) - colorName = '#' + colorName.replace( /^(.)(.)(.)$/, '$1$1$2$2$3$3' ); - - var colorLabel = editor.lang.colors[ colorCode ] || colorCode; - output.push( - '' ); - } - - // Render the "More Colors" button. - if ( config.colorButton_enableMore === undefined || config.colorButton_enableMore ) - { - output.push( - '' + - '' + - '' ); // tr is later in the code. - } - - output.push( '
' + - '' + - '' + - '' + - '
' + - '', - lang.more, - '' + - '
' ); - - return output.join( '' ); - } - - function isUnstylable( ele ) - { - return ( ele.getAttribute( 'contentEditable' ) == 'false' ) || ele.getAttribute( 'data-nostyle' ); - } - } -}); - -/** - * Whether to enable the More Colors button in the color selectors. - * @name CKEDITOR.config.colorButton_enableMore - * @default true - * @type Boolean - * @example - * config.colorButton_enableMore = false; - */ - -/** - * Defines the colors to be displayed in the color selectors. This is a string - * containing hexadecimal notation for HTML colors, without the "#" prefix. - *

- * Since 3.3: A color name may optionally be defined by prefixing the entries with - * a name and the slash character. For example, "FontColor1/FF9900" will be - * displayed as the color #FF9900 in the selector, but will be output as "FontColor1". - * @name CKEDITOR.config.colorButton_colors - * @type String - * @default '000,800000,8B4513,2F4F4F,008080,000080,4B0082,696969,B22222,A52A2A,DAA520,006400,40E0D0,0000CD,800080,808080,F00,FF8C00,FFD700,008000,0FF,00F,EE82EE,A9A9A9,FFA07A,FFA500,FFFF00,00FF00,AFEEEE,ADD8E6,DDA0DD,D3D3D3,FFF0F5,FAEBD7,FFFFE0,F0FFF0,F0FFFF,F0F8FF,E6E6FA,FFF' - * @example - * // Brazil colors only. - * config.colorButton_colors = '00923E,F8C100,28166F'; - * @example - * config.colorButton_colors = 'FontColor1/FF9900,FontColor2/0066CC,FontColor3/F00' - */ -CKEDITOR.config.colorButton_colors = - '000,800000,8B4513,2F4F4F,008080,000080,4B0082,696969,' + - 'B22222,A52A2A,DAA520,006400,40E0D0,0000CD,800080,808080,' + - 'F00,FF8C00,FFD700,008000,0FF,00F,EE82EE,A9A9A9,' + - 'FFA07A,FFA500,FFFF00,00FF00,AFEEEE,ADD8E6,DDA0DD,D3D3D3,' + - 'FFF0F5,FAEBD7,FFFFE0,F0FFF0,F0FFFF,F0F8FF,E6E6FA,FFF'; - -/** - * Stores the style definition that applies the text foreground color. - * @name CKEDITOR.config.colorButton_foreStyle - * @type Object - * @default (see example) - * @example - * // This is actually the default value. - * config.colorButton_foreStyle = - * { - * element : 'span', - * styles : { 'color' : '#(color)' } - * }; - */ -CKEDITOR.config.colorButton_foreStyle = - { - element : 'span', - styles : { 'color' : '#(color)' }, - overrides : [ { element : 'font', attributes : { 'color' : null } } ] - }; - -/** - * Stores the style definition that applies the text background color. - * @name CKEDITOR.config.colorButton_backStyle - * @type Object - * @default (see example) - * @example - * // This is actually the default value. - * config.colorButton_backStyle = - * { - * element : 'span', - * styles : { 'background-color' : '#(color)' } - * }; - */ -CKEDITOR.config.colorButton_backStyle = - { - element : 'span', - styles : { 'background-color' : '#(color)' } - }; +/** + * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. + * For licensing, see LICENSE.md or http://ckeditor.com/license + */ + +/** + * @fileOverview The "colorbutton" plugin that makes it possible to assign + * text and background colors to editor contents. + * + */ +CKEDITOR.plugins.add( 'colorbutton', { + requires: 'panelbutton,floatpanel', + lang: 'af,ar,bg,bn,bs,ca,cs,cy,da,de,el,en,en-au,en-ca,en-gb,eo,es,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,id,is,it,ja,ka,km,ko,ku,lt,lv,mk,mn,ms,nb,nl,no,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE% + icons: 'bgcolor,textcolor', // %REMOVE_LINE_CORE% + hidpi: true, // %REMOVE_LINE_CORE% + init: function( editor ) { + var config = editor.config, + lang = editor.lang.colorbutton; + + var clickFn; + + if ( !CKEDITOR.env.hc ) { + addButton( 'TextColor', 'fore', lang.textColorTitle, 10 ); + addButton( 'BGColor', 'back', lang.bgColorTitle, 20 ); + } + + function addButton( name, type, title, order ) { + var style = new CKEDITOR.style( config[ 'colorButton_' + type + 'Style' ] ), + colorBoxId = CKEDITOR.tools.getNextId() + '_colorBox'; + + editor.ui.add( name, CKEDITOR.UI_PANELBUTTON, { + label: title, + title: title, + modes: { wysiwyg: 1 }, + editorFocus: 0, + toolbar: 'colors,' + order, + allowedContent: style, + requiredContent: style, + + panel: { + css: CKEDITOR.skin.getPath( 'editor' ), + attributes: { role: 'listbox', 'aria-label': lang.panelTitle } + }, + + onBlock: function( panel, block ) { + block.autoSize = true; + block.element.addClass( 'cke_colorblock' ); + block.element.setHtml( renderColors( panel, type, colorBoxId ) ); + // The block should not have scrollbars (#5933, #6056) + block.element.getDocument().getBody().setStyle( 'overflow', 'hidden' ); + + CKEDITOR.ui.fire( 'ready', this ); + + var keys = block.keys; + var rtl = editor.lang.dir == 'rtl'; + keys[ rtl ? 37 : 39 ] = 'next'; // ARROW-RIGHT + keys[ 40 ] = 'next'; // ARROW-DOWN + keys[ 9 ] = 'next'; // TAB + keys[ rtl ? 39 : 37 ] = 'prev'; // ARROW-LEFT + keys[ 38 ] = 'prev'; // ARROW-UP + keys[ CKEDITOR.SHIFT + 9 ] = 'prev'; // SHIFT + TAB + keys[ 32 ] = 'click'; // SPACE + }, + + refresh: function() { + if ( !editor.activeFilter.check( style ) ) + this.setState( CKEDITOR.TRISTATE_DISABLED ); + }, + + // The automatic colorbox should represent the real color (#6010) + onOpen: function() { + + var selection = editor.getSelection(), + block = selection && selection.getStartElement(), + path = editor.elementPath( block ), + color; + + if ( !path ) + return; + + // Find the closest block element. + block = path.block || path.blockLimit || editor.document.getBody(); + + // The background color might be transparent. In that case, look up the color in the DOM tree. + do { + color = block && block.getComputedStyle( type == 'back' ? 'background-color' : 'color' ) || 'transparent'; + } + while ( type == 'back' && color == 'transparent' && block && ( block = block.getParent() ) ); + + // The box should never be transparent. + if ( !color || color == 'transparent' ) + color = '#ffffff'; + + this._.panel._.iframe.getFrameDocument().getById( colorBoxId ).setStyle( 'background-color', color ); + + return color; + } + } ); + } + + + function renderColors( panel, type, colorBoxId ) { + var output = [], + colors = config.colorButton_colors.split( ',' ); + + var clickFn = CKEDITOR.tools.addFunction( function( color, type ) { + if ( color == '?' ) { + var applyColorStyle = arguments.callee; + + function onColorDialogClose( evt ) { + this.removeListener( 'ok', onColorDialogClose ); + this.removeListener( 'cancel', onColorDialogClose ); + + evt.name == 'ok' && applyColorStyle( this.getContentElement( 'picker', 'selectedColor' ).getValue(), type ); + } + + editor.openDialog( 'colordialog', function() { + this.on( 'ok', onColorDialogClose ); + this.on( 'cancel', onColorDialogClose ); + } ); + + return; + } + + editor.focus(); + + panel.hide(); + + editor.fire( 'saveSnapshot' ); + + // Clean up any conflicting style within the range. + editor.removeStyle( new CKEDITOR.style( config[ 'colorButton_' + type + 'Style' ], { color: 'inherit' } ) ); + + if ( color ) { + var colorStyle = config[ 'colorButton_' + type + 'Style' ]; + + colorStyle.childRule = type == 'back' ? + function( element ) { + // It's better to apply background color as the innermost style. (#3599) + // Except for "unstylable elements". (#6103) + return isUnstylable( element ); + } : function( element ) { + // Fore color style must be applied inside links instead of around it. (#4772,#6908) + return !( element.is( 'a' ) || element.getElementsByTag( 'a' ).count() ) || isUnstylable( element ); + }; + + editor.applyStyle( new CKEDITOR.style( colorStyle, { color: color } ) ); + } + + editor.fire( 'saveSnapshot' ); + } ); + + // Render the "Automatic" button. + output.push( '' + + '' + + '' + + '' + + '' + + '' + + '
' + + '' + + '', lang.auto, '
' + + '
' + + '' ); + + // Render the color boxes. + for ( var i = 0; i < colors.length; i++ ) { + if ( ( i % 8 ) === 0 ) + output.push( '' ); + + var parts = colors[ i ].split( '/' ), + colorName = parts[ 0 ], + colorCode = parts[ 1 ] || colorName; + + // The data can be only a color code (without #) or colorName + color code + // If only a color code is provided, then the colorName is the color with the hash + // Convert the color from RGB to RRGGBB for better compatibility with IE and . See #5676 + if ( !parts[ 1 ] ) + colorName = '#' + colorName.replace( /^(.)(.)(.)$/, '$1$1$2$2$3$3' ); + + var colorLabel = editor.lang.colorbutton.colors[ colorCode ] || colorCode; + output.push( '' ); + } + + // Render the "More Colors" button. + if ( editor.plugins.colordialog && config.colorButton_enableMore === undefined || config.colorButton_enableMore ) { + output.push( '' + + '' + + '' ); // tr is later in the code. + } + + output.push( '
' + + '' + + '' + + '' + + '
' + + '', lang.more, '' + + '
' ); + + return output.join( '' ); + } + + function isUnstylable( ele ) { + return ( ele.getAttribute( 'contentEditable' ) == 'false' ) || ele.getAttribute( 'data-nostyle' ); + } + } +} ); + +/** + * Whether to enable the **More Colors*** button in the color selectors. + * + * config.colorButton_enableMore = false; + * + * @cfg {Boolean} [colorButton_enableMore=true] + * @member CKEDITOR.config + */ + +/** + * Defines the colors to be displayed in the color selectors. This is a string + * containing hexadecimal notation for HTML colors, without the `'#'` prefix. + * + * **Since 3.3:** A color name may optionally be defined by prefixing the entries with + * a name and the slash character. For example, `'FontColor1/FF9900'` will be + * displayed as the color `#FF9900` in the selector, but will be output as `'FontColor1'`. + * + * // Brazil colors only. + * config.colorButton_colors = '00923E,F8C100,28166F'; + * + * config.colorButton_colors = 'FontColor1/FF9900,FontColor2/0066CC,FontColor3/F00'; + * + * @cfg {String} [colorButton_colors=see source] + * @member CKEDITOR.config + */ +CKEDITOR.config.colorButton_colors = '000,800000,8B4513,2F4F4F,008080,000080,4B0082,696969,' + + 'B22222,A52A2A,DAA520,006400,40E0D0,0000CD,800080,808080,' + + 'F00,FF8C00,FFD700,008000,0FF,00F,EE82EE,A9A9A9,' + + 'FFA07A,FFA500,FFFF00,00FF00,AFEEEE,ADD8E6,DDA0DD,D3D3D3,' + + 'FFF0F5,FAEBD7,FFFFE0,F0FFF0,F0FFFF,F0F8FF,E6E6FA,FFF'; + +/** + * Stores the style definition that applies the text foreground color. + * + * // This is actually the default value. + * config.colorButton_foreStyle = { + * element: 'span', + * styles: { color: '#(color)' } + * }; + * + * @cfg [colorButton_foreStyle=see source] + * @member CKEDITOR.config + */ +CKEDITOR.config.colorButton_foreStyle = { + element: 'span', + styles: { 'color': '#(color)' }, + overrides: [ { + element: 'font', attributes: { 'color': null } + } ] +}; + +/** + * Stores the style definition that applies the text background color. + * + * // This is actually the default value. + * config.colorButton_backStyle = { + * element: 'span', + * styles: { 'background-color': '#(color)' } + * }; + * + * @cfg [colorButton_backStyle=see source] + * @member CKEDITOR.config + */ +CKEDITOR.config.colorButton_backStyle = { + element: 'span', + styles: { 'background-color': '#(color)' } +}; diff --git a/htdocs/includes/ckeditor/_source/plugins/colordialog/dialogs/colordialog.js b/htdocs/includes/ckeditor/_source/plugins/colordialog/dialogs/colordialog.js index 300246df724..39598dda301 100644 --- a/htdocs/includes/ckeditor/_source/plugins/colordialog/dialogs/colordialog.js +++ b/htdocs/includes/ckeditor/_source/plugins/colordialog/dialogs/colordialog.js @@ -1,387 +1,338 @@ -/* -Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.html or http://ckeditor.com/license -*/ - -CKEDITOR.dialog.add( 'colordialog', function( editor ) - { - // Define some shorthands. - var $el = CKEDITOR.dom.element, - $doc = CKEDITOR.document, - lang = editor.lang.colordialog; - - // Reference the dialog. - var dialog; - - var spacer = - { - type : 'html', - html : ' ' - }; - - var selected; - - function clearSelected() - { - $doc.getById( selHiColorId ).removeStyle( 'background-color' ); - dialog.getContentElement( 'picker', 'selectedColor' ).setValue( '' ); - selected && selected.removeAttribute( 'aria-selected' ); - selected = null; - } - - function updateSelected( evt ) - { - var target = evt.data.getTarget(), - color; - - if ( target.getName() == 'td' && - ( color = target.getChild( 0 ).getHtml() ) ) - { - selected = target; - selected.setAttribute( 'aria-selected', true ); - dialog.getContentElement( 'picker', 'selectedColor' ).setValue( color ); - } - } - - // Basing black-white decision off of luma scheme using the Rec. 709 version - function whiteOrBlack( color ) - { - color = color.replace( /^#/, '' ); - for ( var i = 0, rgb = []; i <= 2; i++ ) - rgb[i] = parseInt( color.substr( i * 2, 2 ), 16 ); - var luma = (0.2126 * rgb[0]) + (0.7152 * rgb[1]) + (0.0722 * rgb[2]); - return '#' + ( luma >= 165 ? '000' : 'fff' ); - } - - // Distinguish focused and hover states. - var focused, hovered; - - // Apply highlight style. - function updateHighlight( event ) - { - // Convert to event. - !event.name && ( event = new CKEDITOR.event( event ) ); - - var isFocus = !(/mouse/).test( event.name ), - target = event.data.getTarget(), - color; - - if ( target.getName() == 'td' && ( color = target.getChild( 0 ).getHtml() ) ) - { - removeHighlight( event ); - - isFocus ? focused = target : hovered = target; - - // Apply outline style to show focus. - if ( isFocus ) - { - target.setStyle( 'border-color', whiteOrBlack( color ) ); - target.setStyle( 'border-style', 'dotted' ); - } - - $doc.getById( hicolorId ).setStyle( 'background-color', color ); - $doc.getById( hicolorTextId ).setHtml( color ); - } - } - - function clearHighlight() - { - var color = focused.getChild( 0 ).getHtml(); - focused.setStyle( 'border-color', color ); - focused.setStyle( 'border-style', 'solid' ); - $doc.getById( hicolorId ).removeStyle( 'background-color' ); - $doc.getById( hicolorTextId ).setHtml( ' ' ); - focused = null; - } - - // Remove previously focused style. - function removeHighlight( event ) - { - var isFocus = !(/mouse/).test( event.name ), - target = isFocus && focused; - - if ( target ) - { - var color = target.getChild( 0 ).getHtml(); - target.setStyle( 'border-color', color ); - target.setStyle( 'border-style', 'solid' ); - } - - if ( ! ( focused || hovered ) ) - { - $doc.getById( hicolorId ).removeStyle( 'background-color' ); - $doc.getById( hicolorTextId ).setHtml( ' ' ); - } - } - - function onKeyStrokes( evt ) - { - var domEvt = evt.data; - - var element = domEvt.getTarget(); - var relative, nodeToMove; - var keystroke = domEvt.getKeystroke(), - rtl = editor.lang.dir == 'rtl'; - - switch ( keystroke ) - { - // UP-ARROW - case 38 : - // relative is TR - if ( ( relative = element.getParent().getPrevious() ) ) - { - nodeToMove = relative.getChild( [ element.getIndex() ] ); - nodeToMove.focus(); - } - domEvt.preventDefault(); - break; - // DOWN-ARROW - case 40 : - // relative is TR - if ( ( relative = element.getParent().getNext() ) ) - { - nodeToMove = relative.getChild( [ element.getIndex() ] ); - if ( nodeToMove && nodeToMove.type == 1 ) - { - nodeToMove.focus(); - } - } - domEvt.preventDefault(); - break; - - // SPACE - // ENTER - case 32 : - case 13 : - updateSelected( evt ); - domEvt.preventDefault(); - break; - - // RIGHT-ARROW - case rtl ? 37 : 39 : - // relative is TD - if ( ( nodeToMove = element.getNext() ) ) - { - if ( nodeToMove.type == 1 ) - { - nodeToMove.focus(); - domEvt.preventDefault( true ); - } - } - // relative is TR - else if ( ( relative = element.getParent().getNext() ) ) - { - nodeToMove = relative.getChild( [ 0 ] ); - if ( nodeToMove && nodeToMove.type == 1 ) - { - nodeToMove.focus(); - domEvt.preventDefault( true ); - } - } - break; - - // LEFT-ARROW - case rtl ? 39 : 37 : - // relative is TD - if ( ( nodeToMove = element.getPrevious() ) ) - { - nodeToMove.focus(); - domEvt.preventDefault( true ); - } - // relative is TR - else if ( ( relative = element.getParent().getPrevious() ) ) - { - nodeToMove = relative.getLast(); - nodeToMove.focus(); - domEvt.preventDefault( true ); - } - break; - default : - // Do not stop not handled events. - return; - } - } - - function createColorTable() - { - table = CKEDITOR.dom.element.createFromHtml - ( - '' + - '' + - '
' + lang.options + '
' - ); - - table.on( 'mouseover', updateHighlight ); - table.on( 'mouseout', removeHighlight ); - - // Create the base colors array. - var aColors = [ '00', '33', '66', '99', 'cc', 'ff' ]; - - // This function combines two ranges of three values from the color array into a row. - function appendColorRow( rangeA, rangeB ) - { - for ( var i = rangeA ; i < rangeA + 3 ; i++ ) - { - var row = new $el( table.$.insertRow( -1 ) ); - row.setAttribute( 'role', 'row' ); - - for ( var j = rangeB ; j < rangeB + 3 ; j++ ) - { - for ( var n = 0 ; n < 6 ; n++ ) - { - appendColorCell( row.$, '#' + aColors[j] + aColors[n] + aColors[i] ); - } - } - } - } - - // This function create a single color cell in the color table. - function appendColorCell( targetRow, color ) - { - var cell = new $el( targetRow.insertCell( -1 ) ); - cell.setAttribute( 'class', 'ColorCell' ); - cell.setAttribute( 'tabIndex', -1 ); - cell.setAttribute( 'role', 'gridcell' ); - - cell.on( 'keydown', onKeyStrokes ); - cell.on( 'click', updateSelected ); - cell.on( 'focus', updateHighlight ); - cell.on( 'blur', removeHighlight ); - - cell.setStyle( 'background-color', color ); - cell.setStyle( 'border', '1px solid ' + color ); - - cell.setStyle( 'width', '14px' ); - cell.setStyle( 'height', '14px' ); - - var colorLabel = numbering( 'color_table_cell' ); - cell.setAttribute( 'aria-labelledby',colorLabel ); - cell.append( CKEDITOR.dom.element.createFromHtml( '' + color + '', CKEDITOR.document ) ); - } - - appendColorRow( 0, 0 ); - appendColorRow( 3, 0 ); - appendColorRow( 0, 3 ); - appendColorRow( 3, 3 ); - - // Create the last row. - var oRow = new $el( table.$.insertRow( -1 ) ) ; - oRow.setAttribute( 'role', 'row' ); - - // Create the gray scale colors cells. - for ( var n = 0 ; n < 6 ; n++ ) - { - appendColorCell( oRow.$, '#' + aColors[n] + aColors[n] + aColors[n] ) ; - } - - // Fill the row with black cells. - for ( var i = 0 ; i < 12 ; i++ ) - { - appendColorCell( oRow.$, '#000000' ) ; - } - } - - var numbering = function( id ) - { - return CKEDITOR.tools.getNextId() + '_' + id; - }, - hicolorId = numbering( 'hicolor' ), - hicolorTextId = numbering( 'hicolortext' ), - selHiColorId = numbering( 'selhicolor' ), - table; - - createColorTable(); - - return { - title : lang.title, - minWidth : 360, - minHeight : 220, - onLoad : function() - { - // Update reference. - dialog = this; - }, - onHide : function() - { - clearSelected(); - clearHighlight(); - }, - contents : [ - { - id : 'picker', - label : lang.title, - accessKey : 'I', - elements : - [ - { - type : 'hbox', - padding : 0, - widths : [ '70%', '10%', '30%' ], - children : - [ - { - type : 'html', - html : '
', - onLoad : function() - { - CKEDITOR.document.getById( this.domId ).append( table ); - }, - focus : function() - { - // Restore the previously focused cell, - // otherwise put the initial focus on the first table cell. - ( focused || this.getElement().getElementsByTag( 'td' ).getItem( 0 ) ).focus(); - } - }, - spacer, - { - type : 'vbox', - padding : 0, - widths : [ '70%', '5%', '25%' ], - children : - [ - { - type : 'html', - html : '' + lang.highlight +'\ -
\ -
 
' + lang.selected + '\ -
' - }, - { - type : 'text', - label : lang.selected, - labelStyle: 'display:none', - id : 'selectedColor', - style : 'width: 74px', - onChange : function() - { - // Try to update color preview with new value. If fails, then set it no none. - try - { - $doc.getById( selHiColorId ).setStyle( 'background-color', this.getValue() ); - } - catch ( e ) - { - clearSelected(); - } - } - }, - spacer, - { - type : 'button', - id : 'clear', - style : 'margin-top: 5px', - label : lang.clear, - onClick : clearSelected - } - ] - } - ] - } - ] - } - ] - }; - } - ); +/** + * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. + * For licensing, see LICENSE.md or http://ckeditor.com/license + */ + +CKEDITOR.dialog.add( 'colordialog', function( editor ) { + // Define some shorthands. + var $el = CKEDITOR.dom.element, + $doc = CKEDITOR.document, + lang = editor.lang.colordialog; + + // Reference the dialog. + var dialog; + + var spacer = { + type: 'html', + html: ' ' + }; + + var selected; + + function clearSelected() { + $doc.getById( selHiColorId ).removeStyle( 'background-color' ); + dialog.getContentElement( 'picker', 'selectedColor' ).setValue( '' ); + selected && selected.removeAttribute( 'aria-selected' ); + selected = null; + } + + function updateSelected( evt ) { + var target = evt.data.getTarget(), + color; + + if ( target.getName() == 'td' && ( color = target.getChild( 0 ).getHtml() ) ) { + selected = target; + selected.setAttribute( 'aria-selected', true ); + dialog.getContentElement( 'picker', 'selectedColor' ).setValue( color ); + } + } + + // Basing black-white decision off of luma scheme using the Rec. 709 version + function whiteOrBlack( color ) { + color = color.replace( /^#/, '' ); + for ( var i = 0, rgb = []; i <= 2; i++ ) + rgb[ i ] = parseInt( color.substr( i * 2, 2 ), 16 ); + var luma = ( 0.2126 * rgb[ 0 ] ) + ( 0.7152 * rgb[ 1 ] ) + ( 0.0722 * rgb[ 2 ] ); + return '#' + ( luma >= 165 ? '000' : 'fff' ); + } + + // Distinguish focused and hover states. + var focused, hovered; + + // Apply highlight style. + function updateHighlight( event ) { + // Convert to event. + !event.name && ( event = new CKEDITOR.event( event ) ); + + var isFocus = !( /mouse/ ).test( event.name ), + target = event.data.getTarget(), + color; + + if ( target.getName() == 'td' && ( color = target.getChild( 0 ).getHtml() ) ) { + removeHighlight( event ); + + isFocus ? focused = target : hovered = target; + + // Apply outline style to show focus. + if ( isFocus ) { + target.setStyle( 'border-color', whiteOrBlack( color ) ); + target.setStyle( 'border-style', 'dotted' ); + } + + $doc.getById( hicolorId ).setStyle( 'background-color', color ); + $doc.getById( hicolorTextId ).setHtml( color ); + } + } + + function clearHighlight() { + var color = focused.getChild( 0 ).getHtml(); + focused.setStyle( 'border-color', color ); + focused.setStyle( 'border-style', 'solid' ); + $doc.getById( hicolorId ).removeStyle( 'background-color' ); + $doc.getById( hicolorTextId ).setHtml( ' ' ); + focused = null; + } + + // Remove previously focused style. + function removeHighlight( event ) { + var isFocus = !( /mouse/ ).test( event.name ), + target = isFocus && focused; + + if ( target ) { + var color = target.getChild( 0 ).getHtml(); + target.setStyle( 'border-color', color ); + target.setStyle( 'border-style', 'solid' ); + } + + if ( !( focused || hovered ) ) { + $doc.getById( hicolorId ).removeStyle( 'background-color' ); + $doc.getById( hicolorTextId ).setHtml( ' ' ); + } + } + + function onKeyStrokes( evt ) { + var domEvt = evt.data; + + var element = domEvt.getTarget(); + var relative, nodeToMove; + var keystroke = domEvt.getKeystroke(), + rtl = editor.lang.dir == 'rtl'; + + switch ( keystroke ) { + // UP-ARROW + case 38: + // relative is TR + if ( ( relative = element.getParent().getPrevious() ) ) { + nodeToMove = relative.getChild( [ element.getIndex() ] ); + nodeToMove.focus(); + } + domEvt.preventDefault(); + break; + // DOWN-ARROW + case 40: + // relative is TR + if ( ( relative = element.getParent().getNext() ) ) { + nodeToMove = relative.getChild( [ element.getIndex() ] ); + if ( nodeToMove && nodeToMove.type == 1 ) + nodeToMove.focus(); + + } + domEvt.preventDefault(); + break; + + // SPACE + // ENTER + case 32: + case 13: + updateSelected( evt ); + domEvt.preventDefault(); + break; + + // RIGHT-ARROW + case rtl ? 37 : 39: + // relative is TD + if ( ( nodeToMove = element.getNext() ) ) { + if ( nodeToMove.type == 1 ) { + nodeToMove.focus(); + domEvt.preventDefault( true ); + } + } + // relative is TR + else if ( ( relative = element.getParent().getNext() ) ) { + nodeToMove = relative.getChild( [ 0 ] ); + if ( nodeToMove && nodeToMove.type == 1 ) { + nodeToMove.focus(); + domEvt.preventDefault( true ); + } + } + break; + + // LEFT-ARROW + case rtl ? 39 : 37: + // relative is TD + if ( ( nodeToMove = element.getPrevious() ) ) { + nodeToMove.focus(); + domEvt.preventDefault( true ); + } + // relative is TR + else if ( ( relative = element.getParent().getPrevious() ) ) { + nodeToMove = relative.getLast(); + nodeToMove.focus(); + domEvt.preventDefault( true ); + } + break; + default: + // Do not stop not handled events. + return; + } + } + + function createColorTable() { + table = CKEDITOR.dom.element.createFromHtml( '' + + '' + + '
' + lang.options + '
' ); + + table.on( 'mouseover', updateHighlight ); + table.on( 'mouseout', removeHighlight ); + + // Create the base colors array. + var aColors = [ '00', '33', '66', '99', 'cc', 'ff' ]; + + // This function combines two ranges of three values from the color array into a row. + function appendColorRow( rangeA, rangeB ) { + for ( var i = rangeA; i < rangeA + 3; i++ ) { + var row = new $el( table.$.insertRow( -1 ) ); + row.setAttribute( 'role', 'row' ); + + for ( var j = rangeB; j < rangeB + 3; j++ ) { + for ( var n = 0; n < 6; n++ ) { + appendColorCell( row.$, '#' + aColors[ j ] + aColors[ n ] + aColors[ i ] ); + } + } + } + } + + // This function create a single color cell in the color table. + function appendColorCell( targetRow, color ) { + var cell = new $el( targetRow.insertCell( -1 ) ); + cell.setAttribute( 'class', 'ColorCell' ); + cell.setAttribute( 'tabIndex', -1 ); + cell.setAttribute( 'role', 'gridcell' ); + + cell.on( 'keydown', onKeyStrokes ); + cell.on( 'click', updateSelected ); + cell.on( 'focus', updateHighlight ); + cell.on( 'blur', removeHighlight ); + + cell.setStyle( 'background-color', color ); + cell.setStyle( 'border', '1px solid ' + color ); + + cell.setStyle( 'width', '14px' ); + cell.setStyle( 'height', '14px' ); + + var colorLabel = numbering( 'color_table_cell' ); + cell.setAttribute( 'aria-labelledby', colorLabel ); + cell.append( CKEDITOR.dom.element.createFromHtml( '' + color + '', CKEDITOR.document ) ); + } + + appendColorRow( 0, 0 ); + appendColorRow( 3, 0 ); + appendColorRow( 0, 3 ); + appendColorRow( 3, 3 ); + + // Create the last row. + var oRow = new $el( table.$.insertRow( -1 ) ); + oRow.setAttribute( 'role', 'row' ); + + // Create the gray scale colors cells. + for ( var n = 0; n < 6; n++ ) { + appendColorCell( oRow.$, '#' + aColors[ n ] + aColors[ n ] + aColors[ n ] ); + } + + // Fill the row with black cells. + for ( var i = 0; i < 12; i++ ) { + appendColorCell( oRow.$, '#000000' ); + } + } + + var numbering = function( id ) { + return CKEDITOR.tools.getNextId() + '_' + id; + }, + hicolorId = numbering( 'hicolor' ), + hicolorTextId = numbering( 'hicolortext' ), + selHiColorId = numbering( 'selhicolor' ), + table; + + createColorTable(); + + return { + title: lang.title, + minWidth: 360, + minHeight: 220, + onLoad: function() { + // Update reference. + dialog = this; + }, + onHide: function() { + clearSelected(); + clearHighlight(); + }, + contents: [ + { + id: 'picker', + label: lang.title, + accessKey: 'I', + elements: [ + { + type: 'hbox', + padding: 0, + widths: [ '70%', '10%', '30%' ], + children: [ + { + type: 'html', + html: '
', + onLoad: function() { + CKEDITOR.document.getById( this.domId ).append( table ); + }, + focus: function() { + // Restore the previously focused cell, + // otherwise put the initial focus on the first table cell. + ( focused || this.getElement().getElementsByTag( 'td' ).getItem( 0 ) ).focus(); + } + }, + spacer, + { + type: 'vbox', + padding: 0, + widths: [ '70%', '5%', '25%' ], + children: [ + { + type: 'html', + html: '' + lang.highlight + '\ +
\ +
 
' + lang.selected + '\ +
' + }, + { + type: 'text', + label: lang.selected, + labelStyle: 'display:none', + id: 'selectedColor', + style: 'width: 74px', + onChange: function() { + // Try to update color preview with new value. If fails, then set it no none. + try { + $doc.getById( selHiColorId ).setStyle( 'background-color', this.getValue() ); + } catch ( e ) { + clearSelected(); + } + } + }, + spacer, + { + type: 'button', + id: 'clear', + style: 'margin-top: 5px', + label: lang.clear, + onClick: clearSelected + } + ] + } + ] + } + ] + } + ] + }; +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/af.js b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/af.js new file mode 100644 index 00000000000..af983473a83 --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/af.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'af', { + clear: 'Herstel', + highlight: 'Aktief', + options: 'Kleuropsies', + selected: 'Geselekteer', + title: 'Kies kleur' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/ar.js b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/ar.js new file mode 100644 index 00000000000..a68bd3090cd --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/ar.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'ar', { + clear: 'مسح', + highlight: 'تحديد', + options: 'اختيارات الألوان', + selected: 'اللون المختار', + title: 'اختر اللون' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/bg.js b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/bg.js new file mode 100644 index 00000000000..04ff0458429 --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/bg.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'bg', { + clear: 'Изчистване', + highlight: 'Осветяване', + options: 'Цветови опции', + selected: 'Изберете цвят', + title: 'Изберете цвят' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/bn.js b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/bn.js new file mode 100644 index 00000000000..3601f50c32c --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/bn.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'bn', { + clear: 'Clear', // MISSING + highlight: 'Highlight', // MISSING + options: 'Color Options', // MISSING + selected: 'Selected Color', // MISSING + title: 'Select color' // MISSING +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/bs.js b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/bs.js new file mode 100644 index 00000000000..c48ed1a4e96 --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/bs.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'bs', { + clear: 'Clear', // MISSING + highlight: 'Highlight', // MISSING + options: 'Color Options', // MISSING + selected: 'Selected Color', // MISSING + title: 'Select color' // MISSING +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/ca.js b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/ca.js new file mode 100644 index 00000000000..c2e13aecad3 --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/ca.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'ca', { + clear: 'Neteja', + highlight: 'Destacat', + options: 'Opcions del color', + selected: 'Color Seleccionat', + title: 'Seleccioni el color' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/cs.js b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/cs.js new file mode 100644 index 00000000000..2550687d763 --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/cs.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'cs', { + clear: 'Vyčistit', + highlight: 'Zvýraznit', + options: 'Nastavení barvy', + selected: 'Vybráno', + title: 'Výběr barvy' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/cy.js b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/cy.js new file mode 100644 index 00000000000..aeb17f73ea9 --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/cy.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'cy', { + clear: 'Clirio', + highlight: 'Uwcholeuo', + options: 'Opsiynau Lliw', + selected: 'Lliw a Ddewiswyd', + title: 'Dewis lliw' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/da.js b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/da.js new file mode 100644 index 00000000000..3277011756a --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/da.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'da', { + clear: 'Nulstil', + highlight: 'Markér', + options: 'Farvemuligheder', + selected: 'Valgt farve', + title: 'Vælg farve' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/de.js b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/de.js new file mode 100644 index 00000000000..a25f0a86d6d --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/de.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'de', { + clear: 'Entfernen', + highlight: 'Hervorheben', + options: 'Farbeoptionen', + selected: 'Ausgewählte Farbe', + title: 'Farbe wählen' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/el.js b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/el.js new file mode 100644 index 00000000000..d0295a6f78c --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/el.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'el', { + clear: 'Εκκαθάριση', + highlight: 'Σήμανση', + options: 'Επιλογές Χρωμάτων', + selected: 'Επιλεγμένο Χρώμα', + title: 'Επιλογή χρώματος' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/en-au.js b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/en-au.js new file mode 100644 index 00000000000..6d10df2b6d4 --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/en-au.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'en-au', { + clear: 'Clear', // MISSING + highlight: 'Highlight', // MISSING + options: 'Color Options', // MISSING + selected: 'Selected Color', // MISSING + title: 'Select color' // MISSING +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/en-ca.js b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/en-ca.js new file mode 100644 index 00000000000..a4ba6be461e --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/en-ca.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'en-ca', { + clear: 'Clear', // MISSING + highlight: 'Highlight', // MISSING + options: 'Color Options', // MISSING + selected: 'Selected Color', // MISSING + title: 'Select color' // MISSING +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/en-gb.js b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/en-gb.js new file mode 100644 index 00000000000..072ad181280 --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/en-gb.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'en-gb', { + clear: 'Clear', + highlight: 'Highlight', + options: 'Colour Options', + selected: 'Selected Colour', + title: 'Select colour' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/en.js b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/en.js new file mode 100644 index 00000000000..b47fdf4441f --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/en.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'en', { + clear: 'Clear', + highlight: 'Highlight', + options: 'Color Options', + selected: 'Selected Color', + title: 'Select color' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/eo.js b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/eo.js new file mode 100644 index 00000000000..7b811e3de3c --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/eo.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'eo', { + clear: 'Forigi', + highlight: 'Detaloj', + options: 'Opcioj pri koloroj', + selected: 'Selektita koloro', + title: 'Selekti koloron' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/es.js b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/es.js new file mode 100644 index 00000000000..5992762a055 --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/es.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'es', { + clear: 'Borrar', + highlight: 'Muestra', + options: 'Opciones de colores', + selected: 'Elegido', + title: 'Elegir color' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/et.js b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/et.js new file mode 100644 index 00000000000..4d65cb44336 --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/et.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'et', { + clear: 'Eemalda', + highlight: 'Näidis', + options: 'Värvi valikud', + selected: 'Valitud värv', + title: 'Värvi valimine' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/eu.js b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/eu.js new file mode 100644 index 00000000000..ef7d239c7ca --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/eu.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'eu', { + clear: 'Garbitu', + highlight: 'Nabarmendu', + options: 'Kolore Aukerak', + selected: 'Hautatutako Kolorea', + title: 'Kolorea Hautatu' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/fa.js b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/fa.js new file mode 100644 index 00000000000..abbdbbe7b7e --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/fa.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'fa', { + clear: 'پاک کردن', + highlight: 'متمایز', + options: 'گزینه​های رنگ', + selected: 'رنگ انتخاب شده', + title: 'انتخاب رنگ' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/fi.js b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/fi.js new file mode 100644 index 00000000000..415f4cdf551 --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/fi.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'fi', { + clear: 'Poista', + highlight: 'Korostus', + options: 'Värin ominaisuudet', + selected: 'Valittu', + title: 'Valitse väri' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/fo.js b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/fo.js new file mode 100644 index 00000000000..3096e5c38d9 --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/fo.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'fo', { + clear: 'Strika', + highlight: 'Framheva', + options: 'Litmøguleikar', + selected: 'Valdur litur', + title: 'Vel lit' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/fr-ca.js b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/fr-ca.js new file mode 100644 index 00000000000..c5aa6dffe27 --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/fr-ca.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'fr-ca', { + clear: 'Effacer', + highlight: 'Surligner', + options: 'Options de couleur', + selected: 'Couleur sélectionnée', + title: 'Choisir une couleur' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/fr.js b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/fr.js new file mode 100644 index 00000000000..67e0f88db07 --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/fr.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'fr', { + clear: 'Effacer', + highlight: 'Détails', + options: 'Option des couleurs', + selected: 'Couleur choisie', + title: 'Choisir une couleur' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/gl.js b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/gl.js new file mode 100644 index 00000000000..141d7793269 --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/gl.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'gl', { + clear: 'Limpar', + highlight: 'Resaltar', + options: 'Opcións de cor', + selected: 'Cor seleccionado', + title: 'Seleccione unha cor' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/gu.js b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/gu.js new file mode 100644 index 00000000000..3447061826f --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/gu.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'gu', { + clear: 'સાફ કરવું', + highlight: 'હાઈઈટ', + options: 'રંગના વિકલ્પ', + selected: 'પસંદ કરેલો રંગ', + title: 'રંગ પસંદ કરો' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/he.js b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/he.js new file mode 100644 index 00000000000..0d49c68a329 --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/he.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'he', { + clear: 'ניקוי', + highlight: 'סימון', + options: 'אפשרויות צבע', + selected: 'בחירה', + title: 'בחירת צבע' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/hi.js b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/hi.js new file mode 100644 index 00000000000..9175c5c053f --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/hi.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'hi', { + clear: 'Clear', // MISSING + highlight: 'Highlight', // MISSING + options: 'Color Options', // MISSING + selected: 'Selected Color', // MISSING + title: 'Select color' // MISSING +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/hr.js b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/hr.js new file mode 100644 index 00000000000..ed7e8f32748 --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/hr.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'hr', { + clear: 'Očisti', + highlight: 'Istaknuto', + options: 'Opcije boje', + selected: 'Odabrana boja', + title: 'Odaberi boju' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/hu.js b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/hu.js new file mode 100644 index 00000000000..b79b4adcb24 --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/hu.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'hu', { + clear: 'Ürítés', + highlight: 'Nagyítás', + options: 'Szín opciók', + selected: 'Kiválasztott', + title: 'Válasszon színt' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/is.js b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/is.js new file mode 100644 index 00000000000..b49697fee23 --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/is.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'is', { + clear: 'Clear', // MISSING + highlight: 'Highlight', // MISSING + options: 'Color Options', // MISSING + selected: 'Selected Color', // MISSING + title: 'Select color' // MISSING +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/it.js b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/it.js new file mode 100644 index 00000000000..7ae3db2c71e --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/it.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'it', { + clear: 'cancella', + highlight: 'Evidenzia', + options: 'Opzioni colore', + selected: 'Seleziona il colore', + title: 'Selezionare il colore' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/ja.js b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/ja.js new file mode 100644 index 00000000000..5276031d80a --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/ja.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'ja', { + clear: 'クリア', + highlight: 'ハイライト', + options: 'カラーオプション', + selected: '選択された色', + title: '色選択' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/ka.js b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/ka.js new file mode 100644 index 00000000000..a0bfb86ca8a --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/ka.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'ka', { + clear: 'გასუფთავება', + highlight: 'ჩვენება', + options: 'ფერის პარამეტრები', + selected: 'არჩეული ფერი', + title: 'ფერის შეცვლა' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/km.js b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/km.js new file mode 100644 index 00000000000..0c7f06e8f90 --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/km.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'km', { + clear: 'សម្អាត', + highlight: 'បន្លិច​ពណ៌', + options: 'ជម្រើស​ពណ៌', + selected: 'ពណ៌​ដែល​បាន​រើស', + title: 'រើស​ពណ៌' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/ko.js b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/ko.js new file mode 100644 index 00000000000..12f8e5e083a --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/ko.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'ko', { + clear: '제거', + highlight: '하이라이트', + options: '색상 옵션', + selected: '색상 선택됨', + title: '색상 선택' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/ku.js b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/ku.js new file mode 100644 index 00000000000..d63bfc0480b --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/ku.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'ku', { + clear: 'پاکیکەوە', + highlight: 'نیشانکردن', + options: 'هەڵبژاردەی ڕەنگەکان', + selected: 'ڕەنگی هەڵبژێردراو', + title: 'هەڵبژاردنی ڕەنگ' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/lt.js b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/lt.js new file mode 100644 index 00000000000..02c9a7dd8b3 --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/lt.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'lt', { + clear: 'Išvalyti', + highlight: 'Paryškinti', + options: 'Spalvos nustatymai', + selected: 'Pasirinkta spalva', + title: 'Pasirinkite spalvą' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/lv.js b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/lv.js new file mode 100644 index 00000000000..57e252a584a --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/lv.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'lv', { + clear: 'Notīrīt', + highlight: 'Paraugs', + options: 'Krāsas uzstādījumi', + selected: 'Izvēlētā krāsa', + title: 'Izvēlies krāsu' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/mk.js b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/mk.js new file mode 100644 index 00000000000..85da1cb240c --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/mk.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'mk', { + clear: 'Clear', // MISSING + highlight: 'Highlight', // MISSING + options: 'Color Options', // MISSING + selected: 'Selected Color', // MISSING + title: 'Select color' // MISSING +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/mn.js b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/mn.js new file mode 100644 index 00000000000..52890dc2240 --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/mn.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'mn', { + clear: 'Clear', // MISSING + highlight: 'Highlight', // MISSING + options: 'Color Options', // MISSING + selected: 'Selected Color', // MISSING + title: 'Select color' // MISSING +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/ms.js b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/ms.js new file mode 100644 index 00000000000..11389927d12 --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/ms.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'ms', { + clear: 'Clear', // MISSING + highlight: 'Highlight', // MISSING + options: 'Color Options', // MISSING + selected: 'Selected Color', // MISSING + title: 'Select color' // MISSING +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/nb.js b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/nb.js new file mode 100644 index 00000000000..e115f1e5ab4 --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/nb.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'nb', { + clear: 'Tøm', + highlight: 'Merk', + options: 'Alternativer for farge', + selected: 'Valgt', + title: 'Velg farge' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/nl.js b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/nl.js new file mode 100644 index 00000000000..5009bbfe5b8 --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/nl.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'nl', { + clear: 'Wissen', + highlight: 'Actief', + options: 'Kleuropties', + selected: 'Geselecteerde kleur', + title: 'Selecteer kleur' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/no.js b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/no.js new file mode 100644 index 00000000000..cbd7d3b1560 --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/no.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'no', { + clear: 'Tøm', + highlight: 'Merk', + options: 'Alternativer for farge', + selected: 'Valgt', + title: 'Velg farge' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/pl.js b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/pl.js new file mode 100644 index 00000000000..04684aaaa5e --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/pl.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'pl', { + clear: 'Wyczyść', + highlight: 'Zaznacz', + options: 'Opcje koloru', + selected: 'Wybrany', + title: 'Wybierz kolor' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/pt-br.js b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/pt-br.js new file mode 100644 index 00000000000..24539b9d84a --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/pt-br.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'pt-br', { + clear: 'Limpar', + highlight: 'Grifar', + options: 'Opções de Cor', + selected: 'Cor Selecionada', + title: 'Selecione uma Cor' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/pt.js b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/pt.js new file mode 100644 index 00000000000..785bec71acf --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/pt.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'pt', { + clear: 'Limpar', + highlight: 'Realçar', + options: 'Opções da Cor', + selected: 'Cor Selecionada', + title: 'Selecionar Cor' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/ro.js b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/ro.js new file mode 100644 index 00000000000..80d0b868ebc --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/ro.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'ro', { + clear: 'Clear', // MISSING + highlight: 'Highlight', // MISSING + options: 'Color Options', // MISSING + selected: 'Selected Color', // MISSING + title: 'Select color' // MISSING +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/ru.js b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/ru.js new file mode 100644 index 00000000000..65a7b50f1fb --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/ru.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'ru', { + clear: 'Очистить', + highlight: 'Под курсором', + options: 'Настройки цвета', + selected: 'Выбранный цвет', + title: 'Выберите цвет' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/si.js b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/si.js new file mode 100644 index 00000000000..6a2a468bf49 --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/si.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'si', { + clear: 'පැහැදිලි', + highlight: 'මතුකර පෙන්වන්න', + options: 'වර්ණ විකල්ප', + selected: 'තෙරු වර්ණ', + title: 'වර්ණ තෝරන්න' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/sk.js b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/sk.js new file mode 100644 index 00000000000..db2eb22aec9 --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/sk.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'sk', { + clear: 'Vyčistiť', + highlight: 'Zvýrazniť', + options: 'Možnosti farby', + selected: 'Vybraná farba', + title: 'Vyberte farbu' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/sl.js b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/sl.js new file mode 100644 index 00000000000..ce2a5efcb8e --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/sl.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'sl', { + clear: 'Počisti', + highlight: 'Poudarjeno', + options: 'Barvne Možnosti', + selected: 'Izbrano', + title: 'Izberi barvo' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/sq.js b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/sq.js new file mode 100644 index 00000000000..93d7ca55f4e --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/sq.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'sq', { + clear: 'Pastro', + highlight: 'Thekso', + options: 'Përzgjedhjet e Ngjyrave', + selected: 'Ngjyra e Përzgjedhur', + title: 'Përzgjidh një ngjyrë' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/sr-latn.js b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/sr-latn.js new file mode 100644 index 00000000000..20c49de93fd --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/sr-latn.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'sr-latn', { + clear: 'Clear', // MISSING + highlight: 'Highlight', // MISSING + options: 'Color Options', // MISSING + selected: 'Selected Color', // MISSING + title: 'Select color' // MISSING +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/sr.js b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/sr.js new file mode 100644 index 00000000000..794bbbbdab9 --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/sr.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'sr', { + clear: 'Clear', // MISSING + highlight: 'Highlight', // MISSING + options: 'Color Options', // MISSING + selected: 'Selected Color', // MISSING + title: 'Select color' // MISSING +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/sv.js b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/sv.js new file mode 100644 index 00000000000..01d7136b872 --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/sv.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'sv', { + clear: 'Rensa', + highlight: 'Markera', + options: 'Färgalternativ', + selected: 'Vald färg', + title: 'Välj färg' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/th.js b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/th.js new file mode 100644 index 00000000000..b1839f50be7 --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/th.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'th', { + clear: 'Clear', // MISSING + highlight: 'Highlight', // MISSING + options: 'Color Options', // MISSING + selected: 'Selected Color', // MISSING + title: 'Select color' // MISSING +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/tr.js b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/tr.js new file mode 100644 index 00000000000..81e70268ba0 --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/tr.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'tr', { + clear: 'Temizle', + highlight: 'İşaretle', + options: 'Renk Seçenekleri', + selected: 'Seçilmiş', + title: 'Renk seç' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/ug.js b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/ug.js new file mode 100644 index 00000000000..5c322922ef1 --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/ug.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'ug', { + clear: 'تازىلا', + highlight: 'يورۇت', + options: 'رەڭ تاللانمىسى', + selected: 'رەڭ تاللاڭ', + title: 'رەڭ تاللاڭ' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/uk.js b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/uk.js new file mode 100644 index 00000000000..063d9c161c9 --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/uk.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'uk', { + clear: 'Очистити', + highlight: 'Колір, на який вказує курсор', + options: 'Опції кольорів', + selected: 'Обраний колір', + title: 'Обрати колір' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/vi.js b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/vi.js new file mode 100644 index 00000000000..012649771b1 --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/vi.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'vi', { + clear: 'Xóa bỏ', + highlight: 'Màu chọn', + options: 'Tùy chọn màu', + selected: 'Màu đã chọn', + title: 'Chọn màu' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/zh-cn.js b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/zh-cn.js new file mode 100644 index 00000000000..4677a5c82b9 --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/zh-cn.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'zh-cn', { + clear: '清除', + highlight: '高亮', + options: '颜色选项', + selected: '选择颜色', + title: '选择颜色' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/zh.js b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/zh.js new file mode 100644 index 00000000000..049329ced09 --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/colordialog/lang/zh.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'zh', { + clear: '清除', + highlight: '高亮', + options: '色彩選項', + selected: '選取的色彩', + title: '選取色彩' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/colordialog/plugin.js b/htdocs/includes/ckeditor/_source/plugins/colordialog/plugin.js index 22a450a27dd..fea7bfcc7f4 100644 --- a/htdocs/includes/ckeditor/_source/plugins/colordialog/plugin.js +++ b/htdocs/includes/ckeditor/_source/plugins/colordialog/plugin.js @@ -1,16 +1,69 @@ -/* -Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.html or http://ckeditor.com/license -*/ - -CKEDITOR.plugins.colordialog = -{ - requires : [ 'dialog' ], - init : function( editor ) - { - editor.addCommand( 'colordialog', new CKEDITOR.dialogCommand( 'colordialog' ) ); - CKEDITOR.dialog.add( 'colordialog', this.path + 'dialogs/colordialog.js' ); - } -}; - -CKEDITOR.plugins.add( 'colordialog', CKEDITOR.plugins.colordialog ); +/** + * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. + * For licensing, see LICENSE.md or http://ckeditor.com/license + */ + +CKEDITOR.plugins.colordialog = { + requires: 'dialog', + lang: 'af,ar,bg,bn,bs,ca,cs,cy,da,de,el,en,en-au,en-ca,en-gb,eo,es,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,is,it,ja,ka,km,ko,ku,lt,lv,mk,mn,ms,nb,nl,no,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE% + init: function( editor ) { + var cmd = new CKEDITOR.dialogCommand( 'colordialog' ); + cmd.editorFocus = false; + + editor.addCommand( 'colordialog', cmd ); + + CKEDITOR.dialog.add( 'colordialog', this.path + 'dialogs/colordialog.js' ); + + /** + * Open up color dialog and to receive the selected color. + * + * @param {Function} callback The callback when color dialog is closed + * @param {String} callback.color The color value received if selected on the dialog. + * @param [scope] The scope in which the callback will be bound. + * @member CKEDITOR.editor + */ + editor.getColorFromDialog = function( callback, scope ) { + var onClose = function( evt ) { + releaseHandlers( this ); + var color = evt.name == 'ok' ? this.getValueOf( 'picker', 'selectedColor' ) : null; + callback.call( scope, color ); + }; + var releaseHandlers = function( dialog ) { + dialog.removeListener( 'ok', onClose ); + dialog.removeListener( 'cancel', onClose ); + }; + var bindToDialog = function( dialog ) { + dialog.on( 'ok', onClose ); + dialog.on( 'cancel', onClose ); + }; + + editor.execCommand( 'colordialog' ); + + if ( editor._.storedDialogs && editor._.storedDialogs.colordialog ) + bindToDialog( editor._.storedDialogs.colordialog ); + else { + CKEDITOR.on( 'dialogDefinition', function( e ) { + if ( e.data.name != 'colordialog' ) + return; + + var definition = e.data.definition; + + e.removeListener(); + definition.onLoad = CKEDITOR.tools.override( definition.onLoad, + function( orginal ) { + return function() { + bindToDialog( this ); + definition.onLoad = orginal; + if ( typeof orginal == 'function' ) + orginal.call( this ); + }; + } ); + } ); + } + }; + + + } +}; + +CKEDITOR.plugins.add( 'colordialog', CKEDITOR.plugins.colordialog ); diff --git a/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/af.js b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/af.js new file mode 100644 index 00000000000..356335144a0 --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/af.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'af', { + options: 'Konteks Spyskaart-opsies' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/ar.js b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/ar.js new file mode 100644 index 00000000000..62311fc4924 --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/ar.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'ar', { + options: 'خصائص قائمة السياق' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/bg.js b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/bg.js new file mode 100644 index 00000000000..ae0ceb0aa3e --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/bg.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'bg', { + options: 'Опции на контекстното меню' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/bn.js b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/bn.js new file mode 100644 index 00000000000..0c7dd357544 --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/bn.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'bn', { + options: 'Context Menu Options' // MISSING +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/bs.js b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/bs.js new file mode 100644 index 00000000000..38e2aef570b --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/bs.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'bs', { + options: 'Context Menu Options' // MISSING +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/ca.js b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/ca.js new file mode 100644 index 00000000000..ed986085c0a --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/ca.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'ca', { + options: 'Opcions del menú contextual' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/cs.js b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/cs.js new file mode 100644 index 00000000000..95692de75f0 --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/cs.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'cs', { + options: 'Nastavení kontextové nabídky' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/cy.js b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/cy.js new file mode 100644 index 00000000000..5e0da0fe685 --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/cy.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'cy', { + options: 'Opsiynau Dewislen Cyd-destun' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/da.js b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/da.js new file mode 100644 index 00000000000..d6abf2e2be7 --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/da.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'da', { + options: 'Muligheder for hjælpemenu' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/de.js b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/de.js new file mode 100644 index 00000000000..e99dc995b15 --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/de.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'de', { + options: 'Kontextmenü Optionen' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/el.js b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/el.js new file mode 100644 index 00000000000..392a45eb6dd --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/el.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'el', { + options: 'Επιλογές Αναδυόμενου Μενού' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/en-au.js b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/en-au.js new file mode 100644 index 00000000000..6a1ca8a27d4 --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/en-au.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'en-au', { + options: 'Context Menu Options' // MISSING +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/en-ca.js b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/en-ca.js new file mode 100644 index 00000000000..1fcbdfbdabe --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/en-ca.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'en-ca', { + options: 'Context Menu Options' // MISSING +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/en-gb.js b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/en-gb.js new file mode 100644 index 00000000000..aab3a770d17 --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/en-gb.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'en-gb', { + options: 'Context Menu Options' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/en.js b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/en.js new file mode 100644 index 00000000000..da42b758031 --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/en.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'en', { + options: 'Context Menu Options' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/eo.js b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/eo.js new file mode 100644 index 00000000000..3182026c3f8 --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/eo.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'eo', { + options: 'Opcioj de Kunteksta Menuo' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/es.js b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/es.js new file mode 100644 index 00000000000..f7212f6c0f1 --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/es.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'es', { + options: 'Opciones del menú contextual' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/et.js b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/et.js new file mode 100644 index 00000000000..6fa3bf23a84 --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/et.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'et', { + options: 'Kontekstimenüü valikud' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/eu.js b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/eu.js new file mode 100644 index 00000000000..932ed2f5d5b --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/eu.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'eu', { + options: 'Testuingurko Menuaren Aukerak' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/fa.js b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/fa.js new file mode 100644 index 00000000000..686e63e9fc6 --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/fa.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'fa', { + options: 'گزینه​های منوی زمینه' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/fi.js b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/fi.js new file mode 100644 index 00000000000..82806e47bf5 --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/fi.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'fi', { + options: 'Pikavalikon ominaisuudet' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/fo.js b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/fo.js new file mode 100644 index 00000000000..9cfd8bd5612 --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/fo.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'fo', { + options: 'Context Menu Options' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/fr-ca.js b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/fr-ca.js new file mode 100644 index 00000000000..399748f33c3 --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/fr-ca.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'fr-ca', { + options: 'Options du menu contextuel' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/fr.js b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/fr.js new file mode 100644 index 00000000000..8360eaca7ee --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/fr.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'fr', { + options: 'Options du menu contextuel' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/gl.js b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/gl.js new file mode 100644 index 00000000000..8aa09c322f6 --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/gl.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'gl', { + options: 'Opcións do menú contextual' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/gu.js b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/gu.js new file mode 100644 index 00000000000..e8b1fa8d136 --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/gu.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'gu', { + options: 'કોન્તેક્ષ્ત્ મેનુના વિકલ્પો' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/he.js b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/he.js new file mode 100644 index 00000000000..6f4a0a3e877 --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/he.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'he', { + options: 'אפשרויות תפריט ההקשר' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/hi.js b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/hi.js new file mode 100644 index 00000000000..38a54f4a4d1 --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/hi.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'hi', { + options: 'Context Menu Options' // MISSING +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/hr.js b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/hr.js new file mode 100644 index 00000000000..11d3d9d8b02 --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/hr.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'hr', { + options: 'Opcije izbornika' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/hu.js b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/hu.js new file mode 100644 index 00000000000..b96c1627d06 --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/hu.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'hu', { + options: 'Helyi menü opciók' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/id.js b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/id.js new file mode 100644 index 00000000000..817c718cca6 --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/id.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'id', { + options: 'Opsi Konteks Pilihan' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/is.js b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/is.js new file mode 100644 index 00000000000..ab5b9e7e8ad --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/is.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'is', { + options: 'Context Menu Options' // MISSING +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/it.js b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/it.js new file mode 100644 index 00000000000..58475804eb3 --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/it.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'it', { + options: 'Opzioni del menù contestuale' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/ja.js b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/ja.js new file mode 100644 index 00000000000..428caefa5c8 --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/ja.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'ja', { + options: 'コンテキストメニューオプション' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/ka.js b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/ka.js new file mode 100644 index 00000000000..44f859ffb3b --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/ka.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'ka', { + options: 'კონტექსტური მენიუს პარამეტრები' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/km.js b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/km.js new file mode 100644 index 00000000000..a61ec6f7962 --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/km.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'km', { + options: 'ជម្រើស​ម៉ឺនុយ​បរិបទ' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/ko.js b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/ko.js new file mode 100644 index 00000000000..d20281ace39 --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/ko.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'ko', { + options: '컨텍스트 메뉴 옵션' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/ku.js b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/ku.js new file mode 100644 index 00000000000..d5f4b28fee9 --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/ku.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'ku', { + options: 'هەڵبژاردەی لیستەی کلیکی دەستی ڕاست' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/lt.js b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/lt.js new file mode 100644 index 00000000000..5584169dfb9 --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/lt.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'lt', { + options: 'Kontekstinio meniu parametrai' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/lv.js b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/lv.js new file mode 100644 index 00000000000..a2ec78acb4a --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/lv.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'lv', { + options: 'Uznirstošās izvēlnes uzstādījumi' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/mk.js b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/mk.js new file mode 100644 index 00000000000..b7d4f82e789 --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/mk.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'mk', { + options: 'Context Menu Options' // MISSING +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/mn.js b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/mn.js new file mode 100644 index 00000000000..7c9303e1c9a --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/mn.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'mn', { + options: 'Context Menu Options' // MISSING +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/ms.js b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/ms.js new file mode 100644 index 00000000000..37afeb5f95f --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/ms.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'ms', { + options: 'Context Menu Options' // MISSING +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/nb.js b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/nb.js new file mode 100644 index 00000000000..0c5797b8ccf --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/nb.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'nb', { + options: 'Alternativer for høyreklikkmeny' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/nl.js b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/nl.js new file mode 100644 index 00000000000..43aa679c130 --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/nl.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'nl', { + options: 'Contextmenu opties' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/no.js b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/no.js new file mode 100644 index 00000000000..96d02c582fd --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/no.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'no', { + options: 'Alternativer for høyreklikkmeny' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/pl.js b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/pl.js new file mode 100644 index 00000000000..dfb51cd3d9d --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/pl.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'pl', { + options: 'Opcje menu kontekstowego' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/pt-br.js b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/pt-br.js new file mode 100644 index 00000000000..d28c764aa4d --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/pt-br.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'pt-br', { + options: 'Opções Menu de Contexto' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/pt.js b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/pt.js new file mode 100644 index 00000000000..90ad6ee8f17 --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/pt.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'pt', { + options: 'Menu de opções de contexto' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/ro.js b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/ro.js new file mode 100644 index 00000000000..264a84fb03b --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/ro.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'ro', { + options: 'Opțiuni Meniu Contextual' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/ru.js b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/ru.js new file mode 100644 index 00000000000..7703c8a2dba --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/ru.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'ru', { + options: 'Параметры контекстного меню' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/si.js b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/si.js new file mode 100644 index 00000000000..1731099aca7 --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/si.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'si', { + options: 'අනතර්ග ලේඛණ විකල්ප' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/sk.js b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/sk.js new file mode 100644 index 00000000000..c8df781ce2f --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/sk.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'sk', { + options: 'Možnosti kontextového menu' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/sl.js b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/sl.js new file mode 100644 index 00000000000..3bc5261edbe --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/sl.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'sl', { + options: 'Možnosti Kontekstnega Menija' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/sq.js b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/sq.js new file mode 100644 index 00000000000..3ddf46f734a --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/sq.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'sq', { + options: 'Mundësitë e Menysë së Kontekstit' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/sr-latn.js b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/sr-latn.js new file mode 100644 index 00000000000..4afee2b3d3b --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/sr-latn.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'sr-latn', { + options: 'Context Menu Options' // MISSING +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/sr.js b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/sr.js new file mode 100644 index 00000000000..fb7f0d82a18 --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/sr.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'sr', { + options: 'Context Menu Options' // MISSING +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/sv.js b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/sv.js new file mode 100644 index 00000000000..fb94a7fadb4 --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/sv.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'sv', { + options: 'Context Menu Options' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/th.js b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/th.js new file mode 100644 index 00000000000..d18524d124e --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/th.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'th', { + options: 'Context Menu Options' // MISSING +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/tr.js b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/tr.js new file mode 100644 index 00000000000..3c75558801b --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/tr.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'tr', { + options: 'İçerik Menüsü Seçenekleri' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/ug.js b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/ug.js new file mode 100644 index 00000000000..652c13053d6 --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/ug.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'ug', { + options: 'قىسقا يول تىزىملىك تاللانمىسى' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/uk.js b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/uk.js new file mode 100644 index 00000000000..316d858f811 --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/uk.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'uk', { + options: 'Опції контекстного меню' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/vi.js b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/vi.js new file mode 100644 index 00000000000..f6264d14d7d --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/vi.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'vi', { + options: 'Tùy chọn menu bổ xung' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/zh-cn.js b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/zh-cn.js new file mode 100644 index 00000000000..b5943e00c99 --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/zh-cn.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'zh-cn', { + options: '快捷菜单选项' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/zh.js b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/zh.js new file mode 100644 index 00000000000..b92e49ef35c --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/contextmenu/lang/zh.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'zh', { + options: '內容功能表選項' +} ); diff --git a/htdocs/includes/ckeditor/_source/plugins/contextmenu/plugin.js b/htdocs/includes/ckeditor/_source/plugins/contextmenu/plugin.js index d6a82452cac..06cb74b2252 100644 --- a/htdocs/includes/ckeditor/_source/plugins/contextmenu/plugin.js +++ b/htdocs/includes/ckeditor/_source/plugins/contextmenu/plugin.js @@ -1,179 +1,143 @@ -/* -Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.html or http://ckeditor.com/license -*/ - -CKEDITOR.plugins.add( 'contextmenu', -{ - requires : [ 'menu' ], - - // Make sure the base class (CKEDITOR.menu) is loaded before it (#3318). - onLoad : function() - { - CKEDITOR.plugins.contextMenu = CKEDITOR.tools.createClass( - { - base : CKEDITOR.menu, - - $ : function( editor ) - { - this.base.call( this, editor, - { - panel: - { - className : editor.skinClass + ' cke_contextmenu', - attributes : - { - 'aria-label' : editor.lang.contextmenu.options - } - } - }); - }, - - proto : - { - addTarget : function( element, nativeContextMenuOnCtrl ) - { - // Opera doesn't support 'contextmenu' event, we have duo approaches employed here: - // 1. Inherit the 'button override' hack we introduced in v2 (#4530), while this require the Opera browser - // option 'Allow script to detect context menu/right click events' to be always turned on. - // 2. Considering the fact that ctrl/meta key is not been occupied - // for multiple range selecting (like Gecko), we use this key - // combination as a fallback for triggering context-menu. (#4530) - if ( CKEDITOR.env.opera && !( 'oncontextmenu' in document.body )) - { - var contextMenuOverrideButton; - element.on( 'mousedown', function( evt ) - { - evt = evt.data; - if ( evt.$.button != 2 ) - { - if ( evt.getKeystroke() == CKEDITOR.CTRL + 1 ) - element.fire( 'contextmenu', evt ); - return; - } - - if ( nativeContextMenuOnCtrl - && ( CKEDITOR.env.mac ? evt.$.metaKey : evt.$.ctrlKey ) ) - return; - - var target = evt.getTarget(); - - if ( !contextMenuOverrideButton ) - { - var ownerDoc = target.getDocument(); - contextMenuOverrideButton = ownerDoc.createElement( 'input' ) ; - contextMenuOverrideButton.$.type = 'button' ; - ownerDoc.getBody().append( contextMenuOverrideButton ) ; - } - - contextMenuOverrideButton.setAttribute( 'style', 'position:absolute;top:' + ( evt.$.clientY - 2 ) + - 'px;left:' + ( evt.$.clientX - 2 ) + - 'px;width:5px;height:5px;opacity:0.01' ); - - } ); - - element.on( 'mouseup', function ( evt ) - { - if ( contextMenuOverrideButton ) - { - contextMenuOverrideButton.remove(); - contextMenuOverrideButton = undefined; - // Simulate 'contextmenu' event. - element.fire( 'contextmenu', evt.data ); - } - } ); - } - - element.on( 'contextmenu', function( event ) - { - var domEvent = event.data; - - if ( nativeContextMenuOnCtrl && - // Safari on Windows always show 'ctrlKey' as true in 'contextmenu' event, - // which make this property unreliable. (#4826) - ( CKEDITOR.env.webkit ? holdCtrlKey : ( CKEDITOR.env.mac ? domEvent.$.metaKey : domEvent.$.ctrlKey ) ) ) - return; - - - // Cancel the browser context menu. - domEvent.preventDefault(); - - var offsetParent = domEvent.getTarget().getDocument().getDocumentElement(), - offsetX = domEvent.$.clientX, - offsetY = domEvent.$.clientY; - - CKEDITOR.tools.setTimeout( function() - { - this.open( offsetParent, null, offsetX, offsetY ); - - // IE needs a short while to allow selection change before opening menu. (#7908) - }, CKEDITOR.env.ie? 200 : 0, this ); - }, - this ); - - if ( CKEDITOR.env.opera ) - { - // 'contextmenu' event triggered by Windows menu key is unpreventable, - // cancel the key event itself. (#6534) - element.on( 'keypress' , function ( evt ) - { - var domEvent = evt.data; - - if ( domEvent.$.keyCode === 0 ) - domEvent.preventDefault(); - }); - } - - if ( CKEDITOR.env.webkit ) - { - var holdCtrlKey, - onKeyDown = function( event ) - { - holdCtrlKey = CKEDITOR.env.mac ? event.data.$.metaKey : event.data.$.ctrlKey ; - }, - resetOnKeyUp = function() - { - holdCtrlKey = 0; - }; - - element.on( 'keydown', onKeyDown ); - element.on( 'keyup', resetOnKeyUp ); - element.on( 'contextmenu', resetOnKeyUp ); - } - }, - - open : function( offsetParent, corner, offsetX, offsetY ) - { - this.editor.focus(); - offsetParent = offsetParent || CKEDITOR.document.getDocumentElement(); - this.show( offsetParent, corner, offsetX, offsetY ); - } - } - }); - }, - - beforeInit : function( editor ) - { - editor.contextMenu = new CKEDITOR.plugins.contextMenu( editor ); - - editor.addCommand( 'contextMenu', - { - exec : function() - { - editor.contextMenu.open( editor.document.getBody() ); - } - }); - } -}); - -/** - * Whether to show the browser native context menu when the Ctrl or - * Meta (Mac) key is pressed on opening the context menu with the - * right mouse button click or the Menu key. - * @name CKEDITOR.config.browserContextMenuOnCtrl - * @since 3.0.2 - * @type Boolean - * @default true - * @example - * config.browserContextMenuOnCtrl = false; - */ +/** + * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. + * For licensing, see LICENSE.md or http://ckeditor.com/license + */ + +CKEDITOR.plugins.add( 'contextmenu', { + requires: 'menu', + lang: 'af,ar,bg,bn,bs,ca,cs,cy,da,de,el,en,en-au,en-ca,en-gb,eo,es,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,id,is,it,ja,ka,km,ko,ku,lt,lv,mk,mn,ms,nb,nl,no,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE% + + // Make sure the base class (CKEDITOR.menu) is loaded before it (#3318). + onLoad: function() { + /** + * Class replacing the non-configurable native context menu with configurable CKEditor's equivalent. + * + * @class + * @extends CKEDITOR.menu + */ + CKEDITOR.plugins.contextMenu = CKEDITOR.tools.createClass( { + base: CKEDITOR.menu, + + /** + * Creates the CKEDITOR.plugins.contextMenu class instance. + * + * @constructor + * @param {CKEDITOR.editor} editor + */ + $: function( editor ) { + this.base.call( this, editor, { + panel: { + className: 'cke_menu_panel', + attributes: { + 'aria-label': editor.lang.contextmenu.options + } + } + } ); + }, + + proto: { + /** + * Starts watching on native context menu triggers (option key, right click) on given element. + * + * @param {CKEDITOR.dom.element} element + * @param {Boolean} [nativeContextMenuOnCtrl] Whether to open native context menu if + * *Ctrl* key is hold on opening the context menu. See {@link CKEDITOR.config#browserContextMenuOnCtrl}. + */ + addTarget: function( element, nativeContextMenuOnCtrl ) { + element.on( 'contextmenu', function( event ) { + var domEvent = event.data, + isCtrlKeyDown = + // Safari on Windows always show 'ctrlKey' as true in 'contextmenu' event, + // which make this property unreliable. (#4826) + ( CKEDITOR.env.webkit ? holdCtrlKey : ( CKEDITOR.env.mac ? domEvent.$.metaKey : domEvent.$.ctrlKey ) ); + + if ( nativeContextMenuOnCtrl && isCtrlKeyDown ) + return; + + // Cancel the browser context menu. + domEvent.preventDefault(); + + var doc = domEvent.getTarget().getDocument(), + offsetParent = domEvent.getTarget().getDocument().getDocumentElement(), + fromFrame = !doc.equals( CKEDITOR.document ), + scroll = doc.getWindow().getScrollPosition(), + offsetX = fromFrame ? domEvent.$.clientX : domEvent.$.pageX || scroll.x + domEvent.$.clientX, + offsetY = fromFrame ? domEvent.$.clientY : domEvent.$.pageY || scroll.y + domEvent.$.clientY; + + CKEDITOR.tools.setTimeout( function() { + this.open( offsetParent, null, offsetX, offsetY ); + + // IE needs a short while to allow selection change before opening menu. (#7908) + }, CKEDITOR.env.ie ? 200 : 0, this ); + }, this ); + + if ( CKEDITOR.env.webkit ) { + var holdCtrlKey, + onKeyDown = function( event ) { + holdCtrlKey = CKEDITOR.env.mac ? event.data.$.metaKey : event.data.$.ctrlKey; + }, + resetOnKeyUp = function() { + holdCtrlKey = 0; + }; + + element.on( 'keydown', onKeyDown ); + element.on( 'keyup', resetOnKeyUp ); + element.on( 'contextmenu', resetOnKeyUp ); + } + }, + + /** + * Opens context menu in given location. See the {@link CKEDITOR.menu#show} method. + * + * @param {CKEDITOR.dom.element} offsetParent + * @param {Number} [corner] + * @param {Number} [offsetX] + * @param {Number} [offsetY] + */ + open: function( offsetParent, corner, offsetX, offsetY ) { + this.editor.focus(); + offsetParent = offsetParent || CKEDITOR.document.getDocumentElement(); + + // #9362: Force selection check to update commands' states in the new context. + this.editor.selectionChange( 1 ); + + this.show( offsetParent, corner, offsetX, offsetY ); + } + } + } ); + }, + + beforeInit: function( editor ) { + /** + * @readonly + * @property {CKEDITOR.plugins.contextMenu} contextMenu + * @member CKEDITOR.editor + */ + var contextMenu = editor.contextMenu = new CKEDITOR.plugins.contextMenu( editor ); + + editor.on( 'contentDom', function() { + contextMenu.addTarget( editor.editable(), editor.config.browserContextMenuOnCtrl !== false ); + } ); + + editor.addCommand( 'contextMenu', { + exec: function() { + editor.contextMenu.open( editor.document.getBody() ); + } + } ); + + editor.setKeystroke( CKEDITOR.SHIFT + 121 /*F10*/, 'contextMenu' ); + editor.setKeystroke( CKEDITOR.CTRL + CKEDITOR.SHIFT + 121 /*F10*/, 'contextMenu' ); + } +} ); + +/** + * Whether to show the browser native context menu when the *Ctrl* or + * *Meta* (Mac) key is pressed on opening the context menu with the + * right mouse button click or the *Menu* key. + * + * config.browserContextMenuOnCtrl = false; + * + * @since 3.0.2 + * @cfg {Boolean} [browserContextMenuOnCtrl=true] + * @member CKEDITOR.config + */ diff --git a/htdocs/includes/ckeditor/_source/plugins/devtools/lang/_translationstatus.txt b/htdocs/includes/ckeditor/_source/plugins/devtools/lang/_translationstatus.txt deleted file mode 100644 index 682d1d2d99c..00000000000 --- a/htdocs/includes/ckeditor/_source/plugins/devtools/lang/_translationstatus.txt +++ /dev/null @@ -1,28 +0,0 @@ -Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.html or http://ckeditor.com/license - -bg.js Found: 5 Missing: 0 -cs.js Found: 5 Missing: 0 -cy.js Found: 5 Missing: 0 -da.js Found: 5 Missing: 0 -de.js Found: 5 Missing: 0 -el.js Found: 5 Missing: 0 -eo.js Found: 5 Missing: 0 -et.js Found: 5 Missing: 0 -fa.js Found: 5 Missing: 0 -fi.js Found: 5 Missing: 0 -fr.js Found: 5 Missing: 0 -gu.js Found: 5 Missing: 0 -he.js Found: 5 Missing: 0 -hr.js Found: 5 Missing: 0 -it.js Found: 5 Missing: 0 -nb.js Found: 5 Missing: 0 -nl.js Found: 5 Missing: 0 -no.js Found: 5 Missing: 0 -pl.js Found: 5 Missing: 0 -pt-br.js Found: 5 Missing: 0 -tr.js Found: 5 Missing: 0 -ug.js Found: 5 Missing: 0 -uk.js Found: 5 Missing: 0 -vi.js Found: 5 Missing: 0 -zh-cn.js Found: 5 Missing: 0 diff --git a/htdocs/includes/ckeditor/_source/plugins/devtools/lang/bg.js b/htdocs/includes/ckeditor/_source/plugins/devtools/lang/bg.js deleted file mode 100644 index 82dd4104620..00000000000 --- a/htdocs/includes/ckeditor/_source/plugins/devtools/lang/bg.js +++ /dev/null @@ -1,16 +0,0 @@ -/* -Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.html or http://ckeditor.com/license -*/ - -CKEDITOR.plugins.setLang( 'devtools', 'bg', -{ - devTools : - { - title : 'Информация за елемента', - dialogName : 'Име на диалоговия прозорец', - tabName : 'Име на таб', - elementId : 'ID на елемента', - elementType : 'Тип на елемента' - } -}); diff --git a/htdocs/includes/ckeditor/_source/plugins/devtools/lang/cs.js b/htdocs/includes/ckeditor/_source/plugins/devtools/lang/cs.js deleted file mode 100644 index 5002e812823..00000000000 --- a/htdocs/includes/ckeditor/_source/plugins/devtools/lang/cs.js +++ /dev/null @@ -1,16 +0,0 @@ -/* -Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.html or http://ckeditor.com/license -*/ - -CKEDITOR.plugins.setLang( 'devtools', 'cs', -{ - devTools : - { - title : 'Informace o prvku', - dialogName : 'Název dialogového okna', - tabName : 'Název karty', - elementId : 'ID prvku', - elementType : 'Typ prvku' - } -}); diff --git a/htdocs/includes/ckeditor/_source/plugins/devtools/lang/cy.js b/htdocs/includes/ckeditor/_source/plugins/devtools/lang/cy.js deleted file mode 100644 index f90246665ae..00000000000 --- a/htdocs/includes/ckeditor/_source/plugins/devtools/lang/cy.js +++ /dev/null @@ -1,16 +0,0 @@ -/* -Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.html or http://ckeditor.com/license -*/ - -CKEDITOR.plugins.setLang( 'devtools', 'cy', -{ - devTools : - { - title : 'Gwybodaeth am yr Elfen', - dialogName : 'Enw ffenestr y deialog', - tabName : 'Enw\'r tab', - elementId : 'ID yr Elfen', - elementType : 'Math yr elfen' - } -}); diff --git a/htdocs/includes/ckeditor/_source/plugins/devtools/lang/da.js b/htdocs/includes/ckeditor/_source/plugins/devtools/lang/da.js deleted file mode 100644 index 07bf8d9a49f..00000000000 --- a/htdocs/includes/ckeditor/_source/plugins/devtools/lang/da.js +++ /dev/null @@ -1,16 +0,0 @@ -/* -Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.html or http://ckeditor.com/license -*/ - -CKEDITOR.plugins.setLang( 'devtools', 'da', -{ - devTools : - { - title : 'Information på elementet', - dialogName : 'Dialogboks', - tabName : 'Tab beskrivelse', - elementId : 'ID på element', - elementType : 'Type af element' - } -}); diff --git a/htdocs/includes/ckeditor/_source/plugins/devtools/lang/de.js b/htdocs/includes/ckeditor/_source/plugins/devtools/lang/de.js deleted file mode 100644 index 92d6a1635eb..00000000000 --- a/htdocs/includes/ckeditor/_source/plugins/devtools/lang/de.js +++ /dev/null @@ -1,16 +0,0 @@ -/* -Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.html or http://ckeditor.com/license -*/ - -CKEDITOR.plugins.setLang( 'devtools', 'de', -{ - devTools : - { - title : 'Elementinformation', - dialogName : 'Dialogfenstername', - tabName : 'Reitername', - elementId : 'Element ID', - elementType : 'Elementtyp' - } -}); diff --git a/htdocs/includes/ckeditor/_source/plugins/devtools/lang/el.js b/htdocs/includes/ckeditor/_source/plugins/devtools/lang/el.js deleted file mode 100644 index 01df798b186..00000000000 --- a/htdocs/includes/ckeditor/_source/plugins/devtools/lang/el.js +++ /dev/null @@ -1,16 +0,0 @@ -/* -Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.html or http://ckeditor.com/license -*/ - -CKEDITOR.plugins.setLang( 'devtools', 'el', -{ - devTools : - { - title : 'Πληροφορίες Στοιχείου', - dialogName : 'Όνομα παραθύρου διαλόγου', - tabName : 'Όνομα καρτέλας', - elementId : 'ID Στοιχείου', - elementType : 'Τύπος στοιχείου' - } -}); diff --git a/htdocs/includes/ckeditor/_source/plugins/devtools/lang/en.js b/htdocs/includes/ckeditor/_source/plugins/devtools/lang/en.js deleted file mode 100644 index 37b077f8769..00000000000 --- a/htdocs/includes/ckeditor/_source/plugins/devtools/lang/en.js +++ /dev/null @@ -1,16 +0,0 @@ -/* -Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.html or http://ckeditor.com/license -*/ - -CKEDITOR.plugins.setLang( 'devtools', 'en', -{ - devTools : - { - title : 'Element Information', - dialogName : 'Dialog window name', - tabName : 'Tab name', - elementId : 'Element ID', - elementType : 'Element type' - } -}); diff --git a/htdocs/includes/ckeditor/_source/plugins/devtools/lang/eo.js b/htdocs/includes/ckeditor/_source/plugins/devtools/lang/eo.js deleted file mode 100644 index 0cc90f560ef..00000000000 --- a/htdocs/includes/ckeditor/_source/plugins/devtools/lang/eo.js +++ /dev/null @@ -1,16 +0,0 @@ -/* -Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.html or http://ckeditor.com/license -*/ - -CKEDITOR.plugins.setLang( 'devtools', 'eo', -{ - devTools : - { - title : 'Informo pri la elemento', - dialogName : 'Nomo de la dialogfenestro', - tabName : 'Langetnomo', - elementId : 'ID de la elemento', - elementType : 'Tipo de la elemento' - } -}); diff --git a/htdocs/includes/ckeditor/_source/plugins/devtools/lang/et.js b/htdocs/includes/ckeditor/_source/plugins/devtools/lang/et.js deleted file mode 100644 index bbc46ce81c3..00000000000 --- a/htdocs/includes/ckeditor/_source/plugins/devtools/lang/et.js +++ /dev/null @@ -1,16 +0,0 @@ -/* -Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.html or http://ckeditor.com/license -*/ - -CKEDITOR.plugins.setLang( 'devtools', 'et', -{ - devTools : - { - title : 'Elemendi andmed', - dialogName : 'Dialoogiakna nimi', - tabName : 'Saki nimi', - elementId : 'Elemendi ID', - elementType : 'Elemendi liik' - } -}); diff --git a/htdocs/includes/ckeditor/_source/plugins/devtools/lang/fa.js b/htdocs/includes/ckeditor/_source/plugins/devtools/lang/fa.js deleted file mode 100644 index a6044ce43a5..00000000000 --- a/htdocs/includes/ckeditor/_source/plugins/devtools/lang/fa.js +++ /dev/null @@ -1,16 +0,0 @@ -/* -Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.html or http://ckeditor.com/license -*/ - -CKEDITOR.plugins.setLang( 'devtools', 'fa', -{ - devTools : - { - title : 'اطلاعات عنصر', - dialogName : 'نام پنجره محاورهای', - tabName : 'نام برگه', - elementId : 'ID عنصر', - elementType : 'نوع عنصر' - } -}); diff --git a/htdocs/includes/ckeditor/_source/plugins/devtools/lang/fi.js b/htdocs/includes/ckeditor/_source/plugins/devtools/lang/fi.js deleted file mode 100644 index 250bb97abb0..00000000000 --- a/htdocs/includes/ckeditor/_source/plugins/devtools/lang/fi.js +++ /dev/null @@ -1,16 +0,0 @@ -/* -Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.html or http://ckeditor.com/license -*/ - -CKEDITOR.plugins.setLang( 'devtools', 'fi', -{ - devTools : - { - title : 'Elementin tiedot', - dialogName : 'Dialogi-ikkunan nimi', - tabName : 'Välilehden nimi', - elementId : 'Elementin ID', - elementType : 'Elementin tyyppi' - } -}); diff --git a/htdocs/includes/ckeditor/_source/plugins/devtools/lang/fr.js b/htdocs/includes/ckeditor/_source/plugins/devtools/lang/fr.js deleted file mode 100644 index c0a069a5c03..00000000000 --- a/htdocs/includes/ckeditor/_source/plugins/devtools/lang/fr.js +++ /dev/null @@ -1,16 +0,0 @@ -/* -Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.html or http://ckeditor.com/license -*/ - -CKEDITOR.plugins.setLang( 'devtools', 'fr', -{ - devTools : - { - title : 'Information sur l\'élément', - dialogName : 'Nom de la fenêtre de dialogue', - tabName : 'Nom de l\'onglet', - elementId : 'ID de l\'élément', - elementType : 'Type de l\'élément' - } -}); diff --git a/htdocs/includes/ckeditor/_source/plugins/devtools/lang/gu.js b/htdocs/includes/ckeditor/_source/plugins/devtools/lang/gu.js deleted file mode 100644 index 16ff89de806..00000000000 --- a/htdocs/includes/ckeditor/_source/plugins/devtools/lang/gu.js +++ /dev/null @@ -1,16 +0,0 @@ -/* -Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.html or http://ckeditor.com/license -*/ - -CKEDITOR.plugins.setLang( 'devtools', 'gu', -{ - devTools : - { - title : 'પ્રાથમિક માહિતી', - dialogName : 'વિન્ડોનું નામ', - tabName : 'ટેબનું નામ', - elementId : 'પ્રાથમિક આઈડી', - elementType : 'પ્રાથમિક પ્રકાર' - } -}); diff --git a/htdocs/includes/ckeditor/_source/plugins/devtools/lang/he.js b/htdocs/includes/ckeditor/_source/plugins/devtools/lang/he.js deleted file mode 100644 index e29e8ea72b4..00000000000 --- a/htdocs/includes/ckeditor/_source/plugins/devtools/lang/he.js +++ /dev/null @@ -1,16 +0,0 @@ -/* -Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.html or http://ckeditor.com/license -*/ - -CKEDITOR.plugins.setLang( 'devtools', 'he', -{ - devTools : - { - title : 'מידע על האלמנט', - dialogName : 'שם הדיאלוג', - tabName : 'שם הטאב', - elementId : 'ID של האלמנט', - elementType : 'סוג האלמנט' - } -}); diff --git a/htdocs/includes/ckeditor/_source/plugins/devtools/lang/hr.js b/htdocs/includes/ckeditor/_source/plugins/devtools/lang/hr.js deleted file mode 100644 index a90c271f091..00000000000 --- a/htdocs/includes/ckeditor/_source/plugins/devtools/lang/hr.js +++ /dev/null @@ -1,16 +0,0 @@ -/* -Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.html or http://ckeditor.com/license -*/ - -CKEDITOR.plugins.setLang( 'devtools', 'hr', -{ - devTools : - { - title : 'Informacije elementa', - dialogName : 'Naziv prozora za dijalog', - tabName : 'Naziva jahača', - elementId : 'ID elementa', - elementType : 'Vrsta elementa' - } -}); diff --git a/htdocs/includes/ckeditor/_source/plugins/devtools/lang/it.js b/htdocs/includes/ckeditor/_source/plugins/devtools/lang/it.js deleted file mode 100644 index 5c4dd12d64c..00000000000 --- a/htdocs/includes/ckeditor/_source/plugins/devtools/lang/it.js +++ /dev/null @@ -1,16 +0,0 @@ -/* -Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.html or http://ckeditor.com/license -*/ - -CKEDITOR.plugins.setLang( 'devtools', 'it', -{ - devTools : - { - title : 'Informazioni elemento', - dialogName : 'Nome finestra di dialogo', - tabName : 'Nome Tab', - elementId : 'ID Elemento', - elementType : 'Tipo elemento' - } -}); diff --git a/htdocs/includes/ckeditor/_source/plugins/devtools/lang/nb.js b/htdocs/includes/ckeditor/_source/plugins/devtools/lang/nb.js deleted file mode 100644 index a7e49c307de..00000000000 --- a/htdocs/includes/ckeditor/_source/plugins/devtools/lang/nb.js +++ /dev/null @@ -1,16 +0,0 @@ -/* -Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.html or http://ckeditor.com/license -*/ - -CKEDITOR.plugins.setLang( 'devtools', 'nb', -{ - devTools : - { - title : 'Elementinformasjon', - dialogName : 'Navn på dialogvindu', - tabName : 'Navn på fane', - elementId : 'Element-ID', - elementType : 'Elementtype' - } -}); diff --git a/htdocs/includes/ckeditor/_source/plugins/devtools/lang/nl.js b/htdocs/includes/ckeditor/_source/plugins/devtools/lang/nl.js deleted file mode 100644 index 380b02b8172..00000000000 --- a/htdocs/includes/ckeditor/_source/plugins/devtools/lang/nl.js +++ /dev/null @@ -1,16 +0,0 @@ -/* -Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.html or http://ckeditor.com/license -*/ - -CKEDITOR.plugins.setLang( 'devtools', 'nl', -{ - devTools : - { - title : 'Elementinformatie', - dialogName : 'Naam dialoogvenster', - tabName : 'Tabnaam', - elementId : 'Element ID', - elementType : 'Elementtype' - } -}); diff --git a/htdocs/includes/ckeditor/_source/plugins/devtools/lang/no.js b/htdocs/includes/ckeditor/_source/plugins/devtools/lang/no.js deleted file mode 100644 index ec00b19eab6..00000000000 --- a/htdocs/includes/ckeditor/_source/plugins/devtools/lang/no.js +++ /dev/null @@ -1,16 +0,0 @@ -/* -Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.html or http://ckeditor.com/license -*/ - -CKEDITOR.plugins.setLang( 'devtools', 'no', -{ - devTools : - { - title : 'Elementinformasjon', - dialogName : 'Navn på dialogvindu', - tabName : 'Navn på fane', - elementId : 'Element-ID', - elementType : 'Elementtype' - } -}); diff --git a/htdocs/includes/ckeditor/_source/plugins/devtools/lang/pl.js b/htdocs/includes/ckeditor/_source/plugins/devtools/lang/pl.js deleted file mode 100644 index 225a05cda5d..00000000000 --- a/htdocs/includes/ckeditor/_source/plugins/devtools/lang/pl.js +++ /dev/null @@ -1,16 +0,0 @@ -/* -Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.html or http://ckeditor.com/license -*/ - -CKEDITOR.plugins.setLang( 'devtools', 'pl', -{ - devTools : - { - title : 'Informacja o elemencie', - dialogName : 'Nazwa okna dialogowego', - tabName : 'Nazwa zakładki', - elementId : 'ID elementu', - elementType : 'Typ elementu' - } -}); diff --git a/htdocs/includes/ckeditor/_source/plugins/devtools/lang/pt-br.js b/htdocs/includes/ckeditor/_source/plugins/devtools/lang/pt-br.js deleted file mode 100644 index 89e41716eca..00000000000 --- a/htdocs/includes/ckeditor/_source/plugins/devtools/lang/pt-br.js +++ /dev/null @@ -1,16 +0,0 @@ -/* -Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.html or http://ckeditor.com/license -*/ - -CKEDITOR.plugins.setLang( 'devtools', 'pt-br', -{ - devTools : - { - title : 'Informação do Elemento', - dialogName : 'Nome da janela de diálogo', - tabName : 'Nome da aba', - elementId : 'ID do elemento', - elementType : 'Tipo do elemento' - } -}); diff --git a/htdocs/includes/ckeditor/_source/plugins/devtools/lang/tr.js b/htdocs/includes/ckeditor/_source/plugins/devtools/lang/tr.js deleted file mode 100644 index 9907f2f5937..00000000000 --- a/htdocs/includes/ckeditor/_source/plugins/devtools/lang/tr.js +++ /dev/null @@ -1,16 +0,0 @@ -/* -Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.html or http://ckeditor.com/license -*/ - -CKEDITOR.plugins.setLang( 'devtools', 'tr', -{ - devTools : - { - title : 'Eleman Bilgisi', - dialogName : 'İletişim pencere ismi', - tabName : 'Sekme adı', - elementId : 'Eleman ID', - elementType : 'Eleman türü' - } -}); diff --git a/htdocs/includes/ckeditor/_source/plugins/devtools/lang/ug.js b/htdocs/includes/ckeditor/_source/plugins/devtools/lang/ug.js deleted file mode 100644 index 2965342e29a..00000000000 --- a/htdocs/includes/ckeditor/_source/plugins/devtools/lang/ug.js +++ /dev/null @@ -1,16 +0,0 @@ -/* -Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.html or http://ckeditor.com/license -*/ - -CKEDITOR.plugins.setLang( 'devtools', 'ug', -{ - devTools : - { - title : 'ئېلېمېنت ئۇچۇرى', - dialogName : 'سۆزلەشكۈ كۆزنەك ئاتى', - tabName : 'Tab ئاتى', - elementId : 'ئېلېمېنت كىملىكى', - elementType : 'ئېلېمېنت تىپى' - } -}); diff --git a/htdocs/includes/ckeditor/_source/plugins/devtools/lang/uk.js b/htdocs/includes/ckeditor/_source/plugins/devtools/lang/uk.js deleted file mode 100644 index 8bb61b69144..00000000000 --- a/htdocs/includes/ckeditor/_source/plugins/devtools/lang/uk.js +++ /dev/null @@ -1,16 +0,0 @@ -/* -Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.html or http://ckeditor.com/license -*/ - -CKEDITOR.plugins.setLang( 'devtools', 'uk', -{ - devTools : - { - title : 'Відомості про Елемент', - dialogName : 'Заголовок діалогового вікна', - tabName : 'Назва вкладки', - elementId : 'Ідентифікатор Елемента', - elementType : 'Тип Елемента' - } -}); diff --git a/htdocs/includes/ckeditor/_source/plugins/devtools/lang/vi.js b/htdocs/includes/ckeditor/_source/plugins/devtools/lang/vi.js deleted file mode 100644 index 372b7167051..00000000000 --- a/htdocs/includes/ckeditor/_source/plugins/devtools/lang/vi.js +++ /dev/null @@ -1,16 +0,0 @@ -/* -Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.html or http://ckeditor.com/license -*/ - -CKEDITOR.plugins.setLang( 'devtools', 'vi', -{ - devTools : - { - title : 'Thông tin thành ph', - dialogName : 'Tên hộp tho', - tabName : 'Tên th', - elementId : 'Mã thành ph', - elementType : 'Loại thành ph' - } -}); diff --git a/htdocs/includes/ckeditor/_source/plugins/devtools/lang/zh-cn.js b/htdocs/includes/ckeditor/_source/plugins/devtools/lang/zh-cn.js deleted file mode 100644 index 55a2e0710b0..00000000000 --- a/htdocs/includes/ckeditor/_source/plugins/devtools/lang/zh-cn.js +++ /dev/null @@ -1,16 +0,0 @@ -/* -Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.html or http://ckeditor.com/license -*/ - -CKEDITOR.plugins.setLang( 'devtools', 'zh-cn', -{ - devTools : - { - title : '元素信息', - dialogName : '对话框窗口名称', - tabName : 'Tab 名称', - elementId : '元素 ID', - elementType : '元素类型' - } -}); diff --git a/htdocs/includes/ckeditor/_source/plugins/devtools/plugin.js b/htdocs/includes/ckeditor/_source/plugins/devtools/plugin.js deleted file mode 100644 index 8c4e8f64502..00000000000 --- a/htdocs/includes/ckeditor/_source/plugins/devtools/plugin.js +++ /dev/null @@ -1,173 +0,0 @@ -/* -Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.html or http://ckeditor.com/license -*/ - -CKEDITOR.plugins.add( 'devtools', -{ - lang : [ 'en', 'bg', 'cs', 'cy', 'da', 'de', 'el', 'eo', 'et', 'fa', 'fi', 'fr', 'gu', 'he', 'hr', 'it', 'nb', 'nl', 'no', 'pl', 'pt-br', 'tr', 'ug', 'uk', 'vi', 'zh-cn' ], - - init : function( editor ) - { - editor._.showDialogDefinitionTooltips = 1; - }, - onLoad : function() - { - CKEDITOR.document.appendStyleText( CKEDITOR.config.devtools_styles || - '#cke_tooltip { padding: 5px; border: 2px solid #333; background: #ffffff }' + - '#cke_tooltip h2 { font-size: 1.1em; border-bottom: 1px solid; margin: 0; padding: 1px; }' + - '#cke_tooltip ul { padding: 0pt; list-style-type: none; }' ); - } -}); - -(function() -{ - function defaultCallback( editor, dialog, element, tabName ) - { - var lang = editor.lang.devTools, - link = '' + ( element ? element.type : 'content' ) + '', - str = - '

' + lang.title + '

' + - '
    ' + - '
  • ' + lang.dialogName + ' : ' + dialog.getName() + '
  • ' + - '
  • ' + lang.tabName + ' : ' + tabName + '
  • '; - - if ( element ) - str += '
  • ' + lang.elementId + ' : ' + element.id + '
  • '; - - str += '
  • ' + lang.elementType + ' : ' + link + '
  • '; - - return str + '
'; - } - - function showTooltip( callback, el, editor, dialog, obj, tabName ) - { - var pos = el.getDocumentPosition(), - styles = { 'z-index' : CKEDITOR.dialog._.currentZIndex + 10, top : ( pos.y + el.getSize( 'height' ) ) + 'px' }; - - tooltip.setHtml( callback( editor, dialog, obj, tabName ) ); - tooltip.show(); - - // Translate coordinate for RTL. - if ( editor.lang.dir == 'rtl' ) - { - var viewPaneSize = CKEDITOR.document.getWindow().getViewPaneSize(); - styles.right = ( viewPaneSize.width - pos.x - el.getSize( 'width' ) ) + 'px'; - } - else - styles.left = pos.x + 'px'; - - tooltip.setStyles( styles ); - } - - var tooltip; - CKEDITOR.on( 'reset', function() - { - tooltip && tooltip.remove(); - tooltip = null; - }); - - CKEDITOR.on( 'dialogDefinition', function( evt ) - { - var editor = evt.editor; - if ( editor._.showDialogDefinitionTooltips ) - { - if ( !tooltip ) - { - tooltip = CKEDITOR.dom.element.createFromHtml( '
', CKEDITOR.document ); - tooltip.hide(); - tooltip.on( 'mouseover', function(){ this.show(); } ); - tooltip.on( 'mouseout', function(){ this.hide(); } ); - tooltip.appendTo( CKEDITOR.document.getBody() ); - } - - var dialog = evt.data.definition.dialog, - callback = editor.config.devtools_textCallback || defaultCallback; - - dialog.on( 'load', function() - { - var tabs = dialog.parts.tabs.getChildren(), tab; - for ( var i = 0, len = tabs.count(); i < len; i++ ) - { - tab = tabs.getItem( i ); - tab.on( 'mouseover', function() - { - var id = this.$.id; - showTooltip( callback, this, editor, dialog, null, id.substring( 4, id.lastIndexOf( '_' ) ) ); - }); - tab.on( 'mouseout', function() - { - tooltip.hide(); - }); - } - - dialog.foreach( function( obj ) - { - if ( obj.type in { hbox : 1, vbox : 1 } ) - return; - - var el = obj.getElement(); - if ( el ) - { - el.on( 'mouseover', function() - { - showTooltip( callback, this, editor, dialog, obj, dialog._.currentTabId ); - }); - el.on( 'mouseout', function() - { - tooltip.hide(); - }); - } - }); - }); - } - }); -})(); - -/** - * A function that returns the text to be displayed inside the Developer Tools tooltip when hovering over a dialog UI element. - * There are 4 parameters that are being passed into the function: editor, dialog window, element, tab name. - * @name editor.config.devtools_textCallback - * @since 3.6 - * @type Function - * @default (see example) - * @example - * // This is actually the default value. - * // Show dialog window name, tab ID, and element ID. - * config.devtools_textCallback = function( editor, dialog, element, tabName ) - * { - * var lang = editor.lang.devTools, - * link = '' + ( element ? element.type : 'content' ) + '', - * str = - * '

' + lang.title + '

' + - * '
    ' + - * '
  • ' + lang.dialogName + ' : ' + dialog.getName() + '
  • ' + - * '
  • ' + lang.tabName + ' : ' + tabName + '
  • '; - * - * if ( element ) - * str += '
  • ' + lang.elementId + ' : ' + element.id + '
  • '; - * - * str += '
  • ' + lang.elementType + ' : ' + link + '
  • '; - * - * return str + '
'; - * } - */ - -/** - * A setting that stores CSS rules to be injected into the page with styles to be applied to the tooltip element. - * @name CKEDITOR.config.devtools_styles - * @since 3.6 - * @type String - * @default (see example) - * @example - * // This is actually the default value. - * CKEDITOR.config.devtools_styles = " - * #cke_tooltip { padding: 5px; border: 2px solid #333; background: #ffffff } - * #cke_tooltip h2 { font-size: 1.1em; border-bottom: 1px solid; margin: 0; padding: 1px; } - * #cke_tooltip ul { padding: 0pt; list-style-type: none; } - * "; - */ diff --git a/htdocs/includes/ckeditor/_source/plugins/dialog/dialogDefinition.js b/htdocs/includes/ckeditor/_source/plugins/dialog/dialogDefinition.js index 06f4454809d..9d51fcf0478 100644 --- a/htdocs/includes/ckeditor/_source/plugins/dialog/dialogDefinition.js +++ b/htdocs/includes/ckeditor/_source/plugins/dialog/dialogDefinition.js @@ -1,1166 +1,1006 @@ -/* -Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.html or http://ckeditor.com/license -*/ - -/** - * @fileOverview Defines the "virtual" dialog, dialog content and dialog button - * definition classes. - */ - -/** - * The definition of a dialog window. - *
- * This class is not really part of the API. It just illustrates the properties - * that developers can use to define and create dialogs. - *
- * @name CKEDITOR.dialog.definition - * @constructor - * @example - * // There is no constructor for this class, the user just has to define an - * // object with the appropriate properties. - * - * CKEDITOR.dialog.add( 'testOnly', function( editor ) - * { - * return { - * title : 'Test Dialog', - * resizable : CKEDITOR.DIALOG_RESIZE_BOTH, - * minWidth : 500, - * minHeight : 400, - * contents : [ - * { - * id : 'tab1', - * label : 'First Tab', - * title : 'First Tab Title', - * accessKey : 'Q', - * elements : [ - * { - * type : 'text', - * label : 'Test Text 1', - * id : 'testText1', - * 'default' : 'hello world!' - * } - * ] - * } - * ] - * }; - * }); - */ - -/** - * The dialog title, displayed in the dialog's header. Required. - * @name CKEDITOR.dialog.definition.prototype.title - * @field - * @type String - * @example - */ - -/** - * How the dialog can be resized, must be one of the four contents defined below. - *

- * CKEDITOR.DIALOG_RESIZE_NONE
- * CKEDITOR.DIALOG_RESIZE_WIDTH
- * CKEDITOR.DIALOG_RESIZE_HEIGHT
- * CKEDITOR.DIALOG_RESIZE_BOTH
- * @name CKEDITOR.dialog.definition.prototype.resizable - * @field - * @type Number - * @default CKEDITOR.DIALOG_RESIZE_NONE - * @example - */ - -/** - * The minimum width of the dialog, in pixels. - * @name CKEDITOR.dialog.definition.prototype.minWidth - * @field - * @type Number - * @default 600 - * @example - */ - -/** - * The minimum height of the dialog, in pixels. - * @name CKEDITOR.dialog.definition.prototype.minHeight - * @field - * @type Number - * @default 400 - * @example - */ - - -/** - * The initial width of the dialog, in pixels. - * @name CKEDITOR.dialog.definition.prototype.width - * @field - * @type Number - * @default @CKEDITOR.dialog.definition.prototype.minWidth - * @since 3.5.3 - * @example - */ - -/** - * The initial height of the dialog, in pixels. - * @name CKEDITOR.dialog.definition.prototype.height - * @field - * @type Number - * @default @CKEDITOR.dialog.definition.prototype.minHeight - * @since 3.5.3 - * @example - */ - -/** - * The buttons in the dialog, defined as an array of - * {@link CKEDITOR.dialog.definition.button} objects. - * @name CKEDITOR.dialog.definition.prototype.buttons - * @field - * @type Array - * @default [ CKEDITOR.dialog.okButton, CKEDITOR.dialog.cancelButton ] - * @example - */ - -/** - * The contents in the dialog, defined as an array of - * {@link CKEDITOR.dialog.definition.content} objects. Required. - * @name CKEDITOR.dialog.definition.prototype.contents - * @field - * @type Array - * @example - */ - -/** - * The function to execute when OK is pressed. - * @name CKEDITOR.dialog.definition.prototype.onOk - * @field - * @type Function - * @example - */ - -/** - * The function to execute when Cancel is pressed. - * @name CKEDITOR.dialog.definition.prototype.onCancel - * @field - * @type Function - * @example - */ - -/** - * The function to execute when the dialog is displayed for the first time. - * @name CKEDITOR.dialog.definition.prototype.onLoad - * @field - * @type Function - * @example - */ - -/** - * The function to execute when the dialog is loaded (executed every time the dialog is opened). - * @name CKEDITOR.dialog.definition.prototype.onShow - * @field - * @type Function - * @example - */ - -/** - *
This class is not really part of the API. It just illustrates the properties - * that developers can use to define and create dialog content pages.
- * @name CKEDITOR.dialog.definition.content - * @constructor - * @example - * // There is no constructor for this class, the user just has to define an - * // object with the appropriate properties. - */ - -/** - * The id of the content page. - * @name CKEDITOR.dialog.definition.content.prototype.id - * @field - * @type String - * @example - */ - -/** - * The tab label of the content page. - * @name CKEDITOR.dialog.definition.content.prototype.label - * @field - * @type String - * @example - */ - -/** - * The popup message of the tab label. - * @name CKEDITOR.dialog.definition.content.prototype.title - * @field - * @type String - * @example - */ - -/** - * The CTRL hotkey for switching to the tab. - * @name CKEDITOR.dialog.definition.content.prototype.accessKey - * @field - * @type String - * @example - * contentDefinition.accessKey = 'Q'; // Switch to this page when CTRL-Q is pressed. - */ - -/** - * The UI elements contained in this content page, defined as an array of - * {@link CKEDITOR.dialog.definition.uiElement} objects. - * @name CKEDITOR.dialog.definition.content.prototype.elements - * @field - * @type Array - * @example - */ - -/** - * The definition of user interface element (textarea, radio etc). - *
This class is not really part of the API. It just illustrates the properties - * that developers can use to define and create dialog UI elements.
- * @name CKEDITOR.dialog.definition.uiElement - * @constructor - * @see CKEDITOR.ui.dialog.uiElement - * @example - * // There is no constructor for this class, the user just has to define an - * // object with the appropriate properties. - */ - -/** - * The id of the UI element. - * @name CKEDITOR.dialog.definition.uiElement.prototype.id - * @field - * @type String - * @example - */ - -/** - * The type of the UI element. Required. - * @name CKEDITOR.dialog.definition.uiElement.prototype.type - * @field - * @type String - * @example - */ - -/** - * The popup label of the UI element. - * @name CKEDITOR.dialog.definition.uiElement.prototype.title - * @field - * @type String - * @example - */ - -/** - * CSS class names to append to the UI element. - * @name CKEDITOR.dialog.definition.uiElement.prototype.className - * @field - * @type String - * @example - */ - -/** - * Inline CSS classes to append to the UI element. - * @name CKEDITOR.dialog.definition.uiElement.prototype.style - * @field - * @type String - * @example - */ - -/** - * Horizontal alignment (in container) of the UI element. - * @name CKEDITOR.dialog.definition.uiElement.prototype.align - * @field - * @type String - * @example - */ - -/** - * Function to execute the first time the UI element is displayed. - * @name CKEDITOR.dialog.definition.uiElement.prototype.onLoad - * @field - * @type Function - * @example - */ - -/** - * Function to execute whenever the UI element's parent dialog is displayed. - * @name CKEDITOR.dialog.definition.uiElement.prototype.onShow - * @field - * @type Function - * @example - */ - -/** - * Function to execute whenever the UI element's parent dialog is closed. - * @name CKEDITOR.dialog.definition.uiElement.prototype.onHide - * @field - * @type Function - * @example - */ - -/** - * Function to execute whenever the UI element's parent dialog's {@link CKEDITOR.dialog.definition.setupContent} method is executed. - * It usually takes care of the respective UI element as a standalone element. - * @name CKEDITOR.dialog.definition.uiElement.prototype.setup - * @field - * @type Function - * @example - */ - -/** - * Function to execute whenever the UI element's parent dialog's {@link CKEDITOR.dialog.definition.commitContent} method is executed. - * It usually takes care of the respective UI element as a standalone element. - * @name CKEDITOR.dialog.definition.uiElement.prototype.commit - * @field - * @type Function - * @example - */ - -// ----- hbox ----- - -/** - * Horizontal layout box for dialog UI elements, auto-expends to available width of container. - *
- * This class is not really part of the API. It just illustrates the properties - * that developers can use to define and create horizontal layouts. - *

Once the dialog is opened, the created element becomes a {@link CKEDITOR.ui.dialog.hbox} object and can be accessed with {@link CKEDITOR.dialog#getContentElement}. - *
- * @name CKEDITOR.dialog.definition.hbox - * @extends CKEDITOR.dialog.definition.uiElement - * @constructor - * @example - * // There is no constructor for this class, the user just has to define an - * // object with the appropriate properties. - * - * // Example: - * { - * type : 'hbox', - * widths : [ '25%', '25%', '50%' ], - * children : - * [ - * { - * type : 'text', - * id : 'id1', - * width : '40px', - * }, - * { - * type : 'text', - * id : 'id2', - * width : '40px', - * }, - * { - * type : 'text', - * id : 'id3' - * } - * ] - * } - */ - -/** - * Array of {@link CKEDITOR.ui.dialog.uiElement} objects inside this container. - * @name CKEDITOR.dialog.definition.hbox.prototype.children - * @field - * @type Array - * @example - */ - -/** - * (Optional) The widths of child cells. - * @name CKEDITOR.dialog.definition.hbox.prototype.widths - * @field - * @type Array - * @example - */ - -/** - * (Optional) The height of the layout. - * @name CKEDITOR.dialog.definition.hbox.prototype.height - * @field - * @type Number - * @example - */ - -/** - * The CSS styles to apply to this element. - * @name CKEDITOR.dialog.definition.hbox.prototype.styles - * @field - * @type String - * @example - */ - -/** - * (Optional) The padding width inside child cells. Example: 0, 1. - * @name CKEDITOR.dialog.definition.hbox.prototype.padding - * @field - * @type Number - * @example - */ - -/** - * (Optional) The alignment of the whole layout. Example: center, top. - * @name CKEDITOR.dialog.definition.hbox.prototype.align - * @field - * @type String - * @example - */ - -// ----- vbox ----- - -/** - * Vertical layout box for dialog UI elements. - *
- * This class is not really part of the API. It just illustrates the properties - * that developers can use to define and create vertical layouts. - *

Once the dialog is opened, the created element becomes a {@link CKEDITOR.ui.dialog.vbox} object and can be accessed with {@link CKEDITOR.dialog#getContentElement}. - *
- * - * @name CKEDITOR.dialog.definition.vbox - * @extends CKEDITOR.dialog.definition.uiElement - * @constructor - * @example - * // There is no constructor for this class, the user just has to define an - * // object with the appropriate properties. - * - * // Example: - * { - * type : 'vbox', - * align : 'right', - * width : '200px', - * children : - * [ - * { - * type : 'text', - * id : 'age', - * label : 'Age' - * }, - * { - * type : 'text', - * id : 'sex', - * label : 'Sex' - * }, - * { - * type : 'text', - * id : 'nationality', - * label : 'Nationality' - * } - * ] - * } - */ - -/** - * Array of {@link CKEDITOR.ui.dialog.uiElement} objects inside this container. - * @name CKEDITOR.dialog.definition.vbox.prototype.children - * @field - * @type Array - * @example - */ - -/** - * (Optional) The width of the layout. - * @name CKEDITOR.dialog.definition.vbox.prototype.width - * @field - * @type Array - * @example - */ - -/** - * (Optional) The heights of individual cells. - * @name CKEDITOR.dialog.definition.vbox.prototype.heights - * @field - * @type Number - * @example - */ - -/** - * The CSS styles to apply to this element. - * @name CKEDITOR.dialog.definition.vbox.prototype.styles - * @field - * @type String - * @example - */ - -/** - * (Optional) The padding width inside child cells. Example: 0, 1. - * @name CKEDITOR.dialog.definition.vbox.prototype.padding - * @field - * @type Number - * @example - */ - -/** - * (Optional) The alignment of the whole layout. Example: center, top. - * @name CKEDITOR.dialog.definition.vbox.prototype.align - * @field - * @type String - * @example - */ - -/** - * (Optional) Whether the layout should expand vertically to fill its container. - * @name CKEDITOR.dialog.definition.vbox.prototype.expand - * @field - * @type Boolean - * @example - */ - -// ----- labeled element ------ - -/** - * The definition of labeled user interface element (textarea, textInput etc). - *
This class is not really part of the API. It just illustrates the properties - * that developers can use to define and create dialog UI elements.
- * @name CKEDITOR.dialog.definition.labeledElement - * @extends CKEDITOR.dialog.definition.uiElement - * @constructor - * @see CKEDITOR.ui.dialog.labeledElement - * @example - * // There is no constructor for this class, the user just has to define an - * // object with the appropriate properties. - */ - -/** - * The label of the UI element. - * @name CKEDITOR.dialog.definition.labeledElement.prototype.label - * @type String - * @field - * @example - * { - * type : 'text', - * label : 'My Label ' - * } - */ - -/** - * (Optional) Specify the layout of the label. Set to 'horizontal' for horizontal layout. - * The default layout is vertical. - * @name CKEDITOR.dialog.definition.labeledElement.prototype.labelLayout - * @type String - * @field - * @example - * { - * type : 'text', - * label : 'My Label ', - * labelLayout : 'horizontal', - * } - */ - -/** - * (Optional) Applies only to horizontal layouts: a two elements array of lengths to specify the widths of the -* label and the content element. See also {@link CKEDITOR.dialog.definition.labeledElement#labelLayout}. - * @name CKEDITOR.dialog.definition.labeledElement.prototype.widths - * @type Array - * @field - * @example - * { - * type : 'text', - * label : 'My Label ', - * labelLayout : 'horizontal', - * widths : [100, 200], - * } - */ - -/** - * Specify the inline style of the uiElement label. - * @name CKEDITOR.dialog.definition.labeledElement.prototype.labelStyle - * @type String - * @field - * @example - * { - * type : 'text', - * label : 'My Label ', - * labelStyle : 'color: red', - * } - */ - - -/** - * Specify the inline style of the input element. - * @name CKEDITOR.dialog.definition.labeledElement.prototype.inputStyle - * @type String - * @since 3.6.1 - * @field - * @example - * { - * type : 'text', - * label : 'My Label ', - * inputStyle : 'text-align:center', - * } - */ - -/** - * Specify the inline style of the input element container . - * @name CKEDITOR.dialog.definition.labeledElement.prototype.controlStyle - * @type String - * @since 3.6.1 - * @field - * @example - * { - * type : 'text', - * label : 'My Label ', - * controlStyle : 'width:3em', - * } - */ - - -// ----- button ------ - -/** - * The definition of a button. - *
- * This class is not really part of the API. It just illustrates the properties - * that developers can use to define and create buttons. - *

Once the dialog is opened, the created element becomes a {@link CKEDITOR.ui.dialog.button} object and can be accessed with {@link CKEDITOR.dialog#getContentElement}. - *
- * For a complete example of dialog definition, please check {@link CKEDITOR.dialog.add}. - * @name CKEDITOR.dialog.definition.button - * @extends CKEDITOR.dialog.definition.uiElement - * @constructor - * @example - * // There is no constructor for this class, the user just has to define an - * // object with the appropriate properties. - * - * // Example: - * { - * type : 'button', - * id : 'buttonId', - * label : 'Click me', - * title : 'My title', - * onClick : function() { - * // this = CKEDITOR.ui.dialog.button - * alert( 'Clicked: ' + this.id ); - * } - * } - */ - -/** - * Whether the button is disabled. - * @name CKEDITOR.dialog.definition.button.prototype.disabled - * @type Boolean - * @field - * @example - */ - -/** - * The label of the UI element. - * @name CKEDITOR.dialog.definition.button.prototype.label - * @type String - * @field - * @example - */ - -// ----- checkbox ------ - -/** - * The definition of a checkbox element. - *
- * This class is not really part of the API. It just illustrates the properties - * that developers can use to define and create groups of checkbox buttons. - *

Once the dialog is opened, the created element becomes a {@link CKEDITOR.ui.dialog.checkbox} object and can be accessed with {@link CKEDITOR.dialog#getContentElement}. - *
- * For a complete example of dialog definition, please check {@link CKEDITOR.dialog.add}. - * @name CKEDITOR.dialog.definition.checkbox - * @extends CKEDITOR.dialog.definition.uiElement - * @constructor - * @example - * // There is no constructor for this class, the user just has to define an - * // object with the appropriate properties. - * - * // Example: - * { - * type : 'checkbox', - * id : 'agree', - * label : 'I agree', - * 'default' : 'checked', - * onClick : function() { - * // this = CKEDITOR.ui.dialog.checkbox - * alert( 'Checked: ' + this.getValue() ); - * } - * } - */ - -/** - * (Optional) The validation function. - * @name CKEDITOR.dialog.definition.checkbox.prototype.validate - * @field - * @type Function - * @example - */ - -/** - * The label of the UI element. - * @name CKEDITOR.dialog.definition.checkbox.prototype.label - * @type String - * @field - * @example - */ - -/** - * The default state. - * @name CKEDITOR.dialog.definition.checkbox.prototype.default - * @type String - * @field - * @default - * '' (unchecked) - * @example - */ - -// ----- file ----- - -/** - * The definition of a file upload input. - *
- * This class is not really part of the API. It just illustrates the properties - * that developers can use to define and create file upload elements. - *

Once the dialog is opened, the created element becomes a {@link CKEDITOR.ui.dialog.file} object and can be accessed with {@link CKEDITOR.dialog#getContentElement}. - *
- * For a complete example of dialog definition, please check {@link CKEDITOR.dialog.add}. - * @name CKEDITOR.dialog.definition.file - * @extends CKEDITOR.dialog.definition.labeledElement - * @constructor - * @example - * // There is no constructor for this class, the user just has to define an - * // object with the appropriate properties. - * - * // Example: - * { - * type : 'file', - * id : 'upload', - * label : 'Select file from your computer', - * size : 38 - * }, - * { - * type : 'fileButton', - * id : 'fileId', - * label : 'Upload file', - * 'for' : [ 'tab1', 'upload' ] - * filebrowser : { - * onSelect : function( fileUrl, data ) { - * alert( 'Successfully uploaded: ' + fileUrl ); - * } - * } - * } - */ - -/** - * (Optional) The validation function. - * @name CKEDITOR.dialog.definition.file.prototype.validate - * @field - * @type Function - * @example - */ - -/** - * (Optional) The action attribute of the form element associated with this file upload input. - * If empty, CKEditor will use path to server connector for currently opened folder. - * @name CKEDITOR.dialog.definition.file.prototype.action - * @type String - * @field - * @example - */ - -/** - * The size of the UI element. - * @name CKEDITOR.dialog.definition.file.prototype.size - * @type Number - * @field - * @example - */ - -// ----- fileButton ----- - -/** - * The definition of a button for submitting the file in a file upload input. - *
- * This class is not really part of the API. It just illustrates the properties - * that developers can use to define and create a button for submitting the file in a file upload input. - *

Once the dialog is opened, the created element becomes a {@link CKEDITOR.ui.dialog.fileButton} object and can be accessed with {@link CKEDITOR.dialog#getContentElement}. - *
- * For a complete example of dialog definition, please check {@link CKEDITOR.dialog.add}. - * @name CKEDITOR.dialog.definition.fileButton - * @extends CKEDITOR.dialog.definition.uiElement - * @constructor - * @example - * // There is no constructor for this class, the user just has to define an - * // object with the appropriate properties. - * - * // Example: - * { - * type : 'file', - * id : 'upload', - * label : 'Select file from your computer', - * size : 38 - * }, - * { - * type : 'fileButton', - * id : 'fileId', - * label : 'Upload file', - * 'for' : [ 'tab1', 'upload' ] - * filebrowser : { - * onSelect : function( fileUrl, data ) { - * alert( 'Successfully uploaded: ' + fileUrl ); - * } - * } - * } - */ - -/** - * (Optional) The validation function. - * @name CKEDITOR.dialog.definition.fileButton.prototype.validate - * @field - * @type Function - * @example - */ - -/** - * The label of the UI element. - * @name CKEDITOR.dialog.definition.fileButton.prototype.label - * @type String - * @field - * @example - */ - -/** - * The instruction for CKEditor how to deal with file upload. - * By default, the file and fileButton elements will not work "as expected" if this attribute is not set. - * @name CKEDITOR.dialog.definition.fileButton.prototype.filebrowser - * @type String|Object - * @field - * @example - * // Update field with id 'txtUrl' in the 'tab1' tab when file is uploaded. - * filebrowser : 'tab1:txtUrl' - * - * // Call custom onSelect function when file is successfully uploaded. - * filebrowser : { - * onSelect : function( fileUrl, data ) { - * alert( 'Successfully uploaded: ' + fileUrl ); - * } - * } - */ - -/** - * An array that contains pageId and elementId of the file upload input element for which this button is created. - * @name CKEDITOR.dialog.definition.fileButton.prototype.for - * @type String - * @field - * @example - * [ pageId, elementId ] - */ - -// ----- html ----- - -/** - * The definition of a raw HTML element. - *
- * This class is not really part of the API. It just illustrates the properties - * that developers can use to define and create elements made from raw HTML code. - *

Once the dialog is opened, the created element becomes a {@link CKEDITOR.ui.dialog.html} object and can be accessed with {@link CKEDITOR.dialog#getContentElement}. - *
- * For a complete example of dialog definition, please check {@link CKEDITOR.dialog.add}.
- * To access HTML elements use {@link CKEDITOR.dom.document#getById} - * @name CKEDITOR.dialog.definition.html - * @extends CKEDITOR.dialog.definition.uiElement - * @constructor - * @example - * // There is no constructor for this class, the user just has to define an - * // object with the appropriate properties. - * - * // Example 1: - * { - * type : 'html', - * html : '<h3>This is some sample HTML content.</h3>' - * } - * @example - * // Example 2: - * // Complete sample with document.getById() call when the "Ok" button is clicked. - * var dialogDefinition = - * { - * title : 'Sample dialog', - * minWidth : 300, - * minHeight : 200, - * onOk : function() { - * // "this" is now a CKEDITOR.dialog object. - * var document = this.getElement().getDocument(); - * // document = CKEDITOR.dom.document - * var element = document.getById( 'myDiv' ); - * if ( element ) - * alert( element.getHtml() ); - * }, - * contents : [ - * { - * id : 'tab1', - * label : '', - * title : '', - * elements : - * [ - * { - * type : 'html', - * html : '<div id="myDiv">Sample <b>text</b>.</div><div id="otherId">Another div.</div>' - * }, - * ] - * } - * ], - * buttons : [ CKEDITOR.dialog.cancelButton, CKEDITOR.dialog.okButton ] - * }; - */ - -/** - * (Required) HTML code of this element. - * @name CKEDITOR.dialog.definition.html.prototype.html - * @type String - * @field - * @example - */ - -// ----- radio ------ - -/** - * The definition of a radio group. - *
- * This class is not really part of the API. It just illustrates the properties - * that developers can use to define and create groups of radio buttons. - *

Once the dialog is opened, the created element becomes a {@link CKEDITOR.ui.dialog.radio} object and can be accessed with {@link CKEDITOR.dialog#getContentElement}. - *
- * For a complete example of dialog definition, please check {@link CKEDITOR.dialog.add}. - * @name CKEDITOR.dialog.definition.radio - * @extends CKEDITOR.dialog.definition.labeledElement - * @constructor - * @example - * // There is no constructor for this class, the user just has to define an - * // object with the appropriate properties. - * - * // Example: - * { - * type : 'radio', - * id : 'country', - * label : 'Which country is bigger', - * items : [ [ 'France', 'FR' ], [ 'Germany', 'DE' ] ] , - * style : 'color:green', - * 'default' : 'DE', - * onClick : function() { - * // this = CKEDITOR.ui.dialog.radio - * alert( 'Current value: ' + this.getValue() ); - * } - * } - */ - -/** - * The default value. - * @name CKEDITOR.dialog.definition.radio.prototype.default - * @type String - * @field - * @example - */ - -/** - * (Optional) The validation function. - * @name CKEDITOR.dialog.definition.radio.prototype.validate - * @field - * @type Function - * @example - */ - -/** - * An array of options. Each option is a 1- or 2-item array of format [ 'Description', 'Value' ]. If 'Value' is missing, then the value would be assumed to be the same as the description. - * @name CKEDITOR.dialog.definition.radio.prototype.items - * @field - * @type Array - * @example - */ - -// ----- selectElement ------ - -/** - * The definition of a select element. - *
- * This class is not really part of the API. It just illustrates the properties - * that developers can use to define and create select elements. - *

Once the dialog is opened, the created element becomes a {@link CKEDITOR.ui.dialog.select} object and can be accessed with {@link CKEDITOR.dialog#getContentElement}. - *
- * For a complete example of dialog definition, please check {@link CKEDITOR.dialog.add}. - * @name CKEDITOR.dialog.definition.select - * @extends CKEDITOR.dialog.definition.labeledElement - * @constructor - * @example - * // There is no constructor for this class, the user just has to define an - * // object with the appropriate properties. - * - * // Example: - * { - * type : 'select', - * id : 'sport', - * label : 'Select your favourite sport', - * items : [ [ 'Basketball' ], [ 'Baseball' ], [ 'Hockey' ], [ 'Football' ] ], - * 'default' : 'Football', - * onChange : function( api ) { - * // this = CKEDITOR.ui.dialog.select - * alert( 'Current value: ' + this.getValue() ); - * } - * } - */ - -/** - * The default value. - * @name CKEDITOR.dialog.definition.select.prototype.default - * @type String - * @field - * @example - */ - -/** - * (Optional) The validation function. - * @name CKEDITOR.dialog.definition.select.prototype.validate - * @field - * @type Function - * @example - */ - -/** - * An array of options. Each option is a 1- or 2-item array of format [ 'Description', 'Value' ]. If 'Value' is missing, then the value would be assumed to be the same as the description. - * @name CKEDITOR.dialog.definition.select.prototype.items - * @field - * @type Array - * @example - */ - -/** - * (Optional) Set this to true if you'd like to have a multiple-choice select box. - * @name CKEDITOR.dialog.definition.select.prototype.multiple - * @type Boolean - * @field - * @example - * @default false - */ - -/** - * (Optional) The number of items to display in the select box. - * @name CKEDITOR.dialog.definition.select.prototype.size - * @type Number - * @field - * @example - */ - -// ----- textInput ----- - -/** - * The definition of a text field (single line). - *
- * This class is not really part of the API. It just illustrates the properties - * that developers can use to define and create text fields. - *

Once the dialog is opened, the created element becomes a {@link CKEDITOR.ui.dialog.textInput} object and can be accessed with {@link CKEDITOR.dialog#getContentElement}. - *
- * For a complete example of dialog definition, please check {@link CKEDITOR.dialog.add}. - * @name CKEDITOR.dialog.definition.textInput - * @extends CKEDITOR.dialog.definition.labeledElement - * @constructor - * @example - * // There is no constructor for this class, the user just has to define an - * // object with the appropriate properties. - * - * { - * type : 'text', - * id : 'name', - * label : 'Your name', - * 'default' : '', - * validate : function() { - * if ( !this.getValue() ) - * { - * api.openMsgDialog( '', 'Name cannot be empty.' ); - * return false; - * } - * } - * } - */ - -/** - * The default value. - * @name CKEDITOR.dialog.definition.textInput.prototype.default - * @type String - * @field - * @example - */ - -/** - * (Optional) The maximum length. - * @name CKEDITOR.dialog.definition.textInput.prototype.maxLength - * @type Number - * @field - * @example - */ - -/** - * (Optional) The size of the input field. - * @name CKEDITOR.dialog.definition.textInput.prototype.size - * @type Number - * @field - * @example - */ - -/** - * (Optional) The validation function. - * @name CKEDITOR.dialog.definition.textInput.prototype.validate - * @field - * @type Function - * @example - */ - -// ----- textarea ------ - -/** - * The definition of a text field (multiple lines). - *
- * This class is not really part of the API. It just illustrates the properties - * that developers can use to define and create textarea. - *

Once the dialog is opened, the created element becomes a {@link CKEDITOR.ui.dialog.textarea} object and can be accessed with {@link CKEDITOR.dialog#getContentElement}. - *
- * For a complete example of dialog definition, please check {@link CKEDITOR.dialog.add}. - * @name CKEDITOR.dialog.definition.textarea - * @extends CKEDITOR.dialog.definition.labeledElement - * @constructor - * @example - * // There is no constructor for this class, the user just has to define an - * // object with the appropriate properties. - * - * // Example: - * { - * type : 'textarea', - * id : 'message', - * label : 'Your comment', - * 'default' : '', - * validate : function() { - * if ( this.getValue().length < 5 ) - * { - * api.openMsgDialog( 'The comment is too short.' ); - * return false; - * } - * } - * } - */ - -/** - * The number of rows. - * @name CKEDITOR.dialog.definition.textarea.prototype.rows - * @type Number - * @field - * @example - */ - -/** - * The number of columns. - * @name CKEDITOR.dialog.definition.textarea.prototype.cols - * @type Number - * @field - * @example - */ - -/** - * (Optional) The validation function. - * @name CKEDITOR.dialog.definition.textarea.prototype.validate - * @field - * @type Function - * @example - */ - -/** - * The default value. - * @name CKEDITOR.dialog.definition.textarea.prototype.default - * @type String - * @field - * @example - */ +/** + * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. + * For licensing, see LICENSE.md or http://ckeditor.com/license + */ + +/** + * @fileOverview Defines the "virtual" dialog, dialog content and dialog button + * definition classes. + */ + +/** + * The definition of a dialog window. + * + * This class is not really part of the API. It just illustrates the properties + * that developers can use to define and create dialogs. + * + * // There is no constructor for this class, the user just has to define an + * // object with the appropriate properties. + * + * CKEDITOR.dialog.add( 'testOnly', function( editor ) { + * return { + * title: 'Test Dialog', + * resizable: CKEDITOR.DIALOG_RESIZE_BOTH, + * minWidth: 500, + * minHeight: 400, + * contents: [ + * { + * id: 'tab1', + * label: 'First Tab', + * title: 'First Tab Title', + * accessKey: 'Q', + * elements: [ + * { + * type: 'text', + * label: 'Test Text 1', + * id: 'testText1', + * 'default': 'hello world!' + * } + * ] + * } + * ] + * }; + * } ); + * + * @class CKEDITOR.dialog.definition + */ + +/** + * The dialog title, displayed in the dialog's header. Required. + * + * @property {String} title + */ + +/** + * How the dialog can be resized, must be one of the four contents defined below. + * + * * {@link CKEDITOR#DIALOG_RESIZE_NONE} + * * {@link CKEDITOR#DIALOG_RESIZE_WIDTH} + * * {@link CKEDITOR#DIALOG_RESIZE_HEIGHT} + * * {@link CKEDITOR#DIALOG_RESIZE_BOTH} + * + * @property {Number} [resizable=CKEDITOR.DIALOG_RESIZE_NONE] + */ + +/** + * The minimum width of the dialog, in pixels. + * + * @property {Number} [minWidth=600] + */ + +/** + * The minimum height of the dialog, in pixels. + * + * @property {Number} [minHeight=400] + */ + + +/** + * The initial width of the dialog, in pixels. + * + * @since 3.5.3 + * @property {Number} [width=CKEDITOR.dialog.definition#minWidth] + */ + +/** + * The initial height of the dialog, in pixels. + * + * @since 3.5.3 + * @property {Number} [height=CKEDITOR.dialog.definition.minHeight] + */ + +/** + * The buttons in the dialog, defined as an array of + * {@link CKEDITOR.dialog.definition.button} objects. + * + * @property {Array} [buttons=[ CKEDITOR.dialog.okButton, CKEDITOR.dialog.cancelButton ]] + */ + +/** + * The contents in the dialog, defined as an array of + * {@link CKEDITOR.dialog.definition.content} objects. Required. + * + * @property {Array} contents + */ + +/** + * The function to execute when OK is pressed. + * + * @property {Function} onOk + */ + +/** + * The function to execute when Cancel is pressed. + * + * @property {Function} onCancel + */ + +/** + * The function to execute when the dialog is displayed for the first time. + * + * @property {Function} onLoad + */ + +/** + * The function to execute when the dialog is loaded (executed every time the dialog is opened). + * + * @property {Function} onShow + */ + +/** + * This class is not really part of the API. It just illustrates the properties + * that developers can use to define and create dialog content pages. + * + * @class CKEDITOR.dialog.definition.content. + */ + +/** + * The id of the content page. + * + * @property {String} id + */ + +/** + * The tab label of the content page. + * + * @property {String} label + */ + +/** + * The popup message of the tab label. + * + * @property {String} title + */ + +/** + * The CTRL hotkey for switching to the tab. + * + * contentDefinition.accessKey = 'Q'; // Switch to this page when CTRL-Q is pressed. + * + * @property {String} accessKey + */ + +/** + * The UI elements contained in this content page, defined as an array of + * {@link CKEDITOR.dialog.definition.uiElement} objects. + * + * @property {Array} elements + */ + +/** + * The definition of user interface element (textarea, radio etc). + * + * This class is not really part of the API. It just illustrates the properties + * that developers can use to define and create dialog UI elements. + * + * @class CKEDITOR.dialog.definition.uiElement + * @see CKEDITOR.ui.dialog.uiElement + */ + +/** + * The id of the UI element. + * + * @property {String} id + */ + +/** + * The type of the UI element. Required. + * + * @property {String} type + */ + +/** + * The popup label of the UI element. + * + * @property {String} title + */ + +/** + * The content that needs to be allowed to enable this UI element. + * All formats accepted by {@link CKEDITOR.filter#check} may be used. + * + * When all UI elements in a tab are disabled, this tab will be disabled automatically. + * + * @property {String/Object/CKEDITOR.style} requiredContent + */ + +/** + * CSS class names to append to the UI element. + * + * @property {String} className + */ + +/** + * Inline CSS classes to append to the UI element. + * + * @property {String} style + */ + +/** + * Horizontal alignment (in container) of the UI element. + * + * @property {String} align + */ + +/** + * Function to execute the first time the UI element is displayed. + * + * @property {Function} onLoad + */ + +/** + * Function to execute whenever the UI element's parent dialog is displayed. + * + * @property {Function} onShow + */ + +/** + * Function to execute whenever the UI element's parent dialog is closed. + * + * @property {Function} onHide + */ + +/** + * Function to execute whenever the UI element's parent + * dialog's {@link CKEDITOR.dialog#setupContent} method is executed. + * It usually takes care of the respective UI element as a standalone element. + * + * @property {Function} setup + */ + +/** + * Function to execute whenever the UI element's parent + * dialog's {@link CKEDITOR.dialog#commitContent} method is executed. + * It usually takes care of the respective UI element as a standalone element. + * + * @property {Function} commit + */ + +// ----- hbox ----------------------------------------------------------------- + +/** + * Horizontal layout box for dialog UI elements, auto-expends to available width of container. + * + * This class is not really part of the API. It just illustrates the properties + * that developers can use to define and create horizontal layouts. + * + * Once the dialog is opened, the created element becomes a {@link CKEDITOR.ui.dialog.hbox} object and can be accessed with {@link CKEDITOR.dialog#getContentElement}. + * + * // There is no constructor for this class, the user just has to define an + * // object with the appropriate properties. + * + * // Example: + * { + * type: 'hbox', + * widths: [ '25%', '25%', '50%' ], + * children: [ + * { + * type: 'text', + * id: 'id1', + * width: '40px', + * }, + * { + * type: 'text', + * id: 'id2', + * width: '40px', + * }, + * { + * type: 'text', + * id: 'id3' + * } + * ] + * } + * + * @class CKEDITOR.dialog.definition.hbox + * @extends CKEDITOR.dialog.definition.uiElement + */ + +/** + * Array of {@link CKEDITOR.ui.dialog.uiElement} objects inside this container. + * + * @property {Array} children + */ + +/** + * (Optional) The widths of child cells. + * + * @property {Array} widths + */ + +/** + * (Optional) The height of the layout. + * + * @property {Number} height + */ + +/** + * The CSS styles to apply to this element. + * + * @property {String} styles + */ + +/** + * (Optional) The padding width inside child cells. Example: 0, 1. + * + * @property {Number} padding + */ + +/** + * (Optional) The alignment of the whole layout. Example: center, top. + * + * @property {String} align + */ + +// ----- vbox ----------------------------------------------------------------- + +/** + * Vertical layout box for dialog UI elements. + * + * This class is not really part of the API. It just illustrates the properties + * that developers can use to define and create vertical layouts. + * + * Once the dialog is opened, the created element becomes a {@link CKEDITOR.ui.dialog.vbox} object and can + * be accessed with {@link CKEDITOR.dialog#getContentElement}. + * + * // There is no constructor for this class, the user just has to define an + * // object with the appropriate properties. + * + * // Example: + * { + * type: 'vbox', + * align: 'right', + * width: '200px', + * children: [ + * { + * type: 'text', + * id: 'age', + * label: 'Age' + * }, + * { + * type: 'text', + * id: 'sex', + * label: 'Sex' + * }, + * { + * type: 'text', + * id: 'nationality', + * label: 'Nationality' + * } + * ] + * } + * + * @class CKEDITOR.dialog.definition.vbox + * @extends CKEDITOR.dialog.definition.uiElement + */ + +/** + * Array of {@link CKEDITOR.ui.dialog.uiElement} objects inside this container. + * + * @property {Array} children + */ + +/** + * (Optional) The width of the layout. + * + * @property {Array} width + */ + +/** + * (Optional) The heights of individual cells. + * + * @property {Number} heights + */ + +/** + * The CSS styles to apply to this element. + * + * @property {String} styles + */ + +/** + * (Optional) The padding width inside child cells. Example: 0, 1. + * + * @property {Number} padding + */ + +/** + * (Optional) The alignment of the whole layout. Example: center, top. + * + * @property {String} align + */ + +/** + * (Optional) Whether the layout should expand vertically to fill its container. + * + * @property {Boolean} expand + */ + +// ----- labeled element ------------------------------------------------------ + +/** + * The definition of labeled user interface element (textarea, textInput etc). + * + * This class is not really part of the API. It just illustrates the properties + * that developers can use to define and create dialog UI elements. + * + * @class CKEDITOR.dialog.definition.labeledElement + * @extends CKEDITOR.dialog.definition.uiElement + * @see CKEDITOR.ui.dialog.labeledElement + */ + +/** + * The label of the UI element. + * + * { + * type: 'text', + * label: 'My Label' + * } + * + * @property {String} label + */ + +/** + * (Optional) Specify the layout of the label. Set to `'horizontal'` for horizontal layout. + * The default layout is vertical. + * + * { + * type: 'text', + * label: 'My Label', + * labelLayout: 'horizontal' + * } + * + * @property {String} labelLayout + */ + +/** + * (Optional) Applies only to horizontal layouts: a two elements array of lengths to specify the widths of the + * label and the content element. See also {@link CKEDITOR.dialog.definition.labeledElement#labelLayout}. + * + * { + * type: 'text', + * label: 'My Label', + * labelLayout: 'horizontal', + * widths: [100, 200] + * } + * + * @property {Array} widths + */ + +/** + * Specify the inline style of the uiElement label. + * + * { + * type: 'text', + * label: 'My Label', + * labelStyle: 'color: red' + * } + * + * @property {String} labelStyle + */ + + +/** + * Specify the inline style of the input element. + * + * { + * type: 'text', + * label: 'My Label', + * inputStyle: 'text-align: center' + * } + * + * @since 3.6.1 + * @property {String} inputStyle + */ + +/** + * Specify the inline style of the input element container. + * + * { + * type: 'text', + * label: 'My Label', + * controlStyle: 'width: 3em' + * } + * + * @since 3.6.1 + * @property {String} controlStyle + */ + +// ----- button --------------------------------------------------------------- + +/** + * The definition of a button. + * + * This class is not really part of the API. It just illustrates the properties + * that developers can use to define and create buttons. + * + * Once the dialog is opened, the created element becomes a {@link CKEDITOR.ui.dialog.button} object + * and can be accessed with {@link CKEDITOR.dialog#getContentElement}. + * + * For a complete example of dialog definition, please check {@link CKEDITOR.dialog#add}. + * + * // There is no constructor for this class, the user just has to define an + * // object with the appropriate properties. + * + * // Example: + * { + * type: 'button', + * id: 'buttonId', + * label: 'Click me', + * title: 'My title', + * onClick: function() { + * // this = CKEDITOR.ui.dialog.button + * alert( 'Clicked: ' + this.id ); + * } + * } + * + * @class CKEDITOR.dialog.definition.button + * @extends CKEDITOR.dialog.definition.uiElement + */ + +/** + * Whether the button is disabled. + * + * @property {Boolean} disabled + */ + +/** + * The label of the UI element. + * + * @property {String} label + */ + +// ----- checkbox ------ +/** + * The definition of a checkbox element. + * + * This class is not really part of the API. It just illustrates the properties + * that developers can use to define and create groups of checkbox buttons. + * + * Once the dialog is opened, the created element becomes a {@link CKEDITOR.ui.dialog.checkbox} object + * and can be accessed with {@link CKEDITOR.dialog#getContentElement}. + * + * For a complete example of dialog definition, please check {@link CKEDITOR.dialog#add}. + * + * // There is no constructor for this class, the user just has to define an + * // object with the appropriate properties. + * + * // Example: + * { + * type: 'checkbox', + * id: 'agree', + * label: 'I agree', + * 'default': 'checked', + * onClick: function() { + * // this = CKEDITOR.ui.dialog.checkbox + * alert( 'Checked: ' + this.getValue() ); + * } + * } + * + * @class CKEDITOR.dialog.definition.checkbox + * @extends CKEDITOR.dialog.definition.uiElement + */ + +/** + * (Optional) The validation function. + * + * @property {Function} validate + */ + +/** + * The label of the UI element. + * + * @property {String} label + */ + +/** + * The default state. + * + * @property {String} [default='' (unchecked)] + */ + +// ----- file ----------------------------------------------------------------- + +/** + * The definition of a file upload input. + * + * This class is not really part of the API. It just illustrates the properties + * that developers can use to define and create file upload elements. + * + * Once the dialog is opened, the created element becomes a {@link CKEDITOR.ui.dialog.file} object + * and can be accessed with {@link CKEDITOR.dialog#getContentElement}. + * + * For a complete example of dialog definition, please check {@link CKEDITOR.dialog#add}. + * + * // There is no constructor for this class, the user just has to define an + * // object with the appropriate properties. + * + * // Example: + * { + * type: 'file', + * id: 'upload', + * label: 'Select file from your computer', + * size: 38 + * }, + * { + * type: 'fileButton', + * id: 'fileId', + * label: 'Upload file', + * 'for': [ 'tab1', 'upload' ], + * filebrowser: { + * onSelect: function( fileUrl, data ) { + * alert( 'Successfully uploaded: ' + fileUrl ); + * } + * } + * } + * + * @class CKEDITOR.dialog.definition.file + * @extends CKEDITOR.dialog.definition.labeledElement + */ + +/** + * (Optional) The validation function. + * + * @property {Function} validate + */ + +/** + * (Optional) The action attribute of the form element associated with this file upload input. + * If empty, CKEditor will use path to server connector for currently opened folder. + * + * @property {String} action + */ + +/** + * The size of the UI element. + * + * @property {Number} size + */ + +// ----- fileButton ----------------------------------------------------------- + +/** + * The definition of a button for submitting the file in a file upload input. + * + * This class is not really part of the API. It just illustrates the properties + * that developers can use to define and create a button for submitting the file in a file upload input. + * + * Once the dialog is opened, the created element becomes a {@link CKEDITOR.ui.dialog.fileButton} object + * and can be accessed with {@link CKEDITOR.dialog#getContentElement}. + * + * For a complete example of dialog definition, please check {@link CKEDITOR.dialog#add}. + * + * @class CKEDITOR.dialog.definition.fileButton + * @extends CKEDITOR.dialog.definition.uiElement + */ + +/** + * (Optional) The validation function. + * + * @property {Function} validate + */ + +/** + * The label of the UI element. + * + * @property {String} label + */ + +/** + * The instruction for CKEditor how to deal with file upload. + * By default, the file and fileButton elements will not work "as expected" if this attribute is not set. + * + * // Update field with id 'txtUrl' in the 'tab1' tab when file is uploaded. + * filebrowser: 'tab1:txtUrl' + * + * // Call custom onSelect function when file is successfully uploaded. + * filebrowser: { + * onSelect: function( fileUrl, data ) { + * alert( 'Successfully uploaded: ' + fileUrl ); + * } + * } + * + * @property {String} filebrowser/Object + */ + +/** + * An array that contains pageId and elementId of the file upload input element for which this button is created. + * + * [ pageId, elementId ] + * + * @property {String} for + */ + +// ----- html ----------------------------------------------------------------- + +/** + * The definition of a raw HTML element. + * + * This class is not really part of the API. It just illustrates the properties + * that developers can use to define and create elements made from raw HTML code. + * + * Once the dialog is opened, the created element becomes a {@link CKEDITOR.ui.dialog.html} object + * and can be accessed with {@link CKEDITOR.dialog#getContentElement}. + * + * For a complete example of dialog definition, please check {@link CKEDITOR.dialog#add}. + * To access HTML elements use {@link CKEDITOR.dom.document#getById}. + * + * // There is no constructor for this class, the user just has to define an + * // object with the appropriate properties. + * + * // Example 1: + * { + * type: 'html', + * html: '

This is some sample HTML content.

' + * } + * + * // Example 2: + * // Complete sample with document.getById() call when the "Ok" button is clicked. + * var dialogDefinition = { + * title: 'Sample dialog', + * minWidth: 300, + * minHeight: 200, + * onOk: function() { + * // "this" is now a CKEDITOR.dialog object. + * var document = this.getElement().getDocument(); + * // document = CKEDITOR.dom.document + * var element = document.getById( 'myDiv' ); + * if ( element ) + * alert( element.getHtml() ); + * }, + * contents: [ + * { + * id: 'tab1', + * label: '', + * title: '', + * elements: [ + * { + * type: 'html', + * html: '
Sample text.
Another div.
' + * } + * ] + * } + * ], + * buttons: [ CKEDITOR.dialog.cancelButton, CKEDITOR.dialog.okButton ] + * }; + * + * @class CKEDITOR.dialog.definition.html + * @extends CKEDITOR.dialog.definition.uiElement + */ + +/** + * (Required) HTML code of this element. + * + * @property {String} html + */ + +// ----- radio ---------------------------------------------------------------- + +/** + * The definition of a radio group. + * + * This class is not really part of the API. It just illustrates the properties + * that developers can use to define and create groups of radio buttons. + * + * Once the dialog is opened, the created element becomes a {@link CKEDITOR.ui.dialog.radio} object + * and can be accessed with {@link CKEDITOR.dialog#getContentElement}. + * + * For a complete example of dialog definition, please check {@link CKEDITOR.dialog#add}. + * + * // There is no constructor for this class, the user just has to define an + * // object with the appropriate properties. + * + * // Example: + * { + * type: 'radio', + * id: 'country', + * label: 'Which country is bigger', + * items: [ [ 'France', 'FR' ], [ 'Germany', 'DE' ] ], + * style: 'color: green', + * 'default': 'DE', + * onClick: function() { + * // this = CKEDITOR.ui.dialog.radio + * alert( 'Current value: ' + this.getValue() ); + * } + * } + * + * @class CKEDITOR.dialog.definition.radio + * @extends CKEDITOR.dialog.definition.labeledElement + */ + +/** + * The default value. + * + * @property {String} default + */ + +/** + * (Optional) The validation function. + * + * @property {Function} validate + */ + +/** + * An array of options. Each option is a 1- or 2-item array of format `[ 'Description', 'Value' ]`. + * If `'Value'` is missing, then the value would be assumed to be the same as the description. + * + * @property {Array} items + */ + +// ----- selectElement -------------------------------------------------------- + +/** + * The definition of a select element. + * + * This class is not really part of the API. It just illustrates the properties + * that developers can use to define and create select elements. + * + * Once the dialog is opened, the created element becomes a {@link CKEDITOR.ui.dialog.select} object + * and can be accessed with {@link CKEDITOR.dialog#getContentElement}. + * + * For a complete example of dialog definition, please check {@link CKEDITOR.dialog#add}. + * + * // There is no constructor for this class, the user just has to define an + * // object with the appropriate properties. + * + * // Example: + * { + * type: 'select', + * id: 'sport', + * label: 'Select your favourite sport', + * items: [ [ 'Basketball' ], [ 'Baseball' ], [ 'Hockey' ], [ 'Football' ] ], + * 'default': 'Football', + * onChange: function( api ) { + * // this = CKEDITOR.ui.dialog.select + * alert( 'Current value: ' + this.getValue() ); + * } + * } + * + * @class CKEDITOR.dialog.definition.select + * @extends CKEDITOR.dialog.definition.labeledElement + */ + +/** + * The default value. + * + * @property {String} default + */ + +/** + * (Optional) The validation function. + * + * @property {Function} validate + */ + +/** + * An array of options. Each option is a 1- or 2-item array of format `[ 'Description', 'Value' ]`. + * If `'Value'` is missing, then the value would be assumed to be the same as the description. + * + * @property {Array} items + */ + +/** + * (Optional) Set this to true if you'd like to have a multiple-choice select box. + * + * @property {Boolean} [multiple=false] + */ + +/** + * (Optional) The number of items to display in the select box. + * + * @property {Number} size + */ + +// ----- textInput ------------------------------------------------------------ + +/** + * The definition of a text field (single line). + * + * This class is not really part of the API. It just illustrates the properties + * that developers can use to define and create text fields. + * + * Once the dialog is opened, the created element becomes a {@link CKEDITOR.ui.dialog.textInput} object + * and can be accessed with {@link CKEDITOR.dialog#getContentElement}. + * + * For a complete example of dialog definition, please check {@link CKEDITOR.dialog#add}. + * + * // There is no constructor for this class, the user just has to define an + * // object with the appropriate properties. + * + * { + * type: 'text', + * id: 'name', + * label: 'Your name', + * 'default': '', + * validate: function() { + * if ( !this.getValue() ) { + * api.openMsgDialog( '', 'Name cannot be empty.' ); + * return false; + * } + * } + * } + * + * @class CKEDITOR.dialog.definition.textInput + * @extends CKEDITOR.dialog.definition.labeledElement + */ + +/** + * The default value. + * + * @property {String} default + */ + +/** + * (Optional) The maximum length. + * + * @property {Number} maxLength + */ + +/** + * (Optional) The size of the input field. + * + * @property {Number} size + */ + +/** + * (Optional) The validation function. + * + * @property {Function} validate + */ + +// ----- textarea ------------------------------------------------------------- + +/** + * The definition of a text field (multiple lines). + * + * This class is not really part of the API. It just illustrates the properties + * that developers can use to define and create textarea. + * + * Once the dialog is opened, the created element becomes a {@link CKEDITOR.ui.dialog.textarea} object + * and can be accessed with {@link CKEDITOR.dialog#getContentElement}. + * + * For a complete example of dialog definition, please check {@link CKEDITOR.dialog#add}. + * +* // There is no constructor for this class, the user just has to define an +* // object with the appropriate properties. +* +* // Example: +* { +* type: 'textarea', +* id: 'message', +* label: 'Your comment', +* 'default': '', +* validate: function() { +* if ( this.getValue().length < 5 ) { +* api.openMsgDialog( 'The comment is too short.' ); +* return false; +* } +* } +* } + * + * @class CKEDITOR.dialog.definition.textarea + * @extends CKEDITOR.dialog.definition.labeledElement + */ + +/** + * The number of rows. + * + * @property {Number} rows + */ + +/** + * The number of columns. + * + * @property {Number} cols + */ + +/** + * (Optional) The validation function. + * + * @property {Function} validate + */ + +/** + * The default value. + * + * @property {String} default + */ diff --git a/htdocs/includes/ckeditor/_source/plugins/dialog/plugin.js b/htdocs/includes/ckeditor/_source/plugins/dialog/plugin.js index e6a49484a58..c848eb38200 100644 --- a/htdocs/includes/ckeditor/_source/plugins/dialog/plugin.js +++ b/htdocs/includes/ckeditor/_source/plugins/dialog/plugin.js @@ -1,3322 +1,3267 @@ -/* -Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.html or http://ckeditor.com/license -*/ - -/** - * @fileOverview The floating dialog plugin. - */ - -/** - * No resize for this dialog. - * @constant - */ -CKEDITOR.DIALOG_RESIZE_NONE = 0; - -/** - * Only allow horizontal resizing for this dialog, disable vertical resizing. - * @constant - */ -CKEDITOR.DIALOG_RESIZE_WIDTH = 1; - -/** - * Only allow vertical resizing for this dialog, disable horizontal resizing. - * @constant - */ -CKEDITOR.DIALOG_RESIZE_HEIGHT = 2; - -/* - * Allow the dialog to be resized in both directions. - * @constant - */ -CKEDITOR.DIALOG_RESIZE_BOTH = 3; - -(function() -{ - var cssLength = CKEDITOR.tools.cssLength; - function isTabVisible( tabId ) - { - return !!this._.tabs[ tabId ][ 0 ].$.offsetHeight; - } - - function getPreviousVisibleTab() - { - var tabId = this._.currentTabId, - length = this._.tabIdList.length, - tabIndex = CKEDITOR.tools.indexOf( this._.tabIdList, tabId ) + length; - - for ( var i = tabIndex - 1 ; i > tabIndex - length ; i-- ) - { - if ( isTabVisible.call( this, this._.tabIdList[ i % length ] ) ) - return this._.tabIdList[ i % length ]; - } - - return null; - } - - function getNextVisibleTab() - { - var tabId = this._.currentTabId, - length = this._.tabIdList.length, - tabIndex = CKEDITOR.tools.indexOf( this._.tabIdList, tabId ); - - for ( var i = tabIndex + 1 ; i < tabIndex + length ; i++ ) - { - if ( isTabVisible.call( this, this._.tabIdList[ i % length ] ) ) - return this._.tabIdList[ i % length ]; - } - - return null; - } - - - function clearOrRecoverTextInputValue( container, isRecover ) - { - var inputs = container.$.getElementsByTagName( 'input' ); - for ( var i = 0, length = inputs.length; i < length ; i++ ) - { - var item = new CKEDITOR.dom.element( inputs[ i ] ); - - if ( item.getAttribute( 'type' ).toLowerCase() == 'text' ) - { - if ( isRecover ) - { - item.setAttribute( 'value', item.getCustomData( 'fake_value' ) || '' ); - item.removeCustomData( 'fake_value' ); - } - else - { - item.setCustomData( 'fake_value', item.getAttribute( 'value' ) ); - item.setAttribute( 'value', '' ); - } - } - } - } - - // Handle dialog element validation state UI changes. - function handleFieldValidated( isValid, msg ) - { - var input = this.getInputElement(); - if ( input ) - { - isValid ? input.removeAttribute( 'aria-invalid' ) - : input.setAttribute( 'aria-invalid', true ); - } - - if ( !isValid ) - { - if ( this.select ) - this.select(); - else - this.focus(); - } - - msg && alert( msg ); - - this.fire( 'validated', { valid : isValid, msg : msg } ); - } - - function resetField() - { - var input = this.getInputElement(); - input && input.removeAttribute( 'aria-invalid' ); - } - - - /** - * This is the base class for runtime dialog objects. An instance of this - * class represents a single named dialog for a single editor instance. - * @param {Object} editor The editor which created the dialog. - * @param {String} dialogName The dialog's registered name. - * @constructor - * @example - * var dialogObj = new CKEDITOR.dialog( editor, 'smiley' ); - */ - CKEDITOR.dialog = function( editor, dialogName ) - { - // Load the dialog definition. - var definition = CKEDITOR.dialog._.dialogDefinitions[ dialogName ], - defaultDefinition = CKEDITOR.tools.clone( defaultDialogDefinition ), - buttonsOrder = editor.config.dialog_buttonsOrder || 'OS', - dir = editor.lang.dir, - tabsToRemove = {}, - i, - processed, stopPropagation; - - if ( ( buttonsOrder == 'OS' && CKEDITOR.env.mac ) || // The buttons in MacOS Apps are in reverse order (#4750) - ( buttonsOrder == 'rtl' && dir == 'ltr' ) || - ( buttonsOrder == 'ltr' && dir == 'rtl' ) ) - defaultDefinition.buttons.reverse(); - - - // Completes the definition with the default values. - definition = CKEDITOR.tools.extend( definition( editor ), defaultDefinition ); - - // Clone a functionally independent copy for this dialog. - definition = CKEDITOR.tools.clone( definition ); - - // Create a complex definition object, extending it with the API - // functions. - definition = new definitionObject( this, definition ); - - var doc = CKEDITOR.document; - - var themeBuilt = editor.theme.buildDialog( editor ); - - // Initialize some basic parameters. - this._ = - { - editor : editor, - element : themeBuilt.element, - name : dialogName, - contentSize : { width : 0, height : 0 }, - size : { width : 0, height : 0 }, - contents : {}, - buttons : {}, - accessKeyMap : {}, - - // Initialize the tab and page map. - tabs : {}, - tabIdList : [], - currentTabId : null, - currentTabIndex : null, - pageCount : 0, - lastTab : null, - tabBarMode : false, - - // Initialize the tab order array for input widgets. - focusList : [], - currentFocusIndex : 0, - hasFocus : false - }; - - this.parts = themeBuilt.parts; - - CKEDITOR.tools.setTimeout( function() - { - editor.fire( 'ariaWidget', this.parts.contents ); - }, - 0, this ); - - // Set the startup styles for the dialog, avoiding it enlarging the - // page size on the dialog creation. - var startStyles = { - position : CKEDITOR.env.ie6Compat ? 'absolute' : 'fixed', - top : 0, - visibility : 'hidden' - }; - - startStyles[ dir == 'rtl' ? 'right' : 'left' ] = 0; - this.parts.dialog.setStyles( startStyles ); - - - // Call the CKEDITOR.event constructor to initialize this instance. - CKEDITOR.event.call( this ); - - // Fire the "dialogDefinition" event, making it possible to customize - // the dialog definition. - this.definition = definition = CKEDITOR.fire( 'dialogDefinition', - { - name : dialogName, - definition : definition - } - , editor ).definition; - - // Cache tabs that should be removed. - if ( !( 'removeDialogTabs' in editor._ ) && editor.config.removeDialogTabs ) - { - var removeContents = editor.config.removeDialogTabs.split( ';' ); - - for ( i = 0; i < removeContents.length; i++ ) - { - var parts = removeContents[ i ].split( ':' ); - if ( parts.length == 2 ) - { - var removeDialogName = parts[ 0 ]; - if ( !tabsToRemove[ removeDialogName ] ) - tabsToRemove[ removeDialogName ] = []; - tabsToRemove[ removeDialogName ].push( parts[ 1 ] ); - } - } - editor._.removeDialogTabs = tabsToRemove; - } - - // Remove tabs of this dialog. - if ( editor._.removeDialogTabs && ( tabsToRemove = editor._.removeDialogTabs[ dialogName ] ) ) - { - for ( i = 0; i < tabsToRemove.length; i++ ) - definition.removeContents( tabsToRemove[ i ] ); - } - - // Initialize load, show, hide, ok and cancel events. - if ( definition.onLoad ) - this.on( 'load', definition.onLoad ); - - if ( definition.onShow ) - this.on( 'show', definition.onShow ); - - if ( definition.onHide ) - this.on( 'hide', definition.onHide ); - - if ( definition.onOk ) - { - this.on( 'ok', function( evt ) - { - // Dialog confirm might probably introduce content changes (#5415). - editor.fire( 'saveSnapshot' ); - setTimeout( function () { editor.fire( 'saveSnapshot' ); }, 0 ); - if ( definition.onOk.call( this, evt ) === false ) - evt.data.hide = false; - }); - } - - if ( definition.onCancel ) - { - this.on( 'cancel', function( evt ) - { - if ( definition.onCancel.call( this, evt ) === false ) - evt.data.hide = false; - }); - } - - var me = this; - - // Iterates over all items inside all content in the dialog, calling a - // function for each of them. - var iterContents = function( func ) - { - var contents = me._.contents, - stop = false; - - for ( var i in contents ) - { - for ( var j in contents[i] ) - { - stop = func.call( this, contents[i][j] ); - if ( stop ) - return; - } - } - }; - - this.on( 'ok', function( evt ) - { - iterContents( function( item ) - { - if ( item.validate ) - { - var retval = item.validate( this ), - invalid = typeof ( retval ) == 'string' || retval === false; - - if ( invalid ) - { - evt.data.hide = false; - evt.stop(); - } - - handleFieldValidated.call( item, !invalid, typeof retval == 'string' ? retval : undefined ); - return invalid; - } - }); - }, this, null, 0 ); - - this.on( 'cancel', function( evt ) - { - iterContents( function( item ) - { - if ( item.isChanged() ) - { - if ( !confirm( editor.lang.common.confirmCancel ) ) - evt.data.hide = false; - return true; - } - }); - }, this, null, 0 ); - - this.parts.close.on( 'click', function( evt ) - { - if ( this.fire( 'cancel', { hide : true } ).hide !== false ) - this.hide(); - evt.data.preventDefault(); - }, this ); - - // Sort focus list according to tab order definitions. - function setupFocus() - { - var focusList = me._.focusList; - focusList.sort( function( a, b ) - { - // Mimics browser tab order logics; - if ( a.tabIndex != b.tabIndex ) - return b.tabIndex - a.tabIndex; - // Sort is not stable in some browsers, - // fall-back the comparator to 'focusIndex'; - else - return a.focusIndex - b.focusIndex; - }); - - var size = focusList.length; - for ( var i = 0; i < size; i++ ) - focusList[ i ].focusIndex = i; - } - - function changeFocus( offset ) - { - var focusList = me._.focusList; - offset = offset || 0; - - if ( focusList.length < 1 ) - return; - - var current = me._.currentFocusIndex; - - // Trigger the 'blur' event of any input element before anything, - // since certain UI updates may depend on it. - try - { - focusList[ current ].getInputElement().$.blur(); - } - catch( e ){} - - var startIndex = ( current + offset + focusList.length ) % focusList.length, - currentIndex = startIndex; - while ( offset && !focusList[ currentIndex ].isFocusable() ) - { - currentIndex = ( currentIndex + offset + focusList.length ) % focusList.length; - if ( currentIndex == startIndex ) - break; - } - - focusList[ currentIndex ].focus(); - - // Select whole field content. - if ( focusList[ currentIndex ].type == 'text' ) - focusList[ currentIndex ].select(); - } - - this.changeFocus = changeFocus; - - - function keydownHandler( evt ) - { - // If I'm not the top dialog, ignore. - if ( me != CKEDITOR.dialog._.currentTop ) - return; - - var keystroke = evt.data.getKeystroke(), - rtl = editor.lang.dir == 'rtl', - button; - - processed = stopPropagation = 0; - - if ( keystroke == 9 || keystroke == CKEDITOR.SHIFT + 9 ) - { - var shiftPressed = ( keystroke == CKEDITOR.SHIFT + 9 ); - - // Handling Tab and Shift-Tab. - if ( me._.tabBarMode ) - { - // Change tabs. - var nextId = shiftPressed ? getPreviousVisibleTab.call( me ) : getNextVisibleTab.call( me ); - me.selectPage( nextId ); - me._.tabs[ nextId ][ 0 ].focus(); - } - else - { - // Change the focus of inputs. - changeFocus( shiftPressed ? -1 : 1 ); - } - - processed = 1; - } - else if ( keystroke == CKEDITOR.ALT + 121 && !me._.tabBarMode && me.getPageCount() > 1 ) - { - // Alt-F10 puts focus into the current tab item in the tab bar. - me._.tabBarMode = true; - me._.tabs[ me._.currentTabId ][ 0 ].focus(); - processed = 1; - } - else if ( ( keystroke == 37 || keystroke == 39 ) && me._.tabBarMode ) - { - // Arrow keys - used for changing tabs. - nextId = ( keystroke == ( rtl ? 39 : 37 ) ? getPreviousVisibleTab.call( me ) : getNextVisibleTab.call( me ) ); - me.selectPage( nextId ); - me._.tabs[ nextId ][ 0 ].focus(); - processed = 1; - } - else if ( ( keystroke == 13 || keystroke == 32 ) && me._.tabBarMode ) - { - this.selectPage( this._.currentTabId ); - this._.tabBarMode = false; - this._.currentFocusIndex = -1; - changeFocus( 1 ); - processed = 1; - } - // If user presses enter key in a text box, it implies clicking OK for the dialog. - else if ( keystroke == 13 /*ENTER*/ ) - { - // Don't do that for a target that handles ENTER. - var target = evt.data.getTarget(); - if ( !target.is( 'a', 'button', 'select' ) && ( !target.is( 'input' ) || target.$.type != 'button' ) ) - { - button = this.getButton( 'ok' ); - button && CKEDITOR.tools.setTimeout( button.click, 0, button ); - processed = 1; - } - stopPropagation = 1; // Always block the propagation (#4269) - } - else if ( keystroke == 27 /*ESC*/ ) - { - button = this.getButton( 'cancel' ); - - // If there's a Cancel button, click it, else just fire the cancel event and hide the dialog. - if ( button ) - CKEDITOR.tools.setTimeout( button.click, 0, button ); - else - { - if ( this.fire( 'cancel', { hide : true } ).hide !== false ) - this.hide(); - } - stopPropagation = 1; // Always block the propagation (#4269) - } - else - return; - - keypressHandler( evt ); - } - - function keypressHandler( evt ) - { - if ( processed ) - evt.data.preventDefault(1); - else if ( stopPropagation ) - evt.data.stopPropagation(); - } - - var dialogElement = this._.element; - // Add the dialog keyboard handlers. - this.on( 'show', function() - { - dialogElement.on( 'keydown', keydownHandler, this ); - - // Some browsers instead, don't cancel key events in the keydown, but in the - // keypress. So we must do a longer trip in those cases. (#4531,#8985) - if ( CKEDITOR.env.opera || CKEDITOR.env.gecko ) - dialogElement.on( 'keypress', keypressHandler, this ); - - } ); - this.on( 'hide', function() - { - dialogElement.removeListener( 'keydown', keydownHandler ); - if ( CKEDITOR.env.opera || CKEDITOR.env.gecko ) - dialogElement.removeListener( 'keypress', keypressHandler ); - - // Reset fields state when closing dialog. - iterContents( function( item ) { resetField.apply( item ); } ); - } ); - this.on( 'iframeAdded', function( evt ) - { - var doc = new CKEDITOR.dom.document( evt.data.iframe.$.contentWindow.document ); - doc.on( 'keydown', keydownHandler, this, null, 0 ); - } ); - - // Auto-focus logic in dialog. - this.on( 'show', function() - { - // Setup tabIndex on showing the dialog instead of on loading - // to allow dynamic tab order happen in dialog definition. - setupFocus(); - - if ( editor.config.dialog_startupFocusTab - && me._.pageCount > 1 ) - { - me._.tabBarMode = true; - me._.tabs[ me._.currentTabId ][ 0 ].focus(); - } - else if ( !this._.hasFocus ) - { - this._.currentFocusIndex = -1; - - // Decide where to put the initial focus. - if ( definition.onFocus ) - { - var initialFocus = definition.onFocus.call( this ); - // Focus the field that the user specified. - initialFocus && initialFocus.focus(); - } - // Focus the first field in layout order. - else - changeFocus( 1 ); - - /* - * IE BUG: If the initial focus went into a non-text element (e.g. button), - * then IE would still leave the caret inside the editing area. - */ - if ( this._.editor.mode == 'wysiwyg' && CKEDITOR.env.ie ) - { - var $selection = editor.document.$.selection, - $range = $selection.createRange(); - - if ( $range ) - { - if ( $range.parentElement && $range.parentElement().ownerDocument == editor.document.$ - || $range.item && $range.item( 0 ).ownerDocument == editor.document.$ ) - { - var $myRange = document.body.createTextRange(); - $myRange.moveToElementText( this.getElement().getFirst().$ ); - $myRange.collapse( true ); - $myRange.select(); - } - } - } - } - }, this, null, 0xffffffff ); - - // IE6 BUG: Text fields and text areas are only half-rendered the first time the dialog appears in IE6 (#2661). - // This is still needed after [2708] and [2709] because text fields in hidden TR tags are still broken. - if ( CKEDITOR.env.ie6Compat ) - { - this.on( 'load', function( evt ) - { - var outer = this.getElement(), - inner = outer.getFirst(); - inner.remove(); - inner.appendTo( outer ); - }, this ); - } - - initDragAndDrop( this ); - initResizeHandles( this ); - - // Insert the title. - ( new CKEDITOR.dom.text( definition.title, CKEDITOR.document ) ).appendTo( this.parts.title ); - - // Insert the tabs and contents. - for ( i = 0 ; i < definition.contents.length ; i++ ) - { - var page = definition.contents[i]; - page && this.addPage( page ); - } - - this.parts[ 'tabs' ].on( 'click', function( evt ) - { - var target = evt.data.getTarget(); - // If we aren't inside a tab, bail out. - if ( target.hasClass( 'cke_dialog_tab' ) ) - { - // Get the ID of the tab, without the 'cke_' prefix and the unique number suffix. - var id = target.$.id; - this.selectPage( id.substring( 4, id.lastIndexOf( '_' ) ) ); - - if ( this._.tabBarMode ) - { - this._.tabBarMode = false; - this._.currentFocusIndex = -1; - changeFocus( 1 ); - } - evt.data.preventDefault(); - } - }, this ); - - // Insert buttons. - var buttonsHtml = [], - buttons = CKEDITOR.dialog._.uiElementBuilders.hbox.build( this, - { - type : 'hbox', - className : 'cke_dialog_footer_buttons', - widths : [], - children : definition.buttons - }, buttonsHtml ).getChild(); - this.parts.footer.setHtml( buttonsHtml.join( '' ) ); - - for ( i = 0 ; i < buttons.length ; i++ ) - this._.buttons[ buttons[i].id ] = buttons[i]; - }; - - // Focusable interface. Use it via dialog.addFocusable. - function Focusable( dialog, element, index ) - { - this.element = element; - this.focusIndex = index; - // TODO: support tabIndex for focusables. - this.tabIndex = 0; - this.isFocusable = function() - { - return !element.getAttribute( 'disabled' ) && element.isVisible(); - }; - this.focus = function() - { - dialog._.currentFocusIndex = this.focusIndex; - this.element.focus(); - }; - // Bind events - element.on( 'keydown', function( e ) - { - if ( e.data.getKeystroke() in { 32:1, 13:1 } ) - this.fire( 'click' ); - } ); - element.on( 'focus', function() - { - this.fire( 'mouseover' ); - } ); - element.on( 'blur', function() - { - this.fire( 'mouseout' ); - } ); - } - - CKEDITOR.dialog.prototype = - { - destroy : function() - { - this.hide(); - this._.element.remove(); - }, - - /** - * Resizes the dialog. - * @param {Number} width The width of the dialog in pixels. - * @param {Number} height The height of the dialog in pixels. - * @function - * @example - * dialogObj.resize( 800, 640 ); - */ - resize : (function() - { - return function( width, height ) - { - if ( this._.contentSize && this._.contentSize.width == width && this._.contentSize.height == height ) - return; - - CKEDITOR.dialog.fire( 'resize', - { - dialog : this, - skin : this._.editor.skinName, - width : width, - height : height - }, this._.editor ); - - this.fire( 'resize', - { - skin : this._.editor.skinName, - width : width, - height : height - }, this._.editor ); - - // Update dialog position when dimension get changed in RTL. - if ( this._.editor.lang.dir == 'rtl' && this._.position ) - this._.position.x = CKEDITOR.document.getWindow().getViewPaneSize().width - - this._.contentSize.width - parseInt( this._.element.getFirst().getStyle( 'right' ), 10 ); - - this._.contentSize = { width : width, height : height }; - }; - })(), - - /** - * Gets the current size of the dialog in pixels. - * @returns {Object} An object with "width" and "height" properties. - * @example - * var width = dialogObj.getSize().width; - */ - getSize : function() - { - var element = this._.element.getFirst(); - return { width : element.$.offsetWidth || 0, height : element.$.offsetHeight || 0}; - }, - - /** - * Moves the dialog to an (x, y) coordinate relative to the window. - * @function - * @param {Number} x The target x-coordinate. - * @param {Number} y The target y-coordinate. - * @param {Boolean} save Flag indicate whether the dialog position should be remembered on next open up. - * @example - * dialogObj.move( 10, 40 ); - */ - move : (function() - { - var isFixed; - return function( x, y, save ) - { - // The dialog may be fixed positioned or absolute positioned. Ask the - // browser what is the current situation first. - var element = this._.element.getFirst(), - rtl = this._.editor.lang.dir == 'rtl'; - - if ( isFixed === undefined ) - isFixed = element.getComputedStyle( 'position' ) == 'fixed'; - - if ( isFixed && this._.position && this._.position.x == x && this._.position.y == y ) - return; - - // Save the current position. - this._.position = { x : x, y : y }; - - // If not fixed positioned, add scroll position to the coordinates. - if ( !isFixed ) - { - var scrollPosition = CKEDITOR.document.getWindow().getScrollPosition(); - x += scrollPosition.x; - y += scrollPosition.y; - } - - // Translate coordinate for RTL. - if ( rtl ) - { - var dialogSize = this.getSize(), - viewPaneSize = CKEDITOR.document.getWindow().getViewPaneSize(); - x = viewPaneSize.width - dialogSize.width - x; - } - - var styles = { 'top' : ( y > 0 ? y : 0 ) + 'px' }; - styles[ rtl ? 'right' : 'left' ] = ( x > 0 ? x : 0 ) + 'px'; - - element.setStyles( styles ); - - save && ( this._.moved = 1 ); - }; - })(), - - /** - * Gets the dialog's position in the window. - * @returns {Object} An object with "x" and "y" properties. - * @example - * var dialogX = dialogObj.getPosition().x; - */ - getPosition : function(){ return CKEDITOR.tools.extend( {}, this._.position ); }, - - /** - * Shows the dialog box. - * @example - * dialogObj.show(); - */ - show : function() - { - // Insert the dialog's element to the root document. - var element = this._.element; - var definition = this.definition; - if ( !( element.getParent() && element.getParent().equals( CKEDITOR.document.getBody() ) ) ) - element.appendTo( CKEDITOR.document.getBody() ); - else - element.setStyle( 'display', 'block' ); - - // FIREFOX BUG: Fix vanishing caret for Firefox 2 or Gecko 1.8. - if ( CKEDITOR.env.gecko && CKEDITOR.env.version < 10900 ) - { - var dialogElement = this.parts.dialog; - dialogElement.setStyle( 'position', 'absolute' ); - setTimeout( function() - { - dialogElement.setStyle( 'position', 'fixed' ); - }, 0 ); - } - - - // First, set the dialog to an appropriate size. - this.resize( this._.contentSize && this._.contentSize.width || definition.width || definition.minWidth, - this._.contentSize && this._.contentSize.height || definition.height || definition.minHeight ); - - // Reset all inputs back to their default value. - this.reset(); - - // Select the first tab by default. - this.selectPage( this.definition.contents[0].id ); - - // Set z-index. - if ( CKEDITOR.dialog._.currentZIndex === null ) - CKEDITOR.dialog._.currentZIndex = this._.editor.config.baseFloatZIndex; - this._.element.getFirst().setStyle( 'z-index', CKEDITOR.dialog._.currentZIndex += 10 ); - - // Maintain the dialog ordering and dialog cover. - if ( CKEDITOR.dialog._.currentTop === null ) - { - CKEDITOR.dialog._.currentTop = this; - this._.parentDialog = null; - showCover( this._.editor ); - - } - else - { - this._.parentDialog = CKEDITOR.dialog._.currentTop; - var parentElement = this._.parentDialog.getElement().getFirst(); - parentElement.$.style.zIndex -= Math.floor( this._.editor.config.baseFloatZIndex / 2 ); - CKEDITOR.dialog._.currentTop = this; - } - - element.on( 'keydown', accessKeyDownHandler ); - element.on( CKEDITOR.env.opera ? 'keypress' : 'keyup', accessKeyUpHandler ); - - // Reset the hasFocus state. - this._.hasFocus = false; - - CKEDITOR.tools.setTimeout( function() - { - this.layout(); - this.parts.dialog.setStyle( 'visibility', '' ); - - // Execute onLoad for the first show. - this.fireOnce( 'load', {} ); - CKEDITOR.ui.fire( 'ready', this ); - - this.fire( 'show', {} ); - this._.editor.fire( 'dialogShow', this ); - - // Save the initial values of the dialog. - this.foreach( function( contentObj ) { contentObj.setInitValue && contentObj.setInitValue(); } ); - - }, - 100, this ); - }, - - /** - * Rearrange the dialog to its previous position or the middle of the window. - * @since 3.5 - */ - layout : function() - { - var viewSize = CKEDITOR.document.getWindow().getViewPaneSize(), - dialogSize = this.getSize(); - - this.move( this._.moved ? this._.position.x : ( viewSize.width - dialogSize.width ) / 2, - this._.moved ? this._.position.y : ( viewSize.height - dialogSize.height ) / 2 ); - }, - - /** - * Executes a function for each UI element. - * @param {Function} fn Function to execute for each UI element. - * @returns {CKEDITOR.dialog} The current dialog object. - */ - foreach : function( fn ) - { - for ( var i in this._.contents ) - { - for ( var j in this._.contents[i] ) - fn.call( this, this._.contents[i][j] ); - } - return this; - }, - - /** - * Resets all input values in the dialog. - * @example - * dialogObj.reset(); - * @returns {CKEDITOR.dialog} The current dialog object. - */ - reset : (function() - { - var fn = function( widget ){ if ( widget.reset ) widget.reset( 1 ); }; - return function(){ this.foreach( fn ); return this; }; - })(), - - - /** - * Calls the {@link CKEDITOR.dialog.definition.uiElement#setup} method of each of the UI elements, with the arguments passed through it. - * It is usually being called when the dialog is opened, to put the initial value inside the field. - * @example - * dialogObj.setupContent(); - * @example - * var timestamp = ( new Date() ).valueOf(); - * dialogObj.setupContent( timestamp ); - */ - setupContent : function() - { - var args = arguments; - this.foreach( function( widget ) - { - if ( widget.setup ) - widget.setup.apply( widget, args ); - }); - }, - - /** - * Calls the {@link CKEDITOR.dialog.definition.uiElement#commit} method of each of the UI elements, with the arguments passed through it. - * It is usually being called when the user confirms the dialog, to process the values. - * @example - * dialogObj.commitContent(); - * @example - * var timestamp = ( new Date() ).valueOf(); - * dialogObj.commitContent( timestamp ); - */ - commitContent : function() - { - var args = arguments; - this.foreach( function( widget ) - { - // Make sure IE triggers "change" event on last focused input before closing the dialog. (#7915) - if ( CKEDITOR.env.ie && this._.currentFocusIndex == widget.focusIndex ) - widget.getInputElement().$.blur(); - - if ( widget.commit ) - widget.commit.apply( widget, args ); - }); - }, - - /** - * Hides the dialog box. - * @example - * dialogObj.hide(); - */ - hide : function() - { - if ( !this.parts.dialog.isVisible() ) - return; - - this.fire( 'hide', {} ); - this._.editor.fire( 'dialogHide', this ); - // Reset the tab page. - this.selectPage( this._.tabIdList[ 0 ] ); - var element = this._.element; - element.setStyle( 'display', 'none' ); - this.parts.dialog.setStyle( 'visibility', 'hidden' ); - // Unregister all access keys associated with this dialog. - unregisterAccessKey( this ); - - // Close any child(top) dialogs first. - while( CKEDITOR.dialog._.currentTop != this ) - CKEDITOR.dialog._.currentTop.hide(); - - // Maintain dialog ordering and remove cover if needed. - if ( !this._.parentDialog ) - hideCover(); - else - { - var parentElement = this._.parentDialog.getElement().getFirst(); - parentElement.setStyle( 'z-index', parseInt( parentElement.$.style.zIndex, 10 ) + Math.floor( this._.editor.config.baseFloatZIndex / 2 ) ); - } - CKEDITOR.dialog._.currentTop = this._.parentDialog; - - // Deduct or clear the z-index. - if ( !this._.parentDialog ) - { - CKEDITOR.dialog._.currentZIndex = null; - - // Remove access key handlers. - element.removeListener( 'keydown', accessKeyDownHandler ); - element.removeListener( CKEDITOR.env.opera ? 'keypress' : 'keyup', accessKeyUpHandler ); - - var editor = this._.editor; - editor.focus(); - - if ( editor.mode == 'wysiwyg' && CKEDITOR.env.ie ) - { - var selection = editor.getSelection(); - selection && selection.unlock( true ); - } - } - else - CKEDITOR.dialog._.currentZIndex -= 10; - - delete this._.parentDialog; - // Reset the initial values of the dialog. - this.foreach( function( contentObj ) { contentObj.resetInitValue && contentObj.resetInitValue(); } ); - }, - - /** - * Adds a tabbed page into the dialog. - * @param {Object} contents Content definition. - * @example - */ - addPage : function( contents ) - { - var pageHtml = [], - titleHtml = contents.label ? ' title="' + CKEDITOR.tools.htmlEncode( contents.label ) + '"' : '', - elements = contents.elements, - vbox = CKEDITOR.dialog._.uiElementBuilders.vbox.build( this, - { - type : 'vbox', - className : 'cke_dialog_page_contents', - children : contents.elements, - expand : !!contents.expand, - padding : contents.padding, - style : contents.style || 'width: 100%;height:100%' - }, pageHtml ); - - // Create the HTML for the tab and the content block. - var page = CKEDITOR.dom.element.createFromHtml( pageHtml.join( '' ) ); - page.setAttribute( 'role', 'tabpanel' ); - - var env = CKEDITOR.env; - var tabId = 'cke_' + contents.id + '_' + CKEDITOR.tools.getNextNumber(), - tab = CKEDITOR.dom.element.createFromHtml( [ - ' 0 ? ' cke_last' : 'cke_first' ), - titleHtml, - ( !!contents.hidden ? ' style="display:none"' : '' ), - ' id="', tabId, '"', - env.gecko && env.version >= 10900 && !env.hc ? '' : ' href="javascript:void(0)"', - ' tabIndex="-1"', - ' hidefocus="true"', - ' role="tab">', - contents.label, - '' - ].join( '' ) ); - - page.setAttribute( 'aria-labelledby', tabId ); - - // Take records for the tabs and elements created. - this._.tabs[ contents.id ] = [ tab, page ]; - this._.tabIdList.push( contents.id ); - !contents.hidden && this._.pageCount++; - this._.lastTab = tab; - this.updateStyle(); - - var contentMap = this._.contents[ contents.id ] = {}, - cursor, - children = vbox.getChild(); - - while ( ( cursor = children.shift() ) ) - { - contentMap[ cursor.id ] = cursor; - if ( typeof( cursor.getChild ) == 'function' ) - children.push.apply( children, cursor.getChild() ); - } - - // Attach the DOM nodes. - - page.setAttribute( 'name', contents.id ); - page.appendTo( this.parts.contents ); - - tab.unselectable(); - this.parts.tabs.append( tab ); - - // Add access key handlers if access key is defined. - if ( contents.accessKey ) - { - registerAccessKey( this, this, 'CTRL+' + contents.accessKey, - tabAccessKeyDown, tabAccessKeyUp ); - this._.accessKeyMap[ 'CTRL+' + contents.accessKey ] = contents.id; - } - }, - - /** - * Activates a tab page in the dialog by its id. - * @param {String} id The id of the dialog tab to be activated. - * @example - * dialogObj.selectPage( 'tab_1' ); - */ - selectPage : function( id ) - { - if ( this._.currentTabId == id ) - return; - - // Returning true means that the event has been canceled - if ( this.fire( 'selectPage', { page : id, currentPage : this._.currentTabId } ) === true ) - return; - - // Hide the non-selected tabs and pages. - for ( var i in this._.tabs ) - { - var tab = this._.tabs[i][0], - page = this._.tabs[i][1]; - if ( i != id ) - { - tab.removeClass( 'cke_dialog_tab_selected' ); - page.hide(); - } - page.setAttribute( 'aria-hidden', i != id ); - } - - var selected = this._.tabs[ id ]; - selected[ 0 ].addClass( 'cke_dialog_tab_selected' ); - - // [IE] an invisible input[type='text'] will enlarge it's width - // if it's value is long when it shows, so we clear it's value - // before it shows and then recover it (#5649) - if ( CKEDITOR.env.ie6Compat || CKEDITOR.env.ie7Compat ) - { - clearOrRecoverTextInputValue( selected[ 1 ] ); - selected[ 1 ].show(); - setTimeout( function() - { - clearOrRecoverTextInputValue( selected[ 1 ], 1 ); - }, 0 ); - } - else - selected[ 1 ].show(); - - this._.currentTabId = id; - this._.currentTabIndex = CKEDITOR.tools.indexOf( this._.tabIdList, id ); - }, - - // Dialog state-specific style updates. - updateStyle : function() - { - // If only a single page shown, a different style is used in the central pane. - this.parts.dialog[ ( this._.pageCount === 1 ? 'add' : 'remove' ) + 'Class' ]( 'cke_single_page' ); - }, - - /** - * Hides a page's tab away from the dialog. - * @param {String} id The page's Id. - * @example - * dialog.hidePage( 'tab_3' ); - */ - hidePage : function( id ) - { - var tab = this._.tabs[id] && this._.tabs[id][0]; - if ( !tab || this._.pageCount == 1 || !tab.isVisible() ) - return; - // Switch to other tab first when we're hiding the active tab. - else if ( id == this._.currentTabId ) - this.selectPage( getPreviousVisibleTab.call( this ) ); - - tab.hide(); - this._.pageCount--; - this.updateStyle(); - }, - - /** - * Unhides a page's tab. - * @param {String} id The page's Id. - * @example - * dialog.showPage( 'tab_2' ); - */ - showPage : function( id ) - { - var tab = this._.tabs[id] && this._.tabs[id][0]; - if ( !tab ) - return; - tab.show(); - this._.pageCount++; - this.updateStyle(); - }, - - /** - * Gets the root DOM element of the dialog. - * @returns {CKEDITOR.dom.element} The <span> element containing this dialog. - * @example - * var dialogElement = dialogObj.getElement().getFirst(); - * dialogElement.setStyle( 'padding', '5px' ); - */ - getElement : function() - { - return this._.element; - }, - - /** - * Gets the name of the dialog. - * @returns {String} The name of this dialog. - * @example - * var dialogName = dialogObj.getName(); - */ - getName : function() - { - return this._.name; - }, - - /** - * Gets a dialog UI element object from a dialog page. - * @param {String} pageId id of dialog page. - * @param {String} elementId id of UI element. - * @example - * dialogObj.getContentElement( 'tabId', 'elementId' ).setValue( 'Example' ); - * @returns {CKEDITOR.ui.dialog.uiElement} The dialog UI element. - */ - getContentElement : function( pageId, elementId ) - { - var page = this._.contents[ pageId ]; - return page && page[ elementId ]; - }, - - /** - * Gets the value of a dialog UI element. - * @param {String} pageId id of dialog page. - * @param {String} elementId id of UI element. - * @example - * alert( dialogObj.getValueOf( 'tabId', 'elementId' ) ); - * @returns {Object} The value of the UI element. - */ - getValueOf : function( pageId, elementId ) - { - return this.getContentElement( pageId, elementId ).getValue(); - }, - - /** - * Sets the value of a dialog UI element. - * @param {String} pageId id of the dialog page. - * @param {String} elementId id of the UI element. - * @param {Object} value The new value of the UI element. - * @example - * dialogObj.setValueOf( 'tabId', 'elementId', 'Example' ); - */ - setValueOf : function( pageId, elementId, value ) - { - return this.getContentElement( pageId, elementId ).setValue( value ); - }, - - /** - * Gets the UI element of a button in the dialog's button row. - * @param {String} id The id of the button. - * @example - * @returns {CKEDITOR.ui.dialog.button} The button object. - */ - getButton : function( id ) - { - return this._.buttons[ id ]; - }, - - /** - * Simulates a click to a dialog button in the dialog's button row. - * @param {String} id The id of the button. - * @example - * @returns The return value of the dialog's "click" event. - */ - click : function( id ) - { - return this._.buttons[ id ].click(); - }, - - /** - * Disables a dialog button. - * @param {String} id The id of the button. - * @example - */ - disableButton : function( id ) - { - return this._.buttons[ id ].disable(); - }, - - /** - * Enables a dialog button. - * @param {String} id The id of the button. - * @example - */ - enableButton : function( id ) - { - return this._.buttons[ id ].enable(); - }, - - /** - * Gets the number of pages in the dialog. - * @returns {Number} Page count. - */ - getPageCount : function() - { - return this._.pageCount; - }, - - /** - * Gets the editor instance which opened this dialog. - * @returns {CKEDITOR.editor} Parent editor instances. - */ - getParentEditor : function() - { - return this._.editor; - }, - - /** - * Gets the element that was selected when opening the dialog, if any. - * @returns {CKEDITOR.dom.element} The element that was selected, or null. - */ - getSelectedElement : function() - { - return this.getParentEditor().getSelection().getSelectedElement(); - }, - - /** - * Adds element to dialog's focusable list. - * - * @param {CKEDITOR.dom.element} element - * @param {Number} [index] - */ - addFocusable: function( element, index ) { - if ( typeof index == 'undefined' ) - { - index = this._.focusList.length; - this._.focusList.push( new Focusable( this, element, index ) ); - } - else - { - this._.focusList.splice( index, 0, new Focusable( this, element, index ) ); - for ( var i = index + 1 ; i < this._.focusList.length ; i++ ) - this._.focusList[ i ].focusIndex++; - } - } - }; - - CKEDITOR.tools.extend( CKEDITOR.dialog, - /** - * @lends CKEDITOR.dialog - */ - { - /** - * Registers a dialog. - * @param {String} name The dialog's name. - * @param {Function|String} dialogDefinition - * A function returning the dialog's definition, or the URL to the .js file holding the function. - * The function should accept an argument "editor" which is the current editor instance, and - * return an object conforming to {@link CKEDITOR.dialog.definition}. - * @see CKEDITOR.dialog.definition - * @example - * // Full sample plugin, which does not only register a dialog window but also adds an item to the context menu. - * // To open the dialog window, choose "Open dialog" in the context menu. - * CKEDITOR.plugins.add( 'myplugin', - * { - * init: function( editor ) - * { - * editor.addCommand( 'mydialog',new CKEDITOR.dialogCommand( 'mydialog' ) ); - * - * if ( editor.contextMenu ) - * { - * editor.addMenuGroup( 'mygroup', 10 ); - * editor.addMenuItem( 'My Dialog', - * { - * label : 'Open dialog', - * command : 'mydialog', - * group : 'mygroup' - * }); - * editor.contextMenu.addListener( function( element ) - * { - * return { 'My Dialog' : CKEDITOR.TRISTATE_OFF }; - * }); - * } - * - * CKEDITOR.dialog.add( 'mydialog', function( api ) - * { - * // CKEDITOR.dialog.definition - * var dialogDefinition = - * { - * title : 'Sample dialog', - * minWidth : 390, - * minHeight : 130, - * contents : [ - * { - * id : 'tab1', - * label : 'Label', - * title : 'Title', - * expand : true, - * padding : 0, - * elements : - * [ - * { - * type : 'html', - * html : '<p>This is some sample HTML content.</p>' - * }, - * { - * type : 'textarea', - * id : 'textareaId', - * rows : 4, - * cols : 40 - * } - * ] - * } - * ], - * buttons : [ CKEDITOR.dialog.okButton, CKEDITOR.dialog.cancelButton ], - * onOk : function() { - * // "this" is now a CKEDITOR.dialog object. - * // Accessing dialog elements: - * var textareaObj = this.getContentElement( 'tab1', 'textareaId' ); - * alert( "You have entered: " + textareaObj.getValue() ); - * } - * }; - * - * return dialogDefinition; - * } ); - * } - * } ); - * - * CKEDITOR.replace( 'editor1', { extraPlugins : 'myplugin' } ); - */ - add : function( name, dialogDefinition ) - { - // Avoid path registration from multiple instances override definition. - if ( !this._.dialogDefinitions[name] - || typeof dialogDefinition == 'function' ) - this._.dialogDefinitions[name] = dialogDefinition; - }, - - exists : function( name ) - { - return !!this._.dialogDefinitions[ name ]; - }, - - getCurrent : function() - { - return CKEDITOR.dialog._.currentTop; - }, - - /** - * The default OK button for dialogs. Fires the "ok" event and closes the dialog if the event succeeds. - * @static - * @field - * @example - * @type Function - */ - okButton : (function() - { - var retval = function( editor, override ) - { - override = override || {}; - return CKEDITOR.tools.extend( { - id : 'ok', - type : 'button', - label : editor.lang.common.ok, - 'class' : 'cke_dialog_ui_button_ok', - onClick : function( evt ) - { - var dialog = evt.data.dialog; - if ( dialog.fire( 'ok', { hide : true } ).hide !== false ) - dialog.hide(); - } - }, override, true ); - }; - retval.type = 'button'; - retval.override = function( override ) - { - return CKEDITOR.tools.extend( function( editor ){ return retval( editor, override ); }, - { type : 'button' }, true ); - }; - return retval; - })(), - - /** - * The default cancel button for dialogs. Fires the "cancel" event and closes the dialog if no UI element value changed. - * @static - * @field - * @example - * @type Function - */ - cancelButton : (function() - { - var retval = function( editor, override ) - { - override = override || {}; - return CKEDITOR.tools.extend( { - id : 'cancel', - type : 'button', - label : editor.lang.common.cancel, - 'class' : 'cke_dialog_ui_button_cancel', - onClick : function( evt ) - { - var dialog = evt.data.dialog; - if ( dialog.fire( 'cancel', { hide : true } ).hide !== false ) - dialog.hide(); - } - }, override, true ); - }; - retval.type = 'button'; - retval.override = function( override ) - { - return CKEDITOR.tools.extend( function( editor ){ return retval( editor, override ); }, - { type : 'button' }, true ); - }; - return retval; - })(), - - /** - * Registers a dialog UI element. - * @param {String} typeName The name of the UI element. - * @param {Function} builder The function to build the UI element. - * @example - */ - addUIElement : function( typeName, builder ) - { - this._.uiElementBuilders[ typeName ] = builder; - } - }); - - CKEDITOR.dialog._ = - { - uiElementBuilders : {}, - - dialogDefinitions : {}, - - currentTop : null, - - currentZIndex : null - }; - - // "Inherit" (copy actually) from CKEDITOR.event. - CKEDITOR.event.implementOn( CKEDITOR.dialog ); - CKEDITOR.event.implementOn( CKEDITOR.dialog.prototype, true ); - - var defaultDialogDefinition = - { - resizable : CKEDITOR.DIALOG_RESIZE_BOTH, - minWidth : 600, - minHeight : 400, - buttons : [ CKEDITOR.dialog.okButton, CKEDITOR.dialog.cancelButton ] - }; - - // Tool function used to return an item from an array based on its id - // property. - var getById = function( array, id, recurse ) - { - for ( var i = 0, item ; ( item = array[ i ] ) ; i++ ) - { - if ( item.id == id ) - return item; - if ( recurse && item[ recurse ] ) - { - var retval = getById( item[ recurse ], id, recurse ) ; - if ( retval ) - return retval; - } - } - return null; - }; - - // Tool function used to add an item into an array. - var addById = function( array, newItem, nextSiblingId, recurse, nullIfNotFound ) - { - if ( nextSiblingId ) - { - for ( var i = 0, item ; ( item = array[ i ] ) ; i++ ) - { - if ( item.id == nextSiblingId ) - { - array.splice( i, 0, newItem ); - return newItem; - } - - if ( recurse && item[ recurse ] ) - { - var retval = addById( item[ recurse ], newItem, nextSiblingId, recurse, true ); - if ( retval ) - return retval; - } - } - - if ( nullIfNotFound ) - return null; - } - - array.push( newItem ); - return newItem; - }; - - // Tool function used to remove an item from an array based on its id. - var removeById = function( array, id, recurse ) - { - for ( var i = 0, item ; ( item = array[ i ] ) ; i++ ) - { - if ( item.id == id ) - return array.splice( i, 1 ); - if ( recurse && item[ recurse ] ) - { - var retval = removeById( item[ recurse ], id, recurse ); - if ( retval ) - return retval; - } - } - return null; - }; - - /** - * This class is not really part of the API. It is the "definition" property value - * passed to "dialogDefinition" event handlers. - * @constructor - * @name CKEDITOR.dialog.definitionObject - * @extends CKEDITOR.dialog.definition - * @example - * CKEDITOR.on( 'dialogDefinition', function( evt ) - * { - * var definition = evt.data.definition; - * var content = definition.getContents( 'page1' ); - * ... - * } ); - */ - var definitionObject = function( dialog, dialogDefinition ) - { - // TODO : Check if needed. - this.dialog = dialog; - - // Transform the contents entries in contentObjects. - var contents = dialogDefinition.contents; - for ( var i = 0, content ; ( content = contents[i] ) ; i++ ) - contents[ i ] = content && new contentObject( dialog, content ); - - CKEDITOR.tools.extend( this, dialogDefinition ); - }; - - definitionObject.prototype = - /** @lends CKEDITOR.dialog.definitionObject.prototype */ - { - /** - * Gets a content definition. - * @param {String} id The id of the content definition. - * @returns {CKEDITOR.dialog.definition.content} The content definition - * matching id. - */ - getContents : function( id ) - { - return getById( this.contents, id ); - }, - - /** - * Gets a button definition. - * @param {String} id The id of the button definition. - * @returns {CKEDITOR.dialog.definition.button} The button definition - * matching id. - */ - getButton : function( id ) - { - return getById( this.buttons, id ); - }, - - /** - * Adds a content definition object under this dialog definition. - * @param {CKEDITOR.dialog.definition.content} contentDefinition The - * content definition. - * @param {String} [nextSiblingId] The id of an existing content - * definition which the new content definition will be inserted - * before. Omit if the new content definition is to be inserted as - * the last item. - * @returns {CKEDITOR.dialog.definition.content} The inserted content - * definition. - */ - addContents : function( contentDefinition, nextSiblingId ) - { - return addById( this.contents, contentDefinition, nextSiblingId ); - }, - - /** - * Adds a button definition object under this dialog definition. - * @param {CKEDITOR.dialog.definition.button} buttonDefinition The - * button definition. - * @param {String} [nextSiblingId] The id of an existing button - * definition which the new button definition will be inserted - * before. Omit if the new button definition is to be inserted as - * the last item. - * @returns {CKEDITOR.dialog.definition.button} The inserted button - * definition. - */ - addButton : function( buttonDefinition, nextSiblingId ) - { - return addById( this.buttons, buttonDefinition, nextSiblingId ); - }, - - /** - * Removes a content definition from this dialog definition. - * @param {String} id The id of the content definition to be removed. - * @returns {CKEDITOR.dialog.definition.content} The removed content - * definition. - */ - removeContents : function( id ) - { - removeById( this.contents, id ); - }, - - /** - * Removes a button definition from the dialog definition. - * @param {String} id The id of the button definition to be removed. - * @returns {CKEDITOR.dialog.definition.button} The removed button - * definition. - */ - removeButton : function( id ) - { - removeById( this.buttons, id ); - } - }; - - /** - * This class is not really part of the API. It is the template of the - * objects representing content pages inside the - * CKEDITOR.dialog.definitionObject. - * @constructor - * @name CKEDITOR.dialog.definition.contentObject - * @example - * CKEDITOR.on( 'dialogDefinition', function( evt ) - * { - * var definition = evt.data.definition; - * var content = definition.getContents( 'page1' ); - * content.remove( 'textInput1' ); - * ... - * } ); - */ - function contentObject( dialog, contentDefinition ) - { - this._ = - { - dialog : dialog - }; - - CKEDITOR.tools.extend( this, contentDefinition ); - } - - contentObject.prototype = - /** @lends CKEDITOR.dialog.definition.contentObject.prototype */ - { - /** - * Gets a UI element definition under the content definition. - * @param {String} id The id of the UI element definition. - * @returns {CKEDITOR.dialog.definition.uiElement} - */ - get : function( id ) - { - return getById( this.elements, id, 'children' ); - }, - - /** - * Adds a UI element definition to the content definition. - * @param {CKEDITOR.dialog.definition.uiElement} elementDefinition The - * UI elemnet definition to be added. - * @param {String} nextSiblingId The id of an existing UI element - * definition which the new UI element definition will be inserted - * before. Omit if the new button definition is to be inserted as - * the last item. - * @returns {CKEDITOR.dialog.definition.uiElement} The element - * definition inserted. - */ - add : function( elementDefinition, nextSiblingId ) - { - return addById( this.elements, elementDefinition, nextSiblingId, 'children' ); - }, - - /** - * Removes a UI element definition from the content definition. - * @param {String} id The id of the UI element definition to be - * removed. - * @returns {CKEDITOR.dialog.definition.uiElement} The element - * definition removed. - * @example - */ - remove : function( id ) - { - removeById( this.elements, id, 'children' ); - } - }; - - function initDragAndDrop( dialog ) - { - var lastCoords = null, - abstractDialogCoords = null, - element = dialog.getElement().getFirst(), - editor = dialog.getParentEditor(), - magnetDistance = editor.config.dialog_magnetDistance, - margins = editor.skin.margins || [ 0, 0, 0, 0 ]; - - if ( typeof magnetDistance == 'undefined' ) - magnetDistance = 20; - - function mouseMoveHandler( evt ) - { - var dialogSize = dialog.getSize(), - viewPaneSize = CKEDITOR.document.getWindow().getViewPaneSize(), - x = evt.data.$.screenX, - y = evt.data.$.screenY, - dx = x - lastCoords.x, - dy = y - lastCoords.y, - realX, realY; - - lastCoords = { x : x, y : y }; - abstractDialogCoords.x += dx; - abstractDialogCoords.y += dy; - - if ( abstractDialogCoords.x + margins[3] < magnetDistance ) - realX = - margins[3]; - else if ( abstractDialogCoords.x - margins[1] > viewPaneSize.width - dialogSize.width - magnetDistance ) - realX = viewPaneSize.width - dialogSize.width + ( editor.lang.dir == 'rtl' ? 0 : margins[1] ); - else - realX = abstractDialogCoords.x; - - if ( abstractDialogCoords.y + margins[0] < magnetDistance ) - realY = - margins[0]; - else if ( abstractDialogCoords.y - margins[2] > viewPaneSize.height - dialogSize.height - magnetDistance ) - realY = viewPaneSize.height - dialogSize.height + margins[2]; - else - realY = abstractDialogCoords.y; - - dialog.move( realX, realY, 1 ); - - evt.data.preventDefault(); - } - - function mouseUpHandler( evt ) - { - CKEDITOR.document.removeListener( 'mousemove', mouseMoveHandler ); - CKEDITOR.document.removeListener( 'mouseup', mouseUpHandler ); - - if ( CKEDITOR.env.ie6Compat ) - { - var coverDoc = currentCover.getChild( 0 ).getFrameDocument(); - coverDoc.removeListener( 'mousemove', mouseMoveHandler ); - coverDoc.removeListener( 'mouseup', mouseUpHandler ); - } - } - - dialog.parts.title.on( 'mousedown', function( evt ) - { - lastCoords = { x : evt.data.$.screenX, y : evt.data.$.screenY }; - - CKEDITOR.document.on( 'mousemove', mouseMoveHandler ); - CKEDITOR.document.on( 'mouseup', mouseUpHandler ); - abstractDialogCoords = dialog.getPosition(); - - if ( CKEDITOR.env.ie6Compat ) - { - var coverDoc = currentCover.getChild( 0 ).getFrameDocument(); - coverDoc.on( 'mousemove', mouseMoveHandler ); - coverDoc.on( 'mouseup', mouseUpHandler ); - } - - evt.data.preventDefault(); - }, dialog ); - } - - function initResizeHandles( dialog ) - { - var def = dialog.definition, - resizable = def.resizable; - - if ( resizable == CKEDITOR.DIALOG_RESIZE_NONE ) - return; - - var editor = dialog.getParentEditor(); - var wrapperWidth, wrapperHeight, - viewSize, origin, startSize, - dialogCover; - - var mouseDownFn = CKEDITOR.tools.addFunction( function( $event ) - { - startSize = dialog.getSize(); - - var content = dialog.parts.contents, - iframeDialog = content.$.getElementsByTagName( 'iframe' ).length; - - // Shim to help capturing "mousemove" over iframe. - if ( iframeDialog ) - { - dialogCover = CKEDITOR.dom.element.createFromHtml( '
' ); - content.append( dialogCover ); - } - - // Calculate the offset between content and chrome size. - wrapperHeight = startSize.height - dialog.parts.contents.getSize( 'height', ! ( CKEDITOR.env.gecko || CKEDITOR.env.opera || CKEDITOR.env.ie && CKEDITOR.env.quirks ) ); - wrapperWidth = startSize.width - dialog.parts.contents.getSize( 'width', 1 ); - - origin = { x : $event.screenX, y : $event.screenY }; - - viewSize = CKEDITOR.document.getWindow().getViewPaneSize(); - - CKEDITOR.document.on( 'mousemove', mouseMoveHandler ); - CKEDITOR.document.on( 'mouseup', mouseUpHandler ); - - if ( CKEDITOR.env.ie6Compat ) - { - var coverDoc = currentCover.getChild( 0 ).getFrameDocument(); - coverDoc.on( 'mousemove', mouseMoveHandler ); - coverDoc.on( 'mouseup', mouseUpHandler ); - } - - $event.preventDefault && $event.preventDefault(); - }); - - // Prepend the grip to the dialog. - dialog.on( 'load', function() - { - var direction = ''; - if ( resizable == CKEDITOR.DIALOG_RESIZE_WIDTH ) - direction = ' cke_resizer_horizontal'; - else if ( resizable == CKEDITOR.DIALOG_RESIZE_HEIGHT ) - direction = ' cke_resizer_vertical'; - var resizer = CKEDITOR.dom.element.createFromHtml( '
' ); - dialog.parts.footer.append( resizer, 1 ); - }); - editor.on( 'destroy', function() { CKEDITOR.tools.removeFunction( mouseDownFn ); } ); - - function mouseMoveHandler( evt ) - { - var rtl = editor.lang.dir == 'rtl', - dx = ( evt.data.$.screenX - origin.x ) * ( rtl ? -1 : 1 ), - dy = evt.data.$.screenY - origin.y, - width = startSize.width, - height = startSize.height, - internalWidth = width + dx * ( dialog._.moved ? 1 : 2 ), - internalHeight = height + dy * ( dialog._.moved ? 1 : 2 ), - element = dialog._.element.getFirst(), - right = rtl && element.getComputedStyle( 'right' ), - position = dialog.getPosition(); - - if ( position.y + internalHeight > viewSize.height ) - internalHeight = viewSize.height - position.y; - - if ( ( rtl ? right : position.x ) + internalWidth > viewSize.width ) - internalWidth = viewSize.width - ( rtl ? right : position.x ); - - // Make sure the dialog will not be resized to the wrong side when it's in the leftmost position for RTL. - if ( ( resizable == CKEDITOR.DIALOG_RESIZE_WIDTH || resizable == CKEDITOR.DIALOG_RESIZE_BOTH ) ) - width = Math.max( def.minWidth || 0, internalWidth - wrapperWidth ); - - if ( resizable == CKEDITOR.DIALOG_RESIZE_HEIGHT || resizable == CKEDITOR.DIALOG_RESIZE_BOTH ) - height = Math.max( def.minHeight || 0, internalHeight - wrapperHeight ); - - dialog.resize( width, height ); - - if ( !dialog._.moved ) - dialog.layout(); - - evt.data.preventDefault(); - } - - function mouseUpHandler() - { - CKEDITOR.document.removeListener( 'mouseup', mouseUpHandler ); - CKEDITOR.document.removeListener( 'mousemove', mouseMoveHandler ); - - if ( dialogCover ) - { - dialogCover.remove(); - dialogCover = null; - } - - if ( CKEDITOR.env.ie6Compat ) - { - var coverDoc = currentCover.getChild( 0 ).getFrameDocument(); - coverDoc.removeListener( 'mouseup', mouseUpHandler ); - coverDoc.removeListener( 'mousemove', mouseMoveHandler ); - } - } - } - - var resizeCover; - // Caching resuable covers and allowing only one cover - // on screen. - var covers = {}, - currentCover; - - function cancelEvent( ev ) - { - ev.data.preventDefault(1); - } - - function showCover( editor ) - { - var win = CKEDITOR.document.getWindow(); - var config = editor.config, - backgroundColorStyle = config.dialog_backgroundCoverColor || 'white', - backgroundCoverOpacity = config.dialog_backgroundCoverOpacity, - baseFloatZIndex = config.baseFloatZIndex, - coverKey = CKEDITOR.tools.genKey( - backgroundColorStyle, - backgroundCoverOpacity, - baseFloatZIndex ), - coverElement = covers[ coverKey ]; - - if ( !coverElement ) - { - var html = [ - '
' - ]; - - if ( CKEDITOR.env.ie6Compat ) - { - // Support for custom document.domain in IE. - var isCustomDomain = CKEDITOR.env.isCustomDomain(), - iframeHtml = ''; - - html.push( - '' + - '' ); - } - - html.push( '
' ); - - coverElement = CKEDITOR.dom.element.createFromHtml( html.join( '' ) ); - coverElement.setOpacity( backgroundCoverOpacity != undefined ? backgroundCoverOpacity : 0.5 ); - - coverElement.on( 'keydown', cancelEvent ); - coverElement.on( 'keypress', cancelEvent ); - coverElement.on( 'keyup', cancelEvent ); - - coverElement.appendTo( CKEDITOR.document.getBody() ); - covers[ coverKey ] = coverElement; - } - else - coverElement. show(); - - currentCover = coverElement; - var resizeFunc = function() - { - var size = win.getViewPaneSize(); - coverElement.setStyles( - { - width : size.width + 'px', - height : size.height + 'px' - } ); - }; - - var scrollFunc = function() - { - var pos = win.getScrollPosition(), - cursor = CKEDITOR.dialog._.currentTop; - coverElement.setStyles( - { - left : pos.x + 'px', - top : pos.y + 'px' - }); - - if ( cursor ) - { - do - { - var dialogPos = cursor.getPosition(); - cursor.move( dialogPos.x, dialogPos.y ); - } while ( ( cursor = cursor._.parentDialog ) ); - } - }; - - resizeCover = resizeFunc; - win.on( 'resize', resizeFunc ); - resizeFunc(); - // Using Safari/Mac, focus must be kept where it is (#7027) - if ( !( CKEDITOR.env.mac && CKEDITOR.env.webkit ) ) - coverElement.focus(); - - if ( CKEDITOR.env.ie6Compat ) - { - // IE BUG: win.$.onscroll assignment doesn't work.. it must be window.onscroll. - // So we need to invent a really funny way to make it work. - var myScrollHandler = function() - { - scrollFunc(); - arguments.callee.prevScrollHandler.apply( this, arguments ); - }; - win.$.setTimeout( function() - { - myScrollHandler.prevScrollHandler = window.onscroll || function(){}; - window.onscroll = myScrollHandler; - }, 0 ); - scrollFunc(); - } - } - - function hideCover() - { - if ( !currentCover ) - return; - - var win = CKEDITOR.document.getWindow(); - currentCover.hide(); - win.removeListener( 'resize', resizeCover ); - - if ( CKEDITOR.env.ie6Compat ) - { - win.$.setTimeout( function() - { - var prevScrollHandler = window.onscroll && window.onscroll.prevScrollHandler; - window.onscroll = prevScrollHandler || null; - }, 0 ); - } - resizeCover = null; - } - - function removeCovers() - { - for ( var coverId in covers ) - covers[ coverId ].remove(); - covers = {}; - } - - var accessKeyProcessors = {}; - - var accessKeyDownHandler = function( evt ) - { - var ctrl = evt.data.$.ctrlKey || evt.data.$.metaKey, - alt = evt.data.$.altKey, - shift = evt.data.$.shiftKey, - key = String.fromCharCode( evt.data.$.keyCode ), - keyProcessor = accessKeyProcessors[( ctrl ? 'CTRL+' : '' ) + ( alt ? 'ALT+' : '') + ( shift ? 'SHIFT+' : '' ) + key]; - - if ( !keyProcessor || !keyProcessor.length ) - return; - - keyProcessor = keyProcessor[keyProcessor.length - 1]; - keyProcessor.keydown && keyProcessor.keydown.call( keyProcessor.uiElement, keyProcessor.dialog, keyProcessor.key ); - evt.data.preventDefault(); - }; - - var accessKeyUpHandler = function( evt ) - { - var ctrl = evt.data.$.ctrlKey || evt.data.$.metaKey, - alt = evt.data.$.altKey, - shift = evt.data.$.shiftKey, - key = String.fromCharCode( evt.data.$.keyCode ), - keyProcessor = accessKeyProcessors[( ctrl ? 'CTRL+' : '' ) + ( alt ? 'ALT+' : '') + ( shift ? 'SHIFT+' : '' ) + key]; - - if ( !keyProcessor || !keyProcessor.length ) - return; - - keyProcessor = keyProcessor[keyProcessor.length - 1]; - if ( keyProcessor.keyup ) - { - keyProcessor.keyup.call( keyProcessor.uiElement, keyProcessor.dialog, keyProcessor.key ); - evt.data.preventDefault(); - } - }; - - var registerAccessKey = function( uiElement, dialog, key, downFunc, upFunc ) - { - var procList = accessKeyProcessors[key] || ( accessKeyProcessors[key] = [] ); - procList.push( { - uiElement : uiElement, - dialog : dialog, - key : key, - keyup : upFunc || uiElement.accessKeyUp, - keydown : downFunc || uiElement.accessKeyDown - } ); - }; - - var unregisterAccessKey = function( obj ) - { - for ( var i in accessKeyProcessors ) - { - var list = accessKeyProcessors[i]; - for ( var j = list.length - 1 ; j >= 0 ; j-- ) - { - if ( list[j].dialog == obj || list[j].uiElement == obj ) - list.splice( j, 1 ); - } - if ( list.length === 0 ) - delete accessKeyProcessors[i]; - } - }; - - var tabAccessKeyUp = function( dialog, key ) - { - if ( dialog._.accessKeyMap[key] ) - dialog.selectPage( dialog._.accessKeyMap[key] ); - }; - - var tabAccessKeyDown = function( dialog, key ) - { - }; - - (function() - { - CKEDITOR.ui.dialog = - { - /** - * The base class of all dialog UI elements. - * @constructor - * @param {CKEDITOR.dialog} dialog Parent dialog object. - * @param {CKEDITOR.dialog.definition.uiElement} elementDefinition Element - * definition. Accepted fields: - *
    - *
  • id (Required) The id of the UI element. See {@link - * CKEDITOR.dialog#getContentElement}
  • - *
  • type (Required) The type of the UI element. The - * value to this field specifies which UI element class will be used to - * generate the final widget.
  • - *
  • title (Optional) The popup tooltip for the UI - * element.
  • - *
  • hidden (Optional) A flag that tells if the element - * should be initially visible.
  • - *
  • className (Optional) Additional CSS class names - * to add to the UI element. Separated by space.
  • - *
  • style (Optional) Additional CSS inline styles - * to add to the UI element. A semicolon (;) is required after the last - * style declaration.
  • - *
  • accessKey (Optional) The alphanumeric access key - * for this element. Access keys are automatically prefixed by CTRL.
  • - *
  • on* (Optional) Any UI element definition field that - * starts with on followed immediately by a capital letter and - * probably more letters is an event handler. Event handlers may be further - * divided into registered event handlers and DOM event handlers. Please - * refer to {@link CKEDITOR.ui.dialog.uiElement#registerEvents} and - * {@link CKEDITOR.ui.dialog.uiElement#eventProcessors} for more - * information.
  • - *
- * @param {Array} htmlList - * List of HTML code to be added to the dialog's content area. - * @param {Function|String} nodeNameArg - * A function returning a string, or a simple string for the node name for - * the root DOM node. Default is 'div'. - * @param {Function|Object} stylesArg - * A function returning an object, or a simple object for CSS styles applied - * to the DOM node. Default is empty object. - * @param {Function|Object} attributesArg - * A fucntion returning an object, or a simple object for attributes applied - * to the DOM node. Default is empty object. - * @param {Function|String} contentsArg - * A function returning a string, or a simple string for the HTML code inside - * the root DOM node. Default is empty string. - * @example - */ - uiElement : function( dialog, elementDefinition, htmlList, nodeNameArg, stylesArg, attributesArg, contentsArg ) - { - if ( arguments.length < 4 ) - return; - - var nodeName = ( nodeNameArg.call ? nodeNameArg( elementDefinition ) : nodeNameArg ) || 'div', - html = [ '<', nodeName, ' ' ], - styles = ( stylesArg && stylesArg.call ? stylesArg( elementDefinition ) : stylesArg ) || {}, - attributes = ( attributesArg && attributesArg.call ? attributesArg( elementDefinition ) : attributesArg ) || {}, - innerHTML = ( contentsArg && contentsArg.call ? contentsArg.call( this, dialog, elementDefinition ) : contentsArg ) || '', - domId = this.domId = attributes.id || CKEDITOR.tools.getNextId() + '_uiElement', - id = this.id = elementDefinition.id, - i; - - // Set the id, a unique id is required for getElement() to work. - attributes.id = domId; - - // Set the type and definition CSS class names. - var classes = {}; - if ( elementDefinition.type ) - classes[ 'cke_dialog_ui_' + elementDefinition.type ] = 1; - if ( elementDefinition.className ) - classes[ elementDefinition.className ] = 1; - if ( elementDefinition.disabled ) - classes[ 'cke_disabled' ] = 1; - - var attributeClasses = ( attributes['class'] && attributes['class'].split ) ? attributes['class'].split( ' ' ) : []; - for ( i = 0 ; i < attributeClasses.length ; i++ ) - { - if ( attributeClasses[i] ) - classes[ attributeClasses[i] ] = 1; - } - var finalClasses = []; - for ( i in classes ) - finalClasses.push( i ); - attributes['class'] = finalClasses.join( ' ' ); - - // Set the popup tooltop. - if ( elementDefinition.title ) - attributes.title = elementDefinition.title; - - // Write the inline CSS styles. - var styleStr = ( elementDefinition.style || '' ).split( ';' ); - - // Element alignment support. - if ( elementDefinition.align ) - { - var align = elementDefinition.align; - styles[ 'margin-left' ] = align == 'left' ? 0 : 'auto'; - styles[ 'margin-right' ] = align == 'right' ? 0 : 'auto'; - } - - for ( i in styles ) - styleStr.push( i + ':' + styles[i] ); - if ( elementDefinition.hidden ) - styleStr.push( 'display:none' ); - for ( i = styleStr.length - 1 ; i >= 0 ; i-- ) - { - if ( styleStr[i] === '' ) - styleStr.splice( i, 1 ); - } - if ( styleStr.length > 0 ) - attributes.style = ( attributes.style ? ( attributes.style + '; ' ) : '' ) + styleStr.join( '; ' ); - - // Write the attributes. - for ( i in attributes ) - html.push( i + '="' + CKEDITOR.tools.htmlEncode( attributes[i] ) + '" '); - - // Write the content HTML. - html.push( '>', innerHTML, '' ); - - // Add contents to the parent HTML array. - htmlList.push( html.join( '' ) ); - - ( this._ || ( this._ = {} ) ).dialog = dialog; - - // Override isChanged if it is defined in element definition. - if ( typeof( elementDefinition.isChanged ) == 'boolean' ) - this.isChanged = function(){ return elementDefinition.isChanged; }; - if ( typeof( elementDefinition.isChanged ) == 'function' ) - this.isChanged = elementDefinition.isChanged; - - // Overload 'get(set)Value' on definition. - if ( typeof( elementDefinition.setValue ) == 'function' ) - { - this.setValue = CKEDITOR.tools.override( this.setValue, function( org ) - { - return function( val ){ org.call( this, elementDefinition.setValue.call( this, val ) ); }; - } ); - } - - if ( typeof( elementDefinition.getValue ) == 'function' ) - { - this.getValue = CKEDITOR.tools.override( this.getValue, function( org ) - { - return function(){ return elementDefinition.getValue.call( this, org.call( this ) ); }; - } ); - } - - // Add events. - CKEDITOR.event.implementOn( this ); - - this.registerEvents( elementDefinition ); - if ( this.accessKeyUp && this.accessKeyDown && elementDefinition.accessKey ) - registerAccessKey( this, dialog, 'CTRL+' + elementDefinition.accessKey ); - - var me = this; - dialog.on( 'load', function() - { - var input = me.getInputElement(); - if ( input ) - { - var focusClass = me.type in { 'checkbox' : 1, 'ratio' : 1 } && CKEDITOR.env.ie && CKEDITOR.env.version < 8 ? 'cke_dialog_ui_focused' : ''; - input.on( 'focus', function() - { - dialog._.tabBarMode = false; - dialog._.hasFocus = true; - me.fire( 'focus' ); - focusClass && this.addClass( focusClass ); - - }); - - input.on( 'blur', function() - { - me.fire( 'blur' ); - focusClass && this.removeClass( focusClass ); - }); - } - } ); - - // Register the object as a tab focus if it can be included. - if ( this.keyboardFocusable ) - { - this.tabIndex = elementDefinition.tabIndex || 0; - - this.focusIndex = dialog._.focusList.push( this ) - 1; - this.on( 'focus', function() - { - dialog._.currentFocusIndex = me.focusIndex; - } ); - } - - // Completes this object with everything we have in the - // definition. - CKEDITOR.tools.extend( this, elementDefinition ); - }, - - /** - * Horizontal layout box for dialog UI elements, auto-expends to available width of container. - * @constructor - * @extends CKEDITOR.ui.dialog.uiElement - * @param {CKEDITOR.dialog} dialog - * Parent dialog object. - * @param {Array} childObjList - * Array of {@link CKEDITOR.ui.dialog.uiElement} objects inside this - * container. - * @param {Array} childHtmlList - * Array of HTML code that correspond to the HTML output of all the - * objects in childObjList. - * @param {Array} htmlList - * Array of HTML code that this element will output to. - * @param {CKEDITOR.dialog.definition.uiElement} elementDefinition - * The element definition. Accepted fields: - *
    - *
  • widths (Optional) The widths of child cells.
  • - *
  • height (Optional) The height of the layout.
  • - *
  • padding (Optional) The padding width inside child - * cells.
  • - *
  • align (Optional) The alignment of the whole layout - *
  • - *
- * @example - */ - hbox : function( dialog, childObjList, childHtmlList, htmlList, elementDefinition ) - { - if ( arguments.length < 4 ) - return; - - this._ || ( this._ = {} ); - - var children = this._.children = childObjList, - widths = elementDefinition && elementDefinition.widths || null, - height = elementDefinition && elementDefinition.height || null, - styles = {}, - i; - /** @ignore */ - var innerHTML = function() - { - var html = [ '' ]; - for ( i = 0 ; i < childHtmlList.length ; i++ ) - { - var className = 'cke_dialog_ui_hbox_child', - styles = []; - if ( i === 0 ) - className = 'cke_dialog_ui_hbox_first'; - if ( i == childHtmlList.length - 1 ) - className = 'cke_dialog_ui_hbox_last'; - html.push( ' 0 ) - html.push( 'style="' + styles.join('; ') + '" ' ); - html.push( '>', childHtmlList[i], '' ); - } - html.push( '' ); - return html.join( '' ); - }; - - var attribs = { role : 'presentation' }; - elementDefinition && elementDefinition.align && ( attribs.align = elementDefinition.align ); - - CKEDITOR.ui.dialog.uiElement.call( - this, - dialog, - elementDefinition || { type : 'hbox' }, - htmlList, - 'table', - styles, - attribs, - innerHTML ); - }, - - /** - * Vertical layout box for dialog UI elements. - * @constructor - * @extends CKEDITOR.ui.dialog.hbox - * @param {CKEDITOR.dialog} dialog - * Parent dialog object. - * @param {Array} childObjList - * Array of {@link CKEDITOR.ui.dialog.uiElement} objects inside this - * container. - * @param {Array} childHtmlList - * Array of HTML code that correspond to the HTML output of all the - * objects in childObjList. - * @param {Array} htmlList - * Array of HTML code that this element will output to. - * @param {CKEDITOR.dialog.definition.uiElement} elementDefinition - * The element definition. Accepted fields: - *
    - *
  • width (Optional) The width of the layout.
  • - *
  • heights (Optional) The heights of individual cells. - *
  • - *
  • align (Optional) The alignment of the layout.
  • - *
  • padding (Optional) The padding width inside child - * cells.
  • - *
  • expand (Optional) Whether the layout should expand - * vertically to fill its container.
  • - *
- * @example - */ - vbox : function( dialog, childObjList, childHtmlList, htmlList, elementDefinition ) - { - if ( arguments.length < 3 ) - return; - - this._ || ( this._ = {} ); - - var children = this._.children = childObjList, - width = elementDefinition && elementDefinition.width || null, - heights = elementDefinition && elementDefinition.heights || null; - /** @ignore */ - var innerHTML = function() - { - var html = [ '' ); - for ( var i = 0 ; i < childHtmlList.length ; i++ ) - { - var styles = []; - html.push( '' ); - } - html.push( '
0 ) - html.push( 'style="', styles.join( '; ' ), '" ' ); - html.push( ' class="cke_dialog_ui_vbox_child">', childHtmlList[i], '
' ); - return html.join( '' ); - }; - CKEDITOR.ui.dialog.uiElement.call( this, dialog, elementDefinition || { type : 'vbox' }, htmlList, 'div', null, { role : 'presentation' }, innerHTML ); - } - }; - })(); - - CKEDITOR.ui.dialog.uiElement.prototype = - { - /** - * Gets the root DOM element of this dialog UI object. - * @returns {CKEDITOR.dom.element} Root DOM element of UI object. - * @example - * uiElement.getElement().hide(); - */ - getElement : function() - { - return CKEDITOR.document.getById( this.domId ); - }, - - /** - * Gets the DOM element that the user inputs values. - * This function is used by setValue(), getValue() and focus(). It should - * be overrided in child classes where the input element isn't the root - * element. - * @returns {CKEDITOR.dom.element} The element where the user input values. - * @example - * var rawValue = textInput.getInputElement().$.value; - */ - getInputElement : function() - { - return this.getElement(); - }, - - /** - * Gets the parent dialog object containing this UI element. - * @returns {CKEDITOR.dialog} Parent dialog object. - * @example - * var dialog = uiElement.getDialog(); - */ - getDialog : function() - { - return this._.dialog; - }, - - /** - * Sets the value of this dialog UI object. - * @param {Object} value The new value. - * @param {Boolean} noChangeEvent Internal commit, to supress 'change' event on this element. - * @returns {CKEDITOR.dialog.uiElement} The current UI element. - * @example - * uiElement.setValue( 'Dingo' ); - */ - setValue : function( value, noChangeEvent ) - { - this.getInputElement().setValue( value ); - !noChangeEvent && this.fire( 'change', { value : value } ); - return this; - }, - - /** - * Gets the current value of this dialog UI object. - * @returns {Object} The current value. - * @example - * var myValue = uiElement.getValue(); - */ - getValue : function() - { - return this.getInputElement().getValue(); - }, - - /** - * Tells whether the UI object's value has changed. - * @returns {Boolean} true if changed, false if not changed. - * @example - * if ( uiElement.isChanged() ) - *   confirm( 'Value changed! Continue?' ); - */ - isChanged : function() - { - // Override in input classes. - return false; - }, - - /** - * Selects the parent tab of this element. Usually called by focus() or overridden focus() methods. - * @returns {CKEDITOR.dialog.uiElement} The current UI element. - * @example - * focus : function() - * { - * this.selectParentTab(); - * // do something else. - * } - */ - selectParentTab : function() - { - var element = this.getInputElement(), - cursor = element, - tabId; - while ( ( cursor = cursor.getParent() ) && cursor.$.className.search( 'cke_dialog_page_contents' ) == -1 ) - { /*jsl:pass*/ } - - // Some widgets don't have parent tabs (e.g. OK and Cancel buttons). - if ( !cursor ) - return this; - - tabId = cursor.getAttribute( 'name' ); - // Avoid duplicate select. - if ( this._.dialog._.currentTabId != tabId ) - this._.dialog.selectPage( tabId ); - return this; - }, - - /** - * Puts the focus to the UI object. Switches tabs if the UI object isn't in the active tab page. - * @returns {CKEDITOR.dialog.uiElement} The current UI element. - * @example - * uiElement.focus(); - */ - focus : function() - { - this.selectParentTab().getInputElement().focus(); - return this; - }, - - /** - * Registers the on* event handlers defined in the element definition. - * The default behavior of this function is: - *
    - *
  1. - * If the on* event is defined in the class's eventProcesors list, - * then the registration is delegated to the corresponding function - * in the eventProcessors list. - *
  2. - *
  3. - * If the on* event is not defined in the eventProcessors list, then - * register the event handler under the corresponding DOM event of - * the UI element's input DOM element (as defined by the return value - * of {@link CKEDITOR.ui.dialog.uiElement#getInputElement}). - *
  4. - *
- * This function is only called at UI element instantiation, but can - * be overridded in child classes if they require more flexibility. - * @param {CKEDITOR.dialog.definition.uiElement} definition The UI element - * definition. - * @returns {CKEDITOR.dialog.uiElement} The current UI element. - * @example - */ - registerEvents : function( definition ) - { - var regex = /^on([A-Z]\w+)/, - match; - - var registerDomEvent = function( uiElement, dialog, eventName, func ) - { - dialog.on( 'load', function() - { - uiElement.getInputElement().on( eventName, func, uiElement ); - }); - }; - - for ( var i in definition ) - { - if ( !( match = i.match( regex ) ) ) - continue; - if ( this.eventProcessors[i] ) - this.eventProcessors[i].call( this, this._.dialog, definition[i] ); - else - registerDomEvent( this, this._.dialog, match[1].toLowerCase(), definition[i] ); - } - - return this; - }, - - /** - * The event processor list used by - * {@link CKEDITOR.ui.dialog.uiElement#getInputElement} at UI element - * instantiation. The default list defines three on* events: - *
    - *
  1. onLoad - Called when the element's parent dialog opens for the - * first time
  2. - *
  3. onShow - Called whenever the element's parent dialog opens.
  4. - *
  5. onHide - Called whenever the element's parent dialog closes.
  6. - *
- * @field - * @type Object - * @example - * // This connects the 'click' event in CKEDITOR.ui.dialog.button to onClick - * // handlers in the UI element's definitions. - * CKEDITOR.ui.dialog.button.eventProcessors = CKEDITOR.tools.extend( {}, - *   CKEDITOR.ui.dialog.uiElement.prototype.eventProcessors, - *   { onClick : function( dialog, func ) { this.on( 'click', func ); } }, - *   true ); - */ - eventProcessors : - { - onLoad : function( dialog, func ) - { - dialog.on( 'load', func, this ); - }, - - onShow : function( dialog, func ) - { - dialog.on( 'show', func, this ); - }, - - onHide : function( dialog, func ) - { - dialog.on( 'hide', func, this ); - } - }, - - /** - * The default handler for a UI element's access key down event, which - * tries to put focus to the UI element.
- * Can be overridded in child classes for more sophisticaed behavior. - * @param {CKEDITOR.dialog} dialog The parent dialog object. - * @param {String} key The key combination pressed. Since access keys - * are defined to always include the CTRL key, its value should always - * include a 'CTRL+' prefix. - * @example - */ - accessKeyDown : function( dialog, key ) - { - this.focus(); - }, - - /** - * The default handler for a UI element's access key up event, which - * does nothing.
- * Can be overridded in child classes for more sophisticated behavior. - * @param {CKEDITOR.dialog} dialog The parent dialog object. - * @param {String} key The key combination pressed. Since access keys - * are defined to always include the CTRL key, its value should always - * include a 'CTRL+' prefix. - * @example - */ - accessKeyUp : function( dialog, key ) - { - }, - - /** - * Disables a UI element. - * @example - */ - disable : function() - { - var element = this.getElement(), - input = this.getInputElement(); - input.setAttribute( 'disabled', 'true' ); - element.addClass( 'cke_disabled' ); - }, - - /** - * Enables a UI element. - * @example - */ - enable : function() - { - var element = this.getElement(), - input = this.getInputElement(); - input.removeAttribute( 'disabled' ); - element.removeClass( 'cke_disabled' ); - }, - - /** - * Determines whether an UI element is enabled or not. - * @returns {Boolean} Whether the UI element is enabled. - * @example - */ - isEnabled : function() - { - return !this.getElement().hasClass( 'cke_disabled' ); - }, - - /** - * Determines whether an UI element is visible or not. - * @returns {Boolean} Whether the UI element is visible. - * @example - */ - isVisible : function() - { - return this.getInputElement().isVisible(); - }, - - /** - * Determines whether an UI element is focus-able or not. - * Focus-able is defined as being both visible and enabled. - * @returns {Boolean} Whether the UI element can be focused. - * @example - */ - isFocusable : function() - { - if ( !this.isEnabled() || !this.isVisible() ) - return false; - return true; - } - }; - - CKEDITOR.ui.dialog.hbox.prototype = CKEDITOR.tools.extend( new CKEDITOR.ui.dialog.uiElement, - /** - * @lends CKEDITOR.ui.dialog.hbox.prototype - */ - { - /** - * Gets a child UI element inside this container. - * @param {Array|Number} indices An array or a single number to indicate the child's - * position in the container's descendant tree. Omit to get all the children in an array. - * @returns {Array|CKEDITOR.ui.dialog.uiElement} Array of all UI elements in the container - * if no argument given, or the specified UI element if indices is given. - * @example - * var checkbox = hbox.getChild( [0,1] ); - * checkbox.setValue( true ); - */ - getChild : function( indices ) - { - // If no arguments, return a clone of the children array. - if ( arguments.length < 1 ) - return this._.children.concat(); - - // If indices isn't array, make it one. - if ( !indices.splice ) - indices = [ indices ]; - - // Retrieve the child element according to tree position. - if ( indices.length < 2 ) - return this._.children[ indices[0] ]; - else - return ( this._.children[ indices[0] ] && this._.children[ indices[0] ].getChild ) ? - this._.children[ indices[0] ].getChild( indices.slice( 1, indices.length ) ) : - null; - } - }, true ); - - CKEDITOR.ui.dialog.vbox.prototype = new CKEDITOR.ui.dialog.hbox(); - - - - (function() - { - var commonBuilder = { - build : function( dialog, elementDefinition, output ) - { - var children = elementDefinition.children, - child, - childHtmlList = [], - childObjList = []; - for ( var i = 0 ; ( i < children.length && ( child = children[i] ) ) ; i++ ) - { - var childHtml = []; - childHtmlList.push( childHtml ); - childObjList.push( CKEDITOR.dialog._.uiElementBuilders[ child.type ].build( dialog, child, childHtml ) ); - } - return new CKEDITOR.ui.dialog[elementDefinition.type]( dialog, childObjList, childHtmlList, output, elementDefinition ); - } - }; - - CKEDITOR.dialog.addUIElement( 'hbox', commonBuilder ); - CKEDITOR.dialog.addUIElement( 'vbox', commonBuilder ); - })(); - - /** - * Generic dialog command. It opens a specific dialog when executed. - * @constructor - * @augments CKEDITOR.commandDefinition - * @param {string} dialogName The name of the dialog to open when executing - * this command. - * @example - * // Register the "link" command, which opens the "link" dialog. - * editor.addCommand( 'link', new CKEDITOR.dialogCommand( 'link' ) ); - */ - CKEDITOR.dialogCommand = function( dialogName ) - { - this.dialogName = dialogName; - }; - - CKEDITOR.dialogCommand.prototype = - { - /** @ignore */ - exec : function( editor ) - { - // Special treatment for Opera. (#8031) - CKEDITOR.env.opera ? - CKEDITOR.tools.setTimeout( function() { editor.openDialog( this.dialogName ); }, 0, this ) - : editor.openDialog( this.dialogName ); - }, - - // Dialog commands just open a dialog ui, thus require no undo logic, - // undo support should dedicate to specific dialog implementation. - canUndo: false, - - editorFocus : CKEDITOR.env.ie || CKEDITOR.env.webkit - }; - - (function() - { - var notEmptyRegex = /^([a]|[^a])+$/, - integerRegex = /^\d*$/, - numberRegex = /^\d*(?:\.\d+)?$/, - htmlLengthRegex = /^(((\d*(\.\d+))|(\d*))(px|\%)?)?$/, - cssLengthRegex = /^(((\d*(\.\d+))|(\d*))(px|em|ex|in|cm|mm|pt|pc|\%)?)?$/i, - inlineStyleRegex = /^(\s*[\w-]+\s*:\s*[^:;]+(?:;|$))*$/; - - CKEDITOR.VALIDATE_OR = 1; - CKEDITOR.VALIDATE_AND = 2; - - CKEDITOR.dialog.validate = - { - functions : function() - { - var args = arguments; - return function() - { - /** - * It's important for validate functions to be able to accept the value - * as argument in addition to this.getValue(), so that it is possible to - * combine validate functions together to make more sophisticated - * validators. - */ - var value = this && this.getValue ? this.getValue() : args[ 0 ]; - - var msg = undefined, - relation = CKEDITOR.VALIDATE_AND, - functions = [], i; - - for ( i = 0 ; i < args.length ; i++ ) - { - if ( typeof( args[i] ) == 'function' ) - functions.push( args[i] ); - else - break; - } - - if ( i < args.length && typeof( args[i] ) == 'string' ) - { - msg = args[i]; - i++; - } - - if ( i < args.length && typeof( args[i]) == 'number' ) - relation = args[i]; - - var passed = ( relation == CKEDITOR.VALIDATE_AND ? true : false ); - for ( i = 0 ; i < functions.length ; i++ ) - { - if ( relation == CKEDITOR.VALIDATE_AND ) - passed = passed && functions[i]( value ); - else - passed = passed || functions[i]( value ); - } - - return !passed ? msg : true; - }; - }, - - regex : function( regex, msg ) - { - /* - * Can be greatly shortened by deriving from functions validator if code size - * turns out to be more important than performance. - */ - return function() - { - var value = this && this.getValue ? this.getValue() : arguments[0]; - return !regex.test( value ) ? msg : true; - }; - }, - - notEmpty : function( msg ) - { - return this.regex( notEmptyRegex, msg ); - }, - - integer : function( msg ) - { - return this.regex( integerRegex, msg ); - }, - - 'number' : function( msg ) - { - return this.regex( numberRegex, msg ); - }, - - 'cssLength' : function( msg ) - { - return this.functions( function( val ){ return cssLengthRegex.test( CKEDITOR.tools.trim( val ) ); }, msg ); - }, - - 'htmlLength' : function( msg ) - { - return this.functions( function( val ){ return htmlLengthRegex.test( CKEDITOR.tools.trim( val ) ); }, msg ); - }, - - 'inlineStyle' : function( msg ) - { - return this.functions( function( val ){ return inlineStyleRegex.test( CKEDITOR.tools.trim( val ) ); }, msg ); - }, - - equals : function( value, msg ) - { - return this.functions( function( val ){ return val == value; }, msg ); - }, - - notEqual : function( value, msg ) - { - return this.functions( function( val ){ return val != value; }, msg ); - } - }; - - CKEDITOR.on( 'instanceDestroyed', function( evt ) - { - // Remove dialog cover on last instance destroy. - if ( CKEDITOR.tools.isEmpty( CKEDITOR.instances ) ) - { - var currentTopDialog; - while ( ( currentTopDialog = CKEDITOR.dialog._.currentTop ) ) - currentTopDialog.hide(); - removeCovers(); - } - - var dialogs = evt.editor._.storedDialogs; - for ( var name in dialogs ) - dialogs[ name ].destroy(); - - }); - - })(); - - // Extend the CKEDITOR.editor class with dialog specific functions. - CKEDITOR.tools.extend( CKEDITOR.editor.prototype, - /** @lends CKEDITOR.editor.prototype */ - { - /** - * Loads and opens a registered dialog. - * @param {String} dialogName The registered name of the dialog. - * @param {Function} callback The function to be invoked after dialog instance created. - * @see CKEDITOR.dialog.add - * @example - * CKEDITOR.instances.editor1.openDialog( 'smiley' ); - * @returns {CKEDITOR.dialog} The dialog object corresponding to the dialog displayed. null if the dialog name is not registered. - */ - openDialog : function( dialogName, callback ) - { - if ( this.mode == 'wysiwyg' && CKEDITOR.env.ie ) - { - var selection = this.getSelection(); - selection && selection.lock(); - } - - var dialogDefinitions = CKEDITOR.dialog._.dialogDefinitions[ dialogName ], - dialogSkin = this.skin.dialog; - - if ( CKEDITOR.dialog._.currentTop === null ) - showCover( this ); - - // If the dialogDefinition is already loaded, open it immediately. - if ( typeof dialogDefinitions == 'function' && dialogSkin._isLoaded ) - { - var storedDialogs = this._.storedDialogs || - ( this._.storedDialogs = {} ); - - var dialog = storedDialogs[ dialogName ] || - ( storedDialogs[ dialogName ] = new CKEDITOR.dialog( this, dialogName ) ); - - callback && callback.call( dialog, dialog ); - dialog.show(); - - return dialog; - } - else if ( dialogDefinitions == 'failed' ) - { - hideCover(); - throw new Error( '[CKEDITOR.dialog.openDialog] Dialog "' + dialogName + '" failed when loading definition.' ); - } - - var me = this; - - function onDialogFileLoaded( success ) - { - var dialogDefinition = CKEDITOR.dialog._.dialogDefinitions[ dialogName ], - skin = me.skin.dialog; - - // Check if both skin part and definition is loaded. - if ( !skin._isLoaded || loadDefinition && typeof success == 'undefined' ) - return; - - // In case of plugin error, mark it as loading failed. - if ( typeof dialogDefinition != 'function' ) - CKEDITOR.dialog._.dialogDefinitions[ dialogName ] = 'failed'; - - me.openDialog( dialogName, callback ); - } - - if ( typeof dialogDefinitions == 'string' ) - { - var loadDefinition = 1; - CKEDITOR.scriptLoader.load( CKEDITOR.getUrl( dialogDefinitions ), onDialogFileLoaded, null, 0, 1 ); - } - - CKEDITOR.skins.load( this, 'dialog', onDialogFileLoaded ); - - return null; - } - }); -})(); - -CKEDITOR.plugins.add( 'dialog', - { - requires : [ 'dialogui' ] - }); - -// Dialog related configurations. - -/** - * The color of the dialog background cover. It should be a valid CSS color - * string. - * @name CKEDITOR.config.dialog_backgroundCoverColor - * @type String - * @default 'white' - * @example - * config.dialog_backgroundCoverColor = 'rgb(255, 254, 253)'; - */ - -/** - * The opacity of the dialog background cover. It should be a number within the - * range [0.0, 1.0]. - * @name CKEDITOR.config.dialog_backgroundCoverOpacity - * @type Number - * @default 0.5 - * @example - * config.dialog_backgroundCoverOpacity = 0.7; - */ - -/** - * If the dialog has more than one tab, put focus into the first tab as soon as dialog is opened. - * @name CKEDITOR.config.dialog_startupFocusTab - * @type Boolean - * @default false - * @example - * config.dialog_startupFocusTab = true; - */ - -/** - * The distance of magnetic borders used in moving and resizing dialogs, - * measured in pixels. - * @name CKEDITOR.config.dialog_magnetDistance - * @type Number - * @default 20 - * @example - * config.dialog_magnetDistance = 30; - */ - -/** - * The guideline to follow when generating the dialog buttons. There are 3 possible options: - *
    - *
  • 'OS' - the buttons will be displayed in the default order of the user's OS;
  • - *
  • 'ltr' - for Left-To-Right order;
  • - *
  • 'rtl' - for Right-To-Left order.
  • - *
- * @name CKEDITOR.config.dialog_buttonsOrder - * @type String - * @default 'OS' - * @since 3.5 - * @example - * config.dialog_buttonsOrder = 'rtl'; - */ - -/** - * The dialog contents to removed. It's a string composed by dialog name and tab name with a colon between them. - * Separate each pair with semicolon (see example). - * Note: All names are case-sensitive. - * Note: Be cautious when specifying dialog tabs that are mandatory, like "info", dialog functionality might be broken because of this! - * @name CKEDITOR.config.removeDialogTabs - * @type String - * @since 3.5 - * @default '' - * @example - * config.removeDialogTabs = 'flash:advanced;image:Link'; - */ - -/** - * Fired when a dialog definition is about to be used to create a dialog into - * an editor instance. This event makes it possible to customize the definition - * before creating it. - *

Note that this event is called only the first time a specific dialog is - * opened. Successive openings will use the cached dialog, and this event will - * not get fired.

- * @name CKEDITOR#dialogDefinition - * @event - * @param {CKEDITOR.dialog.definition} data The dialog defination that - * is being loaded. - * @param {CKEDITOR.editor} editor The editor instance that will use the - * dialog. - */ - -/** - * Fired when a tab is going to be selected in a dialog - * @name CKEDITOR.dialog#selectPage - * @event - * @param {String} page The id of the page that it's gonna be selected. - * @param {String} currentPage The id of the current page. - */ - -/** - * Fired when the user tries to dismiss a dialog - * @name CKEDITOR.dialog#cancel - * @event - * @param {Boolean} hide Whether the event should proceed or not. - */ - -/** - * Fired when the user tries to confirm a dialog - * @name CKEDITOR.dialog#ok - * @event - * @param {Boolean} hide Whether the event should proceed or not. - */ - -/** - * Fired when a dialog is shown - * @name CKEDITOR.dialog#show - * @event - */ - -/** - * Fired when a dialog is shown - * @name CKEDITOR.editor#dialogShow - * @event - */ - -/** - * Fired when a dialog is hidden - * @name CKEDITOR.dialog#hide - * @event - */ - -/** - * Fired when a dialog is hidden - * @name CKEDITOR.editor#dialogHide - * @event - */ - -/** - * Fired when a dialog is being resized. The event is fired on - * both the 'CKEDITOR.dialog' object and the dialog instance - * since 3.5.3, previously it's available only in the global object. - * @name CKEDITOR.dialog#resize - * @since 3.5 - * @event - * @param {CKEDITOR.dialog} dialog The dialog being resized (if - * it's fired on the dialog itself, this parameter isn't sent). - * @param {String} skin The skin name. - * @param {Number} width The new width. - * @param {Number} height The new height. - */ +/** + * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. + * For licensing, see LICENSE.md or http://ckeditor.com/license + */ + +/** + * @fileOverview The floating dialog plugin. + */ + +/** + * No resize for this dialog. + * + * @readonly + * @property {Number} [=0] + * @member CKEDITOR + */ +CKEDITOR.DIALOG_RESIZE_NONE = 0; + +/** + * Only allow horizontal resizing for this dialog, disable vertical resizing. + * + * @readonly + * @property {Number} [=1] + * @member CKEDITOR + */ +CKEDITOR.DIALOG_RESIZE_WIDTH = 1; + +/** + * Only allow vertical resizing for this dialog, disable horizontal resizing. + * + * @readonly + * @property {Number} [=2] + * @member CKEDITOR + */ +CKEDITOR.DIALOG_RESIZE_HEIGHT = 2; + +/** + * Allow the dialog to be resized in both directions. + * + * @readonly + * @property {Number} [=3] + * @member CKEDITOR + */ +CKEDITOR.DIALOG_RESIZE_BOTH = 3; + +( function() { + var cssLength = CKEDITOR.tools.cssLength; + + function isTabVisible( tabId ) { + return !!this._.tabs[ tabId ][ 0 ].$.offsetHeight; + } + + function getPreviousVisibleTab() { + var tabId = this._.currentTabId, + length = this._.tabIdList.length, + tabIndex = CKEDITOR.tools.indexOf( this._.tabIdList, tabId ) + length; + + for ( var i = tabIndex - 1; i > tabIndex - length; i-- ) { + if ( isTabVisible.call( this, this._.tabIdList[ i % length ] ) ) + return this._.tabIdList[ i % length ]; + } + + return null; + } + + function getNextVisibleTab() { + var tabId = this._.currentTabId, + length = this._.tabIdList.length, + tabIndex = CKEDITOR.tools.indexOf( this._.tabIdList, tabId ); + + for ( var i = tabIndex + 1; i < tabIndex + length; i++ ) { + if ( isTabVisible.call( this, this._.tabIdList[ i % length ] ) ) + return this._.tabIdList[ i % length ]; + } + + return null; + } + + + function clearOrRecoverTextInputValue( container, isRecover ) { + var inputs = container.$.getElementsByTagName( 'input' ); + for ( var i = 0, length = inputs.length; i < length; i++ ) { + var item = new CKEDITOR.dom.element( inputs[ i ] ); + + if ( item.getAttribute( 'type' ).toLowerCase() == 'text' ) { + if ( isRecover ) { + item.setAttribute( 'value', item.getCustomData( 'fake_value' ) || '' ); + item.removeCustomData( 'fake_value' ); + } else { + item.setCustomData( 'fake_value', item.getAttribute( 'value' ) ); + item.setAttribute( 'value', '' ); + } + } + } + } + + // Handle dialog element validation state UI changes. + function handleFieldValidated( isValid, msg ) { + var input = this.getInputElement(); + if ( input ) + isValid ? input.removeAttribute( 'aria-invalid' ) : input.setAttribute( 'aria-invalid', true ); + + if ( !isValid ) { + if ( this.select ) + this.select(); + else + this.focus(); + } + + msg && alert( msg ); + + this.fire( 'validated', { valid: isValid, msg: msg } ); + } + + function resetField() { + var input = this.getInputElement(); + input && input.removeAttribute( 'aria-invalid' ); + } + + var templateSource = ''; + + function buildDialog( editor ) { + var element = CKEDITOR.dom.element.createFromHtml( CKEDITOR.addTemplate( 'dialog', templateSource ).output( { + id: CKEDITOR.tools.getNextNumber(), + editorId: editor.id, + langDir: editor.lang.dir, + langCode: editor.langCode, + editorDialogClass: 'cke_editor_' + editor.name.replace( /\./g, '\\.' ) + '_dialog', + closeTitle: editor.lang.common.close, + hidpi: CKEDITOR.env.hidpi ? 'cke_hidpi' : '' + } ) ); + + // TODO: Change this to getById(), so it'll support custom templates. + var body = element.getChild( [ 0, 0, 0, 0, 0 ] ), + title = body.getChild( 0 ), + close = body.getChild( 1 ); + + // IFrame shim for dialog that masks activeX in IE. (#7619) + if ( CKEDITOR.env.ie && !CKEDITOR.env.ie6Compat ) { + var src = 'javascript:void(function(){' + encodeURIComponent( 'document.open();(' + CKEDITOR.tools.fixDomain + ')();document.close();' ) + '}())', + iframe = CKEDITOR.dom.element.createFromHtml( '' ); + iframe.appendTo( body.getParent() ); + } + + // Make the Title and Close Button unselectable. + title.unselectable(); + close.unselectable(); + + return { + element: element, + parts: { + dialog: element.getChild( 0 ), + title: title, + close: close, + tabs: body.getChild( 2 ), + contents: body.getChild( [ 3, 0, 0, 0 ] ), + footer: body.getChild( [ 3, 0, 1, 0 ] ) + } + }; + } + + /** + * This is the base class for runtime dialog objects. An instance of this + * class represents a single named dialog for a single editor instance. + * + * var dialogObj = new CKEDITOR.dialog( editor, 'smiley' ); + * + * @class + * @constructor Creates a dialog class instance. + * @param {Object} editor The editor which created the dialog. + * @param {String} dialogName The dialog's registered name. + */ + CKEDITOR.dialog = function( editor, dialogName ) { + // Load the dialog definition. + var definition = CKEDITOR.dialog._.dialogDefinitions[ dialogName ], + defaultDefinition = CKEDITOR.tools.clone( defaultDialogDefinition ), + buttonsOrder = editor.config.dialog_buttonsOrder || 'OS', + dir = editor.lang.dir, + tabsToRemove = {}, + i, processed, stopPropagation; + + if ( ( buttonsOrder == 'OS' && CKEDITOR.env.mac ) || // The buttons in MacOS Apps are in reverse order (#4750) + ( buttonsOrder == 'rtl' && dir == 'ltr' ) || ( buttonsOrder == 'ltr' && dir == 'rtl' ) ) + defaultDefinition.buttons.reverse(); + + + // Completes the definition with the default values. + definition = CKEDITOR.tools.extend( definition( editor ), defaultDefinition ); + + // Clone a functionally independent copy for this dialog. + definition = CKEDITOR.tools.clone( definition ); + + // Create a complex definition object, extending it with the API + // functions. + definition = new definitionObject( this, definition ); + + var doc = CKEDITOR.document; + + var themeBuilt = buildDialog( editor ); + + // Initialize some basic parameters. + this._ = { + editor: editor, + element: themeBuilt.element, + name: dialogName, + contentSize: { width: 0, height: 0 }, + size: { width: 0, height: 0 }, + contents: {}, + buttons: {}, + accessKeyMap: {}, + + // Initialize the tab and page map. + tabs: {}, + tabIdList: [], + currentTabId: null, + currentTabIndex: null, + pageCount: 0, + lastTab: null, + tabBarMode: false, + + // Initialize the tab order array for input widgets. + focusList: [], + currentFocusIndex: 0, + hasFocus: false + }; + + this.parts = themeBuilt.parts; + + CKEDITOR.tools.setTimeout( function() { + editor.fire( 'ariaWidget', this.parts.contents ); + }, 0, this ); + + // Set the startup styles for the dialog, avoiding it enlarging the + // page size on the dialog creation. + var startStyles = { + position: CKEDITOR.env.ie6Compat ? 'absolute' : 'fixed', + top: 0, + visibility: 'hidden' + }; + + startStyles[ dir == 'rtl' ? 'right' : 'left' ] = 0; + this.parts.dialog.setStyles( startStyles ); + + + // Call the CKEDITOR.event constructor to initialize this instance. + CKEDITOR.event.call( this ); + + // Fire the "dialogDefinition" event, making it possible to customize + // the dialog definition. + this.definition = definition = CKEDITOR.fire( 'dialogDefinition', { + name: dialogName, + definition: definition + }, editor ).definition; + + // Cache tabs that should be removed. + if ( !( 'removeDialogTabs' in editor._ ) && editor.config.removeDialogTabs ) { + var removeContents = editor.config.removeDialogTabs.split( ';' ); + + for ( i = 0; i < removeContents.length; i++ ) { + var parts = removeContents[ i ].split( ':' ); + if ( parts.length == 2 ) { + var removeDialogName = parts[ 0 ]; + if ( !tabsToRemove[ removeDialogName ] ) + tabsToRemove[ removeDialogName ] = []; + tabsToRemove[ removeDialogName ].push( parts[ 1 ] ); + } + } + editor._.removeDialogTabs = tabsToRemove; + } + + // Remove tabs of this dialog. + if ( editor._.removeDialogTabs && ( tabsToRemove = editor._.removeDialogTabs[ dialogName ] ) ) { + for ( i = 0; i < tabsToRemove.length; i++ ) + definition.removeContents( tabsToRemove[ i ] ); + } + + // Initialize load, show, hide, ok and cancel events. + if ( definition.onLoad ) + this.on( 'load', definition.onLoad ); + + if ( definition.onShow ) + this.on( 'show', definition.onShow ); + + if ( definition.onHide ) + this.on( 'hide', definition.onHide ); + + if ( definition.onOk ) { + this.on( 'ok', function( evt ) { + // Dialog confirm might probably introduce content changes (#5415). + editor.fire( 'saveSnapshot' ); + setTimeout( function() { + editor.fire( 'saveSnapshot' ); + }, 0 ); + if ( definition.onOk.call( this, evt ) === false ) + evt.data.hide = false; + } ); + } + + if ( definition.onCancel ) { + this.on( 'cancel', function( evt ) { + if ( definition.onCancel.call( this, evt ) === false ) + evt.data.hide = false; + } ); + } + + var me = this; + + // Iterates over all items inside all content in the dialog, calling a + // function for each of them. + var iterContents = function( func ) { + var contents = me._.contents, + stop = false; + + for ( var i in contents ) { + for ( var j in contents[ i ] ) { + stop = func.call( this, contents[ i ][ j ] ); + if ( stop ) + return; + } + } + }; + + this.on( 'ok', function( evt ) { + iterContents( function( item ) { + if ( item.validate ) { + var retval = item.validate( this ), + invalid = typeof( retval ) == 'string' || retval === false; + + if ( invalid ) { + evt.data.hide = false; + evt.stop(); + } + + handleFieldValidated.call( item, !invalid, typeof retval == 'string' ? retval : undefined ); + return invalid; + } + } ); + }, this, null, 0 ); + + this.on( 'cancel', function( evt ) { + iterContents( function( item ) { + if ( item.isChanged() ) { + if ( !editor.config.dialog_noConfirmCancel && !confirm( editor.lang.common.confirmCancel ) ) + evt.data.hide = false; + return true; + } + } ); + }, this, null, 0 ); + + this.parts.close.on( 'click', function( evt ) { + if ( this.fire( 'cancel', { hide: true } ).hide !== false ) + this.hide(); + evt.data.preventDefault(); + }, this ); + + // Sort focus list according to tab order definitions. + function setupFocus() { + var focusList = me._.focusList; + focusList.sort( function( a, b ) { + // Mimics browser tab order logics; + if ( a.tabIndex != b.tabIndex ) + return b.tabIndex - a.tabIndex; + // Sort is not stable in some browsers, + // fall-back the comparator to 'focusIndex'; + else + return a.focusIndex - b.focusIndex; + } ); + + var size = focusList.length; + for ( var i = 0; i < size; i++ ) + focusList[ i ].focusIndex = i; + } + + function changeFocus( offset ) { + var focusList = me._.focusList; + offset = offset || 0; + + if ( focusList.length < 1 ) + return; + + var current = me._.currentFocusIndex; + + // Trigger the 'blur' event of any input element before anything, + // since certain UI updates may depend on it. + try { + focusList[ current ].getInputElement().$.blur(); + } catch ( e ) {} + + var startIndex = ( current + offset + focusList.length ) % focusList.length, + currentIndex = startIndex; + while ( offset && !focusList[ currentIndex ].isFocusable() ) { + currentIndex = ( currentIndex + offset + focusList.length ) % focusList.length; + if ( currentIndex == startIndex ) + break; + } + + focusList[ currentIndex ].focus(); + + // Select whole field content. + if ( focusList[ currentIndex ].type == 'text' ) + focusList[ currentIndex ].select(); + } + + this.changeFocus = changeFocus; + + + function keydownHandler( evt ) { + // If I'm not the top dialog, ignore. + if ( me != CKEDITOR.dialog._.currentTop ) + return; + + var keystroke = evt.data.getKeystroke(), + rtl = editor.lang.dir == 'rtl', + button; + + processed = stopPropagation = 0; + + if ( keystroke == 9 || keystroke == CKEDITOR.SHIFT + 9 ) { + var shiftPressed = ( keystroke == CKEDITOR.SHIFT + 9 ); + + // Handling Tab and Shift-Tab. + if ( me._.tabBarMode ) { + // Change tabs. + var nextId = shiftPressed ? getPreviousVisibleTab.call( me ) : getNextVisibleTab.call( me ); + me.selectPage( nextId ); + me._.tabs[ nextId ][ 0 ].focus(); + } else { + // Change the focus of inputs. + changeFocus( shiftPressed ? -1 : 1 ); + } + + processed = 1; + } else if ( keystroke == CKEDITOR.ALT + 121 && !me._.tabBarMode && me.getPageCount() > 1 ) { + // Alt-F10 puts focus into the current tab item in the tab bar. + me._.tabBarMode = true; + me._.tabs[ me._.currentTabId ][ 0 ].focus(); + processed = 1; + } else if ( ( keystroke == 37 || keystroke == 39 ) && me._.tabBarMode ) { + // Arrow keys - used for changing tabs. + nextId = ( keystroke == ( rtl ? 39 : 37 ) ? getPreviousVisibleTab.call( me ) : getNextVisibleTab.call( me ) ); + me.selectPage( nextId ); + me._.tabs[ nextId ][ 0 ].focus(); + processed = 1; + } else if ( ( keystroke == 13 || keystroke == 32 ) && me._.tabBarMode ) { + this.selectPage( this._.currentTabId ); + this._.tabBarMode = false; + this._.currentFocusIndex = -1; + changeFocus( 1 ); + processed = 1; + } + // If user presses enter key in a text box, it implies clicking OK for the dialog. + else if ( keystroke == 13 /*ENTER*/ ) { + // Don't do that for a target that handles ENTER. + var target = evt.data.getTarget(); + if ( !target.is( 'a', 'button', 'select', 'textarea' ) && ( !target.is( 'input' ) || target.$.type != 'button' ) ) { + button = this.getButton( 'ok' ); + button && CKEDITOR.tools.setTimeout( button.click, 0, button ); + processed = 1; + } + stopPropagation = 1; // Always block the propagation (#4269) + } else if ( keystroke == 27 /*ESC*/ ) { + button = this.getButton( 'cancel' ); + + // If there's a Cancel button, click it, else just fire the cancel event and hide the dialog. + if ( button ) + CKEDITOR.tools.setTimeout( button.click, 0, button ); + else { + if ( this.fire( 'cancel', { hide: true } ).hide !== false ) + this.hide(); + } + stopPropagation = 1; // Always block the propagation (#4269) + } else + return; + + keypressHandler( evt ); + } + + function keypressHandler( evt ) { + if ( processed ) + evt.data.preventDefault( 1 ); + else if ( stopPropagation ) + evt.data.stopPropagation(); + } + + var dialogElement = this._.element; + + editor.focusManager.add( dialogElement, 1 ); + + // Add the dialog keyboard handlers. + this.on( 'show', function() { + dialogElement.on( 'keydown', keydownHandler, this ); + + // Some browsers instead, don't cancel key events in the keydown, but in the + // keypress. So we must do a longer trip in those cases. (#4531,#8985) + if ( CKEDITOR.env.opera || CKEDITOR.env.gecko ) + dialogElement.on( 'keypress', keypressHandler, this ); + + } ); + this.on( 'hide', function() { + dialogElement.removeListener( 'keydown', keydownHandler ); + if ( CKEDITOR.env.opera || CKEDITOR.env.gecko ) + dialogElement.removeListener( 'keypress', keypressHandler ); + + // Reset fields state when closing dialog. + iterContents( function( item ) { + resetField.apply( item ); + } ); + } ); + this.on( 'iframeAdded', function( evt ) { + var doc = new CKEDITOR.dom.document( evt.data.iframe.$.contentWindow.document ); + doc.on( 'keydown', keydownHandler, this, null, 0 ); + } ); + + // Auto-focus logic in dialog. + this.on( 'show', function() { + // Setup tabIndex on showing the dialog instead of on loading + // to allow dynamic tab order happen in dialog definition. + setupFocus(); + + if ( editor.config.dialog_startupFocusTab && me._.pageCount > 1 ) { + me._.tabBarMode = true; + me._.tabs[ me._.currentTabId ][ 0 ].focus(); + } else if ( !this._.hasFocus ) { + this._.currentFocusIndex = -1; + + // Decide where to put the initial focus. + if ( definition.onFocus ) { + var initialFocus = definition.onFocus.call( this ); + // Focus the field that the user specified. + initialFocus && initialFocus.focus(); + } + // Focus the first field in layout order. + else + changeFocus( 1 ); + } + }, this, null, 0xffffffff ); + + // IE6 BUG: Text fields and text areas are only half-rendered the first time the dialog appears in IE6 (#2661). + // This is still needed after [2708] and [2709] because text fields in hidden TR tags are still broken. + if ( CKEDITOR.env.ie6Compat ) { + this.on( 'load', function( evt ) { + var outer = this.getElement(), + inner = outer.getFirst(); + inner.remove(); + inner.appendTo( outer ); + }, this ); + } + + initDragAndDrop( this ); + initResizeHandles( this ); + + // Insert the title. + ( new CKEDITOR.dom.text( definition.title, CKEDITOR.document ) ).appendTo( this.parts.title ); + + // Insert the tabs and contents. + for ( i = 0; i < definition.contents.length; i++ ) { + var page = definition.contents[ i ]; + page && this.addPage( page ); + } + + this.parts[ 'tabs' ].on( 'click', function( evt ) { + var target = evt.data.getTarget(); + // If we aren't inside a tab, bail out. + if ( target.hasClass( 'cke_dialog_tab' ) ) { + // Get the ID of the tab, without the 'cke_' prefix and the unique number suffix. + var id = target.$.id; + this.selectPage( id.substring( 4, id.lastIndexOf( '_' ) ) ); + + if ( this._.tabBarMode ) { + this._.tabBarMode = false; + this._.currentFocusIndex = -1; + changeFocus( 1 ); + } + evt.data.preventDefault(); + } + }, this ); + + // Insert buttons. + var buttonsHtml = [], + buttons = CKEDITOR.dialog._.uiElementBuilders.hbox.build( this, { + type: 'hbox', + className: 'cke_dialog_footer_buttons', + widths: [], + children: definition.buttons + }, buttonsHtml ).getChild(); + this.parts.footer.setHtml( buttonsHtml.join( '' ) ); + + for ( i = 0; i < buttons.length; i++ ) + this._.buttons[ buttons[ i ].id ] = buttons[ i ]; + }; + + // Focusable interface. Use it via dialog.addFocusable. + function Focusable( dialog, element, index ) { + this.element = element; + this.focusIndex = index; + // TODO: support tabIndex for focusables. + this.tabIndex = 0; + this.isFocusable = function() { + return !element.getAttribute( 'disabled' ) && element.isVisible(); + }; + this.focus = function() { + dialog._.currentFocusIndex = this.focusIndex; + this.element.focus(); + }; + // Bind events + element.on( 'keydown', function( e ) { + if ( e.data.getKeystroke() in { 32: 1, 13: 1 } ) + this.fire( 'click' ); + } ); + element.on( 'focus', function() { + this.fire( 'mouseover' ); + } ); + element.on( 'blur', function() { + this.fire( 'mouseout' ); + } ); + } + + // Re-layout the dialog on window resize. + function resizeWithWindow( dialog ) { + var win = CKEDITOR.document.getWindow(); + function resizeHandler() { dialog.layout(); } + win.on( 'resize', resizeHandler ); + dialog.on( 'hide', function() { win.removeListener( 'resize', resizeHandler ); } ); + } + + CKEDITOR.dialog.prototype = { + destroy: function() { + this.hide(); + this._.element.remove(); + }, + + /** + * Resizes the dialog. + * + * dialogObj.resize( 800, 640 ); + * + * @method + * @param {Number} width The width of the dialog in pixels. + * @param {Number} height The height of the dialog in pixels. + */ + resize: ( function() { + return function( width, height ) { + if ( this._.contentSize && this._.contentSize.width == width && this._.contentSize.height == height ) + return; + + CKEDITOR.dialog.fire( 'resize', { + dialog: this, + width: width, + height: height + }, this._.editor ); + + this.fire( 'resize', { + width: width, + height: height + }, this._.editor ); + + var contents = this.parts.contents; + contents.setStyles( { + width: width + 'px', + height: height + 'px' + } ); + + // Update dialog position when dimension get changed in RTL. + if ( this._.editor.lang.dir == 'rtl' && this._.position ) + this._.position.x = CKEDITOR.document.getWindow().getViewPaneSize().width - this._.contentSize.width - parseInt( this._.element.getFirst().getStyle( 'right' ), 10 ); + + this._.contentSize = { width: width, height: height }; + }; + } )(), + + /** + * Gets the current size of the dialog in pixels. + * + * var width = dialogObj.getSize().width; + * + * @returns {Object} + * @returns {Number} return.width + * @returns {Number} return.height + */ + getSize: function() { + var element = this._.element.getFirst(); + return { width: element.$.offsetWidth || 0, height: element.$.offsetHeight || 0 }; + }, + + /** + * Moves the dialog to an `(x, y)` coordinate relative to the window. + * + * dialogObj.move( 10, 40 ); + * + * @method + * @param {Number} x The target x-coordinate. + * @param {Number} y The target y-coordinate. + * @param {Boolean} save Flag indicate whether the dialog position should be remembered on next open up. + */ + move: function( x, y, save ) { + + // The dialog may be fixed positioned or absolute positioned. Ask the + // browser what is the current situation first. + var element = this._.element.getFirst(), rtl = this._.editor.lang.dir == 'rtl'; + var isFixed = element.getComputedStyle( 'position' ) == 'fixed'; + + // (#8888) In some cases of a very small viewport, dialog is incorrectly + // positioned in IE7. It also happens that it remains sticky and user cannot + // scroll down/up to reveal dialog's content below/above the viewport; this is + // cumbersome. + // The only way to fix this is to move mouse out of the browser and + // go back to see that dialog position is automagically fixed. No events, + // no style change - pure magic. This is a IE7 rendering issue, which can be + // fixed with dummy style redraw on each move. + if ( CKEDITOR.env.ie ) + element.setStyle( 'zoom', '100%' ); + + if ( isFixed && this._.position && this._.position.x == x && this._.position.y == y ) + return; + + // Save the current position. + this._.position = { x: x, y: y }; + + // If not fixed positioned, add scroll position to the coordinates. + if ( !isFixed ) { + var scrollPosition = CKEDITOR.document.getWindow().getScrollPosition(); + x += scrollPosition.x; + y += scrollPosition.y; + } + + // Translate coordinate for RTL. + if ( rtl ) { + var dialogSize = this.getSize(), viewPaneSize = CKEDITOR.document.getWindow().getViewPaneSize(); + x = viewPaneSize.width - dialogSize.width - x; + } + + var styles = { 'top': ( y > 0 ? y : 0 ) + 'px' }; + styles[ rtl ? 'right' : 'left' ] = ( x > 0 ? x : 0 ) + 'px'; + + element.setStyles( styles ); + + save && ( this._.moved = 1 ); + }, + + /** + * Gets the dialog's position in the window. + * + * var dialogX = dialogObj.getPosition().x; + * + * @returns {Object} + * @returns {Number} return.x + * @returns {Number} return.y + */ + getPosition: function() { + return CKEDITOR.tools.extend( {}, this._.position ); + }, + + /** + * Shows the dialog box. + * + * dialogObj.show(); + */ + show: function() { + // Insert the dialog's element to the root document. + var element = this._.element; + var definition = this.definition; + if ( !( element.getParent() && element.getParent().equals( CKEDITOR.document.getBody() ) ) ) + element.appendTo( CKEDITOR.document.getBody() ); + else + element.setStyle( 'display', 'block' ); + + // FIREFOX BUG: Fix vanishing caret for Firefox 2 or Gecko 1.8. + if ( CKEDITOR.env.gecko && CKEDITOR.env.version < 10900 ) { + var dialogElement = this.parts.dialog; + dialogElement.setStyle( 'position', 'absolute' ); + setTimeout( function() { + dialogElement.setStyle( 'position', 'fixed' ); + }, 0 ); + } + + + // First, set the dialog to an appropriate size. + this.resize( this._.contentSize && this._.contentSize.width || definition.width || definition.minWidth, this._.contentSize && this._.contentSize.height || definition.height || definition.minHeight ); + + // Reset all inputs back to their default value. + this.reset(); + + // Select the first tab by default. + this.selectPage( this.definition.contents[ 0 ].id ); + + // Set z-index. + if ( CKEDITOR.dialog._.currentZIndex === null ) + CKEDITOR.dialog._.currentZIndex = this._.editor.config.baseFloatZIndex; + this._.element.getFirst().setStyle( 'z-index', CKEDITOR.dialog._.currentZIndex += 10 ); + + // Maintain the dialog ordering and dialog cover. + if ( CKEDITOR.dialog._.currentTop === null ) { + CKEDITOR.dialog._.currentTop = this; + this._.parentDialog = null; + showCover( this._.editor ); + + } else { + this._.parentDialog = CKEDITOR.dialog._.currentTop; + var parentElement = this._.parentDialog.getElement().getFirst(); + parentElement.$.style.zIndex -= Math.floor( this._.editor.config.baseFloatZIndex / 2 ); + CKEDITOR.dialog._.currentTop = this; + } + + element.on( 'keydown', accessKeyDownHandler ); + element.on( CKEDITOR.env.opera ? 'keypress' : 'keyup', accessKeyUpHandler ); + + // Reset the hasFocus state. + this._.hasFocus = false; + + for ( var i in definition.contents ) { + if ( !definition.contents[ i ] ) + continue; + + var content = definition.contents[ i ], + tab = this._.tabs[ content.id ], + requiredContent = content.requiredContent, + enableElements = 0; + + if ( !tab ) + continue; + + for ( var j in this._.contents[ content.id ] ) { + var elem = this._.contents[ content.id ][ j ]; + + if ( elem.type == 'hbox' || elem.type == 'vbox' || !elem.getInputElement() ) + continue; + + if ( elem.requiredContent && !this._.editor.activeFilter.check( elem.requiredContent ) ) + elem.disable(); + else { + elem.enable(); + enableElements++; + } + } + + if ( !enableElements || ( requiredContent && !this._.editor.activeFilter.check( requiredContent ) ) ) + tab[ 0 ].addClass( 'cke_dialog_tab_disabled' ); + else + tab[ 0 ].removeClass( 'cke_dialog_tab_disabled' ); + } + + CKEDITOR.tools.setTimeout( function() { + this.layout(); + resizeWithWindow( this ); + + this.parts.dialog.setStyle( 'visibility', '' ); + + // Execute onLoad for the first show. + this.fireOnce( 'load', {} ); + CKEDITOR.ui.fire( 'ready', this ); + + this.fire( 'show', {} ); + this._.editor.fire( 'dialogShow', this ); + + if ( !this._.parentDialog ) + this._.editor.focusManager.lock(); + + // Save the initial values of the dialog. + this.foreach( function( contentObj ) { + contentObj.setInitValue && contentObj.setInitValue(); + } ); + + }, 100, this ); + }, + + /** + * Rearrange the dialog to its previous position or the middle of the window. + * + * @since 3.5 + */ + layout: function() { + var el = this.parts.dialog; + var dialogSize = this.getSize(); + var win = CKEDITOR.document.getWindow(), + viewSize = win.getViewPaneSize(); + + var posX = ( viewSize.width - dialogSize.width ) / 2, + posY = ( viewSize.height - dialogSize.height ) / 2; + + // Switch to absolute position when viewport is smaller than dialog size. + if ( !CKEDITOR.env.ie6Compat ) { + if ( dialogSize.height + ( posY > 0 ? posY : 0 ) > viewSize.height || + dialogSize.width + ( posX > 0 ? posX : 0 ) > viewSize.width ) + el.setStyle( 'position', 'absolute' ); + else + el.setStyle( 'position', 'fixed' ); + } + + this.move( this._.moved ? this._.position.x : posX, + this._.moved ? this._.position.y : posY ); + }, + + /** + * Executes a function for each UI element. + * + * @param {Function} fn Function to execute for each UI element. + * @returns {CKEDITOR.dialog} The current dialog object. + */ + foreach: function( fn ) { + for ( var i in this._.contents ) { + for ( var j in this._.contents[ i ] ) + fn.call( this, this._.contents[ i ][ j ] ); + } + return this; + }, + + /** + * Resets all input values in the dialog. + * + * dialogObj.reset(); + * + * @method + * @chainable + */ + reset: ( function() { + var fn = function( widget ) { + if ( widget.reset ) + widget.reset( 1 ); + }; + return function() { + this.foreach( fn ); + return this; + }; + } )(), + + + /** + * Calls the {@link CKEDITOR.dialog.definition.uiElement#setup} method of each + * of the UI elements, with the arguments passed through it. + * It is usually being called when the dialog is opened, to put the initial value inside the field. + * + * dialogObj.setupContent(); + * + * var timestamp = ( new Date() ).valueOf(); + * dialogObj.setupContent( timestamp ); + */ + setupContent: function() { + var args = arguments; + this.foreach( function( widget ) { + if ( widget.setup ) + widget.setup.apply( widget, args ); + } ); + }, + + /** + * Calls the {@link CKEDITOR.dialog.definition.uiElement#commit} method of each + * of the UI elements, with the arguments passed through it. + * It is usually being called when the user confirms the dialog, to process the values. + * + * dialogObj.commitContent(); + * + * var timestamp = ( new Date() ).valueOf(); + * dialogObj.commitContent( timestamp ); + */ + commitContent: function() { + var args = arguments; + this.foreach( function( widget ) { + // Make sure IE triggers "change" event on last focused input before closing the dialog. (#7915) + if ( CKEDITOR.env.ie && this._.currentFocusIndex == widget.focusIndex ) + widget.getInputElement().$.blur(); + + if ( widget.commit ) + widget.commit.apply( widget, args ); + } ); + }, + + /** + * Hides the dialog box. + * + * dialogObj.hide(); + */ + hide: function() { + if ( !this.parts.dialog.isVisible() ) + return; + + this.fire( 'hide', {} ); + this._.editor.fire( 'dialogHide', this ); + // Reset the tab page. + this.selectPage( this._.tabIdList[ 0 ] ); + var element = this._.element; + element.setStyle( 'display', 'none' ); + this.parts.dialog.setStyle( 'visibility', 'hidden' ); + // Unregister all access keys associated with this dialog. + unregisterAccessKey( this ); + + // Close any child(top) dialogs first. + while ( CKEDITOR.dialog._.currentTop != this ) + CKEDITOR.dialog._.currentTop.hide(); + + // Maintain dialog ordering and remove cover if needed. + if ( !this._.parentDialog ) + hideCover( this._.editor ); + else { + var parentElement = this._.parentDialog.getElement().getFirst(); + parentElement.setStyle( 'z-index', parseInt( parentElement.$.style.zIndex, 10 ) + Math.floor( this._.editor.config.baseFloatZIndex / 2 ) ); + } + CKEDITOR.dialog._.currentTop = this._.parentDialog; + + // Deduct or clear the z-index. + if ( !this._.parentDialog ) { + CKEDITOR.dialog._.currentZIndex = null; + + // Remove access key handlers. + element.removeListener( 'keydown', accessKeyDownHandler ); + element.removeListener( CKEDITOR.env.opera ? 'keypress' : 'keyup', accessKeyUpHandler ); + + var editor = this._.editor; + editor.focus(); + + // Give a while before unlock, waiting for focus to return to the editable. (#172) + setTimeout( function() { editor.focusManager.unlock(); }, 0 ); + + } else + CKEDITOR.dialog._.currentZIndex -= 10; + + delete this._.parentDialog; + // Reset the initial values of the dialog. + this.foreach( function( contentObj ) { + contentObj.resetInitValue && contentObj.resetInitValue(); + } ); + }, + + /** + * Adds a tabbed page into the dialog. + * + * @param {Object} contents Content definition. + */ + addPage: function( contents ) { + if ( contents.requiredContent && !this._.editor.filter.check( contents.requiredContent ) ) + return; + + var pageHtml = [], + titleHtml = contents.label ? ' title="' + CKEDITOR.tools.htmlEncode( contents.label ) + '"' : '', + elements = contents.elements, + vbox = CKEDITOR.dialog._.uiElementBuilders.vbox.build( this, { + type: 'vbox', + className: 'cke_dialog_page_contents', + children: contents.elements, + expand: !!contents.expand, + padding: contents.padding, + style: contents.style || 'width: 100%;' + }, pageHtml ); + + var contentMap = this._.contents[ contents.id ] = {}, + cursor, + children = vbox.getChild(), + enabledFields = 0; + + while ( ( cursor = children.shift() ) ) { + // Count all allowed fields. + if ( !cursor.notAllowed && cursor.type != 'hbox' && cursor.type != 'vbox' ) + enabledFields++; + + contentMap[ cursor.id ] = cursor; + if ( typeof( cursor.getChild ) == 'function' ) + children.push.apply( children, cursor.getChild() ); + } + + // If all fields are disabled (because they are not allowed) hide this tab. + if ( !enabledFields ) + contents.hidden = true; + + // Create the HTML for the tab and the content block. + var page = CKEDITOR.dom.element.createFromHtml( pageHtml.join( '' ) ); + page.setAttribute( 'role', 'tabpanel' ); + + var env = CKEDITOR.env; + var tabId = 'cke_' + contents.id + '_' + CKEDITOR.tools.getNextNumber(), + tab = CKEDITOR.dom.element.createFromHtml( [ + ' 0 ? ' cke_last' : 'cke_first' ), + titleHtml, + ( !!contents.hidden ? ' style="display:none"' : '' ), + ' id="', tabId, '"', + env.gecko && env.version >= 10900 && !env.hc ? '' : ' href="javascript:void(0)"', + ' tabIndex="-1"', + ' hidefocus="true"', + ' role="tab">', + contents.label, + '' + ].join( '' ) ); + + page.setAttribute( 'aria-labelledby', tabId ); + + // Take records for the tabs and elements created. + this._.tabs[ contents.id ] = [ tab, page ]; + this._.tabIdList.push( contents.id ); + !contents.hidden && this._.pageCount++; + this._.lastTab = tab; + this.updateStyle(); + + // Attach the DOM nodes. + + page.setAttribute( 'name', contents.id ); + page.appendTo( this.parts.contents ); + + tab.unselectable(); + this.parts.tabs.append( tab ); + + // Add access key handlers if access key is defined. + if ( contents.accessKey ) { + registerAccessKey( this, this, 'CTRL+' + contents.accessKey, tabAccessKeyDown, tabAccessKeyUp ); + this._.accessKeyMap[ 'CTRL+' + contents.accessKey ] = contents.id; + } + }, + + /** + * Activates a tab page in the dialog by its id. + * + * dialogObj.selectPage( 'tab_1' ); + * + * @param {String} id The id of the dialog tab to be activated. + */ + selectPage: function( id ) { + if ( this._.currentTabId == id ) + return; + + if ( this._.tabs[ id ][ 0 ].hasClass( 'cke_dialog_tab_disabled' ) ) + return; + + // If event was canceled - do nothing. + if ( this.fire( 'selectPage', { page: id, currentPage: this._.currentTabId } ) === false ) + return; + + // Hide the non-selected tabs and pages. + for ( var i in this._.tabs ) { + var tab = this._.tabs[ i ][ 0 ], + page = this._.tabs[ i ][ 1 ]; + if ( i != id ) { + tab.removeClass( 'cke_dialog_tab_selected' ); + page.hide(); + } + page.setAttribute( 'aria-hidden', i != id ); + } + + var selected = this._.tabs[ id ]; + selected[ 0 ].addClass( 'cke_dialog_tab_selected' ); + + // [IE] an invisible input[type='text'] will enlarge it's width + // if it's value is long when it shows, so we clear it's value + // before it shows and then recover it (#5649) + if ( CKEDITOR.env.ie6Compat || CKEDITOR.env.ie7Compat ) { + clearOrRecoverTextInputValue( selected[ 1 ] ); + selected[ 1 ].show(); + setTimeout( function() { + clearOrRecoverTextInputValue( selected[ 1 ], 1 ); + }, 0 ); + } else + selected[ 1 ].show(); + + this._.currentTabId = id; + this._.currentTabIndex = CKEDITOR.tools.indexOf( this._.tabIdList, id ); + }, + + /** + * Dialog state-specific style updates. + */ + updateStyle: function() { + // If only a single page shown, a different style is used in the central pane. + this.parts.dialog[ ( this._.pageCount === 1 ? 'add' : 'remove' ) + 'Class' ]( 'cke_single_page' ); + }, + + /** + * Hides a page's tab away from the dialog. + * + * dialog.hidePage( 'tab_3' ); + * + * @param {String} id The page's Id. + */ + hidePage: function( id ) { + var tab = this._.tabs[ id ] && this._.tabs[ id ][ 0 ]; + if ( !tab || this._.pageCount == 1 || !tab.isVisible() ) + return; + // Switch to other tab first when we're hiding the active tab. + else if ( id == this._.currentTabId ) + this.selectPage( getPreviousVisibleTab.call( this ) ); + + tab.hide(); + this._.pageCount--; + this.updateStyle(); + }, + + /** + * Unhides a page's tab. + * + * dialog.showPage( 'tab_2' ); + * + * @param {String} id The page's Id. + */ + showPage: function( id ) { + var tab = this._.tabs[ id ] && this._.tabs[ id ][ 0 ]; + if ( !tab ) + return; + tab.show(); + this._.pageCount++; + this.updateStyle(); + }, + + /** + * Gets the root DOM element of the dialog. + * + * var dialogElement = dialogObj.getElement().getFirst(); + * dialogElement.setStyle( 'padding', '5px' ); + * + * @returns {CKEDITOR.dom.element} The `` element containing this dialog. + */ + getElement: function() { + return this._.element; + }, + + /** + * Gets the name of the dialog. + * + * var dialogName = dialogObj.getName(); + * + * @returns {String} The name of this dialog. + */ + getName: function() { + return this._.name; + }, + + /** + * Gets a dialog UI element object from a dialog page. + * + * dialogObj.getContentElement( 'tabId', 'elementId' ).setValue( 'Example' ); + * + * @param {String} pageId id of dialog page. + * @param {String} elementId id of UI element. + * @returns {CKEDITOR.ui.dialog.uiElement} The dialog UI element. + */ + getContentElement: function( pageId, elementId ) { + var page = this._.contents[ pageId ]; + return page && page[ elementId ]; + }, + + /** + * Gets the value of a dialog UI element. + * + * alert( dialogObj.getValueOf( 'tabId', 'elementId' ) ); + * + * @param {String} pageId id of dialog page. + * @param {String} elementId id of UI element. + * @returns {Object} The value of the UI element. + */ + getValueOf: function( pageId, elementId ) { + return this.getContentElement( pageId, elementId ).getValue(); + }, + + /** + * Sets the value of a dialog UI element. + * + * dialogObj.setValueOf( 'tabId', 'elementId', 'Example' ); + * + * @param {String} pageId id of the dialog page. + * @param {String} elementId id of the UI element. + * @param {Object} value The new value of the UI element. + */ + setValueOf: function( pageId, elementId, value ) { + return this.getContentElement( pageId, elementId ).setValue( value ); + }, + + /** + * Gets the UI element of a button in the dialog's button row. + * + * @returns {CKEDITOR.ui.dialog.button} The button object. + * + * @param {String} id The id of the button. + */ + getButton: function( id ) { + return this._.buttons[ id ]; + }, + + /** + * Simulates a click to a dialog button in the dialog's button row. + * + * @returns The return value of the dialog's `click` event. + * + * @param {String} id The id of the button. + */ + click: function( id ) { + return this._.buttons[ id ].click(); + }, + + /** + * Disables a dialog button. + * + * @param {String} id The id of the button. + */ + disableButton: function( id ) { + return this._.buttons[ id ].disable(); + }, + + /** + * Enables a dialog button. + * + * @param {String} id The id of the button. + */ + enableButton: function( id ) { + return this._.buttons[ id ].enable(); + }, + + /** + * Gets the number of pages in the dialog. + * + * @returns {Number} Page count. + */ + getPageCount: function() { + return this._.pageCount; + }, + + /** + * Gets the editor instance which opened this dialog. + * + * @returns {CKEDITOR.editor} Parent editor instances. + */ + getParentEditor: function() { + return this._.editor; + }, + + /** + * Gets the element that was selected when opening the dialog, if any. + * + * @returns {CKEDITOR.dom.element} The element that was selected, or `null`. + */ + getSelectedElement: function() { + return this.getParentEditor().getSelection().getSelectedElement(); + }, + + /** + * Adds element to dialog's focusable list. + * + * @param {CKEDITOR.dom.element} element + * @param {Number} [index] + */ + addFocusable: function( element, index ) { + if ( typeof index == 'undefined' ) { + index = this._.focusList.length; + this._.focusList.push( new Focusable( this, element, index ) ); + } else { + this._.focusList.splice( index, 0, new Focusable( this, element, index ) ); + for ( var i = index + 1; i < this._.focusList.length; i++ ) + this._.focusList[ i ].focusIndex++; + } + } + }; + + CKEDITOR.tools.extend( CKEDITOR.dialog, { + /** + * Registers a dialog. + * + * // Full sample plugin, which does not only register a dialog window but also adds an item to the context menu. + * // To open the dialog window, choose "Open dialog" in the context menu. + * CKEDITOR.plugins.add( 'myplugin', { + * init: function( editor ) { + * editor.addCommand( 'mydialog',new CKEDITOR.dialogCommand( 'mydialog' ) ); + * + * if ( editor.contextMenu ) { + * editor.addMenuGroup( 'mygroup', 10 ); + * editor.addMenuItem( 'My Dialog', { + * label: 'Open dialog', + * command: 'mydialog', + * group: 'mygroup' + * } ); + * editor.contextMenu.addListener( function( element ) { + * return { 'My Dialog': CKEDITOR.TRISTATE_OFF }; + * } ); + * } + * + * CKEDITOR.dialog.add( 'mydialog', function( api ) { + * // CKEDITOR.dialog.definition + * var dialogDefinition = { + * title: 'Sample dialog', + * minWidth: 390, + * minHeight: 130, + * contents: [ + * { + * id: 'tab1', + * label: 'Label', + * title: 'Title', + * expand: true, + * padding: 0, + * elements: [ + * { + * type: 'html', + * html: '

This is some sample HTML content.

' + * }, + * { + * type: 'textarea', + * id: 'textareaId', + * rows: 4, + * cols: 40 + * } + * ] + * } + * ], + * buttons: [ CKEDITOR.dialog.okButton, CKEDITOR.dialog.cancelButton ], + * onOk: function() { + * // "this" is now a CKEDITOR.dialog object. + * // Accessing dialog elements: + * var textareaObj = this.getContentElement( 'tab1', 'textareaId' ); + * alert( "You have entered: " + textareaObj.getValue() ); + * } + * }; + * + * return dialogDefinition; + * } ); + * } + * } ); + * + * CKEDITOR.replace( 'editor1', { extraPlugins: 'myplugin' } ); + * + * @static + * @param {String} name The dialog's name. + * @param {Function/String} dialogDefinition + * A function returning the dialog's definition, or the URL to the `.js` file holding the function. + * The function should accept an argument `editor` which is the current editor instance, and + * return an object conforming to {@link CKEDITOR.dialog.definition}. + * @see CKEDITOR.dialog.definition + */ + add: function( name, dialogDefinition ) { + // Avoid path registration from multiple instances override definition. + if ( !this._.dialogDefinitions[ name ] || typeof dialogDefinition == 'function' ) + this._.dialogDefinitions[ name ] = dialogDefinition; + }, + + /** + * @static + * @todo + */ + exists: function( name ) { + return !!this._.dialogDefinitions[ name ]; + }, + + /** + * @static + * @todo + */ + getCurrent: function() { + return CKEDITOR.dialog._.currentTop; + }, + + /** + * Check whether tab wasn't removed by {@link CKEDITOR.config#removeDialogTabs}. + * + * @since 4.1 + * @static + * @param {CKEDITOR.editor} editor + * @param {String} dialogName + * @param {String} tabName + * @returns {Boolean} + */ + isTabEnabled: function( editor, dialogName, tabName ) { + var cfg = editor.config.removeDialogTabs; + + return !( cfg && cfg.match( new RegExp( '(?:^|;)' + dialogName + ':' + tabName + '(?:$|;)', 'i' ) ) ); + }, + + /** + * The default OK button for dialogs. Fires the `ok` event and closes the dialog if the event succeeds. + * + * @static + * @method + */ + okButton: ( function() { + var retval = function( editor, override ) { + override = override || {}; + return CKEDITOR.tools.extend( { + id: 'ok', + type: 'button', + label: editor.lang.common.ok, + 'class': 'cke_dialog_ui_button_ok', + onClick: function( evt ) { + var dialog = evt.data.dialog; + if ( dialog.fire( 'ok', { hide: true } ).hide !== false ) + dialog.hide(); + } + }, override, true ); + }; + retval.type = 'button'; + retval.override = function( override ) { + return CKEDITOR.tools.extend( function( editor ) { + return retval( editor, override ); + }, { type: 'button' }, true ); + }; + return retval; + } )(), + + /** + * The default cancel button for dialogs. Fires the `cancel` event and + * closes the dialog if no UI element value changed. + * + * @static + * @method + */ + cancelButton: ( function() { + var retval = function( editor, override ) { + override = override || {}; + return CKEDITOR.tools.extend( { + id: 'cancel', + type: 'button', + label: editor.lang.common.cancel, + 'class': 'cke_dialog_ui_button_cancel', + onClick: function( evt ) { + var dialog = evt.data.dialog; + if ( dialog.fire( 'cancel', { hide: true } ).hide !== false ) + dialog.hide(); + } + }, override, true ); + }; + retval.type = 'button'; + retval.override = function( override ) { + return CKEDITOR.tools.extend( function( editor ) { + return retval( editor, override ); + }, { type: 'button' }, true ); + }; + return retval; + } )(), + + /** + * Registers a dialog UI element. + * + * @static + * @param {String} typeName The name of the UI element. + * @param {Function} builder The function to build the UI element. + */ + addUIElement: function( typeName, builder ) { + this._.uiElementBuilders[ typeName ] = builder; + } + } ); + + CKEDITOR.dialog._ = { + uiElementBuilders: {}, + + dialogDefinitions: {}, + + currentTop: null, + + currentZIndex: null + }; + + // "Inherit" (copy actually) from CKEDITOR.event. + CKEDITOR.event.implementOn( CKEDITOR.dialog ); + CKEDITOR.event.implementOn( CKEDITOR.dialog.prototype ); + + var defaultDialogDefinition = { + resizable: CKEDITOR.DIALOG_RESIZE_BOTH, + minWidth: 600, + minHeight: 400, + buttons: [ CKEDITOR.dialog.okButton, CKEDITOR.dialog.cancelButton ] + }; + + // Tool function used to return an item from an array based on its id + // property. + var getById = function( array, id, recurse ) { + for ( var i = 0, item; + ( item = array[ i ] ); i++ ) { + if ( item.id == id ) + return item; + if ( recurse && item[ recurse ] ) { + var retval = getById( item[ recurse ], id, recurse ); + if ( retval ) + return retval; + } + } + return null; + }; + + // Tool function used to add an item into an array. + var addById = function( array, newItem, nextSiblingId, recurse, nullIfNotFound ) { + if ( nextSiblingId ) { + for ( var i = 0, item; + ( item = array[ i ] ); i++ ) { + if ( item.id == nextSiblingId ) { + array.splice( i, 0, newItem ); + return newItem; + } + + if ( recurse && item[ recurse ] ) { + var retval = addById( item[ recurse ], newItem, nextSiblingId, recurse, true ); + if ( retval ) + return retval; + } + } + + if ( nullIfNotFound ) + return null; + } + + array.push( newItem ); + return newItem; + }; + + // Tool function used to remove an item from an array based on its id. + var removeById = function( array, id, recurse ) { + for ( var i = 0, item; + ( item = array[ i ] ); i++ ) { + if ( item.id == id ) + return array.splice( i, 1 ); + if ( recurse && item[ recurse ] ) { + var retval = removeById( item[ recurse ], id, recurse ); + if ( retval ) + return retval; + } + } + return null; + }; + + /** + * This class is not really part of the API. It is the `definition` property value + * passed to `dialogDefinition` event handlers. + * + * CKEDITOR.on( 'dialogDefinition', function( evt ) { + * var definition = evt.data.definition; + * var content = definition.getContents( 'page1' ); + * // ... + * } ); + * + * @private + * @class CKEDITOR.dialog.definitionObject + * @extends CKEDITOR.dialog.definition + * @constructor Creates a definitionObject class instance. + */ + var definitionObject = function( dialog, dialogDefinition ) { + // TODO : Check if needed. + this.dialog = dialog; + + // Transform the contents entries in contentObjects. + var contents = dialogDefinition.contents; + for ( var i = 0, content; + ( content = contents[ i ] ); i++ ) + contents[ i ] = content && new contentObject( dialog, content ); + + CKEDITOR.tools.extend( this, dialogDefinition ); + }; + + definitionObject.prototype = { + /** + * Gets a content definition. + * + * @param {String} id The id of the content definition. + * @returns {CKEDITOR.dialog.definition.content} The content definition matching id. + */ + getContents: function( id ) { + return getById( this.contents, id ); + }, + + /** + * Gets a button definition. + * + * @param {String} id The id of the button definition. + * @returns {CKEDITOR.dialog.definition.button} The button definition matching id. + */ + getButton: function( id ) { + return getById( this.buttons, id ); + }, + + /** + * Adds a content definition object under this dialog definition. + * + * @param {CKEDITOR.dialog.definition.content} contentDefinition The + * content definition. + * @param {String} [nextSiblingId] The id of an existing content + * definition which the new content definition will be inserted + * before. Omit if the new content definition is to be inserted as + * the last item. + * @returns {CKEDITOR.dialog.definition.content} The inserted content definition. + */ + addContents: function( contentDefinition, nextSiblingId ) { + return addById( this.contents, contentDefinition, nextSiblingId ); + }, + + /** + * Adds a button definition object under this dialog definition. + * + * @param {CKEDITOR.dialog.definition.button} buttonDefinition The + * button definition. + * @param {String} [nextSiblingId] The id of an existing button + * definition which the new button definition will be inserted + * before. Omit if the new button definition is to be inserted as + * the last item. + * @returns {CKEDITOR.dialog.definition.button} The inserted button definition. + */ + addButton: function( buttonDefinition, nextSiblingId ) { + return addById( this.buttons, buttonDefinition, nextSiblingId ); + }, + + /** + * Removes a content definition from this dialog definition. + * + * @param {String} id The id of the content definition to be removed. + * @returns {CKEDITOR.dialog.definition.content} The removed content definition. + */ + removeContents: function( id ) { + removeById( this.contents, id ); + }, + + /** + * Removes a button definition from the dialog definition. + * + * @param {String} id The id of the button definition to be removed. + * @returns {CKEDITOR.dialog.definition.button} The removed button definition. + */ + removeButton: function( id ) { + removeById( this.buttons, id ); + } + }; + + /** + * This class is not really part of the API. It is the template of the + * objects representing content pages inside the + * CKEDITOR.dialog.definitionObject. + * + * CKEDITOR.on( 'dialogDefinition', function( evt ) { + * var definition = evt.data.definition; + * var content = definition.getContents( 'page1' ); + * content.remove( 'textInput1' ); + * // ... + * } ); + * + * @private + * @class CKEDITOR.dialog.definition.contentObject + * @constructor Creates a contentObject class instance. + */ + function contentObject( dialog, contentDefinition ) { + this._ = { + dialog: dialog + }; + + CKEDITOR.tools.extend( this, contentDefinition ); + } + + contentObject.prototype = { + /** + * Gets a UI element definition under the content definition. + * + * @param {String} id The id of the UI element definition. + * @returns {CKEDITOR.dialog.definition.uiElement} + */ + get: function( id ) { + return getById( this.elements, id, 'children' ); + }, + + /** + * Adds a UI element definition to the content definition. + * + * @param {CKEDITOR.dialog.definition.uiElement} elementDefinition The + * UI elemnet definition to be added. + * @param {String} nextSiblingId The id of an existing UI element + * definition which the new UI element definition will be inserted + * before. Omit if the new button definition is to be inserted as + * the last item. + * @returns {CKEDITOR.dialog.definition.uiElement} The element definition inserted. + */ + add: function( elementDefinition, nextSiblingId ) { + return addById( this.elements, elementDefinition, nextSiblingId, 'children' ); + }, + + /** + * Removes a UI element definition from the content definition. + * + * @param {String} id The id of the UI element definition to be removed. + * @returns {CKEDITOR.dialog.definition.uiElement} The element definition removed. + */ + remove: function( id ) { + removeById( this.elements, id, 'children' ); + } + }; + + function initDragAndDrop( dialog ) { + var lastCoords = null, + abstractDialogCoords = null, + element = dialog.getElement().getFirst(), + editor = dialog.getParentEditor(), + magnetDistance = editor.config.dialog_magnetDistance, + margins = CKEDITOR.skin.margins || [ 0, 0, 0, 0 ]; + + if ( typeof magnetDistance == 'undefined' ) + magnetDistance = 20; + + function mouseMoveHandler( evt ) { + var dialogSize = dialog.getSize(), + viewPaneSize = CKEDITOR.document.getWindow().getViewPaneSize(), + x = evt.data.$.screenX, + y = evt.data.$.screenY, + dx = x - lastCoords.x, + dy = y - lastCoords.y, + realX, realY; + + lastCoords = { x: x, y: y }; + abstractDialogCoords.x += dx; + abstractDialogCoords.y += dy; + + if ( abstractDialogCoords.x + margins[ 3 ] < magnetDistance ) + realX = -margins[ 3 ]; + else if ( abstractDialogCoords.x - margins[ 1 ] > viewPaneSize.width - dialogSize.width - magnetDistance ) + realX = viewPaneSize.width - dialogSize.width + ( editor.lang.dir == 'rtl' ? 0 : margins[ 1 ] ); + else + realX = abstractDialogCoords.x; + + if ( abstractDialogCoords.y + margins[ 0 ] < magnetDistance ) + realY = -margins[ 0 ]; + else if ( abstractDialogCoords.y - margins[ 2 ] > viewPaneSize.height - dialogSize.height - magnetDistance ) + realY = viewPaneSize.height - dialogSize.height + margins[ 2 ]; + else + realY = abstractDialogCoords.y; + + dialog.move( realX, realY, 1 ); + + evt.data.preventDefault(); + } + + function mouseUpHandler( evt ) { + CKEDITOR.document.removeListener( 'mousemove', mouseMoveHandler ); + CKEDITOR.document.removeListener( 'mouseup', mouseUpHandler ); + + if ( CKEDITOR.env.ie6Compat ) { + var coverDoc = currentCover.getChild( 0 ).getFrameDocument(); + coverDoc.removeListener( 'mousemove', mouseMoveHandler ); + coverDoc.removeListener( 'mouseup', mouseUpHandler ); + } + } + + dialog.parts.title.on( 'mousedown', function( evt ) { + lastCoords = { x: evt.data.$.screenX, y: evt.data.$.screenY }; + + CKEDITOR.document.on( 'mousemove', mouseMoveHandler ); + CKEDITOR.document.on( 'mouseup', mouseUpHandler ); + abstractDialogCoords = dialog.getPosition(); + + if ( CKEDITOR.env.ie6Compat ) { + var coverDoc = currentCover.getChild( 0 ).getFrameDocument(); + coverDoc.on( 'mousemove', mouseMoveHandler ); + coverDoc.on( 'mouseup', mouseUpHandler ); + } + + evt.data.preventDefault(); + }, dialog ); + } + + function initResizeHandles( dialog ) { + var def = dialog.definition, + resizable = def.resizable; + + if ( resizable == CKEDITOR.DIALOG_RESIZE_NONE ) + return; + + var editor = dialog.getParentEditor(); + var wrapperWidth, wrapperHeight, viewSize, origin, startSize, dialogCover; + + var mouseDownFn = CKEDITOR.tools.addFunction( function( $event ) { + startSize = dialog.getSize(); + + var content = dialog.parts.contents, + iframeDialog = content.$.getElementsByTagName( 'iframe' ).length; + + // Shim to help capturing "mousemove" over iframe. + if ( iframeDialog ) { + dialogCover = CKEDITOR.dom.element.createFromHtml( '
' ); + content.append( dialogCover ); + } + + // Calculate the offset between content and chrome size. + wrapperHeight = startSize.height - dialog.parts.contents.getSize( 'height', !( CKEDITOR.env.gecko || CKEDITOR.env.opera || CKEDITOR.env.ie && CKEDITOR.env.quirks ) ); + wrapperWidth = startSize.width - dialog.parts.contents.getSize( 'width', 1 ); + + origin = { x: $event.screenX, y: $event.screenY }; + + viewSize = CKEDITOR.document.getWindow().getViewPaneSize(); + + CKEDITOR.document.on( 'mousemove', mouseMoveHandler ); + CKEDITOR.document.on( 'mouseup', mouseUpHandler ); + + if ( CKEDITOR.env.ie6Compat ) { + var coverDoc = currentCover.getChild( 0 ).getFrameDocument(); + coverDoc.on( 'mousemove', mouseMoveHandler ); + coverDoc.on( 'mouseup', mouseUpHandler ); + } + + $event.preventDefault && $event.preventDefault(); + } ); + + // Prepend the grip to the dialog. + dialog.on( 'load', function() { + var direction = ''; + if ( resizable == CKEDITOR.DIALOG_RESIZE_WIDTH ) + direction = ' cke_resizer_horizontal'; + else if ( resizable == CKEDITOR.DIALOG_RESIZE_HEIGHT ) + direction = ' cke_resizer_vertical'; + var resizer = CKEDITOR.dom.element.createFromHtml( + '' + + // BLACK LOWER RIGHT TRIANGLE (ltr) + // BLACK LOWER LEFT TRIANGLE (rtl) + ( editor.lang.dir == 'ltr' ? '\u25E2' : '\u25E3' ) + + '
' ); + dialog.parts.footer.append( resizer, 1 ); + } ); + editor.on( 'destroy', function() { + CKEDITOR.tools.removeFunction( mouseDownFn ); + } ); + + function mouseMoveHandler( evt ) { + var rtl = editor.lang.dir == 'rtl', + dx = ( evt.data.$.screenX - origin.x ) * ( rtl ? -1 : 1 ), + dy = evt.data.$.screenY - origin.y, + width = startSize.width, + height = startSize.height, + internalWidth = width + dx * ( dialog._.moved ? 1 : 2 ), + internalHeight = height + dy * ( dialog._.moved ? 1 : 2 ), + element = dialog._.element.getFirst(), + right = rtl && element.getComputedStyle( 'right' ), + position = dialog.getPosition(); + + if ( position.y + internalHeight > viewSize.height ) + internalHeight = viewSize.height - position.y; + + if ( ( rtl ? right : position.x ) + internalWidth > viewSize.width ) + internalWidth = viewSize.width - ( rtl ? right : position.x ); + + // Make sure the dialog will not be resized to the wrong side when it's in the leftmost position for RTL. + if ( ( resizable == CKEDITOR.DIALOG_RESIZE_WIDTH || resizable == CKEDITOR.DIALOG_RESIZE_BOTH ) ) + width = Math.max( def.minWidth || 0, internalWidth - wrapperWidth ); + + if ( resizable == CKEDITOR.DIALOG_RESIZE_HEIGHT || resizable == CKEDITOR.DIALOG_RESIZE_BOTH ) + height = Math.max( def.minHeight || 0, internalHeight - wrapperHeight ); + + dialog.resize( width, height ); + + if ( !dialog._.moved ) + dialog.layout(); + + evt.data.preventDefault(); + } + + function mouseUpHandler() { + CKEDITOR.document.removeListener( 'mouseup', mouseUpHandler ); + CKEDITOR.document.removeListener( 'mousemove', mouseMoveHandler ); + + if ( dialogCover ) { + dialogCover.remove(); + dialogCover = null; + } + + if ( CKEDITOR.env.ie6Compat ) { + var coverDoc = currentCover.getChild( 0 ).getFrameDocument(); + coverDoc.removeListener( 'mouseup', mouseUpHandler ); + coverDoc.removeListener( 'mousemove', mouseMoveHandler ); + } + } + } + + var resizeCover; + // Caching resuable covers and allowing only one cover + // on screen. + var covers = {}, + currentCover; + + function cancelEvent( ev ) { + ev.data.preventDefault( 1 ); + } + + function showCover( editor ) { + var win = CKEDITOR.document.getWindow(); + var config = editor.config, + backgroundColorStyle = config.dialog_backgroundCoverColor || 'white', + backgroundCoverOpacity = config.dialog_backgroundCoverOpacity, + baseFloatZIndex = config.baseFloatZIndex, + coverKey = CKEDITOR.tools.genKey( backgroundColorStyle, backgroundCoverOpacity, baseFloatZIndex ), + coverElement = covers[ coverKey ]; + + if ( !coverElement ) { + var html = [ + '
' + ]; + + if ( CKEDITOR.env.ie6Compat ) { + // Support for custom document.domain in IE. + var iframeHtml = ''; + + html.push( '' + + '' ); + } + + html.push( '
' ); + + coverElement = CKEDITOR.dom.element.createFromHtml( html.join( '' ) ); + coverElement.setOpacity( backgroundCoverOpacity != undefined ? backgroundCoverOpacity : 0.5 ); + + coverElement.on( 'keydown', cancelEvent ); + coverElement.on( 'keypress', cancelEvent ); + coverElement.on( 'keyup', cancelEvent ); + + coverElement.appendTo( CKEDITOR.document.getBody() ); + covers[ coverKey ] = coverElement; + } else + coverElement.show(); + + // Makes the dialog cover a focus holder as well. + editor.focusManager.add( coverElement ); + + currentCover = coverElement; + var resizeFunc = function() { + var size = win.getViewPaneSize(); + coverElement.setStyles( { + width: size.width + 'px', + height: size.height + 'px' + } ); + }; + + var scrollFunc = function() { + var pos = win.getScrollPosition(), + cursor = CKEDITOR.dialog._.currentTop; + coverElement.setStyles( { + left: pos.x + 'px', + top: pos.y + 'px' + } ); + + if ( cursor ) { + do { + var dialogPos = cursor.getPosition(); + cursor.move( dialogPos.x, dialogPos.y ); + } while ( ( cursor = cursor._.parentDialog ) ); + } + }; + + resizeCover = resizeFunc; + win.on( 'resize', resizeFunc ); + resizeFunc(); + // Using Safari/Mac, focus must be kept where it is (#7027) + if ( !( CKEDITOR.env.mac && CKEDITOR.env.webkit ) ) + coverElement.focus(); + + if ( CKEDITOR.env.ie6Compat ) { + // IE BUG: win.$.onscroll assignment doesn't work.. it must be window.onscroll. + // So we need to invent a really funny way to make it work. + var myScrollHandler = function() { + scrollFunc(); + arguments.callee.prevScrollHandler.apply( this, arguments ); + }; + win.$.setTimeout( function() { + myScrollHandler.prevScrollHandler = window.onscroll || + function() {}; + window.onscroll = myScrollHandler; + }, 0 ); + scrollFunc(); + } + } + + function hideCover( editor ) { + if ( !currentCover ) + return; + + editor.focusManager.remove( currentCover ); + var win = CKEDITOR.document.getWindow(); + currentCover.hide(); + win.removeListener( 'resize', resizeCover ); + + if ( CKEDITOR.env.ie6Compat ) { + win.$.setTimeout( function() { + var prevScrollHandler = window.onscroll && window.onscroll.prevScrollHandler; + window.onscroll = prevScrollHandler || null; + }, 0 ); + } + resizeCover = null; + } + + function removeCovers() { + for ( var coverId in covers ) + covers[ coverId ].remove(); + covers = {}; + } + + var accessKeyProcessors = {}; + + var accessKeyDownHandler = function( evt ) { + var ctrl = evt.data.$.ctrlKey || evt.data.$.metaKey, + alt = evt.data.$.altKey, + shift = evt.data.$.shiftKey, + key = String.fromCharCode( evt.data.$.keyCode ), + keyProcessor = accessKeyProcessors[ ( ctrl ? 'CTRL+' : '' ) + ( alt ? 'ALT+' : '' ) + ( shift ? 'SHIFT+' : '' ) + key ]; + + if ( !keyProcessor || !keyProcessor.length ) + return; + + keyProcessor = keyProcessor[ keyProcessor.length - 1 ]; + keyProcessor.keydown && keyProcessor.keydown.call( keyProcessor.uiElement, keyProcessor.dialog, keyProcessor.key ); + evt.data.preventDefault(); + }; + + var accessKeyUpHandler = function( evt ) { + var ctrl = evt.data.$.ctrlKey || evt.data.$.metaKey, + alt = evt.data.$.altKey, + shift = evt.data.$.shiftKey, + key = String.fromCharCode( evt.data.$.keyCode ), + keyProcessor = accessKeyProcessors[ ( ctrl ? 'CTRL+' : '' ) + ( alt ? 'ALT+' : '' ) + ( shift ? 'SHIFT+' : '' ) + key ]; + + if ( !keyProcessor || !keyProcessor.length ) + return; + + keyProcessor = keyProcessor[ keyProcessor.length - 1 ]; + if ( keyProcessor.keyup ) { + keyProcessor.keyup.call( keyProcessor.uiElement, keyProcessor.dialog, keyProcessor.key ); + evt.data.preventDefault(); + } + }; + + var registerAccessKey = function( uiElement, dialog, key, downFunc, upFunc ) { + var procList = accessKeyProcessors[ key ] || ( accessKeyProcessors[ key ] = [] ); + procList.push( { + uiElement: uiElement, + dialog: dialog, + key: key, + keyup: upFunc || uiElement.accessKeyUp, + keydown: downFunc || uiElement.accessKeyDown + } ); + }; + + var unregisterAccessKey = function( obj ) { + for ( var i in accessKeyProcessors ) { + var list = accessKeyProcessors[ i ]; + for ( var j = list.length - 1; j >= 0; j-- ) { + if ( list[ j ].dialog == obj || list[ j ].uiElement == obj ) + list.splice( j, 1 ); + } + if ( list.length === 0 ) + delete accessKeyProcessors[ i ]; + } + }; + + var tabAccessKeyUp = function( dialog, key ) { + if ( dialog._.accessKeyMap[ key ] ) + dialog.selectPage( dialog._.accessKeyMap[ key ] ); + }; + + var tabAccessKeyDown = function( dialog, key ) {}; + + ( function() { + CKEDITOR.ui.dialog = { + /** + * The base class of all dialog UI elements. + * + * @class CKEDITOR.ui.dialog.uiElement + * @constructor Creates a uiElement class instance. + * @param {CKEDITOR.dialog} dialog Parent dialog object. + * @param {CKEDITOR.dialog.definition.uiElement} elementDefinition Element + * definition. + * + * Accepted fields: + * + * * `id` (Required) The id of the UI element. See {@link CKEDITOR.dialog#getContentElement}. + * * `type` (Required) The type of the UI element. The + * value to this field specifies which UI element class will be used to + * generate the final widget. + * * `title` (Optional) The popup tooltip for the UI + * element. + * * `hidden` (Optional) A flag that tells if the element + * should be initially visible. + * * `className` (Optional) Additional CSS class names + * to add to the UI element. Separated by space. + * * `style` (Optional) Additional CSS inline styles + * to add to the UI element. A semicolon (;) is required after the last + * style declaration. + * * `accessKey` (Optional) The alphanumeric access key + * for this element. Access keys are automatically prefixed by CTRL. + * * `on*` (Optional) Any UI element definition field that + * starts with `on` followed immediately by a capital letter and + * probably more letters is an event handler. Event handlers may be further + * divided into registered event handlers and DOM event handlers. Please + * refer to {@link CKEDITOR.ui.dialog.uiElement#registerEvents} and + * {@link CKEDITOR.ui.dialog.uiElement#eventProcessors} for more information. + * + * @param {Array} htmlList + * List of HTML code to be added to the dialog's content area. + * @param {Function/String} [nodeNameArg='div'] + * A function returning a string, or a simple string for the node name for + * the root DOM node. + * @param {Function/Object} [stylesArg={}] + * A function returning an object, or a simple object for CSS styles applied + * to the DOM node. + * @param {Function/Object} [attributesArg={}] + * A fucntion returning an object, or a simple object for attributes applied + * to the DOM node. + * @param {Function/String} [contentsArg=''] + * A function returning a string, or a simple string for the HTML code inside + * the root DOM node. Default is empty string. + */ + uiElement: function( dialog, elementDefinition, htmlList, nodeNameArg, stylesArg, attributesArg, contentsArg ) { + if ( arguments.length < 4 ) + return; + + var nodeName = ( nodeNameArg.call ? nodeNameArg( elementDefinition ) : nodeNameArg ) || 'div', + html = [ '<', nodeName, ' ' ], + styles = ( stylesArg && stylesArg.call ? stylesArg( elementDefinition ) : stylesArg ) || {}, + attributes = ( attributesArg && attributesArg.call ? attributesArg( elementDefinition ) : attributesArg ) || {}, + innerHTML = ( contentsArg && contentsArg.call ? contentsArg.call( this, dialog, elementDefinition ) : contentsArg ) || '', + domId = this.domId = attributes.id || CKEDITOR.tools.getNextId() + '_uiElement', + id = this.id = elementDefinition.id, + i; + + if ( elementDefinition.requiredContent && !dialog.getParentEditor().filter.check( elementDefinition.requiredContent ) ) { + styles.display = 'none'; + this.notAllowed = true; + } + + // Set the id, a unique id is required for getElement() to work. + attributes.id = domId; + + // Set the type and definition CSS class names. + var classes = {}; + if ( elementDefinition.type ) + classes[ 'cke_dialog_ui_' + elementDefinition.type ] = 1; + if ( elementDefinition.className ) + classes[ elementDefinition.className ] = 1; + if ( elementDefinition.disabled ) + classes[ 'cke_disabled' ] = 1; + + var attributeClasses = ( attributes[ 'class' ] && attributes[ 'class' ].split ) ? attributes[ 'class' ].split( ' ' ) : []; + for ( i = 0; i < attributeClasses.length; i++ ) { + if ( attributeClasses[ i ] ) + classes[ attributeClasses[ i ] ] = 1; + } + var finalClasses = []; + for ( i in classes ) + finalClasses.push( i ); + attributes[ 'class' ] = finalClasses.join( ' ' ); + + // Set the popup tooltop. + if ( elementDefinition.title ) + attributes.title = elementDefinition.title; + + // Write the inline CSS styles. + var styleStr = ( elementDefinition.style || '' ).split( ';' ); + + // Element alignment support. + if ( elementDefinition.align ) { + var align = elementDefinition.align; + styles[ 'margin-left' ] = align == 'left' ? 0 : 'auto'; + styles[ 'margin-right' ] = align == 'right' ? 0 : 'auto'; + } + + for ( i in styles ) + styleStr.push( i + ':' + styles[ i ] ); + if ( elementDefinition.hidden ) + styleStr.push( 'display:none' ); + for ( i = styleStr.length - 1; i >= 0; i-- ) { + if ( styleStr[ i ] === '' ) + styleStr.splice( i, 1 ); + } + if ( styleStr.length > 0 ) + attributes.style = ( attributes.style ? ( attributes.style + '; ' ) : '' ) + styleStr.join( '; ' ); + + // Write the attributes. + for ( i in attributes ) + html.push( i + '="' + CKEDITOR.tools.htmlEncode( attributes[ i ] ) + '" ' ); + + // Write the content HTML. + html.push( '>', innerHTML, '' ); + + // Add contents to the parent HTML array. + htmlList.push( html.join( '' ) ); + + ( this._ || ( this._ = {} ) ).dialog = dialog; + + // Override isChanged if it is defined in element definition. + if ( typeof( elementDefinition.isChanged ) == 'boolean' ) + this.isChanged = function() { + return elementDefinition.isChanged; + }; + if ( typeof( elementDefinition.isChanged ) == 'function' ) + this.isChanged = elementDefinition.isChanged; + + // Overload 'get(set)Value' on definition. + if ( typeof( elementDefinition.setValue ) == 'function' ) { + this.setValue = CKEDITOR.tools.override( this.setValue, function( org ) { + return function( val ) { + org.call( this, elementDefinition.setValue.call( this, val ) ); + }; + } ); + } + + if ( typeof( elementDefinition.getValue ) == 'function' ) { + this.getValue = CKEDITOR.tools.override( this.getValue, function( org ) { + return function() { + return elementDefinition.getValue.call( this, org.call( this ) ); + }; + } ); + } + + // Add events. + CKEDITOR.event.implementOn( this ); + + this.registerEvents( elementDefinition ); + if ( this.accessKeyUp && this.accessKeyDown && elementDefinition.accessKey ) + registerAccessKey( this, dialog, 'CTRL+' + elementDefinition.accessKey ); + + var me = this; + dialog.on( 'load', function() { + var input = me.getInputElement(); + if ( input ) { + var focusClass = me.type in { 'checkbox': 1, 'ratio': 1 } && CKEDITOR.env.ie && CKEDITOR.env.version < 8 ? 'cke_dialog_ui_focused' : ''; + input.on( 'focus', function() { + dialog._.tabBarMode = false; + dialog._.hasFocus = true; + me.fire( 'focus' ); + focusClass && this.addClass( focusClass ); + + } ); + + input.on( 'blur', function() { + me.fire( 'blur' ); + focusClass && this.removeClass( focusClass ); + } ); + } + } ); + + // Completes this object with everything we have in the + // definition. + CKEDITOR.tools.extend( this, elementDefinition ); + + // Register the object as a tab focus if it can be included. + if ( this.keyboardFocusable ) { + this.tabIndex = elementDefinition.tabIndex || 0; + + this.focusIndex = dialog._.focusList.push( this ) - 1; + this.on( 'focus', function() { + dialog._.currentFocusIndex = me.focusIndex; + } ); + } + }, + + /** + * Horizontal layout box for dialog UI elements, auto-expends to available width of container. + * + * @class CKEDITOR.ui.dialog.hbox + * @extends CKEDITOR.ui.dialog.uiElement + * @constructor Creates a hbox class instance. + * @param {CKEDITOR.dialog} dialog Parent dialog object. + * @param {Array} childObjList + * Array of {@link CKEDITOR.ui.dialog.uiElement} objects inside this container. + * @param {Array} childHtmlList + * Array of HTML code that correspond to the HTML output of all the + * objects in childObjList. + * @param {Array} htmlList + * Array of HTML code that this element will output to. + * @param {CKEDITOR.dialog.definition.uiElement} elementDefinition + * The element definition. Accepted fields: + * + * * `widths` (Optional) The widths of child cells. + * * `height` (Optional) The height of the layout. + * * `padding` (Optional) The padding width inside child cells. + * * `align` (Optional) The alignment of the whole layout. + */ + hbox: function( dialog, childObjList, childHtmlList, htmlList, elementDefinition ) { + if ( arguments.length < 4 ) + return; + + this._ || ( this._ = {} ); + + var children = this._.children = childObjList, + widths = elementDefinition && elementDefinition.widths || null, + height = elementDefinition && elementDefinition.height || null, + styles = {}, + i; + /** @ignore */ + var innerHTML = function() { + var html = [ '' ]; + for ( i = 0; i < childHtmlList.length; i++ ) { + var className = 'cke_dialog_ui_hbox_child', + styles = []; + if ( i === 0 ) + className = 'cke_dialog_ui_hbox_first'; + if ( i == childHtmlList.length - 1 ) + className = 'cke_dialog_ui_hbox_last'; + html.push( ' 0 ) + html.push( 'style="' + styles.join( '; ' ) + '" ' ); + html.push( '>', childHtmlList[ i ], '' ); + } + html.push( '' ); + return html.join( '' ); + }; + + var attribs = { role: 'presentation' }; + elementDefinition && elementDefinition.align && ( attribs.align = elementDefinition.align ); + + CKEDITOR.ui.dialog.uiElement.call( this, dialog, elementDefinition || { type: 'hbox' }, htmlList, 'table', styles, attribs, innerHTML ); + }, + + /** + * Vertical layout box for dialog UI elements. + * + * @class CKEDITOR.ui.dialog.vbox + * @extends CKEDITOR.ui.dialog.hbox + * @constructor Creates a vbox class instance. + * @param {CKEDITOR.dialog} dialog Parent dialog object. + * @param {Array} childObjList + * Array of {@link CKEDITOR.ui.dialog.uiElement} objects inside this container. + * @param {Array} childHtmlList + * Array of HTML code that correspond to the HTML output of all the + * objects in childObjList. + * @param {Array} htmlList Array of HTML code that this element will output to. + * @param {CKEDITOR.dialog.definition.uiElement} elementDefinition + * The element definition. Accepted fields: + * + * * `width` (Optional) The width of the layout. + * * `heights` (Optional) The heights of individual cells. + * * `align` (Optional) The alignment of the layout. + * * `padding` (Optional) The padding width inside child cells. + * * `expand` (Optional) Whether the layout should expand + * vertically to fill its container. + */ + vbox: function( dialog, childObjList, childHtmlList, htmlList, elementDefinition ) { + if ( arguments.length < 3 ) + return; + + this._ || ( this._ = {} ); + + var children = this._.children = childObjList, + width = elementDefinition && elementDefinition.width || null, + heights = elementDefinition && elementDefinition.heights || null; + /** @ignore */ + var innerHTML = function() { + var html = [ '' ); + for ( var i = 0; i < childHtmlList.length; i++ ) { + var styles = []; + html.push( '' ); + } + html.push( '
0 ) + html.push( 'style="', styles.join( '; ' ), '" ' ); + html.push( ' class="cke_dialog_ui_vbox_child">', childHtmlList[ i ], '
' ); + return html.join( '' ); + }; + CKEDITOR.ui.dialog.uiElement.call( this, dialog, elementDefinition || { type: 'vbox' }, htmlList, 'div', null, { role: 'presentation' }, innerHTML ); + } + }; + } )(); + + /** @class CKEDITOR.ui.dialog.uiElement */ + CKEDITOR.ui.dialog.uiElement.prototype = { + /** + * Gets the root DOM element of this dialog UI object. + * + * uiElement.getElement().hide(); + * + * @returns {CKEDITOR.dom.element} Root DOM element of UI object. + */ + getElement: function() { + return CKEDITOR.document.getById( this.domId ); + }, + + /** + * Gets the DOM element that the user inputs values. + * + * This function is used by {@link #setValue}, {@link #getValue} and {@link #focus}. It should + * be overrided in child classes where the input element isn't the root + * element. + * + * var rawValue = textInput.getInputElement().$.value; + * + * @returns {CKEDITOR.dom.element} The element where the user input values. + */ + getInputElement: function() { + return this.getElement(); + }, + + /** + * Gets the parent dialog object containing this UI element. + * + * var dialog = uiElement.getDialog(); + * + * @returns {CKEDITOR.dialog} Parent dialog object. + */ + getDialog: function() { + return this._.dialog; + }, + + /** + * Sets the value of this dialog UI object. + * + * uiElement.setValue( 'Dingo' ); + * + * @chainable + * @param {Object} value The new value. + * @param {Boolean} noChangeEvent Internal commit, to supress `change` event on this element. + */ + setValue: function( value, noChangeEvent ) { + this.getInputElement().setValue( value ); + !noChangeEvent && this.fire( 'change', { value: value } ); + return this; + }, + + /** + * Gets the current value of this dialog UI object. + * + * var myValue = uiElement.getValue(); + * + * @returns {Object} The current value. + */ + getValue: function() { + return this.getInputElement().getValue(); + }, + + /** + * Tells whether the UI object's value has changed. + * + * if ( uiElement.isChanged() ) + * confirm( 'Value changed! Continue?' ); + * + * @returns {Boolean} `true` if changed, `false` if not changed. + */ + isChanged: function() { + // Override in input classes. + return false; + }, + + /** + * Selects the parent tab of this element. Usually called by focus() or overridden focus() methods. + * + * focus : function() { + * this.selectParentTab(); + * // do something else. + * } + * + * @chainable + */ + selectParentTab: function() { + var element = this.getInputElement(), + cursor = element, + tabId; + while ( ( cursor = cursor.getParent() ) && cursor.$.className.search( 'cke_dialog_page_contents' ) == -1 ) { + /*jsl:pass*/ + } + + // Some widgets don't have parent tabs (e.g. OK and Cancel buttons). + if ( !cursor ) + return this; + + tabId = cursor.getAttribute( 'name' ); + // Avoid duplicate select. + if ( this._.dialog._.currentTabId != tabId ) + this._.dialog.selectPage( tabId ); + return this; + }, + + /** + * Puts the focus to the UI object. Switches tabs if the UI object isn't in the active tab page. + * + * uiElement.focus(); + * + * @chainable + */ + focus: function() { + this.selectParentTab().getInputElement().focus(); + return this; + }, + + /** + * Registers the `on*` event handlers defined in the element definition. + * + * The default behavior of this function is: + * + * 1. If the on* event is defined in the class's eventProcesors list, + * then the registration is delegated to the corresponding function + * in the eventProcessors list. + * 2. If the on* event is not defined in the eventProcessors list, then + * register the event handler under the corresponding DOM event of + * the UI element's input DOM element (as defined by the return value + * of {@link #getInputElement}). + * + * This function is only called at UI element instantiation, but can + * be overridded in child classes if they require more flexibility. + * + * @chainable + * @param {CKEDITOR.dialog.definition.uiElement} definition The UI element + * definition. + */ + registerEvents: function( definition ) { + var regex = /^on([A-Z]\w+)/, + match; + + var registerDomEvent = function( uiElement, dialog, eventName, func ) { + dialog.on( 'load', function() { + uiElement.getInputElement().on( eventName, func, uiElement ); + } ); + }; + + for ( var i in definition ) { + if ( !( match = i.match( regex ) ) ) + continue; + if ( this.eventProcessors[ i ] ) + this.eventProcessors[ i ].call( this, this._.dialog, definition[ i ] ); + else + registerDomEvent( this, this._.dialog, match[ 1 ].toLowerCase(), definition[ i ] ); + } + + return this; + }, + + /** + * The event processor list used by + * {@link CKEDITOR.ui.dialog.uiElement#getInputElement} at UI element + * instantiation. The default list defines three `on*` events: + * + * 1. `onLoad` - Called when the element's parent dialog opens for the + * first time. + * 2. `onShow` - Called whenever the element's parent dialog opens. + * 3. `onHide` - Called whenever the element's parent dialog closes. + * + * // This connects the 'click' event in CKEDITOR.ui.dialog.button to onClick + * // handlers in the UI element's definitions. + * CKEDITOR.ui.dialog.button.eventProcessors = CKEDITOR.tools.extend( {}, + * CKEDITOR.ui.dialog.uiElement.prototype.eventProcessors, + * { onClick : function( dialog, func ) { this.on( 'click', func ); } }, + * true + * ); + * + * @property {Object} + */ + eventProcessors: { + onLoad: function( dialog, func ) { + dialog.on( 'load', func, this ); + }, + + onShow: function( dialog, func ) { + dialog.on( 'show', func, this ); + }, + + onHide: function( dialog, func ) { + dialog.on( 'hide', func, this ); + } + }, + + /** + * The default handler for a UI element's access key down event, which + * tries to put focus to the UI element. + * + * Can be overridded in child classes for more sophisticaed behavior. + * + * @param {CKEDITOR.dialog} dialog The parent dialog object. + * @param {String} key The key combination pressed. Since access keys + * are defined to always include the `CTRL` key, its value should always + * include a `'CTRL+'` prefix. + */ + accessKeyDown: function( dialog, key ) { + this.focus(); + }, + + /** + * The default handler for a UI element's access key up event, which + * does nothing. + * + * Can be overridded in child classes for more sophisticated behavior. + * + * @param {CKEDITOR.dialog} dialog The parent dialog object. + * @param {String} key The key combination pressed. Since access keys + * are defined to always include the `CTRL` key, its value should always + * include a `'CTRL+'` prefix. + */ + accessKeyUp: function( dialog, key ) {}, + + /** + * Disables a UI element. + */ + disable: function() { + var element = this.getElement(), + input = this.getInputElement(); + input.setAttribute( 'disabled', 'true' ); + element.addClass( 'cke_disabled' ); + }, + + /** + * Enables a UI element. + */ + enable: function() { + var element = this.getElement(), + input = this.getInputElement(); + input.removeAttribute( 'disabled' ); + element.removeClass( 'cke_disabled' ); + }, + + /** + * Determines whether an UI element is enabled or not. + * + * @returns {Boolean} Whether the UI element is enabled. + */ + isEnabled: function() { + return !this.getElement().hasClass( 'cke_disabled' ); + }, + + /** + * Determines whether an UI element is visible or not. + * + * @returns {Boolean} Whether the UI element is visible. + */ + isVisible: function() { + return this.getInputElement().isVisible(); + }, + + /** + * Determines whether an UI element is focus-able or not. + * Focus-able is defined as being both visible and enabled. + * + * @returns {Boolean} Whether the UI element can be focused. + */ + isFocusable: function() { + if ( !this.isEnabled() || !this.isVisible() ) + return false; + return true; + } + }; + + /** @class CKEDITOR.ui.dialog.hbox */ + CKEDITOR.ui.dialog.hbox.prototype = CKEDITOR.tools.extend( new CKEDITOR.ui.dialog.uiElement, { + /** + * Gets a child UI element inside this container. + * + * var checkbox = hbox.getChild( [0,1] ); + * checkbox.setValue( true ); + * + * @param {Array/Number} indices An array or a single number to indicate the child's + * position in the container's descendant tree. Omit to get all the children in an array. + * @returns {Array/CKEDITOR.ui.dialog.uiElement} Array of all UI elements in the container + * if no argument given, or the specified UI element if indices is given. + */ + getChild: function( indices ) { + // If no arguments, return a clone of the children array. + if ( arguments.length < 1 ) + return this._.children.concat(); + + // If indices isn't array, make it one. + if ( !indices.splice ) + indices = [ indices ]; + + // Retrieve the child element according to tree position. + if ( indices.length < 2 ) + return this._.children[ indices[ 0 ] ]; + else + return ( this._.children[ indices[ 0 ] ] && this._.children[ indices[ 0 ] ].getChild ) ? this._.children[ indices[ 0 ] ].getChild( indices.slice( 1, indices.length ) ) : null; + } + }, true ); + + CKEDITOR.ui.dialog.vbox.prototype = new CKEDITOR.ui.dialog.hbox(); + + ( function() { + var commonBuilder = { + build: function( dialog, elementDefinition, output ) { + var children = elementDefinition.children, + child, + childHtmlList = [], + childObjList = []; + for ( var i = 0; + ( i < children.length && ( child = children[ i ] ) ); i++ ) { + var childHtml = []; + childHtmlList.push( childHtml ); + childObjList.push( CKEDITOR.dialog._.uiElementBuilders[ child.type ].build( dialog, child, childHtml ) ); + } + return new CKEDITOR.ui.dialog[ elementDefinition.type ]( dialog, childObjList, childHtmlList, output, elementDefinition ); + } + }; + + CKEDITOR.dialog.addUIElement( 'hbox', commonBuilder ); + CKEDITOR.dialog.addUIElement( 'vbox', commonBuilder ); + } )(); + + /** + * Generic dialog command. It opens a specific dialog when executed. + * + * // Register the "link" command, which opens the "link" dialog. + * editor.addCommand( 'link', new CKEDITOR.dialogCommand( 'link' ) ); + * + * @class + * @constructor Creates a dialogCommand class instance. + * @extends CKEDITOR.commandDefinition + * @param {String} dialogName The name of the dialog to open when executing + * this command. + * @param {Object} [ext] Additional command definition's properties. + */ + CKEDITOR.dialogCommand = function( dialogName, ext ) { + this.dialogName = dialogName; + CKEDITOR.tools.extend( this, ext, true ); + }; + + CKEDITOR.dialogCommand.prototype = { + exec: function( editor ) { + // Special treatment for Opera. (#8031) + CKEDITOR.env.opera ? CKEDITOR.tools.setTimeout( function() { + editor.openDialog( this.dialogName ); + }, 0, this ) : editor.openDialog( this.dialogName ); + }, + + // Dialog commands just open a dialog ui, thus require no undo logic, + // undo support should dedicate to specific dialog implementation. + canUndo: false, + + editorFocus: 1 + }; + + ( function() { + var notEmptyRegex = /^([a]|[^a])+$/, + integerRegex = /^\d*$/, + numberRegex = /^\d*(?:\.\d+)?$/, + htmlLengthRegex = /^(((\d*(\.\d+))|(\d*))(px|\%)?)?$/, + cssLengthRegex = /^(((\d*(\.\d+))|(\d*))(px|em|ex|in|cm|mm|pt|pc|\%)?)?$/i, + inlineStyleRegex = /^(\s*[\w-]+\s*:\s*[^:;]+(?:;|$))*$/; + + CKEDITOR.VALIDATE_OR = 1; + CKEDITOR.VALIDATE_AND = 2; + + CKEDITOR.dialog.validate = { + functions: function() { + var args = arguments; + return function() { + /** + * It's important for validate functions to be able to accept the value + * as argument in addition to this.getValue(), so that it is possible to + * combine validate functions together to make more sophisticated + * validators. + */ + var value = this && this.getValue ? this.getValue() : args[ 0 ]; + + var msg = undefined, + relation = CKEDITOR.VALIDATE_AND, + functions = [], + i; + + for ( i = 0; i < args.length; i++ ) { + if ( typeof( args[ i ] ) == 'function' ) + functions.push( args[ i ] ); + else + break; + } + + if ( i < args.length && typeof( args[ i ] ) == 'string' ) { + msg = args[ i ]; + i++; + } + + if ( i < args.length && typeof( args[ i ] ) == 'number' ) + relation = args[ i ]; + + var passed = ( relation == CKEDITOR.VALIDATE_AND ? true : false ); + for ( i = 0; i < functions.length; i++ ) { + if ( relation == CKEDITOR.VALIDATE_AND ) + passed = passed && functions[ i ]( value ); + else + passed = passed || functions[ i ]( value ); + } + + return !passed ? msg : true; + }; + }, + + regex: function( regex, msg ) { + /* + * Can be greatly shortened by deriving from functions validator if code size + * turns out to be more important than performance. + */ + return function() { + var value = this && this.getValue ? this.getValue() : arguments[ 0 ]; + return !regex.test( value ) ? msg : true; + }; + }, + + notEmpty: function( msg ) { + return this.regex( notEmptyRegex, msg ); + }, + + integer: function( msg ) { + return this.regex( integerRegex, msg ); + }, + + 'number': function( msg ) { + return this.regex( numberRegex, msg ); + }, + + 'cssLength': function( msg ) { + return this.functions( function( val ) { + return cssLengthRegex.test( CKEDITOR.tools.trim( val ) ); + }, msg ); + }, + + 'htmlLength': function( msg ) { + return this.functions( function( val ) { + return htmlLengthRegex.test( CKEDITOR.tools.trim( val ) ); + }, msg ); + }, + + 'inlineStyle': function( msg ) { + return this.functions( function( val ) { + return inlineStyleRegex.test( CKEDITOR.tools.trim( val ) ); + }, msg ); + }, + + equals: function( value, msg ) { + return this.functions( function( val ) { + return val == value; + }, msg ); + }, + + notEqual: function( value, msg ) { + return this.functions( function( val ) { + return val != value; + }, msg ); + } + }; + + CKEDITOR.on( 'instanceDestroyed', function( evt ) { + // Remove dialog cover on last instance destroy. + if ( CKEDITOR.tools.isEmpty( CKEDITOR.instances ) ) { + var currentTopDialog; + while ( ( currentTopDialog = CKEDITOR.dialog._.currentTop ) ) + currentTopDialog.hide(); + removeCovers(); + } + + var dialogs = evt.editor._.storedDialogs; + for ( var name in dialogs ) + dialogs[ name ].destroy(); + + } ); + + } )(); + + // Extend the CKEDITOR.editor class with dialog specific functions. + CKEDITOR.tools.extend( CKEDITOR.editor.prototype, { + /** + * Loads and opens a registered dialog. + * + * CKEDITOR.instances.editor1.openDialog( 'smiley' ); + * + * @member CKEDITOR.editor + * @param {String} dialogName The registered name of the dialog. + * @param {Function} callback The function to be invoked after dialog instance created. + * @returns {CKEDITOR.dialog} The dialog object corresponding to the dialog displayed. + * `null` if the dialog name is not registered. + * @see CKEDITOR.dialog#add + */ + openDialog: function( dialogName, callback ) { + var dialog = null, dialogDefinitions = CKEDITOR.dialog._.dialogDefinitions[ dialogName ]; + + if ( CKEDITOR.dialog._.currentTop === null ) + showCover( this ); + + // If the dialogDefinition is already loaded, open it immediately. + if ( typeof dialogDefinitions == 'function' ) { + var storedDialogs = this._.storedDialogs || ( this._.storedDialogs = {} ); + + dialog = storedDialogs[ dialogName ] || ( storedDialogs[ dialogName ] = new CKEDITOR.dialog( this, dialogName ) ); + + callback && callback.call( dialog, dialog ); + dialog.show(); + + } else if ( dialogDefinitions == 'failed' ) { + hideCover( this ); + throw new Error( '[CKEDITOR.dialog.openDialog] Dialog "' + dialogName + '" failed when loading definition.' ); + } else if ( typeof dialogDefinitions == 'string' ) { + + CKEDITOR.scriptLoader.load( CKEDITOR.getUrl( dialogDefinitions ), + function() { + var dialogDefinition = CKEDITOR.dialog._.dialogDefinitions[ dialogName ]; + // In case of plugin error, mark it as loading failed. + if ( typeof dialogDefinition != 'function' ) + CKEDITOR.dialog._.dialogDefinitions[ dialogName ] = 'failed'; + + this.openDialog( dialogName, callback ); + }, this, 0, 1 ); + } + + CKEDITOR.skin.loadPart( 'dialog' ); + + return dialog; + } + } ); +} )(); + +CKEDITOR.plugins.add( 'dialog', { + requires: 'dialogui', + init: function( editor ) { + editor.on( 'doubleclick', function( evt ) { + if ( evt.data.dialog ) + editor.openDialog( evt.data.dialog ); + }, null, null, 999 ); + } +} ); + +// Dialog related configurations. + +/** + * The color of the dialog background cover. It should be a valid CSS color string. + * + * config.dialog_backgroundCoverColor = 'rgb(255, 254, 253)'; + * + * @cfg {String} [dialog_backgroundCoverColor='white'] + * @member CKEDITOR.config + */ + +/** + * The opacity of the dialog background cover. It should be a number within the + * range `[0.0, 1.0]`. + * + * config.dialog_backgroundCoverOpacity = 0.7; + * + * @cfg {Number} [dialog_backgroundCoverOpacity=0.5] + * @member CKEDITOR.config + */ + +/** + * If the dialog has more than one tab, put focus into the first tab as soon as dialog is opened. + * + * config.dialog_startupFocusTab = true; + * + * @cfg {Boolean} [dialog_startupFocusTab=false] + * @member CKEDITOR.config + */ + +/** + * The distance of magnetic borders used in moving and resizing dialogs, + * measured in pixels. + * + * config.dialog_magnetDistance = 30; + * + * @cfg {Number} [dialog_magnetDistance=20] + * @member CKEDITOR.config + */ + +/** + * The guideline to follow when generating the dialog buttons. There are 3 possible options: + * + * * `'OS'` - the buttons will be displayed in the default order of the user's OS; + * * `'ltr'` - for Left-To-Right order; + * * `'rtl'` - for Right-To-Left order. + * + * Example: + * + * config.dialog_buttonsOrder = 'rtl'; + * + * @since 3.5 + * @cfg {String} [dialog_buttonsOrder='OS'] + * @member CKEDITOR.config + */ + +/** + * The dialog contents to removed. It's a string composed by dialog name and tab name with a colon between them. + * + * Separate each pair with semicolon (see example). + * + * **Note:** All names are case-sensitive. + * + * **Note:** Be cautious when specifying dialog tabs that are mandatory, + * like `'info'`, dialog functionality might be broken because of this! + * + * config.removeDialogTabs = 'flash:advanced;image:Link'; + * + * @since 3.5 + * @cfg {String} [removeDialogTabs=''] + * @member CKEDITOR.config + */ + +/** + * Tells if user should not be asked to confirm close, if any dialog field was modified. + * By default it is set to `false` meaning that the confirmation dialog will be shown. + * + * config.dialog_noConfirmCancel = true; + * + * @since 4.3 + * @cfg {Boolean} [dialog_noConfirmCancel=false] + * @member CKEDITOR.config + */ + +/** + * Fired when a dialog definition is about to be used to create a dialog into + * an editor instance. This event makes it possible to customize the definition + * before creating it. + * + * Note that this event is called only the first time a specific dialog is + * opened. Successive openings will use the cached dialog, and this event will + * not get fired. + * + * @event dialogDefinition + * @member CKEDITOR + * @param {CKEDITOR.dialog.definition} data The dialog defination that + * is being loaded. + * @param {CKEDITOR.editor} editor The editor instance that will use the dialog. + */ + +/** + * Fired when a tab is going to be selected in a dialog. + * + * @event selectPage + * @member CKEDITOR.dialog + * @param data + * @param {String} data.page The id of the page that it's gonna be selected. + * @param {String} data.currentPage The id of the current page. + */ + +/** + * Fired when the user tries to dismiss a dialog. + * + * @event cancel + * @member CKEDITOR.dialog + * @param data + * @param {Boolean} data.hide Whether the event should proceed or not. + */ + +/** + * Fired when the user tries to confirm a dialog. + * + * @event ok + * @member CKEDITOR.dialog + * @param data + * @param {Boolean} data.hide Whether the event should proceed or not. + */ + +/** + * Fired when a dialog is shown. + * + * @event show + * @member CKEDITOR.dialog + */ + +/** + * Fired when a dialog is shown. + * + * @event dialogShow + * @member CKEDITOR.editor + * @param {CKEDITOR.editor} editor This editor instance. + * @param {CKEDITOR.dialog} data The opened dialog instance. + */ + +/** + * Fired when a dialog is hidden. + * + * @event hide + * @member CKEDITOR.dialog + */ + +/** + * Fired when a dialog is hidden. + * + * @event dialogHide + * @member CKEDITOR.editor + * @param {CKEDITOR.editor} editor This editor instance. + * @param {CKEDITOR.dialog} data The hidden dialog instance. + */ + +/** + * Fired when a dialog is being resized. The event is fired on + * both the {@link CKEDITOR.dialog} object and the dialog instance + * since 3.5.3, previously it's available only in the global object. + * + * @static + * @event resize + * @member CKEDITOR.dialog + * @param data + * @param {CKEDITOR.dialog} data.dialog The dialog being resized (if + * it's fired on the dialog itself, this parameter isn't sent). + * @param {String} data.skin The skin name. + * @param {Number} data.width The new width. + * @param {Number} data.height The new height. + */ + +/** + * Fired when a dialog is being resized. The event is fired on + * both the {@link CKEDITOR.dialog} object and the dialog instance + * since 3.5.3, previously it's available only in the global object. + * + * @since 3.5 + * @event resize + * @member CKEDITOR.dialog + * @param data + * @param {Number} data.width The new width. + * @param {Number} data.height The new height. + */ diff --git a/htdocs/includes/ckeditor/_source/plugins/dialog/samples/assets/my_dialog.js b/htdocs/includes/ckeditor/_source/plugins/dialog/samples/assets/my_dialog.js new file mode 100644 index 00000000000..89ab058ab0b --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/dialog/samples/assets/my_dialog.js @@ -0,0 +1,49 @@ +/** + * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. + * For licensing, see LICENSE.md or http://ckeditor.com/license + */ + +CKEDITOR.dialog.add( 'myDialog', function( editor ) { + return { + title: 'My Dialog', + minWidth: 400, + minHeight: 200, + contents: [ + { + id: 'tab1', + label: 'First Tab', + title: 'First Tab', + elements: [ + { + id: 'input1', + type: 'text', + label: 'Text Field' + }, + { + id: 'select1', + type: 'select', + label: 'Select Field', + items: [ + [ 'option1', 'value1' ], + [ 'option2', 'value2' ] + ] + } + ] + }, + { + id: 'tab2', + label: 'Second Tab', + title: 'Second Tab', + elements: [ + { + id: 'button1', + type: 'button', + label: 'Button Field' + } + ] + } + ] + }; +} ); + +// %LEAVE_UNMINIFIED% %REMOVE_LINE% diff --git a/htdocs/includes/ckeditor/_source/plugins/dialog/samples/dialog.html b/htdocs/includes/ckeditor/_source/plugins/dialog/samples/dialog.html new file mode 100644 index 00000000000..df09d25b322 --- /dev/null +++ b/htdocs/includes/ckeditor/_source/plugins/dialog/samples/dialog.html @@ -0,0 +1,187 @@ + + + + + + Using API to Customize Dialog Windows — CKEditor Sample + + + + + + + + + +

+ CKEditor Samples » Using CKEditor Dialog API +

+
+

+ This sample shows how to use the + CKEditor Dialog API + to customize CKEditor dialog windows without changing the original editor code. + The following customizations are being done in the example below: +

+

+ For details on how to create this setup check the source code of this sample page. +

+
+

A custom dialog is added to the editors using the pluginsLoaded event, from an external dialog definition file:

+
    +
  1. Creating a custom dialog window – "My Dialog" dialog window opened with the "My Dialog" toolbar button.
  2. +
  3. Creating a custom button – Add button to open the dialog with "My Dialog" toolbar button.
  4. +
+ + +

The below editor modify the dialog definition of the above added dialog using the dialogDefinition event:

+
    +
  1. Adding dialog tab – Add new tab "My Tab" to dialog window.
  2. +
  3. Removing a dialog window tab – Remove "Second Tab" page from the dialog window.
  4. +
  5. Adding dialog window fields – Add "My Custom Field" to the dialog window.
  6. +
  7. Removing dialog window field – Remove "Select Field" selection field from the dialog window.
  8. +
  9. Setting default values for dialog window fields – Set default value of "Text Field" text field.
  10. +
  11. Setup initial focus for dialog window – Put initial focus on "My Custom Field" text field.
  12. +
+ + + + + diff --git a/htdocs/includes/ckeditor/_source/plugins/dialogadvtab/plugin.js b/htdocs/includes/ckeditor/_source/plugins/dialogadvtab/plugin.js index 4a8f88973bf..329b9342d01 100644 --- a/htdocs/includes/ckeditor/_source/plugins/dialogadvtab/plugin.js +++ b/htdocs/includes/ckeditor/_source/plugins/dialogadvtab/plugin.js @@ -1,208 +1,200 @@ -/* -Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.html or http://ckeditor.com/license -*/ - -(function() -{ - -function setupAdvParams( element ) -{ - var attrName = this.att; - - var value = element && element.hasAttribute( attrName ) && element.getAttribute( attrName ) || ''; - - if ( value !== undefined ) - this.setValue( value ); -} - -function commitAdvParams() -{ - // Dialogs may use different parameters in the commit list, so, by - // definition, we take the first CKEDITOR.dom.element available. - var element; - - for ( var i = 0 ; i < arguments.length ; i++ ) - { - if ( arguments[ i ] instanceof CKEDITOR.dom.element ) - { - element = arguments[ i ]; - break; - } - } - - if ( element ) - { - var attrName = this.att, - value = this.getValue(); - - if ( value ) - element.setAttribute( attrName, value ); - else - element.removeAttribute( attrName, value ); - } -} - -CKEDITOR.plugins.add( 'dialogadvtab', -{ - /** - * - * @param tabConfig - * id, dir, classes, styles - */ - createAdvancedTab : function( editor, tabConfig ) - { - if ( !tabConfig ) - tabConfig = { id:1, dir:1, classes:1, styles:1 }; - - var lang = editor.lang.common; - - var result = - { - id : 'advanced', - label : lang.advancedTab, - title : lang.advancedTab, - elements : - [ - { - type : 'vbox', - padding : 1, - children : [] - } - ] - }; - - var contents = []; - - if ( tabConfig.id || tabConfig.dir ) - { - if ( tabConfig.id ) - { - contents.push( - { - id : 'advId', - att : 'id', - type : 'text', - label : lang.id, - setup : setupAdvParams, - commit : commitAdvParams - }); - } - - if ( tabConfig.dir ) - { - contents.push( - { - id : 'advLangDir', - att : 'dir', - type : 'select', - label : lang.langDir, - 'default' : '', - style : 'width:100%', - items : - [ - [ lang.notSet, '' ], - [ lang.langDirLTR, 'ltr' ], - [ lang.langDirRTL, 'rtl' ] - ], - setup : setupAdvParams, - commit : commitAdvParams - }); - } - - result.elements[ 0 ].children.push( - { - type : 'hbox', - widths : [ '50%', '50%' ], - children : [].concat( contents ) - }); - } - - if ( tabConfig.styles || tabConfig.classes ) - { - contents = []; - - if ( tabConfig.styles ) - { - contents.push( - { - id : 'advStyles', - att : 'style', - type : 'text', - label : lang.styles, - 'default' : '', - - validate : CKEDITOR.dialog.validate.inlineStyle( lang.invalidInlineStyle ), - onChange : function(){}, - - getStyle : function( name, defaultValue ) - { - var match = this.getValue().match( new RegExp( name + '\\s*:\\s*([^;]*)', 'i') ); - return match ? match[ 1 ] : defaultValue; - }, - - updateStyle : function( name, value ) - { - var styles = this.getValue(); - - // Remove the current value. - if ( styles ) - { - styles = styles - .replace( new RegExp( '\\s*' + name + '\s*:[^;]*(?:$|;\s*)', 'i' ), '' ) - .replace( /^[;\s]+/, '' ) - .replace( /\s+$/, '' ); - } - - if ( value ) - { - styles && !(/;\s*$/).test( styles ) && ( styles += '; ' ); - styles += name + ': ' + value; - } - - this.setValue( styles, 1 ); - - }, - - setup : setupAdvParams, - - commit : commitAdvParams - - }); - } - - if ( tabConfig.classes ) - { - contents.push( - { - type : 'hbox', - widths : [ '45%', '55%' ], - children : - [ - { - id : 'advCSSClasses', - att : 'class', - type : 'text', - label : lang.cssClasses, - 'default' : '', - setup : setupAdvParams, - commit : commitAdvParams - - } - ] - }); - } - - result.elements[ 0 ].children.push( - { - type : 'hbox', - widths : [ '50%', '50%' ], - children : [].concat( contents ) - }); - } - - return result; - } -}); - -})(); +/** + * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. + * For licensing, see LICENSE.md or http://ckeditor.com/license + */ + +( function() { + + function setupAdvParams( element ) { + var attrName = this.att; + + var value = element && element.hasAttribute( attrName ) && element.getAttribute( attrName ) || ''; + + if ( value !== undefined ) + this.setValue( value ); + } + + function commitAdvParams() { + // Dialogs may use different parameters in the commit list, so, by + // definition, we take the first CKEDITOR.dom.element available. + var element; + + for ( var i = 0; i < arguments.length; i++ ) { + if ( arguments[ i ] instanceof CKEDITOR.dom.element ) { + element = arguments[ i ]; + break; + } + } + + if ( element ) { + var attrName = this.att, + value = this.getValue(); + + if ( value ) + element.setAttribute( attrName, value ); + else + element.removeAttribute( attrName, value ); + } + } + + var defaultTabConfig = { id: 1, dir: 1, classes: 1, styles: 1 }; + + CKEDITOR.plugins.add( 'dialogadvtab', { + requires : 'dialog', + + // Returns allowed content rule for the content created by this plugin. + allowedContent: function( tabConfig ) { + if ( !tabConfig ) + tabConfig = defaultTabConfig; + + var allowedAttrs = []; + if ( tabConfig.id ) + allowedAttrs.push( 'id' ); + if ( tabConfig.dir ) + allowedAttrs.push( 'dir' ); + + var allowed = ''; + + if ( allowedAttrs.length ) + allowed += '[' + allowedAttrs.join( ',' ) + ']'; + + if ( tabConfig.classes ) + allowed += '(*)'; + if ( tabConfig.styles ) + allowed += '{*}'; + + return allowed; + }, + + // @param tabConfig + // id, dir, classes, styles + createAdvancedTab: function( editor, tabConfig, element ) { + if ( !tabConfig ) + tabConfig = defaultTabConfig; + + var lang = editor.lang.common; + + var result = { + id: 'advanced', + label: lang.advancedTab, + title: lang.advancedTab, + elements: [ + { + type: 'vbox', + padding: 1, + children: [] + } + ] + }; + + var contents = []; + + if ( tabConfig.id || tabConfig.dir ) { + if ( tabConfig.id ) { + contents.push( { + id: 'advId', + att: 'id', + type: 'text', + requiredContent: element ? element + '[id]' : null, + label: lang.id, + setup: setupAdvParams, + commit: commitAdvParams + } ); + } + + if ( tabConfig.dir ) { + contents.push( { + id: 'advLangDir', + att: 'dir', + type: 'select', + requiredContent: element ? element + '[dir]' : null, + label: lang.langDir, + 'default': '', + style: 'width:100%', + items: [ + [ lang.notSet, '' ], + [ lang.langDirLTR, 'ltr' ], + [ lang.langDirRTL, 'rtl' ] + ], + setup: setupAdvParams, + commit: commitAdvParams + } ); + } + + result.elements[ 0 ].children.push( { + type: 'hbox', + widths: [ '50%', '50%' ], + children: [].concat( contents ) + } ); + } + + if ( tabConfig.styles || tabConfig.classes ) { + contents = []; + + if ( tabConfig.styles ) { + contents.push( { + id: 'advStyles', + att: 'style', + type: 'text', + requiredContent: element ? element + '{cke-xyz}' : null, + label: lang.styles, + 'default': '', + + validate: CKEDITOR.dialog.validate.inlineStyle( lang.invalidInlineStyle ), + onChange: function() {}, + + getStyle: function( name, defaultValue ) { + var match = this.getValue().match( new RegExp( '(?:^|;)\\s*' + name + '\\s*:\\s*([^;]*)', 'i' ) ); + return match ? match[ 1 ] : defaultValue; + }, + + updateStyle: function( name, value ) { + var styles = this.getValue(); + + var tmp = editor.document.createElement( 'span' ); + tmp.setAttribute( 'style', styles ); + tmp.setStyle( name, value ); + styles = CKEDITOR.tools.normalizeCssText( tmp.getAttribute( 'style' ) ); + + this.setValue( styles, 1 ); + }, + + setup: setupAdvParams, + + commit: commitAdvParams + + } ); + } + + if ( tabConfig.classes ) { + contents.push( { + type: 'hbox', + widths: [ '45%', '55%' ], + children: [ + { + id: 'advCSSClasses', + att: 'class', + type: 'text', + requiredContent: element ? element + '(cke-xyz)' : null, + label: lang.cssClasses, + 'default': '', + setup: setupAdvParams, + commit: commitAdvParams + + } + ] + } ); + } + + result.elements[ 0 ].children.push( { + type: 'hbox', + widths: [ '50%', '50%' ], + children: [].concat( contents ) + } ); + } + + return result; + } + } ); + +} )(); diff --git a/htdocs/includes/ckeditor/_source/plugins/dialogui/plugin.js b/htdocs/includes/ckeditor/_source/plugins/dialogui/plugin.js index 2335d1c760c..96568ce6387 100644 --- a/htdocs/includes/ckeditor/_source/plugins/dialogui/plugin.js +++ b/htdocs/includes/ckeditor/_source/plugins/dialogui/plugin.js @@ -1,1532 +1,1409 @@ -/* -Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.html or http://ckeditor.com/license -*/ - -/** @fileoverview The "dialogui" plugin. */ - -CKEDITOR.plugins.add( 'dialogui' ); - -(function() -{ - var initPrivateObject = function( elementDefinition ) - { - this._ || ( this._ = {} ); - this._['default'] = this._.initValue = elementDefinition['default'] || ''; - this._.required = elementDefinition[ 'required' ] || false; - var args = [ this._ ]; - for ( var i = 1 ; i < arguments.length ; i++ ) - args.push( arguments[i] ); - args.push( true ); - CKEDITOR.tools.extend.apply( CKEDITOR.tools, args ); - return this._; - }, - textBuilder = - { - build : function( dialog, elementDefinition, output ) - { - return new CKEDITOR.ui.dialog.textInput( dialog, elementDefinition, output ); - } - }, - commonBuilder = - { - build : function( dialog, elementDefinition, output ) - { - return new CKEDITOR.ui.dialog[elementDefinition.type]( dialog, elementDefinition, output ); - } - }, - containerBuilder = - { - build : function( dialog, elementDefinition, output ) - { - var children = elementDefinition.children, - child, - childHtmlList = [], - childObjList = []; - for ( var i = 0 ; ( i < children.length && ( child = children[i] ) ) ; i++ ) - { - var childHtml = []; - childHtmlList.push( childHtml ); - childObjList.push( CKEDITOR.dialog._.uiElementBuilders[ child.type ].build( dialog, child, childHtml ) ); - } - return new CKEDITOR.ui.dialog[ elementDefinition.type ]( dialog, childObjList, childHtmlList, output, elementDefinition ); - } - }, - commonPrototype = - { - isChanged : function() - { - return this.getValue() != this.getInitValue(); - }, - - reset : function( noChangeEvent ) - { - this.setValue( this.getInitValue(), noChangeEvent ); - }, - - setInitValue : function() - { - this._.initValue = this.getValue(); - }, - - resetInitValue : function() - { - this._.initValue = this._['default']; - }, - - getInitValue : function() - { - return this._.initValue; - } - }, - commonEventProcessors = CKEDITOR.tools.extend( {}, CKEDITOR.ui.dialog.uiElement.prototype.eventProcessors, - { - onChange : function( dialog, func ) - { - if ( !this._.domOnChangeRegistered ) - { - dialog.on( 'load', function() - { - this.getInputElement().on( 'change', function() - { - // Make sure 'onchange' doesn't get fired after dialog closed. (#5719) - if ( !dialog.parts.dialog.isVisible() ) - return; - - this.fire( 'change', { value : this.getValue() } ); - }, this ); - }, this ); - this._.domOnChangeRegistered = true; - } - - this.on( 'change', func ); - } - }, true ), - eventRegex = /^on([A-Z]\w+)/, - cleanInnerDefinition = function( def ) - { - // An inner UI element should not have the parent's type, title or events. - for ( var i in def ) - { - if ( eventRegex.test( i ) || i == 'title' || i == 'type' ) - delete def[i]; - } - return def; - }; - - CKEDITOR.tools.extend( CKEDITOR.ui.dialog, - /** @lends CKEDITOR.ui.dialog */ - { - /** - * Base class for all dialog elements with a textual label on the left. - * @constructor - * @example - * @extends CKEDITOR.ui.dialog.uiElement - * @param {CKEDITOR.dialog} dialog - * Parent dialog object. - * @param {CKEDITOR.dialog.definition.uiElement} elementDefinition - * The element definition. Accepted fields: - *
    - *
  • label (Required) The label string.
  • - *
  • labelLayout (Optional) Put 'horizontal' here if the - * label element is to be layed out horizontally. Otherwise a vertical - * layout will be used.
  • - *
  • widths (Optional) This applies only for horizontal - * layouts - an 2-element array of lengths to specify the widths of the - * label and the content element.
  • - *
- * @param {Array} htmlList - * List of HTML code to output to. - * @param {Function} contentHtml - * A function returning the HTML code string to be added inside the content - * cell. - */ - labeledElement : function( dialog, elementDefinition, htmlList, contentHtml ) - { - if ( arguments.length < 4 ) - return; - - var _ = initPrivateObject.call( this, elementDefinition ); - _.labelId = CKEDITOR.tools.getNextId() + '_label'; - var children = this._.children = []; - /** @ignore */ - var innerHTML = function() - { - var html = [], - requiredClass = elementDefinition.required ? ' cke_required' : '' ; - if ( elementDefinition.labelLayout != 'horizontal' ) - html.push( '', - '' ); - else - { - var hboxDefinition = { - type : 'hbox', - widths : elementDefinition.widths, - padding : 0, - children : - [ - { - type : 'html', - html : '