Merge branch 'develop' of github.com:Dolibarr/dolibarr into develop

This commit is contained in:
Maxime Kohlhaas 2014-01-17 15:37:49 +01:00
commit 87ab3ae297
180 changed files with 2604 additions and 2597 deletions

View File

@ -56,7 +56,7 @@ before_script:
- sh -c "if [ '$DB' = 'pgsql' ]; then psql -c 'CREATE DATABASE myapp_test;' -U postgres; fi"
- sh -c "if [ '$DB' = 'mysql' ]; then mysql -e 'DROP DATABASE IF EXISTS myapp_test;'; fi"
- sh -c "if [ '$DB' = 'mysql' ]; then mysql -e 'CREATE DATABASE IF NOT EXISTS myapp_test;'; fi"
- sh -c "if [ '$DB' = 'mysql' ]; then mysql -D myapp_test < $(pwd)/dev/initdata/mysqldump_dolibarr_3.5.0.sql; fi"
- sh -c "if [ '$DB' = 'mysql' ]; then mysql -D myapp_test < $(pwd)/dev/initdata/mysqldump_dolibarr_3.4.0.sql; fi"
- echo Create config file htdocs/conf/conf.php
- echo '<?php ' > htdocs/conf/conf.php
- sh -c "if [ '$DB' = 'pgsql' ]; then echo '$'dolibarr_main_db_type=\'pgsql\'';' >> htdocs/conf/conf.php; fi"
@ -80,10 +80,18 @@ before_script:
- sudo /etc/init.d/apache2 restart
- wget http://localhost/
- cat index.html
script:
- cd htdocs/install
- php upgrade.php 3.4.0 3.5.0 > upgrade.log
- php upgrade2.php 3.4.0 3.5.0 > upgrade2.log
- php upgrade.php 3.5.0 3.6.0 >> upgrade.log
- php upgrade2.php 3.5.0 3.6.0 >> upgrade2.log
- cd ../..
# - cat upgrade.log
# - cat upgrade2.log
# - phpunit -d memory_limit=-1 --configuration test/phpunit/phpunittest.xml --coverage-text test/phpunit/AllTests.php
# - phpunit -d memory_limit=-1 --configuration test/phpunit/phpunittest.xml --coverage-text test/phpunit/BuildDocTest.php
# - phpunit -d memory_limit=-1 --configuration test/phpunit/phpunittest.xml test/phpunit/WebservicesOtherTest.php

View File

@ -50,6 +50,9 @@ http://www.fsf.org/licensing/licenses/index_html
Copyright
---------
Copyright (C) 2014
- Marcos García <marcosgdf@gmail.com>
Copyright (C) 2013
- Christophe Battarel <christophe.battarel@altairis.fr>
- Laurent Destailleur <eldy@users.sourceforge.net>

113
ChangeLog
View File

@ -7,8 +7,14 @@ For users:
- New: Add list of orders products in tab "consumption" on thirdparties.
- New: Add graph stats for suppliers orders in tab "stats" on products.
- New: Add option MAIN_HIDE_INACTIVETAB_ON_PRINT to hide inactive tabs when you
use the "print" view on screen.
use the "print" view on screen.
- New: Add menu entry to barcode genration page.
- New: Add option MAIN_AUTO_TIMESTAMP_IN_NOTES to automatically add timestamp
and user line into editionf 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
- New: The box "balance of bank accounts" show all opened accounts.
For translators:
- Update language files.
@ -17,7 +23,16 @@ For developers:
- New: Add path file of trigger into admin trigger list page.
- New: More phpunit tests.
- New: Payments and supplier payment pages tabs can now be extended from modules.
- New: Add option 'aZ' into GETPOST function to check parameters contains
only a to z or A to Z characters.
- New: Opensurvey polls tab cards can now be extended from external modules.
- New: Triggers OPENSURVEY_CREATE, OPENSURVEY_DELETE
WARNING: Following change may create regression for some external modules, but was necessary to make
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.
***** ChangeLog for 3.5 compared to 3.4.* *****
@ -153,56 +168,63 @@ parameter. All methods addline in this case were modified to remove this paramet
***** ChangeLog for 3.4.3 compared to 3.4.2 *****
Fix: Bad get of localtaxes into contracts add lines
***** ChangeLog for 3.4.2 compared to 3.4.1 *****
Fix: field's problem into company's page (RIB)
Fix: Document cerfa doesn't contained firstname & lastname from donator
Fix: field's problem into company's page (RIB).
Fix: Document cerfa doesn't contained firstname & lastname from donator.
Fix: Bad rounding on margin calculations and display.
Fix: Option drop table into backup was broken.
Fix: [ bug #1105 ] Searching Boxes other search option
Fix: wrong buy price update
Fix: [ bug #1142 ] Set paiement on invoice (PGSql)
Fix: [ bug #1145 ] Agenda button list type do not display
Fix: [ bug #1148 ] Product consomation : supplier order bad status
Fix: [ bug #1159 ] Commercial search "other" give p.note do not exists
Fix: [ bug #1174 ] Product translated description not good into PDF
Fix: [ bug #1163 ] SQL Error when searching for supplier orders
Fix: [ bug #1162 ] Translaction for morning and afternoon
Fix: [ bug #1161 ] Search on product label
Fix: [ bug #1105 ] Searching Boxes other search option.
Fix: wrong buy price update.
Fix: [ bug #1142 ] Set paiement on invoice (PGSql).
Fix: [ bug #1145 ] Agenda button list type do not display.
Fix: [ bug #1148 ] Product consomation : supplier order bad status.
Fix: [ bug #1159 ] Commercial search "other" give p.note do not exists.
Fix: [ bug #1174 ] Product translated description not good into PDF.
Fix: [ bug #1163 ] SQL Error when searching for supplier orders.
Fix: [ bug #1162 ] Translaction for morning and afternoon.
Fix: [ bug #1161 ] Search on product label.
Fix: [ bug #1075 ] POS module doesn't decrement stock of products in delayed payment mode.
Fix: [ bug #1171 ] Documents lost in interventions after validating
Fix: fix unsubscribe URL into mailing when sending manually (not by script)
Fix: [ bug #1182 ] ODT company_country tag is htmlencoded
Fix: [ bug #1196 ] Product barcode search does not expect 13th digit on EAN13 type
Fix: [ bug #1202 ] Wrong amount in deposit % invoice from proposal
Fix: [ bug #1171 ] Documents lost in interventions after validating.
Fix: fix unsubscribe URL into mailing when sending manually (not by script).
Fix: [ bug #1182 ] ODT company_country tag is htmlencoded.
Fix: [ bug #1196 ] Product barcode search does not expect 13th digit on EAN13 type.
Fix: [ bug #1202 ] Wrong amount in deposit % invoice from proposal.
Fix: Removed analytics tags into doc page.
Fix: Call Image on this instead of pdf.
Fix: Missing parameter for photo.
Fix: Bad SQL request for turnover report.
***** ChangeLog for 3.4.1 compared to 3.4.0 *****
Fix: Display buying price on line edit when no supplier price is defined
Fix: Retrieving of margin info when invoice created automatically from order
Fix: Reordering supplier products in list by supplier or supplier ref was crashing
Fix: [ bug #1029 ] Tulip numbering mask
Fix: Supplier invoice and supplier order are not displayed into object link into agenda event card
Fix: [ bug #1033 ] SUPPLIER REF disappeared
Fix: update extrafield do not display immediately after update
Fix: Fix bug with canvas thirdparty
Fix: [ bug #1037 ] Consumption> Supplier invoices related
Fix: User group name do not display in card (view or edit mode)
Fix: Link "Show all supplier invoice" on supplier card not working
Fix: [ bug #1039 ] Pre-defined invoices conversion
Fix: If only service module is activated, it's impossible to delete service
Fix: [ bug #1043 ] Bad interventions ref numbering
Fix: Mailing module : if an email is already in destinaires list all other email from selector was not inserted
Fix: Localtaxes balance not showing
Fix: Intervention box links to contracts id
Fix: Compatibility with multicompany module
Fix: Edit propal line was losing product supplier price id
Fix: Delete linked element to supplier invoice when deleted
Fix: [ bug #1061 ] Bad info shipped products
Fix: [ bug #1062 ] Documents lost in propals and contracts validating
Fix: Supplier price displayed on document lines and margin infos didnt take discount
Fix: sorting on qty did not work in supplier product list
Fix: there was no escaping on filter fields in supplier product list
Fix: bugs on margin reports and better margin calculation on credit notes
Qual: Add travis-ci integration
Fix: Display buying price on line edit when no supplier price is defined.
Fix: Retrieving of margin info when invoice created automatically from order.
Fix: Reordering supplier products in list by supplier or supplier ref was crashing.
Fix: [ bug #1029 ] Tulip numbering mask.
Fix: Supplier invoice and supplier order are not displayed into object link into agenda event card.
Fix: [ bug #1033 ] SUPPLIER REF disappeared.
Fix: update extrafield do not display immediatly after update.
Fix: Fix bug with canvas thirdparty.
Fix: [ bug #1037 ] Consumption> Supplier invoices related.
Fix: User group name do not display in card (view or edit mode).
Fix: Link "Show all supplier invoice" on suplier card not working.
Fix: [ bug #1039 ] Pre-defined invoices conversion.
Fix: If only service module is activated, it's impossible to delete service.
Fix: [ bug #1043 ] Bad interventions ref numbering.
Fix: Mailing module : if an email is already in destinaires list all other email from selector was not inserted.
Fix: Localtaxes balance not showing.
Fix: Intervention box links to contracts id.
Fix: Compatiblity with multicompany module.
Fix: Edit propal line was losing product supplier price id.
Fix: Delete linked element to supplier invoice when deleted.
Fix: [ bug #1061 ] Bad info shipped products.
Fix: [ bug #1062 ] Documents lost in propals and contracts validating.
Fix: Supplier price displayed on document lines and margin infos didnt take discount.
Fix: sorting on qty did not work in supplier product list.
Fix: there was no escaping on filter fields in supplier product list.
Fix: bugs on margin reports and better margin calculation on credit notes.
Qual: Add travis-ci integration.
***** ChangeLog for 3.4 compared to 3.3.* *****
For users:
@ -301,6 +323,7 @@ backport commit 384e3812eb73a15adafb472cacfb93397a54459b to fix W3C/edit contrac
***** ChangeLog for 3.3.5 compared to 3.3.4 *****
- Fix: Change to make debian package ok despite removal of ckeditor.
- Fix: jcrop file to match debian rules
- Fix: Add missing country UK.
- Fix: Minor fix into package.

View File

@ -76,61 +76,63 @@ See ChangeLog file found into package.
### Main modules/features:
- Customers, Prospects or Suppliers directory
- Products and services catalog
- Bank accounts management
- Orders management
- Commercial proposals management
- Contracts management
- Invoices management
- Payments management
- Standing orders management
- Stock management
- Shipping management
- Customers, Prospects or Suppliers directory.
- Products and services catalog.
- Bank accounts management.
- Orders management.
- Commercial proposals management.
- Contracts management.
- Invoices management.
- Payments management.
- Standing orders management.
- Stock management.
- Shipping management.
- PDF or ODT generation for invoice, proposals, orders...
- Agenda with ical,vcal export for third tools integration
- EDM (Electronic Document Management)
- Foundations members management
- Employee's holidays management
- Mass Emailing
- Realize surveys
- Point of Sale
- Agenda with ical,vcal export for third tools integration.
- EDM (Electronic Document Management).
- Foundations members management.
- Employee's holidays management.
- Mass Emailing.
- Realize surveys.
- Point of Sale.
### Other modules:
- Bookmarks management
- Donations management
- Reporting
- Data export/import
- LDAP connectivity
- Third parties or products categories
- ClickToDial integration
- RSS integration
- Bookmarks management.
- Donations management.
- Reporting.
- Data export/import.
- Third parties or products categories.
- LDAP connectivity.
- ClickToDial integration.
- RSS integration.
- Can be extended with a lot of other external modules available onto DoliStore.com.
### Miscellaneous:
- Multi-user, with several permissions levels for each feature.
- Serveral menu managers (can be used by internal users, as a back-office, with a particular menu, or by external users, as a front-office, with another menu and permissions).
- Very user friendly and easy to use.
- Optional WYSIWYG forms, optional Ajax forms.
- Several skins.
- Code is highly customizable (a lot of use of modules and submodules).
- Works with Mysql 4.1 or higher, or PostgreSql 8.14 or higher.
- Works with PHP 5.0 or higher.
- An easy to understand and maintain code (PHP with no heavy frameworks).
- A trigger architecture to allow you to make Dolibarr business events run PHP code to update your own information system.
- "NPR VAT Rate" (French particularity for managing VAT in DOM-TOM called "Non Perçue Récupérable").
- Highly customizable: Enable only modules you need, user personalized fields, choose your skin, several menu managers (can be used by internal users as a back-office with a particular menu, or by external users as a front-office with another one).
- Works with PHP 5.2.1, MySql 4.1 or PostgreSQL 8.1.
- Compatible with all Cloud solutions that match MySql, PHP or PostgreSQL prerequisites.
- An easy to understand, maintain and code interfaces with your own system information (PHP with no heavy frameworks, trigger and hook architecture).
- Support countries specific features:
Spanish Tax RE and ISPF.
French NPR VAT rate (VAT called "Non Perçue Récupérable" for DOM-TOM).
Canadian double taxes (federal/province) and other countries using cumulative VAT.
Tunisian tax stamp.
Compatible with European directives (2006/112/CE ... 2010/45/UE) (http://europa.eu/legislation_summaries/taxation/l31057_en.htm)
...
## WHAT DOLIBARR CAN'T DO YET (TODO LIST)
This is features that Dolibarr does not support completely yet:
- No double party accountancy (only bank management).
- No double party accountancy (only bank and treasury management).
- Dolibarr manage one currency at once (mono-currency).
- Dolibarr manage one master company/foundation (mono-company). If you want to manage several companies or foundations, you must install several time the software (on same server or not). Another solution is to extend Dolibarr with the addon Module MultiCompany that allows to manage several companies in one Dolibarr instance (one database but with a logical isolation of datas).
- Dolibarr does not contains Payroll module.
- Dolibarr manage one master activity (mono-company). If you want to manage several companies or foundations, you must install several time the software (on same server or not). Another solution is to extend Dolibarr with the addon Module MultiCompany that allows to manage several companies in one Dolibarr instance (one database but with a logical isolation of datas).
- Tasks on module project can't have dependencies between each other.
- Dolibarr does not contains Payroll module.
- Dolibarr does not include any Webmail.
- Dolibarr can't do coffee (not yet).

View File

@ -120,8 +120,11 @@ Puis pour se connecter et préparer l'environnement
> apt-get install links mysql-client
Pour tester un package
> cp *.deb /srv/chroot/unstable/tmp
> cp ../build-area/* /srv/chroot/unstable/tmp
> sudo schroot -c name_of_chroot
> cd /tmp
> lintian --pedantic -E -I dolibarr*.deb
> lintian --pedantic -E -I dolibarr*.dsc
> dpkg -i dolibarr*.deb
> apt-get install -f

View File

@ -134,6 +134,7 @@ class modMyModule extends DolibarrModules
// 'payment' to add a tab in payment view
// 'payment_supplier' to add a tab in supplier payment view
// 'categories_x' to add a tab in category view (replace 'x' by type of category (0=product, 1=supplier, 2=customer, 3=member)
// 'opensurveypoll' to add a tab in opensurvey poll view
$this->tabs = array();
// Dictionnaries

View File

@ -158,7 +158,7 @@ foreach ($modulesdir as $dir)
if ($objMod->version == 'development' && (empty($conf->global->$const_name) && ($conf->global->MAIN_FEATURES_LEVEL < 2))) $modulequalified=0;
if ($objMod->version == 'experimental' && (empty($conf->global->$const_name) && ($conf->global->MAIN_FEATURES_LEVEL < 1))) $modulequalified=0;
// We discard modules according to property disabled
if (isset($objMod->hidden) && $objMod->hidden) $modulequalified=false;
if (! empty($objMod->hidden)) $modulequalified=false;
// Define array $categ with categ with at least one qualified module
if ($modulequalified)

View File

@ -26,8 +26,10 @@ require '../main.inc.php';
require_once DOL_DOCUMENT_ROOT.'/core/lib/format_cards.lib.php';
require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
require_once DOL_DOCUMENT_ROOT.'/core/modules/printsheet/modules_labels.php';
require_once DOL_DOCUMENT_ROOT.'/core/class/genericobject.class.php';
$langs->load("admin");
$langs->load("members");
$langs->load("errors");
// Choix de l'annee d'impression ou annee courante.
@ -36,124 +38,166 @@ $year=dol_print_date($now,'%Y');
$month=dol_print_date($now,'%m');
$day=dol_print_date($now,'%d');
$forbarcode=GETPOST('forbarcode');
$forbartype=GETPOST('forbartype');
$fk_barcode_type=GETPOST('fk_barcode_type');
$mode=GETPOST('mode');
$model=GETPOST("model"); // Doc template to use for business cards
$modellabel=GETPOST("modellabel"); // Doc template to use for address sheet
$modellabel=GETPOST("modellabel"); // Doc template to use
$numberofsticker=GETPOST('numberofsticker','int');
$mesg='';
$action=GETPOST('action');
/*
* Actions
*/
if ($action == 'builddoc' && empty($forbarcode))
if ($action == 'builddoc')
{
$mesg=$langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("Barcode"));
}
if ($action == 'builddoc' && empty($forbartype))
{
$mesg=$langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("BarcodeType"));
}
$result=0; $error=0;
if ((! empty($forbarcode) || ! empty($forbartype) || ! empty($mode)) && ! $mesg)
{
// List of values to scan for a replacement
$substitutionarray = array (
'%LOGIN%'=>$user->login,
'%COMPANY%'=>$mysoc->name,
'%ADDRESS%'=>$mysoc->address,
'%ZIP%'=>$mysoc->zip,
'%TOWN%'=>$mysoc->town,
'%COUNTRY%'=>$mysoc->country,
'%COUNTRY_CODE%'=>$mysoc->country_code,
'%EMAIL%'=>$mysoc->email,
'%YEAR%'=>$year,
'%MONTH%'=>$month,
'%DAY%'=>$day,
'%DOL_MAIN_URL_ROOT%'=>DOL_MAIN_URL_ROOT,
'%SERVER%'=>"http://".$_SERVER["SERVER_NAME"]."/"
);
complete_substitutions_array($substitutionarray, $langs);
// For business cards
if (empty($mode) || $mode=='card' || $mode=='cardlogin')
if (empty($forbarcode)) // barcode value
{
$textleft=make_substitutions($conf->global->ADHERENT_CARD_TEXT, $substitutionarray);
$textheader=make_substitutions($conf->global->ADHERENT_CARD_HEADER_TEXT, $substitutionarray);
$textfooter=make_substitutions($conf->global->ADHERENT_CARD_FOOTER_TEXT, $substitutionarray);
$textright=make_substitutions($conf->global->ADHERENT_CARD_TEXT_RIGHT, $substitutionarray);
setEventMessage($langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("BarcodeValue")),'errors');
$error++;
}
if (empty($fk_barcode_type)) // barcode type = barcode encoding
{
setEventMessage($langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("BarcodeType")),'errors');
$error++;
}
if (is_numeric($forbarcode) || $forbartype)
if (! $error)
{
// Get encoder (barcode_type_coder) from barcode type id (barcode_type)
$stdobject=new GenericObject($db);
$stdobject->barcode_type=$fk_barcode_type;
$result=$stdobject->fetch_barcode();
if ($result <= 0)
{
for($j=0;$j<100;$j++)
$error++;
setEventMessage('Failed to get bar code type information '.$stdobject->error, 'errors');
}
}
if (! $error)
{
$code=$forbarcode;
$generator=$stdobject->barcode_type_coder;
$encoding=strtoupper($stdobject->barcode_type_code);
$barcodeimage=$conf->barcode->dir_temp.'/barcode_'.$code.'_'.$encoding.'.png';
$diroutput=$conf->barcode->dir_temp;
dol_mkdir($diroutput);
// Generate barcode
$dirbarcode=array_merge(array("/core/modules/barcode/"),$conf->modules_parts['barcode']);
foreach($dirbarcode as $reldir)
{
$dir=dol_buildpath($reldir,0);
$newdir=dol_osencode($dir);
// Check if directory exists (we do not use dol_is_dir to avoid loading files.lib.php)
if (! is_dir($newdir)) continue;
$result=@include_once $newdir.$generator.'.modules.php';
if ($result) break;
}
// Load barcode class
$classname = "mod".ucfirst($generator);
$module = new $classname($db);
if ($module->encodingIsSupported($encoding))
{
dol_delete_file($barcodeimage);
// File is created with full name $barcodeimage = $conf->barcode->dir_temp.'/barcode_'.$code.'_'.$encoding.'.png';
$result=$module->writeBarCode($code,$encoding,'Y',4);
if ($result <= 0 || ! dol_is_file($barcodeimage))
{
$error++;
setEventMessage('Failed to generate image file of barcode for code='.$code.' encoding='.$encoding.' file='.basename($barcodeimage), 'errors');
}
}
else
{
$error++;
setEventMessage("Error, encoding ".$encoding." is not supported by encoder ".$generator.'. You must choose another barcode type or install a barcode generation engine that support '.$encoding, 'errors');
}
}
if (! $error)
{
// List of values to scan for a replacement
$substitutionarray = array (
'%LOGIN%'=>$user->login,
'%COMPANY%'=>$mysoc->name,
'%ADDRESS%'=>$mysoc->address,
'%ZIP%'=>$mysoc->zip,
'%TOWN%'=>$mysoc->town,
'%COUNTRY%'=>$mysoc->country,
'%COUNTRY_CODE%'=>$mysoc->country_code,
'%EMAIL%'=>$mysoc->email,
'%YEAR%'=>$year,
'%MONTH%'=>$month,
'%DAY%'=>$day,
'%DOL_MAIN_URL_ROOT%'=>DOL_MAIN_URL_ROOT,
'%SERVER%'=>"http://".$_SERVER["SERVER_NAME"]."/"
);
complete_substitutions_array($substitutionarray, $langs);
// For labels
if ($mode == 'label')
{
if (empty($conf->global->ADHERENT_ETIQUETTE_TEXT)) $conf->global->ADHERENT_ETIQUETTE_TEXT="%PHOTO%";
$textleft=make_substitutions($conf->global->ADHERENT_ETIQUETTE_TEXT, $substitutionarray);
$textheader='';
$textfooter='';
$textright='';
$forceimgscalewidth=(empty($conf->global->BARCODE_FORCEIMGSCALEWIDTH)?1:$conf->global->BARCODE_FORCEIMGSCALEWIDTH);
$forceimgscaleheight=(empty($conf->global->BARCODE_FORCEIMGSCALEHEIGHT)?1:$conf->global->BARCODE_FORCEIMGSCALEHEIGHT);
for ($i=0; $i < $numberofsticker; $i++)
{
$arrayofmembers[]=array(
'textleft'=>$textleft,
'textheader'=>$textheader,
'textfooter'=>$textfooter,
'textright'=>$textright,
'id'=>$objp->rowid,
'photo'=>$objp->photo
'textleft'=>$textleft,
'textheader'=>$textheader,
'textfooter'=>$textfooter,
'textright'=>$textright,
'photo'=>$barcodeimage // Photo must be a file that exists with format supported by TCPDF
);
}
}
else
$i++;
$mesg='';
// Build and output PDF
if ($mode == 'label')
{
$arrayofmembers[]=array(
'textleft'=>$textleft,
'textheader'=>$textheader,
'textfooter'=>$textfooter,
'textright'=>$textright,
'id'=>$objp->rowid,
'photo'=>$objp->photo
);
if (! count($arrayofmembers))
{
$mesg=$langs->trans("ErrorRecordNotFound");
}
if (empty($modellabel) || $modellabel == '-1')
{
$mesg=$langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("DescADHERENT_ETIQUETTE_TYPE"));
}
if (! $mesg) $result=members_label_pdf_create($db, $arrayofmembers, $modellabel, $outputlangs, $diroutput);
}
}
// For labels
if ($mode == 'label')
{
if (empty($conf->global->ADHERENT_ETIQUETTE_TEXT)) $conf->global->ADHERENT_ETIQUETTE_TEXT="%FULLNAME%\n%ADDRESS%\n%ZIP% %TOWN%\n%COUNTRY%";
$textleft=make_substitutions($conf->global->ADHERENT_ETIQUETTE_TEXT, $substitutionarray);
$textheader='';
$textfooter='';
$textright='';
$arrayofmembers[]=array('textleft'=>$textleft,
'textheader'=>$textheader,
'textfooter'=>$textfooter,
'textright'=>$textright,
'id'=>$objp->rowid,
'photo'=>$objp->photo);
}
$i++;
// Build and output PDF
if ($mode == 'label')
{
if (! count($arrayofmembers))
if ($result <= 0)
{
$mesg=$langs->trans("ErrorRecordNotFound");
dol_print_error('',$result);
}
if (empty($modellabel) || $modellabel == '-1')
{
$mesg=$langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("DescADHERENT_ETIQUETTE_TYPE"));
}
if (! $mesg) $result=members_label_pdf_create($db, $arrayofmembers, $modellabel, $outputlangs);
}
if ($result <= 0)
{
dol_print_error('',$result);
if (! $mesg)
{
$db->close();
exit;
}
}
if (! $mesg)
{
$db->close();
exit;
}
}
@ -168,16 +212,25 @@ llxHeader('',$langs->trans("BarCodePrintsheet"));
print_fiche_titre($langs->trans("BarCodePrintsheet"));
print '<br>';
print $langs->trans("PageToGenerateBarCodeSheets").'<br>';
print $langs->trans("PageToGenerateBarCodeSheets",$langs->transnoentitiesnoconv("BuildPageToPrint")).'<br>';
print '<br>';
dol_htmloutput_errors($mesg);
print img_picto('','puce').' '.$langs->trans("BarCodePrintsheet").' ';
//print img_picto('','puce').' '.$langs->trans("PrintsheetForOneBarCode").'<br>';
//print '<br>';
print '<form action="'.$_SERVER["PHP_SELF"].'" method="POST">';
print '<input type="hidden" name="mode" value="label">';
print '<input type="hidden" name="action" value="builddoc">';
print $langs->trans("DescADHERENT_ETIQUETTE_TYPE").' ';
print '<div class="tagtable">';
// Sheet format
print ' <div class="tagtr">';
print ' <div class="tagtd" style="overflow: hidden; white-space: nowrap; max-width: 300px;">';
print $langs->trans("DescADHERENT_ETIQUETTE_TYPE").' &nbsp; ';
print '</div><div class="tagtd" style="overflow: hidden; white-space: nowrap; max-width: 300px;">';
// List of possible labels (defined into $_Avery_Labels variable set into format_cards.lib.php)
$arrayoflabels=array();
foreach(array_keys($_Avery_Labels) as $codecards)
@ -185,12 +238,64 @@ foreach(array_keys($_Avery_Labels) as $codecards)
$arrayoflabels[$codecards]=$_Avery_Labels[$codecards]['name'];
}
print $form->selectarray('modellabel',$arrayoflabels,(GETPOST('modellabel')?GETPOST('modellabel'):$conf->global->ADHERENT_ETIQUETTE_TYPE),1,0,0);
print '<br>'.$langs->trans("Barcode").': <input size="10" type="text" name="forbarcode" value="'.GETPOST('forbarcode').'">';
print '<br>'.$langs->trans("Bartype").': <input size="10" type="text" name="forbartype" value="'.GETPOST('forbartype').'">';
print '</div></div>';
// Number of stickers to print
print ' <div class="tagtr">';
print ' <div class="tagtd" style="overflow: hidden; white-space: nowrap; max-width: 300px;">';
print $langs->trans("NumberOfStickers").' &nbsp; ';
print '</div><div class="tagtd" style="overflow: hidden; white-space: nowrap; max-width: 300px;">';
print '<input size="4" type="text" name="numberofsticker" value="'.(GETPOST('numberofsticker')?GETPOST('numberofsticker','int'):10).'">';
print '</div></div>';
print '</div>';
print '<br>';
// Checkbox to select from free text
print '<input id="fillmanually" type="checkbox" checked="checked"> '.$langs->trans("FillBarCodeTypeAndValueManually").' &nbsp; ';
print '<br>';
/*
print '<input id="fillfromproduct" type="checkbox" checked="checked" disabled="true"> '.$langs->trans("FillBarCodeTypeAndValueFromProduct").' &nbsp; ';
print $form->select_produits(GETPOST('productid'), 'productid', '');
print '<br>';
print '<input id="fillfromthirdparty" type="checkbox" checked="checked" disabled="true"> '.$langs->trans("FillBarCodeTypeAndValueFromThirdParty").' &nbsp; ';
print $form->select_company(GETPOST('socid'), 'socid', '', 1);
print '<br>';
*/
print '<div class="tagtable">';
// Barcode type
print ' <div class="tagtr">';
print ' <div class="tagtd" style="overflow: hidden; white-space: nowrap; max-width: 300px;">';
print $langs->trans("BarcodeType").' &nbsp; ';
print '</div><div class="tagtd" style="overflow: hidden; white-space: nowrap; max-width: 300px;">';
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formbarcode.class.php';
$formbarcode = new FormBarCode($db);
$formbarcode->select_barcode_type($fk_barcode_type, 'fk_barcode_type', 1);
print '</div></div>';
// Barcode value
print ' <div class="tagtr">';
print ' <div class="tagtd" style="overflow: hidden; white-space: nowrap; max-width: 300px;">';
print $langs->trans("BarcodeValue").' &nbsp; ';
print '</div><div class="tagtd" style="overflow: hidden; white-space: nowrap; max-width: 300px;">';
print '<input size="16" type="text" name="forbarcode" value="'.GETPOST('forbarcode').'">';
print '</div></div>';
/*
$barcodestickersmask=GETPOST('barcodestickersmask');
print '<br>'.$langs->trans("BarcodeStickersMask").': <textarea cols="40" type="text" name="barcodestickersmask" value="'.GETPOST('barcodestickersmask').'">'.$barcodestickersmask.'</textarea>';
print '<br><input class="button" type="submit" value="'.$langs->trans("BuildDoc").'">';
print '<br>'.$langs->trans("BarcodeStickersMask").':<br>';
print '<textarea cols="40" type="text" name="barcodestickersmask" value="'.GETPOST('barcodestickersmask').'">'.$barcodestickersmask.'</textarea>';
print '<br>';
*/
print '<br><input class="button" type="submit" value="'.$langs->trans("BuildPageToPrint").'">';
print '</form>';
print '<br>';

View File

@ -499,7 +499,7 @@ class Categorie
$column_name=$type;
if ($type=='contact') $column_name='socpeople';
if ($type=='fournisseur') $column_name='societe';
$sql = "DELETE FROM ".MAIN_DB_PREFIX."categorie_".$type;
$sql .= " WHERE fk_categorie = ".$this->id;
$sql .= " AND fk_".$column_name." = ".$obj->id;
@ -528,16 +528,20 @@ class Categorie
}
/**
* Return list of contents of a category
* Return list of fetched instance of elements having this category
*
* @param string $field Field name for select in table. Full field name will be fk_field.
* @param string $classname PHP Class of object to store entity
* @param string $category_table Table name for select in table. Full table name will be PREFIX_categorie_table.
* @param string $object_table Table name for select in table. Full table name will be PREFIX_table.
* @return void
* @param string $type Type of category ('member', 'customer', 'supplier', 'product', 'contact')
* @return mixed -1 if KO, array of instance of object if OK
*/
function get_type($field,$classname,$category_table='',$object_table='')
function getObjectsInCateg($type)
{
$field=''; $classname=''; $category_table=''; $object_table='';
if ($type=='product') { $field='product'; $classname='Product'; }
if ($type=='customer') { $field='societe'; $classname='Societe'; }
if ($type=='supplier') { $field='societe'; $classname='Fournisseur'; $category_table='fournisseur'; }
if ($type=='member') { $field='member'; $classname='Adherent'; $category_table=''; $object_table='adherent'; }
if ($type=='contact') { $field='socpeople'; $classname='Contact'; $category_table='contact'; $object_table='socpeople'; }
$objs = array();
// Clean parameters
@ -551,7 +555,7 @@ class Categorie
$sql.= " AND c.fk_categorie = ".$this->id;
$sql.= " AND c.fk_".$field." = o.rowid";
dol_syslog(get_class($this)."::get_type sql=".$sql);
dol_syslog(get_class($this)."::getObjectsInCateg sql=".$sql);
$resql = $this->db->query($sql);
if ($resql)
{
@ -566,7 +570,7 @@ class Categorie
else
{
$this->error=$this->db->error().' sql='.$sql;
dol_syslog(get_class($this)."::get_type ".$this->error, LOG_ERR);
dol_syslog(get_class($this)."::getObjectsInCateg ".$this->error, LOG_ERR);
return -1;
}
}
@ -583,7 +587,6 @@ class Categorie
$sql.= " WHERE fk_parent = ".$this->id;
$res = $this->db->query($sql);
if ($res)
{
$cats = array ();
@ -1054,23 +1057,24 @@ class Categorie
}
/**
* Return list of categories linked to element of id $id and type $typeid
* Return list of categories (id or instances) linked to element of id $id and type $type
* Should be named getListOfCategForObject
*
* @param int $id Id of element
* @param int $typeid Type of link (0 or 'product', 1 or 'supplier', 2 or 'customer', 3 or 'member', ...)
* @param string $mode 'object'=Get array of categories, 'label'=Get array of category labels
* @param string $type Type of category ('member', 'customer', 'supplier', 'product', 'contact'). Old mode (0, 1, 2, ...) is deprecated.
* @param string $mode 'object'=Get array of fetched category instances, 'label'=Get array of category labels
* @return mixed Array of category objects or < 0 if KO
*/
function containing($id,$typeid,$mode='object')
function containing($id,$type,$mode='object')
{
$cats = array();
$table=''; $type='';
if ($typeid == 0 || $typeid == 'product') { $typeid=0; $table='product'; $type='product'; }
else if ($typeid == 1 || $typeid == 'supplier') { $typeid=1; $table='societe'; $type='fournisseur'; }
else if ($typeid == 2 || $typeid == 'customer') { $typeid=2; $table='societe'; $type='societe'; }
else if ($typeid == 3 || $typeid == 'member') { $typeid=3; $table='member'; $type='member'; }
else if ($typeid == 4 || $typeid == 'contact') { $typeid=4; $table='socpeople'; $type='contact'; }
$typeid=-1; $table='';;
if ($type == '0' || $type == 'product') { $typeid=0; $table='product'; $type='product'; }
else if ($type == '1' || $type == 'supplier') { $typeid=1; $table='societe'; $type='fournisseur'; }
else if ($type == '2' || $type == 'customer') { $typeid=2; $table='societe'; $type='societe'; }
else if ($type == '3' || $type == 'member') { $typeid=3; $table='member'; $type='member'; }
else if ($type == '4' || $type == 'contact') { $typeid=4; $table='socpeople'; $type='contact'; }
$sql = "SELECT ct.fk_categorie, c.label";
$sql.= " FROM ".MAIN_DB_PREFIX."categorie_".$type." as ct, ".MAIN_DB_PREFIX."categorie as c";
@ -1110,7 +1114,7 @@ class Categorie
*
* @param int $id Id
* @param string $nom Name
* @param string $type Type
* @param string $type Type of category ('member', 'customer', 'supplier', 'product', 'contact'). Old mode (0, 1, 2, ...) is deprecated.
* @param boolean $exact Exact string search (true/false)
* @param boolean $case Case sensitive (true/false)
* @return array Array of category id
@ -1119,9 +1123,16 @@ class Categorie
{
$cats = array();
$typeid=-1;
if ($type == 0 || $type == 'product') { $typeid=0; }
else if ($type == 1 || $type == 'supplier') { $typeid=1; }
else if ($type == 2 || $type == 'customer') { $typeid=2; }
else if ($type == 3 || $type == 'member') { $typeid=3; }
else if ($type == 4 || $type == 'contact') { $typeid=4; }
// Generation requete recherche
$sql = "SELECT rowid FROM ".MAIN_DB_PREFIX."categorie";
$sql.= " WHERE type = ".$type." ";
$sql.= " WHERE type = ".$typeid;
$sql.= " AND entity IN (".getEntity('category',1).")";
if ($nom)
{

View File

@ -92,13 +92,13 @@ if ($id > 0 && $removeelem > 0)
$elementtype = 'member';
}
else if ($type == 4 && $user->rights->societe->creer) {
require_once DOL_DOCUMENT_ROOT.'/contact/class/contact.class.php';
$tmpobject = new Contact($db);
$result = $tmpobject->fetch($removeelem);
$elementtype = 'contact';
}
$result=$object->del_type($tmpobject,$elementtype);
if ($result < 0) dol_print_error('',$object->error);
}
@ -247,7 +247,7 @@ else
if ($object->type == 0)
{
$prods = $object->get_type("product","Product");
$prods = $object->getObjectsInCateg("product");
if ($prods < 0)
{
dol_print_error();
@ -297,7 +297,7 @@ if ($object->type == 0)
if ($object->type == 1)
{
$socs = $object->get_type("societe","Fournisseur","fournisseur");
$socs = $object->getObjectsInCateg("supplier");
if ($socs < 0)
{
dol_print_error();
@ -334,7 +334,7 @@ if ($object->type == 1)
print $langs->trans("DeleteFromCat")."</a>";
}
print '</td>';
print "</tr>\n";
}
}
@ -348,7 +348,7 @@ if ($object->type == 1)
if($object->type == 2)
{
$socs = $object->get_type("societe","Societe");
$socs = $object->getObjectsInCateg("customer");
if ($socs < 0)
{
dol_print_error();
@ -365,6 +365,8 @@ if($object->type == 2)
$var=true;
foreach ($socs as $key => $soc)
{
if ($user->societe_id > 0 && $soc->id != $user->societe_id) continue; // External user always see only themself
$i++;
$var=!$var;
print "\t<tr ".$bc[$var].">\n";
@ -402,7 +404,7 @@ if ($object->type == 3)
{
require_once DOL_DOCUMENT_ROOT.'/adherents/class/adherent.class.php';
$prods = $object->get_type("member","Adherent","","adherent");
$prods = $object->getObjectsInCateg("member");
if ($prods < 0)
{
dol_print_error($db,$object->error);
@ -454,7 +456,7 @@ if ($object->type == 3)
//Categorie contact
if($object->type == 4)
{
$contacts = $object->get_type("socpeople","Contact",'contact',"socpeople");
$contacts = $object->getObjectsInCateg("contact");
if ($contacts < 0)
{
dol_print_error();

View File

@ -312,11 +312,9 @@ $sql.= ' a.priority, a.fulldayevent, a.location,';
$sql.= ' a.fk_soc, a.fk_contact,';
$sql.= ' ca.code';
$sql.= ' FROM ('.MAIN_DB_PREFIX.'c_actioncomm as ca,';
$sql.= " ".MAIN_DB_PREFIX.'user as u,';
$sql.= " ".MAIN_DB_PREFIX."actioncomm as a)";
if (! $user->rights->societe->client->voir && ! $socid) $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."societe_commerciaux as sc ON a.fk_soc = sc.fk_soc";
$sql.= ' WHERE a.fk_action = ca.id';
$sql.= ' AND a.fk_user_author = u.rowid';
$sql.= ' AND a.entity IN ('.getEntity().')';
if ($actioncode) $sql.=" AND ca.code='".$db->escape($actioncode)."'";
if ($pid) $sql.=" AND a.fk_project=".$db->escape($pid);
@ -325,28 +323,28 @@ if ($user->societe_id) $sql.= ' AND a.fk_soc = '.$user->societe_id; // To limit
if ($action == 'show_day')
{
$sql.= " AND (";
$sql.= " (datep BETWEEN '".$db->idate(dol_mktime(0,0,0,$month,$day,$year))."'";
$sql.= " (a.datep BETWEEN '".$db->idate(dol_mktime(0,0,0,$month,$day,$year))."'";
$sql.= " AND '".$db->idate(dol_mktime(23,59,59,$month,$day,$year))."')";
$sql.= " OR ";
$sql.= " (datep2 BETWEEN '".$db->idate(dol_mktime(0,0,0,$month,$day,$year))."'";
$sql.= " (a.datep2 BETWEEN '".$db->idate(dol_mktime(0,0,0,$month,$day,$year))."'";
$sql.= " AND '".$db->idate(dol_mktime(23,59,59,$month,$day,$year))."')";
$sql.= " OR ";
$sql.= " (datep < '".$db->idate(dol_mktime(0,0,0,$month,$day,$year))."'";
$sql.= " AND datep2 > '".$db->idate(dol_mktime(23,59,59,$month,$day,$year))."')";
$sql.= " (a.datep < '".$db->idate(dol_mktime(0,0,0,$month,$day,$year))."'";
$sql.= " AND a.datep2 > '".$db->idate(dol_mktime(23,59,59,$month,$day,$year))."')";
$sql.= ')';
}
else
{
// To limit array
$sql.= " AND (";
$sql.= " (datep BETWEEN '".$db->idate(dol_mktime(0,0,0,$month,1,$year)-(60*60*24*7))."'"; // Start 7 days before
$sql.= " (a.datep BETWEEN '".$db->idate(dol_mktime(0,0,0,$month,1,$year)-(60*60*24*7))."'"; // Start 7 days before
$sql.= " AND '".$db->idate(dol_mktime(23,59,59,$month,28,$year)+(60*60*24*10))."')"; // End 7 days after + 3 to go from 28 to 31
$sql.= " OR ";
$sql.= " (datep2 BETWEEN '".$db->idate(dol_mktime(0,0,0,$month,1,$year)-(60*60*24*7))."'";
$sql.= " (a.datep2 BETWEEN '".$db->idate(dol_mktime(0,0,0,$month,1,$year)-(60*60*24*7))."'";
$sql.= " AND '".$db->idate(dol_mktime(23,59,59,$month,28,$year)+(60*60*24*10))."')";
$sql.= " OR ";
$sql.= " (datep < '".$db->idate(dol_mktime(0,0,0,$month,1,$year)-(60*60*24*7))."'";
$sql.= " AND datep2 > '".$db->idate(dol_mktime(23,59,59,$month,28,$year)+(60*60*24*10))."')";
$sql.= " (a.datep < '".$db->idate(dol_mktime(0,0,0,$month,1,$year)-(60*60*24*7))."'";
$sql.= " AND a.datep2 > '".$db->idate(dol_mktime(23,59,59,$month,28,$year)+(60*60*24*10))."')";
$sql.= ')';
}
if ($type) $sql.= " AND ca.id = ".$type;
@ -1012,7 +1010,7 @@ function show_day_events($db, $day, $month, $year, $monthshown, $style, &$eventa
// Must defined rule to choose color of who to use.
// event->usertodo->id will still contains user id of owner
// event->userstodo will be an array in future.
// $color=$user->color;
// $color=$user->color;
}
else if ($event->type_code == 'ICALEVENT')
{

View File

@ -71,6 +71,11 @@ $object->substitutionarray=array(
'__UNSUBSCRIBE__' => 'TagUnsubscribe'
//,'__PERSONALIZED__' => 'Personalized' // Hidden because not used yet
);
if (! empty($conf->paypal->enabled) && ! empty($conf->global->PAYPAL_SECURITY_TOKEN))
{
$object->substitutionarray['__SECUREKEYPAYPAL__']='SecureKeyPaypal';
if (! empty($conf->global->PAYPAL_SECURITY_TOKEN_UNIQUE)) $object->substitutionarray['__SECUREKEYPAYPAL_MEMBER__']='SecureKeyPaypalUniquePerMember';
}
$object->substitutionarrayfortest=array(
'__ID__' => 'TESTIdRecord',
@ -86,7 +91,7 @@ $object->substitutionarrayfortest=array(
'__SIGNATURE__' => (($user->signature && empty($conf->global->MAIN_MAIL_DO_NOT_USE_SIGN))?$user->signature:''),
'__CHECK_READ__' => 'TagCheckMail',
'__UNSUBSCRIBE__' => 'TagUnsubscribe'
//,'__PERSONALIZED__' => 'TESTPersonalized' // Not used yet
//,'__PERSONALIZED__' => 'TESTPersonalized' // Not used yet
);
@ -222,7 +227,12 @@ if ($action == 'sendallconfirmed' && $confirm == 'yes')
'__OTHER4__' => $other4,
'__OTHER5__' => $other5
);
if (! empty($conf->paypal->enabled) && ! empty($conf->global->PAYPAL_SECURITY_TOKEN))
{
$substitutionarray['__SECUREKEYPAYPAL__']=dol_hash($conf->global->PAYPAL_SECURITY_TOKEN, 2);
if (empty($conf->global->PAYPAL_SECURITY_TOKEN_UNIQUE)) $substitutionarray['__SECUREKEYPAYPAL_MEMBER__']=dol_hash($conf->global->PAYPAL_SECURITY_TOKEN, 2);
else $substitutionarray['__SECUREKEYPAYPAL_MEMBER__']=dol_hash($conf->global->PAYPAL_SECURITY_TOKEN . 'membersubscription' . $obj->source_id, 2);
}
$substitutionisok=true;
complete_substitutions_array($substitutionarray, $langs);
$newsubject=make_substitutions($subject,$substitutionarray);

View File

@ -96,6 +96,7 @@ if ($id > 0 || ! empty($ref))
// Initialize technical object to manage hooks of thirdparties. Note that conf->hooks_modules contains array array
$hookmanager->initHooks(array('propalcard'));
$permissionnote=$user->rights->propale->creer; // Used by the include of actions_setnotes.inc.php
/*
@ -105,6 +106,9 @@ $hookmanager->initHooks(array('propalcard'));
$parameters=array('socid'=>$socid);
$reshook=$hookmanager->executeHooks('doActions',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks
include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not includ_once
// Action clone object
if ($action == 'confirm_clone' && $confirm == 'yes')
{
@ -232,18 +236,6 @@ else if ($action == 'set_ref_client' && $user->rights->propal->creer)
$object->set_ref_client($user, $_POST['ref_client']);
}
else if ($action == 'setnote_public' && $user->rights->propal->creer)
{
$result=$object->update_note(dol_html_entity_decode(GETPOST('note_public'), ENT_QUOTES),'_public');
if ($result < 0) dol_print_error($db,$object->error);
}
else if ($action == 'setnote_private' && $user->rights->propal->creer)
{
$result=$object->update_note(dol_html_entity_decode(GETPOST('note_private'), ENT_QUOTES),'_private');
if ($result < 0) dol_print_error($db,$object->error);
}
// Create proposal
else if ($action == 'add' && $user->rights->propal->creer)
{

View File

@ -44,23 +44,15 @@ $result = restrictedArea($user, 'propale', $id, 'propal');
$object = new Propal($db);
/******************************************************************************/
/* Actions */
/******************************************************************************/
if ($action == 'setnote_public' && $user->rights->propale->creer)
{
$object->fetch($id);
$result=$object->update_note(dol_html_entity_decode(GETPOST('note_public'), ENT_QUOTES),'_public');
if ($result < 0) dol_print_error($db,$object->error);
}
$permission=$user->rights->propale->creer; // Used by the include of actions_setnotes.inc.php
include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not includ_once
else if ($action == 'setnote_private' && $user->rights->propale->creer)
{
$object->fetch($id);
$result=$object->update_note(dol_html_entity_decode(GETPOST('note_private'), ENT_QUOTES),'_private');
if ($result < 0) dol_print_error($db,$object->error);
}
/******************************************************************************/

View File

@ -93,14 +93,18 @@ if ($id > 0 || ! empty($ref))
// Initialize technical object to manage hooks of thirdparties. Note that conf->hooks_modules contains array array
$hookmanager->initHooks(array('ordercard'));
$permissionnote=$user->rights->commande->creer; // Used by the include of actions_setnotes.inc.php
/******************************************************************************/
/* Actions */
/******************************************************************************/
/*
* Actions
*/
$parameters=array('socid'=>$socid);
$reshook=$hookmanager->executeHooks('doActions',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks
include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not includ_once
// Action clone object
if ($action == 'confirm_clone' && $confirm == 'yes' && $user->rights->commande->creer)
{
@ -552,18 +556,6 @@ else if ($action == 'setremiseabsolue' && $user->rights->commande->creer)
$result = $object->set_remise_absolue($user, GETPOST('remise_absolue'));
}
else if ($action == 'setnote_public' && $user->rights->commande->creer)
{
$result=$object->update_note(dol_html_entity_decode(GETPOST('note_public'), ENT_QUOTES),'_public');
if ($result < 0) dol_print_error($db,$object->error);
}
else if ($action == 'setnote_private' && $user->rights->commande->creer)
{
$result=$object->update_note(dol_html_entity_decode(GETPOST('note_private'), ENT_QUOTES), '_private');
if ($result < 0) dol_print_error($db,$object->error);
}
// Add a new line
else if ($action == 'addline' && $user->rights->commande->creer)
{

View File

@ -50,24 +50,15 @@ if (! $object->fetch($id, $ref) > 0)
dol_print_error($db);
}
$permissionnote=$user->rights->commande->creer; // Used by the include of actions_setnotes.inc.php
/*
* Actions
*/
if ($action == 'setnote_public' && $user->rights->commande->creer)
{
$object->fetch($id);
$result=$object->update_note(dol_html_entity_decode(GETPOST('note_public'), ENT_QUOTES),'_public');
if ($result < 0) dol_print_error($db,$object->error);
}
include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not includ_once
else if ($action == 'setnote_private' && $user->rights->commande->creer)
{
$object->fetch($id);
$result=$object->update_note(dol_html_entity_decode(GETPOST('note_private'), ENT_QUOTES),'_private');
if ($result < 0) dol_print_error($db,$object->error);
}
/*
* View

View File

@ -52,7 +52,9 @@ $startyear=$year-1;
$endyear=$year;
$langs->load('orders');
$langs->load('companies');
$langs->load('other');
$langs->load('suppliers');
/*

View File

@ -27,8 +27,7 @@
require_once DOL_DOCUMENT_ROOT .'/core/class/commonobject.class.php';
/**
* \class Deplacement
* \brief Class to manage trips and working credit notes
* Class to manage trips and working credit notes
*/
class Deplacement extends CommonObject
{
@ -65,6 +64,9 @@ class Deplacement extends CommonObject
{
$this->db = $db;
$this->statuts_short = array(0 => 'Draft', 1 => 'Validated', 2 => 'Closed');
$this->statuts = array(0 => 'Draft', 1 => 'Validated', 2 => 'Closed');
return 1;
}
@ -327,7 +329,6 @@ class Deplacement extends CommonObject
}
if ($mode == 4)
{
//if ($statut==0 && ! empty($this->statuts_short[$statut])) return img_picto($langs->trans($this->statuts_short[$statut]),'statut0').' '.$langs->trans($this->statuts[$statut]);
if ($statut==0 && ! empty($this->statuts_short[$statut])) return img_picto($langs->trans($this->statuts_short[$statut]),'statut0').' '.$langs->trans($this->statuts[$statut]);
if ($statut==1 && ! empty($this->statuts_short[$statut])) return img_picto($langs->trans($this->statuts_short[$statut]),'statut4').' '.$langs->trans($this->statuts[$statut]);
}

View File

@ -51,10 +51,15 @@ $object = new Deplacement($db);
// Initialize technical object to manage hooks of thirdparties. Note that conf->hooks_modules contains array array
$hookmanager->initHooks(array('tripsandexpensescard'));
$permissionnote=$user->rights->deplacement->creer; // Used by the include of actions_setnotes.inc.php
/*
* Actions
*/
*/
include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not includ_once
if ($action == 'validate' && $user->rights->deplacement->creer)
{
$object->fetch($id);
@ -231,23 +236,11 @@ else if ($action == 'setkm' && $user->rights->deplacement->creer)
$result=$object->setValueFrom('km',GETPOST('km','int'));
if ($result < 0) dol_print_error($db, $object->error);
}
else if ($action == 'setnote_public' && $user->rights->deplacement->creer)
{
$object->fetch($id);
$result=$object->update_note(dol_html_entity_decode(GETPOST('note_public'), ENT_QUOTES),'_public');
if ($result < 0) dol_print_error($db, $object->error);
}
else if ($action == 'setnote_private' && $user->rights->deplacement->creer)
{
$object->fetch($id);
$result=$object->update_note(dol_html_entity_decode(GETPOST('note_private'), ENT_QUOTES),'_private');
if ($result < 0) dol_print_error($db, $object->error);
}
/*
* View
*/
*/
llxHeader();
@ -301,7 +294,7 @@ if ($action == 'create')
print '<tr>';
print '<td class="border" valign="top">'.$langs->trans('NotePublic').'</td>';
print '<td valign="top" colspan="2">';
$doleditor = new DolEditor('note_public', GETPOST('note_public', 'alpha'), 600, 200, 'dolibarr_notes', 'In', false, true, true, ROWS_8, 100);
print $doleditor->Create(1);
@ -313,7 +306,7 @@ if ($action == 'create')
print '<tr>';
print '<td class="border" valign="top">'.$langs->trans('NotePrivate').'</td>';
print '<td valign="top" colspan="2">';
$doleditor = new DolEditor('note_private', GETPOST('note_private', 'alpha'), 600, 200, 'dolibarr_notes', 'In', false, true, true, ROWS_8, 100);
print $doleditor->Create(1);
@ -400,7 +393,7 @@ else if ($id)
$doleditor = new DolEditor('note_public', $object->note_public, 600, 200, 'dolibarr_notes', 'In', false, true, true, ROWS_8, '100');
print $doleditor->Create(1);
print "</td></tr>";
// Private note
@ -437,7 +430,7 @@ else if ($id)
if ($action == 'delete')
{
print $form->formconfirm($_SERVER["PHP_SELF"]."?id=".$id,$langs->trans("DeleteTrip"),$langs->trans("ConfirmDeleteTrip"),"confirm_delete");
}
$soc = new Societe($db);

View File

@ -100,6 +100,8 @@ if ($id > 0 || ! empty($ref))
// Initialize technical object to manage hooks of thirdparties. Note that conf->hooks_modules contains array array
$hookmanager->initHooks(array('invoicecard'));
$permissionnote=$user->rights->facture->creer; // Used by the include of actions_setnotes.inc.php
/*
* Actions
@ -108,6 +110,8 @@ $hookmanager->initHooks(array('invoicecard'));
$parameters=array('socid'=>$socid);
$reshook=$hookmanager->executeHooks('doActions',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks
include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not includ_once
// Action clone object
if ($action == 'confirm_clone' && $confirm == 'yes' && $user->rights->facture->creer)
@ -367,20 +371,6 @@ else if ($action == 'set_ref_client' && $user->rights->facture->creer)
$object->set_ref_client($_POST['ref_client']);
}
else if ($action == 'setnote_public' && $user->rights->facture->creer)
{
$object->fetch($id);
$result=$object->update_note(dol_html_entity_decode(GETPOST('note_public'), ENT_QUOTES),'_public');
if ($result < 0) dol_print_error($db,$object->error);
}
else if ($action == 'setnote_private' && $user->rights->facture->creer)
{
$object->fetch($id);
$result=$object->update_note(dol_html_entity_decode(GETPOST('note_private'), ENT_QUOTES),'_private');
if ($result < 0) dol_print_error($db,$object->error);
}
// Classify to validated
else if ($action == 'confirm_valid' && $confirm == 'yes' && $user->rights->facture->valider)
{

View File

@ -45,29 +45,20 @@ $result=restrictedArea($user,'facture',$id,'');
$object = new Facture($db);
$object->fetch($id);
/******************************************************************************/
/* Actions */
/******************************************************************************/
if ($action == 'setnote_public' && $user->rights->facture->creer)
{
$object->fetch($id);
$result=$object->update_note(dol_html_entity_decode(GETPOST('note_public'), ENT_QUOTES),'_public');
if ($result < 0) dol_print_error($db,$object->error);
}
else if ($action == 'setnote_private' && $user->rights->facture->creer)
{
$object->fetch($id);
$result=$object->update_note(dol_html_entity_decode(GETPOST('note_private'), ENT_QUOTES),'_private');
if ($result < 0) dol_print_error($db,$object->error);
}
$permissionnote=$user->rights->facture->creer; // Used by the include of actions_setnotes.inc.php
/******************************************************************************/
/* Affichage fiche */
/******************************************************************************/
/*
* Actions
*/
include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not includ_once
/*
* View
*/
llxHeader();

View File

@ -1,5 +1,6 @@
<?php
/* Copyright (C) 2013 Antoine Iauch <aiauch@gpcsolutions.fr>
/* Copyright (C) 2013 Antoine Iauch <aiauch@gpcsolutions.fr>
* Copyright (C) 2013 Laurent Destailleur <eldy@users.sourceforge.net>
*
* 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
@ -173,23 +174,21 @@ report_header($nom,$nomlink,$period,$periodlink,$description,$builddate,$exportl
// SQL request
$catotal=0;
if ($modecompta == 'CREANCES-DETTES') {
if ($modecompta == 'CREANCES-DETTES')
{
$sql = "SELECT DISTINCT p.rowid as rowid, p.ref as ref, p.label as label,";
$sql.= " sum(l.total_ht) as amount, sum(l.total_ttc) as amount_ttc";
$sql.= " FROM ".MAIN_DB_PREFIX."product as p";
$sql.= " JOIN ".MAIN_DB_PREFIX."facturedet as l";
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."facture as f ON l.fk_facture = f.rowid";
if ($selected_cat === -2) {
$sql.=" LEFT OUTER JOIN ".MAIN_DB_PREFIX."categorie_product as cp ON p.rowid = cp.fk_product";
}
if ($selected_cat && $selected_cat !== -2) {
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."categorie as c ON c.rowid = " . $selected_cat;
if ($subcat) {
$sql.=" OR c.fk_parent = " . $selected_cat;
$sql.= " FROM ".MAIN_DB_PREFIX."facture as f, ".MAIN_DB_PREFIX."facturedet as l, ".MAIN_DB_PREFIX."product as p";
if ($selected_cat === -2) // Without any category
{
$sql.= " LEFT OUTER JOIN ".MAIN_DB_PREFIX."categorie_product as cp ON p.rowid = cp.fk_product";
}
else if ($selected_cat) // Into a specific category
{
$sql.= ", ".MAIN_DB_PREFIX."categorie as c, ".MAIN_DB_PREFIX."categorie_product as cp";
}
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."categorie_product as cp ON cp.fk_categorie = c.rowid";
}
$sql.= " WHERE l.fk_product = p.rowid";
$sql.= " AND l.fk_facture = f.rowid";
$sql.= " AND f.fk_statut in (1,2)";
if (! empty($conf->global->FACTURE_DEPOSITS_ARE_JUST_PAYMENTS)) {
$sql.= " AND f.type IN (0,1,2)";
@ -199,16 +198,21 @@ if ($modecompta == 'CREANCES-DETTES') {
if ($date_start && $date_end) {
$sql.= " AND f.datef >= '".$db->idate($date_start)."' AND f.datef <= '".$db->idate($date_end)."'";
}
if ($selected_cat === -2) {
$sql.=" AND cp.fk_product is null";
}
if ($selected_cat && $selected_cat !== -2) {
$sql.= " AND cp.fk_product = p.rowid";
}
if ($selected_cat === -2) // Without any category
{
$sql.=" AND cp.fk_product is null";
}
else if ($selected_cat) { // Into a specific category
$sql.= " AND (c.rowid = ".$selected_cat;
if ($subcat) $sql.=" OR c.fk_parent = " . $selected_cat;
$sql.= ")";
$sql.= " AND cp.fk_categorie = c.rowid AND cp.fk_product = p.rowid";
}
$sql.= " AND f.entity = ".$conf->entity;
$sql.= " GROUP BY p.rowid ";
$sql.= "ORDER BY p.ref ";
$sql.= " GROUP BY p.rowid";
$sql.= " ORDER BY p.ref";
dol_syslog("cabyprodserv sql=".$sql);
$result = $db->query($sql);
if ($result) {
$num = $db->num_rows($result);
@ -384,7 +388,10 @@ if ($modecompta == 'CREANCES-DETTES') {
print '</form>';
} else {
// $modecompta != 'CREANCES-DETTES'
print '<br>'.$langs->trans("TurnoverPerProductInCommitmentAccountingNotRelevant") . '<br>';
// "Calculation of part of each product for accountancy in this mode is not possible. When a partial payment (for example 5 euros) is done on an
// invoice with 2 product (product A for 10 euros and product B for 20 euros), what is part of paiment for product A and part of paiment for product B ?
// Because there is no way to know this, this report is not relevant.
print '<br>'.$langs->trans("TurnoverPerProductInCommitmentAccountingNotRelevant") . '<br>';
}
llxFooter();

View File

@ -1,6 +1,6 @@
<?php
/* Copyright (C) 2001-2003 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2004-2011 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2004-2013 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2005-2009 Regis Houssin <regis.houssin@capnetworks.com>
* Copyright (C) 2007 Franky Van Liedekerke <franky.van.liedekerke@telenet.be>
* Copyright (C) 2013 Antoine Iauch <aiauch@gpcsolutions.fr>
@ -180,17 +180,14 @@ $catotal=0;
if ($modecompta == 'CREANCES-DETTES') {
$sql = "SELECT DISTINCT s.rowid as socid, s.nom as name,";
$sql.= " sum(f.total) as amount, sum(f.total_ttc) as amount_ttc";
$sql.= " FROM ".MAIN_DB_PREFIX."societe as s";
$sql.= " JOIN ".MAIN_DB_PREFIX."facture as f";
if ($selected_cat === -2) {
$sql.= " FROM ".MAIN_DB_PREFIX."facture as f, ".MAIN_DB_PREFIX."societe as s";
if ($selected_cat === -2) // Without any category
{
$sql.= " LEFT OUTER JOIN ".MAIN_DB_PREFIX."categorie_societe as cs ON s.rowid = cs.fk_societe";
}
if ($selected_cat && $selected_cat !== -2) {
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."categorie as c ON c.rowid = ".$selected_cat;
if ($subcat) {
$sql.=" OR c.fk_parent = " . $selected_cat;
}
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."categorie_societe as cs ON cs.fk_categorie = c.rowid";
else if ($selected_cat) // Into a specific category
{
$sql.= ", ".MAIN_DB_PREFIX."categorie as c, ".MAIN_DB_PREFIX."categorie_societe as cs";
}
$sql.= " WHERE f.fk_statut in (1,2)";
if (! empty($conf->global->FACTURE_DEPOSITS_ARE_JUST_PAYMENTS)) {
@ -202,28 +199,50 @@ if ($modecompta == 'CREANCES-DETTES') {
if ($date_start && $date_end) {
$sql.= " AND f.datef >= '".$db->idate($date_start)."' AND f.datef <= '".$db->idate($date_end)."'";
}
if ($selected_cat === -2) {
if ($selected_cat === -2) // Without any category
{
$sql.=" AND cs.fk_societe is null";
}
if ($selected_cat && $selected_cat !== -2) {
$sql.= " AND cs.fk_societe = s.rowid";
else if ($selected_cat) { // Into a specific category
$sql.= " AND (c.rowid = ".$selected_cat;
if ($subcat) $sql.=" OR c.fk_parent = " . $selected_cat;
$sql.= ")";
$sql.= " AND cs.fk_categorie = c.rowid AND cs.fk_societe = s.rowid";
}
} else {
} else {
/*
* Liste des paiements (les anciens paiements ne sont pas vus par cette requete car, sur les
* vieilles versions, ils n'etaient pas lies via paiement_facture. On les ajoute plus loin)
*/
$sql = "SELECT s.rowid as socid, s.nom as name, sum(pf.amount) as amount_ttc";
$sql .= " FROM ".MAIN_DB_PREFIX."societe as s";
$sql.= ", ".MAIN_DB_PREFIX."facture as f";
$sql.= " FROM ".MAIN_DB_PREFIX."facture as f";
$sql.= ", ".MAIN_DB_PREFIX."paiement_facture as pf";
$sql.= ", ".MAIN_DB_PREFIX."paiement as p";
$sql .= " WHERE p.rowid = pf.fk_paiement";
$sql.= ", ".MAIN_DB_PREFIX."societe as s";
if ($selected_cat === -2) // Without any category
{
$sql.= " LEFT OUTER JOIN ".MAIN_DB_PREFIX."categorie_societe as cs ON s.rowid = cs.fk_societe";
}
else if ($selected_cat) // Into a specific category
{
$sql.= ", ".MAIN_DB_PREFIX."categorie as c, ".MAIN_DB_PREFIX."categorie_societe as cs";
}
$sql.= " WHERE p.rowid = pf.fk_paiement";
$sql.= " AND pf.fk_facture = f.rowid";
$sql.= " AND f.fk_soc = s.rowid";
if ($date_start && $date_end) {
$sql.= " AND p.datep >= '".$db->idate($date_start)."' AND p.datep <= '".$db->idate($date_end)."'";
}
if ($selected_cat === -2) // Without any category
{
$sql.=" AND cs.fk_societe is null";
}
else if ($selected_cat) { // Into a specific category
$sql.= " AND (c.rowid = ".$selected_cat;
if ($subcat) $sql.=" OR c.fk_parent = " . $selected_cat;
$sql.= ")";
$sql.= " AND cs.fk_categorie = c.rowid AND cs.fk_societe = s.rowid";
}
}
$sql.= " AND f.entity = ".$conf->entity;
if ($socid) $sql.= " AND f.fk_soc = ".$socid;
@ -231,6 +250,7 @@ $sql.= " GROUP BY s.rowid, s.nom";
$sql.= " ORDER BY s.rowid";
//echo $sql;
dol_syslog("casoc sql=".$sql);
$result = $db->query($sql);
if ($result) {
$num = $db->num_rows($result);
@ -251,7 +271,7 @@ if ($result) {
// On ajoute les paiements anciennes version, non lies par paiement_facture
if ($modecompta != 'CREANCES-DETTES') {
$sql = "SELECT '0' as socid, 'Autres' as name, sum(DISTINCT p.amount) as amount_ttc";
$sql = "SELECT '0' as socid, 'Autres' as name, sum(p.amount) as amount_ttc";
$sql.= " FROM ".MAIN_DB_PREFIX."bank as b";
$sql.= ", ".MAIN_DB_PREFIX."bank_account as ba";
$sql.= ", ".MAIN_DB_PREFIX."paiement as p";
@ -483,4 +503,4 @@ print '</form>';
llxFooter();
$db->close();
?>
?>

View File

@ -41,26 +41,15 @@ $result = restrictedArea($user, 'societe', $id, '&societe');
$object = new Contact($db);
if ($id > 0) $object->fetch($id);
$permissionnote=$user->rights->societe->creer; // Used by the include of actions_setnotes.inc.php
/*
* Actions
*/
/******************************************************************************/
/* Actions */
/******************************************************************************/
if ($action == 'setnote_public' && $user->rights->societe->creer)
{
$object->fetch($id);
$result=$object->update_note(dol_html_entity_decode(GETPOST('note_public'), ENT_QUOTES),'_public');
if ($result < 0) setEventMessage($object->error,'errors');
}
include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not includ_once
else if ($action == 'setnote_private' && $user->rights->societe->creer)
{
$object->fetch($id);
$result=$object->update_note(dol_html_entity_decode(GETPOST('note_private'), ENT_QUOTES),'_private');
if ($result < 0) setEventMessage($object->error,'errors');
}
/*
* View
@ -91,16 +80,16 @@ if ($id > 0)
print '<table class="border" width="100%">';
$linkback = '<a href="'.DOL_URL_ROOT.'/contact/list.php">'.$langs->trans("BackToList").'</a>';
// Ref
print '<tr><td width="20%">'.$langs->trans("Ref").'</td><td colspan="3">';
print $form->showrefnav($object, 'id', $linkback);
print '</td></tr>';
// Name
print '<tr><td width="20%">'.$langs->trans("Lastname").' / '.$langs->trans("Label").'</td><td width="30%">'.$object->lastname.'</td>';
print '<td width="20%">'.$langs->trans("Firstname").'</td><td width="30%">'.$object->firstname.'</td></tr>';
// Company
if (empty($conf->global->SOCIETE_DISABLE_CONTACTS))
{
@ -108,10 +97,10 @@ if ($id > 0)
{
$objsoc = new Societe($db);
$objsoc->fetch($object->socid);
print '<tr><td>'.$langs->trans("Company").'</td><td colspan="3">'.$objsoc->getNomUrl(1).'</td></tr>';
}
else
{
print '<tr><td>'.$langs->trans("Company").'</td><td colspan="3">';
@ -119,20 +108,20 @@ if ($id > 0)
print '</td></tr>';
}
}
// Civility
print '<tr><td>'.$langs->trans("UserTitle").'</td><td colspan="3">';
print $object->getCivilityLabel();
print '</td></tr>';
// Date To Birth
print '<tr>';
if (! empty($object->birthday))
{
include_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php';
print '<td>'.$langs->trans("DateToBirth").'</td><td colspan="3">'.dol_print_date($object->birthday,"day");
print ' &nbsp; ';
//var_dump($birthdatearray);
$ageyear=convertSecondToTime($now-$object->birthday,'year')-1970;
@ -140,8 +129,8 @@ if ($id > 0)
if ($ageyear >= 2) print '('.$ageyear.' '.$langs->trans("DurationYears").')';
else if ($agemonth >= 2) print '('.$agemonth.' '.$langs->trans("DurationMonths").')';
else print '('.$agemonth.' '.$langs->trans("DurationMonth").')';
print ' &nbsp; - &nbsp; ';
if ($object->birthday_alert) print $langs->trans("BirthdayAlertOn");
else print $langs->trans("BirthdayAlertOff");
@ -152,7 +141,7 @@ if ($id > 0)
print '<td>'.$langs->trans("DateToBirth").'</td><td colspan="3">'.$langs->trans("Unknown")."</td>";
}
print "</tr>";
print "</table>";
print '<br>';

View File

@ -3,8 +3,8 @@
* Copyright (C) 2004-2012 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2005-2012 Regis Houssin <regis.houssin@capnetworks.com>
* Copyright (C) 2006 Andre Cianfarani <acianfa@free.fr>
* Copyright (C) 2010-2012 Juanjo Menent <jmenent@2byte.es>
* Copyright (C) 2013 Christophe Battarel <christophe.battarel@altairis.fr>
* Copyright (C) 2010-2013 Juanjo Menent <jmenent@2byte.es>
* Copyright (C) 2013 Christophe Battarel <christophe.battarel@altairis.fr>
* Copyright (C) 2013 Florian Henry <florian.henry@open-concept.pro>
*
* This program is free software; you can redistribute it and/or modify
@ -66,11 +66,15 @@ $hookmanager->initHooks(array('contractcard'));
$object = new Contrat($db);
$permissionnote=$user->rights->contrat->creer; // Used by the include of actions_setnotes.inc.php
/*
* Actions
*/
include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not includ_once
if ($action == 'confirm_active' && $confirm == 'yes' && $user->rights->contrat->activer)
{
$object->fetch($id);
@ -448,8 +452,8 @@ else if ($action == 'addline' && $user->rights->contrat->creer)
$desc=$product_desc;
}
$localtax1_tx=get_localtax($tva_tx,1,$object->societe);
$localtax2_tx=get_localtax($tva_tx,2,$object->societe);
$localtax1_tx=get_localtax($tva_tx,1,$object->thirdparty);
$localtax2_tx=get_localtax($tva_tx,2,$object->thirdparty);
// ajout prix achat
$fk_fournprice = $_POST['fournprice'];
@ -669,18 +673,6 @@ else if ($action == 'confirm_move' && $confirm == 'yes' && $user->rights->contra
}
}
else if ($action == 'setnote_public' && $user->rights->contrat->creer)
{
$result=$object->update_note(dol_html_entity_decode(GETPOST('note_public'), ENT_QUOTES),'_public');
if ($result < 0) dol_print_error($db,$object->error);
}
else if ($action == 'setnote_private' && $user->rights->contrat->creer)
{
$result=$object->update_note(dol_html_entity_decode(GETPOST('note_private'), ENT_QUOTES),'_private');
if ($result < 0) dol_print_error($db,$object->error);
}
if (! empty($conf->global->MAIN_DISABLE_CONTACTS_TAB) && $user->rights->contrat->creer)
{
if ($action == 'addcontact')

View File

@ -43,28 +43,20 @@ $result=restrictedArea($user,'contrat',$id);
$object = new Contrat($db);
$object->fetch($id,$ref);
$permissionnote=$user->rights->contrat->creer; // Used by the include of actions_setnotes.inc.php
/******************************************************************************/
/* Actions */
/******************************************************************************/
if ($action == 'setnote_public' && $user->rights->contrat->creer)
{
$result=$object->update_note(dol_html_entity_decode(dol_htmlcleanlastbr(GETPOST('note_public')), ENT_QUOTES),'_public');
if ($result < 0) dol_print_error($db,$object->error);
}
/*
* Actions
*/
else if ($action == 'setnote_private' && $user->rights->contrat->creer)
{
$result=$object->update_note(dol_html_entity_decode(dol_htmlcleanlastbr(GETPOST('note_private')), ENT_QUOTES),'_private');
if ($result < 0) dol_print_error($db,$object->error);
}
include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not includ_once
/******************************************************************************/
/* Affichage fiche */
/******************************************************************************/
/*
* View
*/
llxHeader();

View File

@ -0,0 +1,47 @@
<?php
/* Copyright (C) 2014 Laurent Destailleur <eldy@users.sourceforge.net>
*
* 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 <http://www.gnu.org/licenses/>.
* or see http://www.gnu.org/
*/
/**
* \file htdocs/core/actions_setnotes.inc.php
* \brief Code for actions on setting notes of object page
*/
// $action must be defined
// $permission must be defined to permission to edit object
// $object must be defined (object is loaded in this file with fetch)
// $id must be defined (object is loaded in this file with fetch)
// Set public note
if ($action == 'setnote_public' && ! empty($permissionnote) && ! GETPOST('cancel'))
{
if (empty($action) || ! is_object($object) || empty($id)) dol_print_error('','Include of actions_setnotes.inc.php was done but required variable was not set before');
if (empty($object->id)) $object->fetch($id); // Fetch may not be already done
$result=$object->update_note(dol_html_entity_decode(GETPOST('note_public'), ENT_QUOTES),'_public');
if ($result < 0) setEventMessage($object->error,'errors');
}
// Set public note
else if ($action == 'setnote_private' && ! empty($permissionnote) && ! GETPOST('cancel'))
{
if (empty($action) || ! is_object($object) || empty($id)) dol_print_error('','Include of actions_setnotes.inc.php was done but required variable was not set before');
if (empty($object->id)) $object->fetch($id); // Fetch may not be already done
$result=$object->update_note(dol_html_entity_decode(GETPOST('note_private'), ENT_QUOTES),'_private');
if ($result < 0) setEventMessage($object->error,'errors');
}
?>

View File

@ -213,30 +213,42 @@ if ($type == 'directory')
$textifempty = $langs->trans('NoFileFound');
}
else $textifempty=($showonrightsize=='featurenotyetavailable'?$langs->trans("FeatureNotYetAvailable"):$langs->trans("ECMSelectASection"));
$formfile->list_of_documents($filearray,'','ecm',$param,1,$relativepath,$user->rights->ecm->upload,1,$textifempty,$maxlengthname,'',$url);
}
}
if (! empty($conf->use_javascript_ajax) && empty($conf->global->MAIN_ECM_DISABLE_JS))
if ($section)
{
if ($section)
{
$param.=($param?'?':'').(preg_replace('/^&/','',$param));
$useajax=1;
if (! empty($conf->dol_use_jmobile)) $useajax=0;
if (empty($conf->use_javascript_ajax)) $useajax=0;
if (! empty($conf->global->MAIN_ECM_DISABLE_JS)) $useajax=0;
require_once DOL_DOCUMENT_ROOT.'/core/class/html.form.class.php';
$useglobalvars=1;
$form = new Form($db);
$formquestion=array('urlfile'=>array('type'=>'hidden','value'=>'','name'=>'urlfile'));
print $form->formconfirm($url,$langs->trans("DeleteFile"),$langs->trans("ConfirmDeleteFile"),'confirm_deletefile',$formquestion,"no",'deletefile');
$param.=($param?'?':'').(preg_replace('/^&/','',$param));
// Enable jquery handlers on new generated HTML objects
print '<script type="text/javascript">'."\n";
print 'jQuery(document).ready(function() {'."\n";
print 'jQuery(".deletefilelink").click(function(e) { jQuery("#urlfile").val(jQuery(this).attr("rel")); jQuery("#dialog-confirm-deletefile").dialog("open"); return false; });'."\n";
print '});'."\n";
print '</script>'."\n";
}
if ($useajax || $action == 'delete')
{
$urlfile='';
if ($action == 'delete') $urlfile=GETPOST('urlfile');
require_once DOL_DOCUMENT_ROOT.'/core/class/html.form.class.php';
$useglobalvars=1;
$form = new Form($db);
$formquestion=array('urlfile'=>array('type'=>'hidden','value'=>$urlfile,'name'=>'urlfile'));
print $form->formconfirm($url,$langs->trans("DeleteFile"),$langs->trans("ConfirmDeleteFile"),'confirm_deletefile',$formquestion,"no",($useajax?'deletefile':0));
}
if ($useajax)
{
// Enable jquery handlers on new generated HTML objects
print '<script type="text/javascript">'."\n";
print 'jQuery(document).ready(function() {'."\n";
print 'jQuery(".deletefilelink").click(function(e) { jQuery("#urlfile").val(jQuery(this).attr("rel")); jQuery("#dialog-confirm-deletefile").dialog("open"); return false; });'."\n";
print '});'."\n";
print '</script>'."\n";
}
}
// Close db if mode is not noajax

View File

@ -85,7 +85,7 @@ class box_comptes extends ModeleBoxes
$sql.= " FROM ".MAIN_DB_PREFIX."bank_account";
$sql.= " WHERE entity = ".$conf->entity;
$sql.= " AND clos = 0";
$sql.= " AND courant = 1";
//$sql.= " AND courant = 1";
$sql.= " ORDER BY label";
$sql.= $db->plimit($max, 0);

View File

@ -170,7 +170,8 @@ abstract class CommonDocGenerator
'company_idprof4'=>$object->idprof4,
'company_idprof5'=>$object->idprof5,
'company_idprof6'=>$object->idprof6,
'company_note'=>$object->note
'company_note_public'=>$object->note_public,
'company_note_private'=>$object->note_private
);
// Retrieve extrafields
@ -260,7 +261,7 @@ abstract class CommonDocGenerator
$array_key.'_total_localtax2'=>price2num($object->total_localtax2),
$array_key.'_total_ttc'=>price2num($object->total_ttc),
$array_key.'_total_discount_ht' => price2num($object->getTotalDiscount()),
$array_key.'_vatrate'=>vatrate($object->tva),
$array_key.'_note_private'=>$object->note,
$array_key.'_note'=>$object->note_public,
@ -314,7 +315,7 @@ abstract class CommonDocGenerator
'line_date_end'=>$line->date_end
);
}
/**
* Define array with couple substitution key => substitution value
*

View File

@ -156,15 +156,19 @@ class Conf
if ($value && preg_match('/^MAIN_MODULE_/',$key))
{
// If this is constant for a new tab page activated by a module.
// If this is constant for a new tab page activated by a module. It initializes modules_parts['tabs'].
if (preg_match('/^MAIN_MODULE_([0-9A-Z_]+)_TABS_/i',$key))
{
$partname = 'tabs';
$params=explode(':',$value,2);
if (! isset($this->modules_parts[$partname]) || ! is_array($this->modules_parts[$partname])) { $this->modules_parts[$partname] = array(); }
$this->modules_parts[$partname][$params[0]][]=$value;
$this->modules_parts[$partname][$params[0]][]=$value; // $value may be a string or an array
}
// If this is constant for all generic part activated by a module
// If this is constant for all generic part activated by a module. It initializes
// modules_parts['login'], modules_parts['menus'], modules_parts['substitutions'], modules_parts['triggers'], modules_parts['tpl'],
// modules_parts['models'], modules_parts['theme']
// modules_parts['sms'],
// modules_parts['css'], ...
elseif (preg_match('/^MAIN_MODULE_([0-9A-Z_]+)_([A-Z]+)$/i',$key,$reg))
{
$modulename = strtolower($reg[1]);
@ -176,7 +180,7 @@ class Conf
else if (in_array($partname,array('models','theme'))) $value = '/'.$modulename.'/';
else if (in_array($partname,array('sms'))) $value = $modulename;
else if ($value == 1) $value = '/'.$modulename.'/core/modules/'.$partname.'/'; // ex: partname = societe
$this->modules_parts[$partname] = array_merge($this->modules_parts[$partname], array($modulename => $value));
$this->modules_parts[$partname] = array_merge($this->modules_parts[$partname], array($modulename => $value)); // $value may be a string or an array
}
// If this is a module constant (must be at end)
elseif (preg_match('/^MAIN_MODULE_([0-9A-Z_]+)$/i',$key,$reg))
@ -403,7 +407,7 @@ class Conf
$this->maxfilesize = (empty($this->global->MAIN_UPLOAD_DOC) ? 0 : $this->global->MAIN_UPLOAD_DOC * 1024);
// Define list of limited modules
if (! isset($this->global->MAIN_MODULES_FOR_EXTERNAL)) $this->global->MAIN_MODULES_FOR_EXTERNAL='user,facture,commande,fournisseur,contact,propal,projet,contrat,societe,ficheinter,expedition,agenda'; // '' means 'all'. Note that contact is added here as it should be a module later.
if (! isset($this->global->MAIN_MODULES_FOR_EXTERNAL)) $this->global->MAIN_MODULES_FOR_EXTERNAL='user,facture,categorie,commande,fournisseur,contact,propal,projet,contrat,societe,ficheinter,expedition,agenda'; // '' means 'all'. Note that contact is added here as it should be a module later.
// Timeouts
if (empty($this->global->MAIN_USE_CONNECT_TIMEOUT)) $this->global->MAIN_USE_CONNECT_TIMEOUT=10;

View File

@ -670,7 +670,14 @@ class ExtraFields
}
elseif ($type == 'select')
{
$out='<select class="flat" name="options_'.$key.'">';
$out = '';
if ($conf->use_javascript_ajax && $conf->global->COMPANY_USE_SEARCH_TO_SELECT && ! $forcecombo)
{
//$minLength = (is_numeric($conf->global->COMPANY_USE_SEARCH_TO_SELECT)?$conf->global->COMPANY_USE_SEARCH_TO_SELECT:2);
$out.= ajax_combobox('options_'.$key, $event, $conf->global->COMPANY_USE_SEARCH_TO_SELECT);
}
$out.='<select class="flat" name="options_'.$key.'" id="options_'.$key.'">';
foreach ($param['options'] as $key=>$val )
{
list($val, $parent) = explode('|', $val);
@ -683,7 +690,14 @@ class ExtraFields
}
elseif ($type == 'sellist')
{
$out='<select class="flat" name="options_'.$key.'">';
$out = '';
if ($conf->use_javascript_ajax && $conf->global->COMPANY_USE_SEARCH_TO_SELECT && ! $forcecombo)
{
//$minLength = (is_numeric($conf->global->COMPANY_USE_SEARCH_TO_SELECT)?$conf->global->COMPANY_USE_SEARCH_TO_SELECT:2);
$out.= ajax_combobox('options_'.$key, $event, $conf->global->COMPANY_USE_SEARCH_TO_SELECT);
}
$out.='<select class="flat" name="options_'.$key.'" id="options_'.$key.'">';
if (is_array($param['options']))
{
$param_list=array_keys($param['options']);
@ -753,6 +767,7 @@ class ExtraFields
$fields_label = explode('|',$InfoFieldList[1]);
if(is_array($fields_label))
{
$notrans = true;
foreach ($fields_label as $field_toshow)
{
$labeltoshow.= $obj->$field_toshow.' ';
@ -778,12 +793,15 @@ class ExtraFields
}
else
{
$translabel=$langs->trans($obj->$InfoFieldList[1]);
if ($translabel!=$obj->$InfoFieldList[1]) {
$labeltoshow=dol_trunc($translabel,18);
}
else {
$labeltoshow=dol_trunc($obj->$InfoFieldList[1],18);
if(!$notrans)
{
$translabel=$langs->trans($obj->$InfoFieldList[1]);
if ($translabel!=$obj->$InfoFieldList[1]) {
$labeltoshow=dol_trunc($translabel,18);
}
else {
$labeltoshow=dol_trunc($obj->$InfoFieldList[1],18);
}
}
if (empty($labeltoshow)) $labeltoshow='(not defined)';
if ($value==$obj->rowid)
@ -954,11 +972,11 @@ class ExtraFields
{
foreach ($fields_label as $field_toshow)
{
$translabel=$langs->trans($obj->$InfoFieldList[1]);
if ($translabel!=$obj->$InfoFieldList[1]) {
$value=dol_trunc($translabel,18).' ';
$translabel=$langs->trans($field_toshow);
if ($translabel!=$field_toshow) {
$value.=dol_trunc($translabel,18).' ';
}else {
$value=$obj->$InfoFieldList[1].' ';
$value.=$obj->$field_toshow.' ';
}
}
}

View File

@ -122,7 +122,7 @@ class Form
* @param object $object Object
* @param boolean $perm Permission to allow button to edit parameter
* @param string $typeofdata Type of data ('string' by default, 'amount', 'email', 'numeric:99', 'text' or 'textarea:rows:cols', 'day' or 'datepicker', 'ckeditor:dolibarr_zzz:width:height:savemethod:toolbarstartexpanded:rows:cols', 'select:xxx'...)
* @param string $editvalue When in edit mode, use this value as $value instead of value (for example, you can provide here a formated price instead of value)
* @param string $editvalue When in edit mode, use this value as $value instead of value (for example, you can provide here a formated price instead of value). Use '' to use same than $value
* @param object $extObject External object
* @param string $success Success message
* @param string $moreparam More param to add on a href URL
@ -189,7 +189,13 @@ class Form
$ret.=$doleditor->Create(1);
}
$ret.='</td>';
if ($typeofdata != 'day' && $typeofdata != 'datepicker' && $typeofdata != 'datehourpicker') $ret.='<td align="left"><input type="submit" class="button" value="'.$langs->trans("Modify").'"></td>';
if ($typeofdata != 'day' && $typeofdata != 'datepicker' && $typeofdata != 'datehourpicker')
{
$ret.='<td align="left"><input type="submit" class="button" name="modify" value="'.$langs->trans("Modify").'">';
$ret.='<br><br>'."\n";
$ret.='<input type="submit" class="button" name="cancel" value="'.$langs->trans("Cancel").'">';
$ret.='</td>';
}
$ret.='</tr></table>'."\n";
$ret.='</form>'."\n";
}
@ -2525,6 +2531,19 @@ class Form
if (is_array($formquestion) && ! empty($formquestion))
{
// First add hidden fields and value
foreach ($formquestion as $key => $input)
{
if (is_array($input) && ! empty($input))
{
if ($input['type'] == 'hidden')
{
$more.='<input type="hidden" id="'.$input['name'].'" name="'.$input['name'].'" value="'.dol_escape_htmltag($input['value']).'">'."\n";
}
}
}
// Now add questions
$more.='<table class="paddingrightonly" width="100%">'."\n";
$more.='<tr><td colspan="3" valign="top">'.(! empty($formquestion['text'])?$formquestion['text']:'').'</td></tr>'."\n";
foreach ($formquestion as $key => $input)
@ -2584,10 +2603,6 @@ class Form
$more.=$input['value'];
$more.='</td></tr>'."\n";
}
else if ($input['type'] == 'hidden')
{
$more.='<input type="hidden" id="'.$input['name'].'" name="'.$input['name'].'" value="'.$input['value'].'">';
}
}
}
$more.='</table>'."\n";

View File

@ -813,7 +813,12 @@ class FormFile
else
$filepath=$file['name'];
*/
print '<a href="'.(($useinecm && ! empty($conf->use_javascript_ajax) && empty($conf->global->MAIN_ECM_DISABLE_JS))?'#':$url.'?action=delete&urlfile='.urlencode($filepath).$param).'" class="deletefilelink" rel="'.$filepath.'">'.img_delete().'</a>';
$useajax=1;
if (! empty($conf->dol_use_jmobile)) $useajax=0;
if (empty($conf->use_javascript_ajax)) $useajax=0;
if (! empty($conf->global->MAIN_ECM_DISABLE_JS)) $useajax=0;
print '<a href="'.(($useinecm && $useajax)?'#':$url.'?action=delete&urlfile='.urlencode($filepath).$param).'" class="deletefilelink" rel="'.$filepath.'">'.img_delete().'</a>';
}
else print '&nbsp;';
print "</td>";

View File

@ -557,18 +557,17 @@ function show_contacts($conf,$langs,$db,$object,$backtopage='')
$title = (! empty($conf->global->SOCIETE_ADDRESSES_MANAGEMENT) ? $langs->trans("ContactsForCompany") : $langs->trans("ContactsAddressesForCompany"));
print_fiche_titre($title,$buttoncreate,'');
print "\n".'<table class="noborder" width="100%">'."\n";
$param="socid=".$object->id;
if ($search_status != '') $param.='&amp;search_status='.$search_status;
if ($search_name != '') $param.='&amp;search_name='.urlencode($search_name);
print '<form method="GET" action="'.$_SERVER["PHP_SELF"].'" name="formfilter">';
print '<input type="hidden" name="socid" value="'.$object->id.'">';
print '<input type="hidden" name="sortorder" value="'.$sortorder.'">';
print '<input type="hidden" name="sortfield" value="'.$sortfield.'">';
print "\n".'<table class="noborder" width="100%">'."\n";
$param="socid=".$object->id;
if ($search_status != '') $param.='&amp;search_status='.$search_status;
if ($search_name != '') $param.='&amp;search_name='.urlencode($search_name);
$colspan=9;
print '<tr class="liste_titre">';
print_liste_field_titre($langs->trans("Name"),$_SERVER["PHP_SELF"],"p.lastname","",$param,'',$sortfield,$sortorder);
@ -579,14 +578,14 @@ function show_contacts($conf,$langs,$db,$object,$backtopage='')
print_liste_field_titre($langs->trans("EMail"),$_SERVER["PHP_SELF"],"p.email","",$param,'',$sortfield,$sortorder);
if (! empty($conf->skype->enabled))
{
$colspan++;
print '<td>'.$langs->trans("Skype").'</td>';
$colspan++;
print '<td>'.$langs->trans("Skype").'</td>';
}
print_liste_field_titre($langs->trans("Status"),$_SERVER["PHP_SELF"],"p.statut","",$param,'',$sortfield,$sortorder);
// Copy to clipboard
print "<td>&nbsp;</td>";
// Add to agenda
if (! empty($conf->agenda->enabled) && $user->rights->agenda->myactions->create)
if (! empty($conf->agenda->enabled) && ! empty($user->rights->agenda->myactions->create))
{
$colspan++;
print '<td>&nbsp;</td>';
@ -602,7 +601,7 @@ function show_contacts($conf,$langs,$db,$object,$backtopage='')
print '</td>';
print '<td>&nbsp;</td>';
print '<td>&nbsp;</td>';
print '<td>&nbsp;</td>';
print '<td>&nbsp;</td>';
@ -611,12 +610,12 @@ function show_contacts($conf,$langs,$db,$object,$backtopage='')
print '<td>&nbsp;</td>';
if (! empty($conf->skype->enabled))
{
$colspan++;
print '<td>&nbsp;</td>';
$colspan++;
print '<td>&nbsp;</td>';
}
// Status
print '<td class="liste_titre">';
print '<td class="liste_titre maxwidthonsmartphone">';
print $form->selectarray('search_status', array('0'=>$langs->trans('ActivityCeased'),'1'=>$langs->trans('InActivity')),$search_status);
print '</td>';
@ -769,6 +768,8 @@ function show_contacts($conf,$langs,$db,$object,$backtopage='')
}
print "\n</table>\n";
print '</form>'."\n";
print "<br>\n";
?>
<div id="dialog" title="<?php echo dol_escape_htmltag($langs->trans('Address')); ?>" style="display: none;">

View File

@ -27,56 +27,59 @@
global $_Avery_Labels;
// Unit of metric are defined into field 'metric' in mm.
// To get into inch, just /25.4
// Size of pages available on: http://www.worldlabel.com/Pages/pageaverylabels.htm
// _PosX = marginLeft+(_COUNTX*(width+SpaceX));
$_Avery_Labels = array (
'5160'=>array('name'=>'5160 (Letter)',
'5160'=>array('name'=>'Avery-5160, WL-875WX',
'paper-size'=>'letter',
'metric'=>'mm',
'marginLeft'=>1.762,
'marginTop'=>10.7,
'marginLeft'=>5.58165, // 0.21975 inch
'marginTop'=>12.7, // 0.5 inch
'NX'=>3,
'NY'=>10,
'SpaceX'=>3.175,
'SpaceX'=>3.556, // 0.14 inch
'SpaceY'=>0,
'width'=>66.675,
'height'=>25.4,
'font-size'=>8),
'5161'=>array('name'=>'5161 (Letter)',
'width'=>65.8749, // 2.59350 inch
'height'=>25.4, // 1 inch
'font-size'=>7),
'5161'=>array('name'=>'Avery-5161, WL-75WX',
'paper-size'=>'letter',
'metric'=>'mm',
'marginLeft'=>0.967,
'marginTop'=>10.7,
'marginLeft'=>4.445, // 0.175 inch
'marginTop'=>12.7,
'NX'=>2,
'NY'=>10,
'SpaceX'=>3.967,
'SpaceX'=>3.968, // 0.15625 inch
'SpaceY'=>0,
'width'=>101.6,
'height'=>25.4,
'font-size'=>8),
'5162'=>array('name'=>'5162 (Letter)',
'width'=>101.6, // 4 inch
'height'=>25.4, // 1 inch
'font-size'=>7),
'5162'=>array('name'=>'Avery-5162, WL-100WX',
'paper-size'=>'letter',
'metric'=>'mm',
'marginLeft'=>0.97,
'marginTop'=>20.224,
'marginLeft'=>3.8735, // 0.1525 inch
'marginTop'=>22.352, // 0.88 inch
'NX'=>2,
'NY'=>7,
'SpaceX'=>4.762,
'SpaceX'=>4.954, // 0.195 inch
'SpaceY'=>0,
'width'=>100.807,
'height'=>35.72,
'width'=>101.6, // 4 inch
'height'=>33.781, // 1.33 inch
'font-size'=>8),
'5163'=>array('name'=>'5163 (Letter)',
'5163'=>array('name'=>'Avery-5163, WL-125WX',
'paper-size'=>'letter',
'metric'=>'mm',
'marginLeft'=>1.762,
'marginTop'=>10.7,
'marginLeft'=>4.572, // 0.18 inch
'marginTop'=>12.7, // 0.5 inch
'NX'=>2,
'NY'=>5,
'SpaceX'=>3.175,
'SpaceX'=>3.556, // 0.14 inch
'SpaceY'=>0,
'width'=>101.6,
'height'=>50.8,
'font-size'=>8),
'width'=>101.6, // 4 inch
'height'=>50.8, // 2 inch
'font-size'=>10),
/* Bugged '5164'=>array('name'=>'5164 (Letter)',
'paper-size'=>'letter',
'metric'=>'in',
@ -89,7 +92,7 @@ $_Avery_Labels = array (
'width'=>4.0,
'height'=>3.33,
'font-size'=>12), */
'8600'=>array('name'=>'8600 (Letter)',
'8600'=>array('name'=>'Avery-8600',
'paper-size'=>'letter',
'metric'=>'mm',
'marginLeft'=>7.1,
@ -100,8 +103,8 @@ $_Avery_Labels = array (
'SpaceY'=>3.1,
'width'=>66.6,
'height'=>25.4,
'font-size'=>8),
'L7163'=>array('name'=>'L7163 (A4)',
'font-size'=>7),
'L7163'=>array('name'=>'Avery-L7163',
'paper-size'=>'A4',
'metric'=>'mm',
'marginLeft'=>5,
@ -112,8 +115,9 @@ $_Avery_Labels = array (
'SpaceY'=>0,
'width'=>99.1,
'height'=>38.1,
'font-size'=>10),
'AVERYC32010'=>array('name'=>'AVERY-C32010 (A4)',
'font-size'=>8),
// 85.0 x 54.0 mm
'AVERYC32010'=>array('name'=>'Avery-C32010',
'paper-size'=>'A4',
'metric'=>'mm',
'marginLeft'=>15,
@ -125,7 +129,7 @@ $_Avery_Labels = array (
'width'=>85,
'height'=>54,
'font-size'=>10),
'CARD'=>array('name'=>'Dolibarr Business cards (A4)',
'CARD'=>array('name'=>'Dolibarr Business cards',
'paper-size'=>'A4',
'metric'=>'mm',
'marginLeft'=>15,
@ -139,5 +143,9 @@ $_Avery_Labels = array (
'font-size'=>10)
);
foreach($_Avery_Labels as $key => $val)
{
$_Avery_Labels[$key]['name'].=' ('.$_Avery_Labels[$key]['paper-size'].' - '.$_Avery_Labels[$key]['NX'].'x'.$_Avery_Labels[$key]['NY'].')';
}
?>

View File

@ -172,7 +172,7 @@ function dol_shutdown()
* Return value of a param into GET or POST supervariable
*
* @param string $paramname Name of parameter to found
* @param string $check Type of check (''=no check, 'int'=check it's numeric, 'alpha'=check it's alpha only, 'array'=check it's array)
* @param string $check Type of check (''=no check, 'int'=check it's numeric, 'alpha'=check it's text and sign, 'az'=check it's a-z only, 'array'=check it's array)
* @param int $method Type of method (0 = get then post, 1 = only get, 2 = only post, 3 = post then get, 4 = post then get then cookie)
* @return string Value found, or '' if check fails
*/
@ -198,6 +198,13 @@ function GETPOST($paramname,$check='',$method=0)
if (preg_match('/"/',$out)) $out='';
else if (preg_match('/\.\.\//',$out)) $out='';
}
elseif ($check == 'aZ')
{
$out=trim($out);
// '"' is dangerous because param in url can close the href= or src= and add javascript functions.
// '../' is dangerous because it allows dir transversals
if (preg_match('/[^a-z]+/i',$out)) $out='';
}
elseif ($check == 'array')
{
if (! is_array($out) || empty($out)) $out=array();
@ -2399,8 +2406,8 @@ function getTitleFieldOfList($name, $thead=0, $file="", $field="", $begin="", $m
// If field is used as sort criteria we use a specific class
// Example if (sortfield,field)=("nom","xxx.nom") or (sortfield,field)=("nom","nom")
if ($field && ($sortfield == $field || $sortfield == preg_replace("/^[^\.]+\./","",$field))) $out.= '<'.$tag.' class="liste_titre_sel'.($field?' nowrap':'').'" '. $moreattrib.'>';
else $out.= '<'.$tag.' class="liste_titre'.($field?' nowrap':'').'" '. $moreattrib.'>';
if ($field && ($sortfield == $field || $sortfield == preg_replace("/^[^\.]+\./","",$field))) $out.= '<'.$tag.' class="liste_titre_sel" '. $moreattrib.'>';
else $out.= '<'.$tag.' class="liste_titre" '. $moreattrib.'>';
if (! empty($conf->dol_optimize_smallscreen) && empty($thead) && $field) // If this is a sort field
{
@ -2428,7 +2435,7 @@ function getTitleFieldOfList($name, $thead=0, $file="", $field="", $begin="", $m
if (! preg_match('/^&/',$options)) $options='&'.$options;
//print "&nbsp;";
$out.= '<img width="2" src="'.DOL_URL_ROOT.'/theme/common/transparent.png" alt="">';
$out.= '<img width="2" src="'.DOL_URL_ROOT.'/theme/common/transparent.png" alt=""><span class="nowrap">';
if (! $sortorder || $field != $sortfield)
{
@ -2446,6 +2453,8 @@ function getTitleFieldOfList($name, $thead=0, $file="", $field="", $begin="", $m
$out.= '<a href="'.$file.'?sortfield='.$field.'&sortorder=desc&begin='.$begin.$options.'">'.img_up("Z-A",0).'</a>';
}
}
$out.= '</span>';
}
$out.='</'.$tag.'>';
@ -3452,25 +3461,26 @@ function dol_nl2br($stringtoencode,$nl2brmode=0,$forxml=false)
* This function is called to encode a string into a HTML string but differs from htmlentities because
* all entities but &,<,> are converted. This permits to encode special chars to entities with no double
* encoding for already encoded HTML strings.
* This function also remove last CR/BR.
* This function also remove last EOL or BR if $removelasteolbr=1 (default).
* For PDF usage, you can show text by 2 ways:
* - writeHTMLCell -> param must be encoded into HTML.
* - MultiCell -> param must not be encoded into HTML.
* Because writeHTMLCell convert also \n into <br>, if function
* is used to build PDF, nl2brmode must be 1
* is used to build PDF, nl2brmode must be 1.
*
* @param string $stringtoencode String to encode
* @param int $nl2brmode 0=Adding br before \n, 1=Replacing \n by br (for use with FPDF writeHTMLCell function for example)
* @param string $pagecodefrom Pagecode stringtoencode is encoded
* @param int $removelasteolbr 1=Remove last br or lasts \n (default), 0=Do nothing
* @return string String encoded
*/
function dol_htmlentitiesbr($stringtoencode,$nl2brmode=0,$pagecodefrom='UTF-8')
function dol_htmlentitiesbr($stringtoencode,$nl2brmode=0,$pagecodefrom='UTF-8',$removelasteolbr=1)
{
$newstring=$stringtoencode;
if (dol_textishtml($stringtoencode))
{
$newstring=$stringtoencode;
$newstring=preg_replace('/<br(\s[\sa-zA-Z_="]*)?\/?>/i','<br>',$newstring); // Replace "<br type="_moz" />" by "<br>". It's same and avoid pb with FPDF.
$newstring=preg_replace('/<br>$/i','',$newstring); // Remove last <br>
if ($removelasteolbr) $newstring=preg_replace('/<br>$/i','',$newstring); // Remove last <br> (remove only last one)
$newstring=strtr($newstring,array('&'=>'__and__','<'=>'__lt__','>'=>'__gt__','"'=>'__dquot__'));
$newstring=dol_htmlentities($newstring,ENT_COMPAT,$pagecodefrom); // Make entity encoding
$newstring=strtr($newstring,array('__and__'=>'&','__lt__'=>'<','__gt__'=>'>','__dquot__'=>'"'));
@ -3478,7 +3488,8 @@ function dol_htmlentitiesbr($stringtoencode,$nl2brmode=0,$pagecodefrom='UTF-8')
}
else
{
$newstring=dol_nl2br(dol_htmlentities($stringtoencode,ENT_COMPAT,$pagecodefrom),$nl2brmode);
if ($removelasteolbr) $newstring=preg_replace('/(\r\n|\r|\n)$/i','',$newstring); // Remove last \n (may remove several)
$newstring=dol_nl2br(dol_htmlentities($newstring,ENT_COMPAT,$pagecodefrom),$nl2brmode);
}
// Other substitutions that htmlentities does not do
//$newstring=str_replace(chr(128),'&euro;',$newstring); // 128 = 0x80. Not in html entity table. // Seems useles with TCPDF. Make bug with UTF8 languages
@ -4321,30 +4332,37 @@ function complete_head_from_modules($conf,$langs,$object,&$head,&$h,$type,$mode=
if (verifCond($values[4]))
{
if ($values[3]) $langs->load($values[3]);
if (preg_match('/SUBSTITUTION_([^_]+)/i',$values[2],$reg))
{
$substitutionarray=array();
complete_substitutions_array($substitutionarray,$langs,$object);
$label=make_substitutions($reg[1], $substitutionarray);
}
else $label=$langs->trans($values[2]);
$head[$h][0] = dol_buildpath(preg_replace('/__ID__/i', ((is_object($object) && ! empty($object->id))?$object->id:''), $values[5]), 1);
$head[$h][1] = $langs->trans($values[2]);
$head[$h][1] = $label;
$head[$h][2] = str_replace('+','',$values[1]);
$h++;
}
}
else if (count($values) == 5) // new declaration
else if (count($values) == 5) // deprecated
{
if ($values[0] != $type) continue;
if ($values[3]) $langs->load($values[3]);
if (preg_match('/SUBSTITUTION_([^_]+)/i',$values[2],$reg))
{
$substitutionarray=array();
complete_substitutions_array($substitutionarray,$langs,$object);
$label=make_substitutions($reg[1], $substitutionarray);
}
else $label=$langs->trans($values[2]);
$head[$h][0] = dol_buildpath(preg_replace('/__ID__/i', ((is_object($object) && ! empty($object->id))?$object->id:''), $values[4]), 1);
$head[$h][1] = $langs->trans($values[2]);
$head[$h][1] = $label;
$head[$h][2] = str_replace('+','',$values[1]);
$h++;
}
else if (count($values) == 4) // old declaration, for backward compatibility
{
if ($values[0] != $type) continue;
if ($values[2]) $langs->load($values[2]);
$head[$h][0] = dol_buildpath(preg_replace('/__ID__/i', ((is_object($object) && ! empty($object->id))?$object->id:''), $values[3]), 1);
$head[$h][1] = $langs->trans($values[1]);
$head[$h][2] = 'tab'.$values[1];
$h++;
}
}
else if ($mode == 'remove' && preg_match('/^\-/',$values[1]))
{

View File

@ -207,7 +207,7 @@ function project_admin_prepare_head()
* @param string $var Color
* @param int $showproject Show project columns
* @param int &$taskrole Array of roles of user for each tasks
* @param int $projectsListId List of id of project allowed to user (separated with comma)
* @param int $projectsListId List of id of project allowed to user (string separated with comma)
* @param int $addordertick Add a tick to move task
* @return void
*/
@ -257,6 +257,22 @@ function projectLinesa(&$inc, $parent, &$lines, &$level, $var, $showproject, &$t
}
}
}
else
{
// Caller did not ask to filter on tasks of a specific user (this probably means he want also tasks of all users, into public project
// or into all other projects if user has permission to).
if (empty($user->rights->projet->all->lire))
{
// User is not allowed on this project and project is not public, so we hide line
if (! in_array($lines[$i]->fk_project, $projectsArrayId))
{
// Note that having a user assigned to a task into a project user has no permission on, should not be possible
// because assignement on task can be done only on contact of project.
// If assignement was done and after, was removed from contact of project, then we can hide the line.
$showline=0;
}
}
}
if ($showline)
{
@ -367,7 +383,7 @@ function projectLinesa(&$inc, $parent, &$lines, &$level, $var, $showproject, &$t
if (! $showlineingray) $inc++;
$level++;
if ($lines[$i]->id) projectLinesa($inc, $lines[$i]->id, $lines, $level, $var, $showproject, $taskrole, $projectsListId);
if ($lines[$i]->id) projectLinesa($inc, $lines[$i]->id, $lines, $level, $var, $showproject, $taskrole, $projectsListId, 0, $showalsopublicproj);
$level--;
$total += $lines[$i]->duration;
}

View File

@ -341,7 +341,7 @@ function restrictedArea($user, $features, $objectid=0, $dbtablename='', $feature
$sql.= " AND dbt.entity IN (".getEntity($sharedelement, 1).")";
}
}
else if (in_array($feature,$checksoc))
else if (in_array($feature,$checksoc)) // We check feature = checksoc
{
// If external user: Check permission for external users
if ($user->societe_id > 0)
@ -450,7 +450,7 @@ function restrictedArea($user, $features, $objectid=0, $dbtablename='', $feature
}
}
//print $sql."<br>";
//print "sql=".$sql."<br>";
if ($sql)
{
$resql=$db->query($sql);

View File

@ -72,9 +72,9 @@ 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->societe->enabled', __HANDLER__, 'left', 600__+MAX_llx_menu__, 'companies', 'contacts', 2__+MAX_llx_menu__, '/contact/list.php?leftmenu=contacts', 'ContactsAddresses', 0, 'companies', '$user->rights->societe->lire', '', 2, 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->societe->enabled', __HANDLER__, 'left', 601__+MAX_llx_menu__, 'companies', '', 600__+MAX_llx_menu__, '/contact/fiche.php?leftmenu=contacts&amp;action=create', 'NewContactAddress', 1, 'companies', '$user->rights->societe->creer', '', 2, 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->societe->enabled', __HANDLER__, 'left', 602__+MAX_llx_menu__, 'companies', '', 600__+MAX_llx_menu__, '/contact/list.php?leftmenu=contacts', 'List', 1, 'companies', '$user->rights->societe->lire', '', 2, 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->societe->enabled', __HANDLER__, 'left', 604__+MAX_llx_menu__, 'companies', '', 602__+MAX_llx_menu__, '/contact/list.php?leftmenu=contacts&amp;type=p', 'Prospects', 2, 'companies', '$user->rights->societe->contact->lire', '', 2, 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->societe->enabled', __HANDLER__, 'left', 605__+MAX_llx_menu__, 'companies', '', 602__+MAX_llx_menu__, '/contact/list.php?leftmenu=contacts&amp;type=c', 'Customers', 2, 'companies', '$user->rights->societe->contact->lire', '', 2, 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->societe->enabled && $conf->fournisseur->enabled', __HANDLER__, 'left', 606__+MAX_llx_menu__, 'companies', '', 602__+MAX_llx_menu__, '/contact/list.php?leftmenu=contacts&amp;type=f', 'Suppliers', 2, 'companies', '$user->rights->societe->contact->lire', '', 2, 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->societe->enabled', __HANDLER__, 'left', 604__+MAX_llx_menu__, 'companies', '', 602__+MAX_llx_menu__, '/contact/list.php?leftmenu=contacts&amp;type=p', 'ThirdPartyProspects', 2, 'companies', '$user->rights->societe->contact->lire', '', 2, 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->societe->enabled', __HANDLER__, 'left', 605__+MAX_llx_menu__, 'companies', '', 602__+MAX_llx_menu__, '/contact/list.php?leftmenu=contacts&amp;type=c', 'ThirdPartyCustomers', 2, 'companies', '$user->rights->societe->contact->lire', '', 2, 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->societe->enabled && $conf->fournisseur->enabled', __HANDLER__, 'left', 606__+MAX_llx_menu__, 'companies', '', 602__+MAX_llx_menu__, '/contact/list.php?leftmenu=contacts&amp;type=f', 'ThirdPartySuppliers', 2, 'companies', '$user->rights->societe->contact->lire', '', 2, 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->societe->enabled', __HANDLER__, 'left', 607__+MAX_llx_menu__, 'companies', '', 602__+MAX_llx_menu__, '/contact/list.php?leftmenu=contacts&amp;type=o', 'Others', 2, 'companies', '$user->rights->societe->contact->lire', '', 2, 4, __ENTITY__);
-- Third parties - Category customer
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->societe->enabled && $conf->categorie->enabled', __HANDLER__, 'left', 650__+MAX_llx_menu__, 'companies', 'cat', 2__+MAX_llx_menu__, '/categories/index.php?leftmenu=cat&amp;type=1', 'SuppliersCategoriesShort', 0, 'categories', '$user->rights->categorie->lire', '', 2, 3, __ENTITY__);

View File

@ -114,7 +114,7 @@ class pdf_standard
/**
* Output a sticker on page at position _COUNTX
* Output a sticker on page at position _COUNTX, _COUNTY (_COUNTX and _COUNTY start from 0)
* - %LOGO% is replace with company logo
* - %PHOTO% is replace with photo provided as parameter
*
@ -186,25 +186,27 @@ class pdf_standard
$pdf->image($backgroundimage,$_PosX,$_PosY,$this->_Width,$this->_Height);
}
$xleft=2; $ytop=2;
// Top
if ($header!='')
{
if ($this->code == "CARD")
{
$pdf->SetDrawColor(128,128,128);
$pdf->Line($_PosX, $_PosY+$this->_Line_Height+1, $_PosX+$this->_Width, $_PosY+$this->_Line_Height+1);
$pdf->Line($_PosX, $_PosY+$this->_Line_Height+1, $_PosX+$this->_Width, $_PosY+$this->_Line_Height+1); // Only 1 mm and not ytop for top text
$pdf->SetDrawColor(0,0,0);
}
$pdf->SetXY($_PosX, $_PosY+1);
$pdf->Cell($this->_Width, $this->_Line_Height, $outputlangs->convToOutputCharset($header),0,1,'C');
$pdf->SetXY($_PosX+$xleft, $_PosY+1); // Only 1 mm and not ytop for top text
$pdf->Cell($this->_Width-2*$xleft, $this->_Line_Height, $outputlangs->convToOutputCharset($header),0,1,'C');
}
$xleft=2; $ytop=2+(empty($header)?0:1+$this->_Line_Height);
$maxwidthtouse=round(($this->_Width - 2*$xleft)*$imgscalewidth); $maxheighttouse=round(($this->_Height - 2*$ytop)*$imgscaleheight);
$defaultratio=($maxwidthtouse/$maxheighttouse);
$ytop+=(empty($header)?0:(1+$this->_Line_Height));
// Define widthtouse and heighttouse
$maxwidthtouse=round(($this->_Width - 2*$xleft)*$imgscalewidth); $maxheighttouse=round(($this->_Height - 2*$ytop)*$imgscaleheight);
$defaultratio=($maxwidthtouse/$maxheighttouse);
$widthtouse=$maxwidthtouse; $heighttouse=0; // old value for image
$tmp=dol_getImageSize($photo, false);
if ($tmp['height'])

View File

@ -178,10 +178,10 @@ class modFacture extends DolibarrModules
$this->export_label[$r]='CustomersInvoicesAndInvoiceLines'; // Translation key (used only if key ExportDataset_xxx_z not found)
$this->export_icon[$r]='bill';
$this->export_permission[$r]=array(array("facture","facture","export"));
$this->export_fields_array[$r]=array('s.rowid'=>"IdCompany",'s.nom'=>'CompanyName','s.address'=>'Address','s.zip'=>'Zip','s.town'=>'Town','c.code'=>'CountryCode','s.phone'=>'Phone','s.siren'=>'ProfId1','s.siret'=>'ProfId2','s.ape'=>'ProfId3','s.idprof4'=>'ProfId4','s.code_compta'=>'CustomerAccountancyCode','s.code_compta_fournisseur'=>'SupplierAccountancyCode','s.tva_intra'=>'VATIntra','f.rowid'=>"InvoiceId",'f.facnumber'=>"InvoiceRef",'f.datec'=>"InvoiceDateCreation",'f.datef'=>"DateInvoice",'f.date_lim_reglement'=>"DateDue",'f.total'=>"TotalHT",'f.total_ttc'=>"TotalTTC",'f.tva'=>"TotalVAT",'f.paye'=>"InvoicePaid",'f.fk_statut'=>'InvoiceStatus','f.note_private'=>"NotePrivate",'f.note_public'=>"NotePublic",'fd.rowid'=>'LineId','fd.label'=>"Label",'fd.description'=>"LineDescription",'fd.price'=>"LineUnitPrice",'fd.tva_tx'=>"LineVATRate",'fd.qty'=>"LineQty",'fd.total_ht'=>"LineTotalHT",'fd.total_tva'=>"LineTotalVAT",'fd.total_ttc'=>"LineTotalTTC",'fd.date_start'=>"DateStart",'fd.date_end'=>"DateEnd",'fd.special_code'=>'SpecialCode','fd.product_type'=>"TypeOfLineServiceOrProduct",'fd.fk_product'=>'ProductId','p.ref'=>'ProductRef','p.label'=>'ProductLabel','p.accountancy_code_sell'=>'ProductAccountancyBuyCode');
$this->export_fields_array[$r]=array('s.rowid'=>"IdCompany",'s.nom'=>'CompanyName','s.address'=>'Address','s.zip'=>'Zip','s.town'=>'Town','c.code'=>'CountryCode','s.phone'=>'Phone','s.siren'=>'ProfId1','s.siret'=>'ProfId2','s.ape'=>'ProfId3','s.idprof4'=>'ProfId4','s.code_compta'=>'CustomerAccountancyCode','s.code_compta_fournisseur'=>'SupplierAccountancyCode','s.tva_intra'=>'VATIntra','f.rowid'=>"InvoiceId",'f.facnumber'=>"InvoiceRef",'f.datec'=>"InvoiceDateCreation",'f.datef'=>"DateInvoice",'f.date_lim_reglement'=>"DateDue",'f.total'=>"TotalHT",'f.total_ttc'=>"TotalTTC",'f.tva'=>"TotalVAT",'f.paye'=>"InvoicePaid",'f.fk_statut'=>'InvoiceStatus','f.note_private'=>"NotePrivate",'f.note_public'=>"NotePublic",'fd.rowid'=>'LineId','fd.label'=>"Label",'fd.description'=>"LineDescription",'fd.subprice'=>"LineUnitPrice",'fd.tva_tx'=>"LineVATRate",'fd.qty'=>"LineQty",'fd.total_ht'=>"LineTotalHT",'fd.total_tva'=>"LineTotalVAT",'fd.total_ttc'=>"LineTotalTTC",'fd.date_start'=>"DateStart",'fd.date_end'=>"DateEnd",'fd.special_code'=>'SpecialCode','fd.product_type'=>"TypeOfLineServiceOrProduct",'fd.fk_product'=>'ProductId','p.ref'=>'ProductRef','p.label'=>'ProductLabel','p.accountancy_code_sell'=>'ProductAccountancyBuyCode');
//$this->export_TypeFields_array[$r]=array('s.rowid'=>"List:societe:nom",'s.nom'=>'Text','s.address'=>'Text','s.zip'=>'Text','s.town'=>'Text','c.code'=>'Text','s.phone'=>'Text','s.siren'=>'Text','s.siret'=>'Text','s.ape'=>'Text','s.idprof4'=>'Text','s.code_compta'=>'Text','s.code_compta_fournisseur'=>'Text','s.tva_intra'=>'Text','f.facnumber'=>"Text",'f.datec'=>"Date",'f.datef'=>"Date",'f.date_lim_reglement'=>"Date",'f.total'=>"Numeric",'f.total_ttc'=>"Numeric",'f.tva'=>"Numeric",'f.paye'=>"Boolean",'f.fk_statut'=>'Status','f.note_private'=>"Text",'f.note_public'=>"Text",'fd.description'=>"Text",'fd.price'=>"Numeric",'fd.tva_tx'=>"Numeric",'fd.qty'=>"Numeric",'fd.total_ht'=>"Numeric",'fd.total_tva'=>"Numeric",'fd.total_ttc'=>"Numeric",'fd.date_start'=>"Date",'fd.date_end'=>"Date",'fd.product_type'=>"Numeric",'fd.fk_product'=>'List:Product:label','p.ref'=>'Text','p.label'=>'Text');
$this->export_TypeFields_array[$r]=array('s.nom'=>'Text','s.address'=>'Text','s.zip'=>'Text','s.town'=>'Text','c.code'=>'Text','s.phone'=>'Text','s.siren'=>'Text','s.siret'=>'Text','s.ape'=>'Text','s.idprof4'=>'Text','s.code_compta'=>'Text','s.code_compta_fournisseur'=>'Text','s.tva_intra'=>'Text','f.facnumber'=>"Text",'f.datec'=>"Date",'f.datef'=>"Date",'f.date_lim_reglement'=>"Date",'f.total'=>"Numeric",'f.total_ttc'=>"Numeric",'f.tva'=>"Numeric",'f.paye'=>"Boolean",'f.fk_statut'=>'Status','f.note_private'=>"Text",'f.note_public'=>"Text",'fd.description'=>"Text",'fd.price'=>"Numeric",'fd.tva_tx'=>"Numeric",'fd.qty'=>"Numeric",'fd.total_ht'=>"Numeric",'fd.total_tva'=>"Numeric",'fd.total_ttc'=>"Numeric",'fd.date_start'=>"Date",'fd.date_end'=>"Date",'fd.special_code'=>'Numeric','fd.product_type'=>"Numeric",'fd.fk_product'=>'List:Product:label','p.ref'=>'Text','p.label'=>'Text','p.accountancy_code_sell'=>'Text');
$this->export_entities_array[$r]=array('s.rowid'=>"company",'s.nom'=>'company','s.address'=>'company','s.zip'=>'company','s.town'=>'company','c.code'=>'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','s.tva_intra'=>'company','f.rowid'=>"invoice",'f.facnumber'=>"invoice",'f.datec'=>"invoice",'f.datef'=>"invoice",'f.date_lim_reglement'=>"invoice",'f.total'=>"invoice",'f.total_ttc'=>"invoice",'f.tva'=>"invoice",'f.paye'=>"invoice",'f.fk_statut'=>'invoice','f.note_private'=>"invoice",'f.note_public'=>"invoice",'fd.rowid'=>'invoice_line','fd.label'=>"invoice_line",'fd.description'=>"invoice_line",'fd.price'=>"invoice_line",'fd.total_ht'=>"invoice_line",'fd.total_tva'=>"invoice_line",'fd.total_ttc'=>"invoice_line",'fd.tva_tx'=>"invoice_line",'fd.qty'=>"invoice_line",'fd.date_start'=>"invoice_line",'fd.date_end'=>"invoice_line",'fd.special_code'=>'invoice_line','fd.product_type'=>'invoice_line','fd.fk_product'=>'product','p.ref'=>'product','p.label'=>'product','p.accountancy_code_sell'=>'product');
$this->export_TypeFields_array[$r]=array('s.nom'=>'Text','s.address'=>'Text','s.zip'=>'Text','s.town'=>'Text','c.code'=>'Text','s.phone'=>'Text','s.siren'=>'Text','s.siret'=>'Text','s.ape'=>'Text','s.idprof4'=>'Text','s.code_compta'=>'Text','s.code_compta_fournisseur'=>'Text','s.tva_intra'=>'Text','f.facnumber'=>"Text",'f.datec'=>"Date",'f.datef'=>"Date",'f.date_lim_reglement'=>"Date",'f.total'=>"Numeric",'f.total_ttc'=>"Numeric",'f.tva'=>"Numeric",'f.paye'=>"Boolean",'f.fk_statut'=>'Status','f.note_private'=>"Text",'f.note_public'=>"Text",'fd.description'=>"Text",'fd.subprice'=>"Numeric",'fd.tva_tx'=>"Numeric",'fd.qty'=>"Numeric",'fd.total_ht'=>"Numeric",'fd.total_tva'=>"Numeric",'fd.total_ttc'=>"Numeric",'fd.date_start'=>"Date",'fd.date_end'=>"Date",'fd.special_code'=>'Numeric','fd.product_type'=>"Numeric",'fd.fk_product'=>'List:Product:label','p.ref'=>'Text','p.label'=>'Text','p.accountancy_code_sell'=>'Text');
$this->export_entities_array[$r]=array('s.rowid'=>"company",'s.nom'=>'company','s.address'=>'company','s.zip'=>'company','s.town'=>'company','c.code'=>'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','s.tva_intra'=>'company','f.rowid'=>"invoice",'f.facnumber'=>"invoice",'f.datec'=>"invoice",'f.datef'=>"invoice",'f.date_lim_reglement'=>"invoice",'f.total'=>"invoice",'f.total_ttc'=>"invoice",'f.tva'=>"invoice",'f.paye'=>"invoice",'f.fk_statut'=>'invoice','f.note_private'=>"invoice",'f.note_public'=>"invoice",'fd.rowid'=>'invoice_line','fd.label'=>"invoice_line",'fd.description'=>"invoice_line",'fd.subprice'=>"invoice_line",'fd.total_ht'=>"invoice_line",'fd.total_tva'=>"invoice_line",'fd.total_ttc'=>"invoice_line",'fd.tva_tx'=>"invoice_line",'fd.qty'=>"invoice_line",'fd.date_start'=>"invoice_line",'fd.date_end'=>"invoice_line",'fd.special_code'=>'invoice_line','fd.product_type'=>'invoice_line','fd.fk_product'=>'product','p.ref'=>'product','p.label'=>'product','p.accountancy_code_sell'=>'product');
$this->export_dependencies_array[$r]=array('invoice_line'=>'fd.rowid','product'=>'fd.rowid'); // To add unique key if we ask a field of a child to avoid the DISTINCT to discard them
$this->export_sql_start[$r]='SELECT DISTINCT ';

View File

@ -62,6 +62,8 @@ class modFckeditor extends DolibarrModules
$this->config_page_url = array("fckeditor.php");
// Dependances
global $dolibarr_js_CKEDITOR;
$this->hidden = ($dolibarr_js_CKEDITOR == 'disabled'?1:0); // A condition to disable module (used for native debian packages)
$this->depends = array();
$this->requiredby = array();

View File

@ -1,5 +1,6 @@
<?php
/* Copyright (C) 2013 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2014 Marcos García <marcosgdf@gmail.com>
*
* 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
@ -16,11 +17,8 @@
*/
/**
* \defgroup opensurvey Module OpenSurvey
* \defgroup opensurvey Module opensurvey
* \brief Module to OpenSurvey integration.
*/
/**
* \file htdocs/core/modules/modOpenSurvey.class.php
* \ingroup opensurvey
* \brief Description and activation file for module OpenSurvey
@ -74,9 +72,6 @@ class modOpenSurvey extends DolibarrModules
//$this->dirs[0] = DOL_DATA_ROOT.'/mymodule;
//$this->dirs[1] = DOL_DATA_ROOT.'/mymodule/temp;
// Config pages. Put here list of php page names stored in admin directory used to setup module
$this->config_page_url = array("index.php@opensurvey");
// Dependencies
$this->depends = array(); // 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
@ -110,8 +105,7 @@ class modOpenSurvey extends DolibarrModules
$this->rights[$r][1] = 'Read surveys'; // Permission label
$this->rights[$r][2] = 'r'; // Permission by default for new user (0/1)
$this->rights[$r][3] = 0; // Permission by default for new user (0/1)
$this->rights[$r][4] = 'survey'; // In php code, permission will be checked by test if ($user->rights->permkey->level1->level2)
$this->rights[$r][5] = 'read'; // In php code, permission will be checked by test if ($user->rights->permkey->level1->level2)
$this->rights[$r][4] = 'read'; // In php code, permission will be checked by test if ($user->rights->permkey->level1->level2)
$r++;
// Add here list of permission defined by an id, a label, a boolean and two constant strings.
@ -120,8 +114,7 @@ class modOpenSurvey extends DolibarrModules
$this->rights[$r][1] = 'Create/modify surveys'; // Permission label
$this->rights[$r][2] = 'w'; // Permission by default for new user (0/1)
$this->rights[$r][3] = 0; // Permission by default for new user (0/1)
$this->rights[$r][4] = 'survey'; // In php code, permission will be checked by test if ($user->rights->permkey->level1->level2)
$this->rights[$r][5] = 'write'; // In php code, permission will be checked by test if ($user->rights->permkey->level1->level2)
$this->rights[$r][4] = 'write'; // In php code, permission will be checked by test if ($user->rights->permkey->level1->level2)
$r++;
@ -137,7 +130,7 @@ class modOpenSurvey extends DolibarrModules
'langs'=>'opensurvey',
'position'=>200,
'enabled'=>'$conf->opensurvey->enabled', // Define condition to show or hide menu entry. Use '$conf->NewsSubmitter->enabled' if entry must be visible if module is enabled.
'perms'=>'$user->rights->opensurvey->survey->read',
'perms'=>'$user->rights->opensurvey->read',
'target'=>'',
'user'=>0);
$r++;
@ -161,12 +154,12 @@ class modOpenSurvey extends DolibarrModules
'titre'=>'NewSurvey',
'mainmenu'=>'opensurvey',
'leftmenu'=>'opensurvey_new',
'url'=>'/opensurvey/public/index.php?origin=dolibarr',
'url'=>'/opensurvey/wizard/index.php',
'langs'=>'opensurvey',
'position'=>210,
'enabled'=>'$conf->opensurvey->enabled', // Define condition to show or hide menu entry. Use '$conf->NewsSubmitter->enabled' if entry must be visible if module is enabled.
'perms'=>'',
'target'=>'_blank',
'perms'=>'$user->rights->opensurvey->write',
'target'=>'',
'user'=>0);
$r++;

View File

@ -5,6 +5,7 @@
* Copyright (C) 2004 Benoit Mortier <benoit.mortier@opensides.be>
* Copyright (C) 2005-2012 Regis Houssin <regis.houssin@capnetworks.com>
* Copyright (C) 2012-2013 Juanjo Menent <jmenent@2byte.es>
* Copyright (C) 2014 Christophe Battarel <contact@altairis.fr>
*
* 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
@ -140,12 +141,15 @@ class modProduct extends DolibarrModules
$this->export_fields_array[$r]=array('p.rowid'=>"Id",'p.ref'=>"Ref",'p.label'=>"Label",'p.description'=>"Description",'p.accountancy_code_sell'=>"ProductAccountancySellCode",'p.accountancy_code_buy'=>"ProductAccountancyBuyCode",'p.note'=>"Note",'p.length'=>"Length",'p.surface'=>"Surface",'p.volume'=>"Volume",'p.weight'=>"Weight",'p.customcode'=>'CustomCode','p.price_base_type'=>"PriceBase",'p.price'=>"UnitPriceHT",'p.price_ttc'=>"UnitPriceTTC",'p.tva_tx'=>'VATRate','p.tosell'=>"OnSell",'p.tobuy'=>"OnBuy",'p.datec'=>'DateCreation','p.tms'=>'DateModification');
if (! empty($conf->stock->enabled)) $this->export_fields_array[$r]=array_merge($this->export_fields_array[$r],array('p.stock'=>'Stock','p.pmp'=>'PMPValue'));
if (! empty($conf->barcode->enabled)) $this->export_fields_array[$r]=array_merge($this->export_fields_array[$r],array('p.barcode'=>'BarCode'));
if (! empty($conf->fournisseur->enabled)) $this->export_fields_array[$r]=array_merge($this->export_fields_array[$r],array('s.nom'=>'Supplier','pf.ref_fourn'=>'SupplierRef','pf.unitprice'=>'SuppliersPrices'));
$this->export_TypeFields_array[$r]=array('p.ref'=>"Text",'p.label'=>"Text",'p.description'=>"Text",'p.accountancy_code_sell'=>"Text",'p.accountancy_code_buy'=>"Text",'p.note'=>"Text",'p.length'=>"Number",'p.surface'=>"Number",'p.volume'=>"Number",'p.weight'=>"Number",'p.customcode'=>'Text','p.price_base_type'=>"Text",'p.price'=>"Number",'p.price_ttc'=>"Number",'p.tva_tx'=>'Number','p.tosell'=>"Boolean",'p.tobuy'=>"Boolean",'p.datec'=>'Date','p.tms'=>'Date');
if (! empty($conf->stock->enabled)) $this->export_TypeFields_array[$r]=array_merge($this->export_TypeFields_array[$r],array('p.pmp'=>'Number'));
if (! empty($conf->barcode->enabled)) $this->export_TypeFields_array[$r]=array_merge($this->export_TypeFields_array[$r],array('p.barcode'=>'Text'));
$this->export_entities_array[$r]=array('p.rowid'=>"product",'p.ref'=>"product",'p.label'=>"product",'p.description'=>"product",'p.accountancy_code_sell'=>'product','p.note'=>"product",'p.length'=>"product",'p.surface'=>"product",'p.volume'=>"product",'p.weight'=>"product",'p.customcode'=>'product','p.price_base_type'=>"product",'p.price'=>"product",'p.price_ttc'=>"product",'p.tva_tx'=>"product",'p.tosell'=>"product",'p.tobuy'=>"product",'p.datec'=>"product",'p.tms'=>"product");
if (! empty($conf->fournisseur->enabled)) $this->export_TypeFields_array[$r]=array_merge($this->export_TypeFields_array[$r],array('s.nom'=>'Text','pf.ref_fourn'=>'Text','pf.unitprice'=>'Number'));
$this->export_entities_array[$r]=array('p.rowid'=>"product",'p.ref'=>"product",'p.label'=>"product",'p.description'=>"product",'p.accountancy_code_sell'=>'product','p.accountancy_code_sell'=>'product','p.note'=>"product",'p.length'=>"product",'p.surface'=>"product",'p.volume'=>"product",'p.weight'=>"product",'p.customcode'=>'product','p.price_base_type'=>"product",'p.price'=>"product",'p.price_ttc'=>"product",'p.tva_tx'=>"product",'p.tosell'=>"product",'p.tobuy'=>"product",'p.datec'=>"product",'p.tms'=>"product");
if (! empty($conf->stock->enabled)) $this->export_entities_array[$r]=array_merge($this->export_entities_array[$r],array('p.stock'=>'product','p.pmp'=>'product'));
if (! empty($conf->barcode->enabled)) $this->export_entities_array[$r]=array_merge($this->export_entities_array[$r],array('p.barcode'=>'product'));
if (! empty($conf->fournisseur->enabled)) $this->export_entities_array[$r]=array_merge($this->export_entities_array[$r],array('s.nom'=>'product','pf.ref_fourn'=>'product','pf.unitprice'=>'product'));
// Add extra fields
$sql="SELECT name, label, type FROM ".MAIN_DB_PREFIX."extrafields WHERE elementtype = 'product'";
$resql=$this->db->query($sql);
@ -184,6 +188,7 @@ class modProduct extends DolibarrModules
$this->export_sql_start[$r]='SELECT DISTINCT ';
$this->export_sql_end[$r] =' FROM '.MAIN_DB_PREFIX.'product as p';
$this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'product_extrafields as extra ON p.rowid = extra.fk_object';
if (! empty($conf->fournisseur->enabled)) $this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'product_fournisseur_price as pf ON pf.fk_product = p.rowid LEFT JOIN '.MAIN_DB_PREFIX.'societe s ON s.rowid = pf.fk_soc';
$this->export_sql_end[$r] .=' WHERE p.fk_product_type = 0 AND p.entity IN ('.getEntity("product", 1).')';

View File

@ -16,11 +16,11 @@
*/
/**
* \defgroup Skype Module Skype
* \defgroup Skype Module skype
* \brief Add a skype button.
* \file htdocs/core/modules/modSkype.class.php
* \ingroup Skype
* \brief Description and activation file for module Skype
* \brief Description and activation file for module skype
*/
include_once DOL_DOCUMENT_ROOT .'/core/modules/DolibarrModules.class.php';

View File

@ -113,7 +113,7 @@ class pdf_standardlabel
}
/**
* Output a sticker on page at position _COUNTX
* Output a sticker on page at position _COUNTX, _COUNTY (_COUNTX and _COUNTY start from 0)
* - %LOGO% is replace with company logo
* - %PHOTO% is replace with photo provided as parameter
*
@ -174,25 +174,27 @@ class pdf_standardlabel
$pdf->image($backgroundimage,$_PosX,$_PosY,$this->_Width,$this->_Height);
}
$xleft=2; $ytop=2;
// Top
if ($header!='')
{
if ($this->code == "CARD")
{
$pdf->SetDrawColor(128,128,128);
$pdf->Line($_PosX, $_PosY+$this->_Line_Height+1, $_PosX+$this->_Width, $_PosY+$this->_Line_Height+1);
$pdf->Line($_PosX, $_PosY+$this->_Line_Height+1, $_PosX+$this->_Width, $_PosY+$this->_Line_Height+1); // Only 1 mm and not ytop for top text
$pdf->SetDrawColor(0,0,0);
}
$pdf->SetXY($_PosX, $_PosY+1);
$pdf->Cell($this->_Width, $this->_Line_Height, $outputlangs->convToOutputCharset($header),0,1,'C');
$pdf->SetXY($_PosX+$xleft, $_PosY+1); // Only 1 mm and not ytop for top text
$pdf->Cell($this->_Width-2*$xleft, $this->_Line_Height, $outputlangs->convToOutputCharset($header),0,1,'C');
}
$xleft=2; $ytop=2+(empty($header)?0:1+$this->_Line_Height);
$maxwidthtouse=round(($this->_Width - 2*$xleft)*$imgscalewidth); $maxheighttouse=round(($this->_Height - 2*$ytop)*$imgscaleheight);
$defaultratio=($maxwidthtouse/$maxheighttouse);
$ytop+=(empty($header)?0:(1+$this->_Line_Height));
// Define widthtouse and heighttouse
$maxwidthtouse=round(($this->_Width - 2*$xleft)*$imgscalewidth); $maxheighttouse=round(($this->_Height - 2*$ytop)*$imgscaleheight);
$defaultratio=($maxwidthtouse/$maxheighttouse);
$widthtouse=$maxwidthtouse; $heighttouse=0; // old value for image
$tmp=dol_getImageSize($photo, false);
if ($tmp['height'])

View File

@ -28,13 +28,13 @@ if (isset($object->extraparams[$blocname]['showhide'])) $hide = (empty($object->
$(document).ready(function() {
$("#hide-<?php echo $blocname ?>").click(function(){
setShowHide(0);
$("#<?php echo $blocname ?>_bloc").hide("blind", {direction: "vertical"}, 800).removeClass("nohideobject");
$("#<?php echo $blocname ?>_bloc").hide("blind", {direction: "vertical"}, 300).removeClass("nohideobject");
$(this).hide();
$("#show-<?php echo $blocname ?>").show();
});
$("#show-<?php echo $blocname ?>").click(function(){
setShowHide(1);
$("#<?php echo $blocname ?>_bloc").show("blind", {direction: "vertical"}, 800).addClass("nohideobject");
$("#<?php echo $blocname ?>_bloc").show("blind", {direction: "vertical"}, 300).addClass("nohideobject");
$(this).hide();
$("#hide-<?php echo $blocname ?>").show();
});
@ -43,7 +43,7 @@ $(document).ready(function() {
var element = '<?php echo $object->element; ?>';
var htmlelement = '<?php echo $blocname ?>';
var type = 'showhide';
$.get("<?php echo dol_buildpath('/core/ajax/extraparams.php', 1); ?>?id="+id+"&element="+element+"&htmlelement="+htmlelement+"&type="+type+"&value="+status);
}
});

View File

@ -1,5 +1,6 @@
<?php
/* Copyright (C) 2013 Cédric Salvador <csalvador@gpcsolutions.fr>
/* Copyright (C) 2013 Cédric Salvador <csalvador@gpcsolutions.fr>
* Copyright (C) 2013 Laurent Destailleur <eldy@users.sourceforge.net>
*
* 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
@ -16,12 +17,13 @@
* or see http://www.gnu.org/
*/
$langs->load("link");
/*
* Confirm suppression
*/
if ($action == 'delete')
if ($action == 'delete')
{
$ret = $form->form_confirm(
$_SERVER["PHP_SELF"] . '?id=' . $object->id . '&urlfile=' . urlencode(GETPOST("urlfile")) . '&linkid=' . GETPOST('linkid', 'int'),

View File

@ -1,6 +1,7 @@
<?php
/* Copyright (C) 2012 Regis Houssin <regis.houssin@capnetworks.com>
* Copyright (C) 2013 Florian Henry <florian.henry@open-concept.pro>
/* Copyright (C) 2012 Regis Houssin <regis.houssin@capnetworks.com>
* Copyright (C) 2013 Florian Henry <florian.henry@open-concept.pro>
* Copyright (C) 2014 Laurent Destailleur <eldy@destailleur.fr>
*
* 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
@ -23,6 +24,24 @@ $note_private = 'note_private';
$colwidth=(isset($colwidth)?$colwidth:25);
$permission=(isset($permission)?$permission:(isset($user->rights->$module->creer)?$user->rights->$module->creer:0)); // If already defined by caller page
$moreparam=(isset($moreparam)?$moreparam:'');
$value_public=$object->note_public;
$value_private=$object->note_private;
if (! empty($conf->global->MAIN_AUTO_TIMESTAMP_IN_NOTES))
{
$stringtoadd=dol_print_date(dol_now(), 'dayhour').' '.$user->getFullName($langs).' --';
if (GETPOST('action') == 'edit'.$note_public)
{
$value_public=dol_concatdesc($value_public, ($value_public?"\n":"")."-- ".$stringtoadd);
if (dol_textishtml($value_public)) $value_public.="<br>\n";
else $value_public.="\n";
}
if (GETPOST('action') == 'edit'.$note_private)
{
$value_private=dol_concatdesc($value_private, ($value_private?"\n":"")."-- ".$stringtoadd);
if (dol_textishtml($value_private)) $value_private.="<br>\n";
else $value_private.="\n";
}
}
// Special cases
if ($module == 'propal') { $permission=$user->rights->propale->creer;}
@ -43,13 +62,13 @@ else $typeofdata='textarea:12:100';
<!-- BEGIN PHP TEMPLATE NOTES -->
<div class="border table-border centpercent">
<div class="table-border-row">
<div class="table-key-border-col"<?php echo ' style="width: '.$colwidth.'%"'; ?>><?php echo $form->editfieldkey("NotePublic", $note_public, $object->note_public, $object, $permission, $typeofdata, $moreparam); ?></div>
<div class="table-val-border-col"><?php echo $form->editfieldval("NotePublic", $note_public, $object->note_public, $object, $permission, $typeofdata, '', null, null, $moreparam); ?></div>
<div class="table-key-border-col"<?php echo ' style="width: '.$colwidth.'%"'; ?>><?php echo $form->editfieldkey("NotePublic", $note_public, $value_public, $object, $permission, $typeofdata, $moreparam); ?></div>
<div class="table-val-border-col"><?php echo $form->editfieldval("NotePublic", $note_public, $value_public, $object, $permission, $typeofdata, '', null, null, $moreparam); ?></div>
</div>
<?php if (! $user->societe_id) { ?>
<div class="table-border-row">
<div class="table-key-border-col"<?php echo ' style="width: '.$colwidth.'%"'; ?>><?php echo $form->editfieldkey("NotePrivate", $note_private, $object->note_private, $object, $permission, $typeofdata, $moreparam); ?></div>
<div class="table-val-border-col"><?php echo $form->editfieldval("NotePrivate", $note_private, $object->note_private, $object, $permission, $typeofdata, '', null, null, $moreparam); ?></div>
<div class="table-key-border-col"<?php echo ' style="width: '.$colwidth.'%"'; ?>><?php echo $form->editfieldkey("NotePrivate", $note_private, $value_private, $object, $permission, $typeofdata, $moreparam); ?></div>
<div class="table-val-border-col"><?php echo $form->editfieldval("NotePrivate", $note_private, $value_private, $object, $permission, $typeofdata, '', null, null, $moreparam); ?></div>
</div>
<?php } ?>
</div>

View File

@ -53,29 +53,19 @@ $result=restrictedArea($user, $origin, $origin_id);
$object = new Expedition($db);
$object->fetch($id);
/******************************************************************************/
/* Actions */
/******************************************************************************/
if ($action == 'setnote_public' && $user->rights->facture->creer)
{
$object->fetch($id);
$result=$object->update_note(dol_html_entity_decode(GETPOST('note_public'), ENT_QUOTES),'_public');
if ($result < 0) dol_print_error($db,$object->error);
}
else if ($action == 'setnote_private' && $user->rights->facture->creer)
{
$object->fetch($id);
$result=$object->update_note(dol_html_entity_decode(GETPOST('note_private'), ENT_QUOTES),'_private');
if ($result < 0) dol_print_error($db,$object->error);
}
$permissionnote=$user->rights->expedition->creer; // Used by the include of actions_setnotes.inc.php
/******************************************************************************/
/* Affichage fiche */
/******************************************************************************/
/*
* Actions
*/
include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not includ_once
/*
* View
*/
llxHeader();

View File

@ -88,12 +88,15 @@ if ($id > 0 || ! empty($ref))
if ($ret < 0) dol_print_error('',$object->error);
}
$permissionnote=$user->rights->ficheinter->creer; // Used by the include of actions_setnotes.inc.php
/*
* Actions
*/
include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not includ_once
if ($action == 'confirm_validate' && $confirm == 'yes' && $user->rights->ficheinter->creer)
{
$result = $object->setValid($user);
@ -399,16 +402,6 @@ else if ($action == 'setdescription' && $user->rights->ficheinter->creer)
$result=$object->set_description($user,GETPOST('description'));
if ($result < 0) dol_print_error($db,$object->error);
}
else if ($action == 'setnote_public' && $user->rights->ficheinter->creer)
{
$result=$object->update_note(dol_html_entity_decode(GETPOST('note_public'), ENT_QUOTES),'_public');
if ($result < 0) dol_print_error($db,$object->error);
}
else if ($action == 'setnote_private' && $user->rights->ficheinter->creer)
{
$result=$object->update_note(dol_html_entity_decode(GETPOST('note_private'), ENT_QUOTES), '_private');
if ($result < 0) dol_print_error($db,$object->error);
}
// Add line
else if ($action == "addline" && $user->rights->ficheinter->creer)
@ -781,7 +774,7 @@ else if ($action == 'update_extras')
$extralabels=$extrafields->fetch_name_optionals_label($object->table_element);
$ret = $extrafields->setOptionalsFromPost($extralabels,$object,GETPOST('attribute'));
if ($ret < 0) $error++;
if (! $error)
{
// Actions on extra fields (by external module or standard code)
@ -799,7 +792,7 @@ else if ($action == 'update_extras')
}
else if ($reshook < 0) $error++;
}
if ($error) $action = 'edit_extras';
}
@ -973,7 +966,7 @@ if ($action == 'create')
if (! empty($conf->projet->enabled))
{
$formproject=new FormProjets($db);
$langs->load("project");
print '<tr><td valign="top">'.$langs->trans("Project").'</td><td>';
@ -1103,7 +1096,7 @@ else if ($id > 0 || ! empty($ref))
if ($action == 'delete')
{
print $form->formconfirm($_SERVER["PHP_SELF"].'?id='.$object->id, $langs->trans('DeleteIntervention'), $langs->trans('ConfirmDeleteIntervention'), 'confirm_delete','',0,1);
}
// Confirmation validation
@ -1127,21 +1120,21 @@ else if ($id > 0 || ! empty($ref))
$text=$langs->trans('ConfirmValidateIntervention',$numref);
print $form->formconfirm($_SERVER["PHP_SELF"].'?id='.$object->id, $langs->trans('ValidateIntervention'), $text, 'confirm_validate','',0,1);
}
// Confirmation de la validation de la fiche d'intervention
if ($action == 'modify')
{
print $form->formconfirm($_SERVER["PHP_SELF"].'?id='.$object->id, $langs->trans('ModifyIntervention'), $langs->trans('ConfirmModifyIntervention'), 'confirm_modify','',0,1);
}
// Confirmation de la suppression d'une ligne d'intervention
if ($action == 'ask_deleteline')
{
print $form->formconfirm($_SERVER["PHP_SELF"].'?id='.$object->id.'&line_id='.GETPOST('line_id','int'), $langs->trans('DeleteInterventionLine'), $langs->trans('ConfirmDeleteInterventionLine'), 'confirm_deleteline','',0,1);
}
print '<table class="border" width="100%">';
@ -1286,9 +1279,9 @@ else if ($id > 0 || ! empty($ref))
print '<input type="hidden" name="attribute" value="'.$key.'">';
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
print '<input type="hidden" name="id" value="'.$object->id.'">';
print $extrafields->showInputField($key,$value);
print '<input type="submit" class="button" value="'.$langs->trans('Modify').'">';
print '</form>';
}

View File

@ -41,22 +41,13 @@ $result = restrictedArea($user, 'ficheinter', $id, 'fichinter');
$object = new Fichinter($db);
$object->fetch($id,$ref);
$permissionnote=$user->rights->ficheinter->creer; // Used by the include of actions_setnotes.inc.php
/*
* Actions
*/
if ($action == 'setnote_public' && $user->rights->ficheinter->creer)
{
$result=$object->update_note(dol_html_entity_decode(GETPOST('note_public'), ENT_QUOTES),'_public');
if ($result < 0) dol_print_error($db,$object->error);
}
else if ($action == 'setnote_private' && $user->rights->ficheinter->creer)
{
$result=$object->update_note(dol_html_entity_decode(GETPOST('note_private'), ENT_QUOTES),'_private');
if ($result < 0) dol_print_error($db,$object->error);
}
include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not includ_once
/*

View File

@ -98,9 +98,15 @@ else if (! empty($socid) && $socid > 0)
if ($ret < 0) dol_print_error($db,$object->error);
}
$permissionnote=$user->rights->fournisseur->commande->creer; // Used by the include of actions_setnotes.inc.php
/*
* Actions
*/
include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not includ_once
if ($action == 'setref_supplier' && $user->rights->fournisseur->commande->creer)
{
$result=$object->setValueFrom('ref_supplier',GETPOST('ref_supplier','alpha'));
@ -137,23 +143,11 @@ else if ($action == 'classin' && $user->rights->fournisseur->commande->creer)
$object->setProject($projectid);
}
else if ($action == 'setremisepercent' && $user->rights->fournisseur->commande->creer)
else if ($action == 'setremisepercent' && $user->rights->fournisseur->commande->creer)
{
$result = $object->set_remise($user, $_POST['remise_percent']);
}
else if ($action == 'setnote_public' && $user->rights->fournisseur->commande->creer)
{
$result=$object->update_note(dol_html_entity_decode(GETPOST('note_public'), ENT_QUOTES),'_public');
if ($result < 0) dol_print_error($db,$object->error);
}
else if ($action == 'setnote_private' && $user->rights->fournisseur->commande->creer)
{
$result=$object->update_note(dol_html_entity_decode(GETPOST('note_private'), ENT_QUOTES),'_private');
if ($result < 0) dol_print_error($db,$object->error);
}
else if ($action == 'reopen' && $user->rights->fournisseur->commande->approuver)
{
if (in_array($object->statut, array(1, 5, 6, 7, 9)))

View File

@ -44,21 +44,14 @@ $result = restrictedArea($user, 'fournisseur', $id, '', 'commande');
$object = new CommandeFournisseur($db);
$object->fetch($id, $ref);
$permissionnote=$user->rights->fournisseur->commande->creer; // Used by the include of actions_setnotes.inc.php
/*
* Actions
*/
if ($action == 'setnote_public' && $user->rights->fournisseur->commande->creer)
{
$result=$object->update_note(dol_html_entity_decode(GETPOST('note_public'), ENT_QUOTES),'_public');
if ($result < 0) dol_print_error($db,$object->error);
}
elseif ($action == 'setnote_private' && $user->rights->fournisseur->commande->creer)
{
$result=$object->update_note(dol_html_entity_decode(GETPOST('note_private'), ENT_QUOTES), '_private');
if ($result < 0) dol_print_error($db,$object->error);
}
include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not includ_once
/*

View File

@ -50,9 +50,11 @@ if (!empty($conf->projet->enabled)) {
$langs->load('bills');
$langs->load('compta');
$langs->load('suppliers');
$langs->load('companies');
$langs->load('products');
$langs->load('banks');
$mesg='';
$errors=array();
@ -82,12 +84,15 @@ if ($id > 0 || ! empty($ref))
$ret=$object->fetch($id, $ref);
}
$permissionnote=$user->rights->fournisseur->facture->creer; // Used by the include of actions_setnotes.inc.php
/*
* Actions
*/
include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not includ_once
// Action clone object
if ($action == 'confirm_clone' && $confirm == 'yes')
{
@ -237,18 +242,6 @@ elseif ($action == 'setdate_lim_reglement' && $user->rights->fournisseur->factur
$result=$object->update($user);
if ($result < 0) dol_print_error($db,$object->error);
}
elseif ($action == 'setnote_public' && $user->rights->fournisseur->facture->creer)
{
$object->fetch($id);
$result=$object->update_note(dol_html_entity_decode(GETPOST('note_public'), ENT_QUOTES),'_public');
if ($result < 0) dol_print_error($db,$object->error);
}
elseif ($action == 'setnote_private' && $user->rights->fournisseur->facture->creer)
{
$object->fetch($id);
$result=$object->update_note(dol_html_entity_decode(GETPOST('note_private'), ENT_QUOTES),'_private');
if ($result < 0) dol_print_error($db,$object->error);
}
// Delete payment
elseif ($action == 'deletepaiement')

View File

@ -217,7 +217,7 @@ if ($user->rights->fournisseur->facture->lire)
print '</td><td class="liste_titre" align="right">';
print '<input class="flat" type="text" size="8" name="search_montant_ttc" value="'.$search_montant_ttc.'">';
print '</td><td class="liste_titre" colspan="2" align="right">';
print '<input type="image" class="liste_titre" name="button_search" src="'.DOL_URL_ROOT.'/theme/'.$conf->theme.'/img/search.png" value="'.dol_escape_htmltag($langs->trans("Search")).'" title="'.dol_escape_htmltag($langs->trans("Search")).'">';
print '<input type="image" class="liste_titre" name="button_search" src="'.img_picto($langs->trans("Search"),'search.png','','',1).'" value="'.dol_escape_htmltag($langs->trans("Search")).'" title="'.dol_escape_htmltag($langs->trans("Search")).'">';
print '</td>';
print "</tr>\n";

View File

@ -43,22 +43,14 @@ $result = restrictedArea($user, 'fournisseur', $id, 'facture_fourn', 'facture');
$object = new FactureFournisseur($db);
$object->fetch($id, $ref);
$permissionnote=$user->rights->fournisseur->facture->creer; // Used by the include of actions_setnotes.inc.php
/******************************************************************************/
/* Actions */
/******************************************************************************/
/*
* Actions
*/
if ($action == 'setnote_public' && $user->rights->fournisseur->facture->creer)
{
$result=$object->update_note(dol_html_entity_decode(GETPOST('note_public'), ENT_QUOTES),'_public');
if ($result < 0) dol_print_error($db,$object->error);
}
elseif ($action == 'setnote_private' && $user->rights->fournisseur->facture->creer)
{
$result=$object->update_note(dol_html_entity_decode(GETPOST('note_private'), ENT_QUOTES),'_private');
if ($result < 0) dol_print_error($db,$object->error);
}
include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not includ_once
// Set label
if ($action == 'setlabel' && $user->rights->fournisseur->facture->creer)

View File

@ -478,7 +478,8 @@ IMG;
header('Content-Disposition: attachment; filename="'.$name.'.pdf"');
readfile("$name.pdf");
}
unlink("$name.odt");
if (!empty($conf->global->MAIN_ODT_AS_PDF_DEL_SOURCE))
unlink("$name.odt");
} else {
dol_syslog(get_class($this).'::exportAsAttachedPDF $ret_val='.$retval, LOG_DEBUG);
dol_syslog(get_class($this).'::exportAsAttachedPDF $output_arr='.var_export($output_arr,true), LOG_DEBUG);
@ -555,4 +556,4 @@ IMG;
}
}
?>
?>

View File

@ -18,3 +18,15 @@
-- -- 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_opensurvey_sondage ADD COLUMN allow_comments TINYINT( 1 ) UNSIGNED NOT NULL DEFAULT 1 AFTER canedit ;
-- 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 ;
-- ALTER TABLE llx_opensurvey_sondage DROP COLUMN canedit ;
ALTER TABLE llx_opensurvey_sondage ADD COLUMN allow_spy TINYINT( 1 ) UNSIGNED NOT NULL AFTER allow_comments ;
-- ALTER TABLE llx_opensurvey_sondage DROP COLUMN origin ;
ALTER TABLE llx_opensurvey_sondage ADD COLUMN fk_user_creat INT( 11 ) UNSIGNED NOT NULL AFTER nom_admin ;
ALTER TABLE llx_opensurvey_sondage CHANGE COLUMN mailsonde mailsonde TINYINT( 1 ) UNSIGNED NOT NULL DEFAULT '0';
ALTER TABLE llx_opensurvey_sondage CHANGE COLUMN titre titre TEXT CHARACTER SET utf8 COLLATE utf8_general_ci 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 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL;

View File

@ -15,5 +15,4 @@
-- along with this program. If not, see <http://www.gnu.org/licenses/>.
-- ============================================================================
ALTER TABLE llx_opensurvey_sondage ADD INDEX idx_id_sondage_admin (id_sondage_admin);
ALTER TABLE llx_opensurvey_sondage ADD INDEX idx_date_fin (date_fin);

View File

@ -17,17 +17,16 @@
CREATE TABLE llx_opensurvey_sondage (
id_sondage VARCHAR(16) PRIMARY KEY,
id_sondage_admin VARCHAR(24),
commentaires text,
mail_admin VARCHAR(128),
nom_admin VARCHAR(64),
titre TEXT,
date_fin DATETIME,
format VARCHAR(2),
mailsonde varchar(2) DEFAULT '0',
survey_link_visible integer DEFAULT 1,
canedit integer DEFAULT 0,
origin VARCHAR(64),
fk_user_creat INT(11) UNSIGNED NOT NULL,
titre TEXT NOT NULL,
date_fin DATETIME NOT NULL,
format VARCHAR(2) NOT NULL,
mailsonde TINYINT( 1 ) UNSIGNED NOT NULL DEFAULT '0',
allow_comments TINYINT(1) unsigned NOT NULL DEFAULT 1,
allow_spy TINYINT(1) unsigned NOT NULL DEFAULT 1,
tms TIMESTAMP,
sujet TEXT
) ENGINE=InnoDB;
) ENGINE=InnoDB;

View File

@ -365,47 +365,54 @@ if (! GETPOST("action") || preg_match('/upgrade/i',GETPOST('action')))
}
}
// Loop on each migrate files
foreach($filelist as $file)
if (count($filelist) == 0)
{
print '<tr><td colspan="2"><hr></td></tr>';
print '<tr><td class="nowrap">'.$langs->trans("ChoosedMigrateScript").'</td><td align="right">'.$file.'</td></tr>'."\n";
// Run sql script
$ok=run_sql($dir.$file, 0, '', 1);
// Scan if there is migration scripts for modules htdocs/module/sql or htdocs/custom/module/sql
$modulesfile = array();
foreach ($conf->file->dol_document_root as $type => $dirroot)
{
$handlemodule=@opendir($dirroot); // $dirroot may be '..'
if (is_resource($handlemodule))
{
while (($filemodule = readdir($handlemodule))!==false)
{
if (! preg_match('/\./',$filemodule) && is_dir($dirroot.'/'.$filemodule.'/sql')) // We exclude filemodule that contains . (are not directories) and are not directories.
{
//print "Scan for ".$dirroot . '/' . $filemodule . '/sql/'.$file;
if (is_file($dirroot . '/' . $filemodule . '/sql/'.$file))
{
$modulesfile[$dirroot . '/' . $filemodule . '/sql/'.$file] = '/' . $filemodule . '/sql/'.$file;
}
}
}
closedir($handlemodule);
}
}
foreach ($modulesfile as $modulefilelong => $modulefileshort)
{
print '<tr><td colspan="2"><hr></td></tr>';
print '<tr><td class="nowrap">'.$langs->trans("ChoosedMigrateScript").' (external modules)</td><td align="right">'.$modulefileshort.'</td></tr>'."\n";
print '<div class="error">'.$langs->trans("ErrorNoMigrationFilesFoundForParameters").'</div>';
}
else
{
// Loop on each migrate files
foreach($filelist as $file)
{
print '<tr><td colspan="2"><hr></td></tr>';
print '<tr><td class="nowrap">'.$langs->trans("ChoosedMigrateScript").'</td><td align="right">'.$file.'</td></tr>'."\n";
// Run sql script
$okmodule=run_sql($modulefilelong, 0, '', 1); // Note: Result of migration of external module should not decide if we continue migration of Dolibarr or not.
}
$ok=run_sql($dir.$file, 0, '', 1);
}
// Scan if there is migration scripts for modules htdocs/module/sql or htdocs/custom/module/sql
$modulesfile = array();
foreach ($conf->file->dol_document_root as $type => $dirroot)
{
$handlemodule=@opendir($dirroot); // $dirroot may be '..'
if (is_resource($handlemodule))
{
while (($filemodule = readdir($handlemodule))!==false)
{
if (! preg_match('/\./',$filemodule) && is_dir($dirroot.'/'.$filemodule.'/sql')) // We exclude filemodule that contains . (are not directories) and are not directories.
{
//print "Scan for ".$dirroot . '/' . $filemodule . '/sql/'.$file;
if (is_file($dirroot . '/' . $filemodule . '/sql/'.$file))
{
$modulesfile[$dirroot . '/' . $filemodule . '/sql/'.$file] = '/' . $filemodule . '/sql/'.$file;
}
}
}
closedir($handlemodule);
}
}
foreach ($modulesfile as $modulefilelong => $modulefileshort)
{
print '<tr><td colspan="2"><hr></td></tr>';
print '<tr><td class="nowrap">'.$langs->trans("ChoosedMigrateScript").' (external modules)</td><td align="right">'.$modulefileshort.'</td></tr>'."\n";
// Run sql script
$okmodule=run_sql($modulefilelong, 0, '', 1); // Note: Result of migration of external module should not decide if we continue migration of Dolibarr or not.
}
}
}
}
print '</table>';

View File

@ -11,14 +11,10 @@
# PollTitle=Poll title
# OpenSurveyYourName=Your name
# OpenSurveyYourEMail=Your email address
# VotersCanModify=Voters can modify vote of others
# ToReceiveEMailForEachVote=To receive an email for each vote
# TypeDate=Type date
# TypeClassic=Type standard
# YouAreInPollCreateArea=You are in the poll creation section
# FieldMandatory=Field mandatory
# OpenSurveyDesc=Online service to plan a rendez-vous or do a survey quickly and easily.
# OpenSurveyNoRegistration=No registration required.
# OpenSurveyStep2=Select your dates amoung the free days (green). The selected days are in blue. You can unselect a day previously selected by clicking again on it
# RemoveAllDays=Remove all days
# CopyHoursOfFirstDay=Copy hours of first day
@ -43,7 +39,6 @@
# PourContreList=List (empty/for/against)
# AddNewColumn=Add new column
# TitleChoice=Choice label
# InfoAfterCreate=Once you have confirmed the creation of your poll, you will be automatically redirected on the page of your poll.<br>You should also receive an email with link to your poll for sending it to the voters.
# ExportSpreadsheet=Export result spreadsheet
ExpireDate=الحد من التاريخ
# NbOfVoters=Nb of voters
@ -57,7 +52,6 @@ ExpireDate=الحد من التاريخ
# ErrorPollDoesNotExists=Error, poll <strong>%s</strong> does not exists.
# OpenSurveyNothingToSetup=There is no specific setup to do.
# PollWillExpire=Your poll will expire automatically <strong>%s</strong> days after the last date of your poll.
# RemovalDate=Removal date
# AddADate=Add a date
# AddStartHour=Add start hour
# AddEndHour=Add end hour
@ -66,4 +60,3 @@ ExpireDate=الحد من التاريخ
# CanEditVotes=Can change vote of others
# SelectDayDesc=For each selected day, you can choose, or not, meeting hours in the following format :<br>- empty,<br>- "8h", "8H" or "8:00" to give a meeting's start hour,<br>- "8-11", "8h-11h", "8H-11H" or "8:00-11:00" to give a meeting's start and end hour,<br>- "8h15-11h15", "8H15-11H15" or "8:15-11:15" for the same thing but with minutes.
# BackToCurrentMonth=Back to current month
# PublicLinkToCreateSurvey=Public link to allow everybody to create a survey

View File

@ -11,14 +11,10 @@
# PollTitle=Poll title
# OpenSurveyYourName=Your name
# OpenSurveyYourEMail=Your email address
# VotersCanModify=Voters can modify vote of others
# ToReceiveEMailForEachVote=To receive an email for each vote
# TypeDate=Type date
# TypeClassic=Type standard
# YouAreInPollCreateArea=You are in the poll creation section
# FieldMandatory=Field mandatory
# OpenSurveyDesc=Online service to plan a rendez-vous or do a survey quickly and easily.
# OpenSurveyNoRegistration=No registration required.
# OpenSurveyStep2=Select your dates amoung the free days (green). The selected days are in blue. You can unselect a day previously selected by clicking again on it
# RemoveAllDays=Remove all days
# CopyHoursOfFirstDay=Copy hours of first day
@ -43,7 +39,6 @@
# PourContreList=List (empty/for/against)
# AddNewColumn=Add new column
# TitleChoice=Choice label
# InfoAfterCreate=Once you have confirmed the creation of your poll, you will be automatically redirected on the page of your poll.<br>You should also receive an email with link to your poll for sending it to the voters.
# ExportSpreadsheet=Export result spreadsheet
ExpireDate=Крайната дата
# NbOfVoters=Nb of voters
@ -57,7 +52,6 @@ ExpireDate=Крайната дата
# ErrorPollDoesNotExists=Error, poll <strong>%s</strong> does not exists.
# OpenSurveyNothingToSetup=There is no specific setup to do.
# PollWillExpire=Your poll will expire automatically <strong>%s</strong> days after the last date of your poll.
# RemovalDate=Removal date
# AddADate=Add a date
# AddStartHour=Add start hour
# AddEndHour=Add end hour
@ -66,4 +60,3 @@ ExpireDate=Крайната дата
# CanEditVotes=Can change vote of others
# SelectDayDesc=For each selected day, you can choose, or not, meeting hours in the following format :<br>- empty,<br>- "8h", "8H" or "8:00" to give a meeting's start hour,<br>- "8-11", "8h-11h", "8H-11H" or "8:00-11:00" to give a meeting's start and end hour,<br>- "8h15-11h15", "8H15-11H15" or "8:15-11:15" for the same thing but with minutes.
# BackToCurrentMonth=Back to current month
# PublicLinkToCreateSurvey=Public link to allow everybody to create a survey

View File

@ -11,14 +11,10 @@ CreatePoll=Crear enquesta
PollTitle=Títol de l'enquesta
OpenSurveyYourName=El seu nom
OpenSurveyYourEMail=La seva adreça de correu electrònic
VotersCanModify=Els votants poden modificar el vot d'altres
ToReceiveEMailForEachVote=Per rebre un email per cada vot
TypeDate=Tipus de data
TypeClassic=Tipus estándar
YouAreInPollCreateArea=Està a la secció de creació d'enquestes
FieldMandatory=Camp obligatori
OpenSurveyDesc=Servei online per planificar una cita o elaborar una enquesta de forma fàcil i ràpida
OpenSurveyNoRegistration=SSense registre requerit.
OpenSurveyStep2=Seleccioneu les dates entre els dies lliures (verds). Els dies seleccionats són de color blau. Pot seleccionar un dia prèviament seleccionat fent clic de nou en ell
RemoveAllDays=Eliminar tots els dies
CopyHoursOfFirstDay=Copia hores del primer dia
@ -43,7 +39,6 @@ YesNoList=Llista (buit/sí/no)
PourContreList=Llista (buit/a favor/en contra)
AddNewColumn=Afegir nova columna
TitleChoice=Títol de l'opció
InfoAfterCreate=Un cop hagi confirmat la creació de la seva enquesta, passareu automàticament a la pàgina de la seva enquesta.<br>També rebrà un email amb un enllaç a la seva enquesta per enviar als votants.
ExportSpreadsheet=Exportar resultats a un full de càlcul
ExpireDate=Data límit
NbOfVoters=Núm. de votants
@ -57,7 +52,6 @@ VoteNameAlreadyExists=Aquest nom ja havia estat usat per a aquesta enquesta
ErrorPollDoesNotExists=Error, l'enquesta <strong>%s</strong> no existeix.
OpenSurveyNothingToSetup=No hi ha una configuració específica que fer.
PollWillExpire=La seva enquesta expirarà automàticament <strong>%s</strong> dies després de l'última data de la seva enquesta.
RemovalDate=Data d'eliminació
AddADate=Afegir una data
AddStartHour=Afegir hora d'inici
AddEndHour=Afegir hora de fi
@ -66,4 +60,3 @@ NoCommentYet=Cap comentari ha estat publicat per a aquesta enquesta
CanEditVotes=Podeu canviar el vot d'altres
SelectDayDesc=Per a cada dia seleccionat, pot triar, o no, les hores de reunió en el següent format:<br>- buit,<br>- "8h", "8H" o "8:00" per proporcionar una hora d'inici de la reunió,<br>- "8-11", "8h-11h", "8H-11H" o "8:00-11:00" per proporcionar una hora d'inici i de fi de la reunió,<br>- "8h15-11h15", "8H15-11H15" or "8:15-11:15" per el mateix però amb minuts.
BackToCurrentMonth=Tornar al mes actual
PublicLinkToCreateSurvey=Enllaç públic que permet a qualsevol crear una enquesta

View File

@ -11,14 +11,10 @@ CreatePoll=Vytvoření ankety
PollTitle=Anketa titul
OpenSurveyYourName=Vaše jméno
OpenSurveyYourEMail=Vaše e-mailová adresa
VotersCanModify=Voliči mohou změnit hlas ostatních
ToReceiveEMailForEachVote=Chcete-li obdržet e-mail pro každé hlasování
TypeDate=Zadejte datum
TypeClassic=Typ standardní
YouAreInPollCreateArea=Nacházíte se v sekci pro vytvoření hlasování
FieldMandatory=Pole povinné
OpenSurveyDesc=Online služby naplánovat rendez-vous nebo udělat průzkum snadno a rychle.
OpenSurveyNoRegistration=Ne nutná registrace.
OpenSurveyStep2=Zvolte termín Vašeho amoung volné dny (zelená). Vybrané dny jsou v modré barvě. Můžete zrušit výběr den předem zvolenou opětovným kliknutím na něj
RemoveAllDays=Odstraňte všechny dny
CopyHoursOfFirstDay=Kopírování hodin prvního dne
@ -43,7 +39,6 @@ YesNoList=List (prázdný / ano / ne)
PourContreList=List (prázdný / pro / proti)
AddNewColumn=Přidat nový sloupec
TitleChoice=Volba štítek
InfoAfterCreate=Poté, co jste potvrdili vytvoření vašeho hlasování, budete automaticky přesměrováni na stránku vašeho hlasování. <br> Také byste měli obdržet e-mail s odkazem na vaše hlasování pro odeslání do voličů.
ExportSpreadsheet=Export výsledků tabulku
ExpireDate=Omezit datum
NbOfVoters=Nb voličů
@ -57,7 +52,6 @@ VoteNameAlreadyExists=Tento název již byl použit při tomto hlasování
ErrorPollDoesNotExists=Chyba hlasování <strong>%s</strong> neexistuje.
OpenSurveyNothingToSetup=Neexistuje žádné specifické nastavení dělat.
PollWillExpire=Váš průzkum skončí automaticky <strong>%s</strong> dní po posledním dni svého hlasování.
RemovalDate=Odstranění data
AddADate=Přidat datum
AddStartHour=Přidat začít hodinu
AddEndHour=Přidat end hodinu
@ -66,4 +60,3 @@ NoCommentYet=Žádné komentáře byly zveřejněny na tuto anketu ještě
CanEditVotes=Může změnit hlas ostatních
SelectDayDesc=Pro každý vybraný den, můžete si vybrat, zda se mají splnit hodin v následujícím formátu: <br> - Prázdné, <br> - &quot;8h&quot;, &quot;8H&quot; nebo &quot;8:00&quot; dát schůzku v úvodní hodinu, <br> - &quot;8-11&quot;, &quot;8h-11h&quot;, &quot;8H-11H&quot; nebo &quot;08:00-11:00&quot; dát schůzku je začátek a konec hodiny, <br> - &quot;8h15-11h15&quot;, &quot;8H15-11h15&quot; nebo &quot;08:15-11:15&quot; to samé, ale v minutách.
BackToCurrentMonth=Zpět na aktuální měsíc
PublicLinkToCreateSurvey=Veřejné odkaz dovolit každý vytvořit průzkum

View File

@ -11,14 +11,10 @@
# PollTitle=Poll title
# OpenSurveyYourName=Your name
# OpenSurveyYourEMail=Your email address
# VotersCanModify=Voters can modify vote of others
# ToReceiveEMailForEachVote=To receive an email for each vote
# TypeDate=Type date
# TypeClassic=Type standard
# YouAreInPollCreateArea=You are in the poll creation section
# FieldMandatory=Field mandatory
# OpenSurveyDesc=Online service to plan a rendez-vous or do a survey quickly and easily.
# OpenSurveyNoRegistration=No registration required.
# OpenSurveyStep2=Select your dates amoung the free days (green). The selected days are in blue. You can unselect a day previously selected by clicking again on it
# RemoveAllDays=Remove all days
# CopyHoursOfFirstDay=Copy hours of first day
@ -43,7 +39,6 @@
# PourContreList=List (empty/for/against)
# AddNewColumn=Add new column
# TitleChoice=Choice label
# InfoAfterCreate=Once you have confirmed the creation of your poll, you will be automatically redirected on the page of your poll.<br>You should also receive an email with link to your poll for sending it to the voters.
# ExportSpreadsheet=Export result spreadsheet
ExpireDate=Limit dato
# NbOfVoters=Nb of voters
@ -57,7 +52,6 @@ ExpireDate=Limit dato
# ErrorPollDoesNotExists=Error, poll <strong>%s</strong> does not exists.
# OpenSurveyNothingToSetup=There is no specific setup to do.
# PollWillExpire=Your poll will expire automatically <strong>%s</strong> days after the last date of your poll.
# RemovalDate=Removal date
# AddADate=Add a date
# AddStartHour=Add start hour
# AddEndHour=Add end hour
@ -66,4 +60,3 @@ ExpireDate=Limit dato
# CanEditVotes=Can change vote of others
# SelectDayDesc=For each selected day, you can choose, or not, meeting hours in the following format :<br>- empty,<br>- "8h", "8H" or "8:00" to give a meeting's start hour,<br>- "8-11", "8h-11h", "8H-11H" or "8:00-11:00" to give a meeting's start and end hour,<br>- "8h15-11h15", "8H15-11H15" or "8:15-11:15" for the same thing but with minutes.
# BackToCurrentMonth=Back to current month
# PublicLinkToCreateSurvey=Public link to allow everybody to create a survey

View File

@ -11,14 +11,10 @@ CreatePoll=Abstimmung erstellen
PollTitle=Abstimmungstitel
OpenSurveyYourName=Ihr Name
OpenSurveyYourEMail=Ihre E-Mail-Adresse
VotersCanModify=Wähler können Stimmen von Anderen verändern
ToReceiveEMailForEachVote=EMail für jede Stimme erhalten
TypeDate=Typ Datum
TypeClassic=Typ Standard
YouAreInPollCreateArea=Du bist im Abschnitt "Abstimmung erstellen"
FieldMandatory=Feld zwingend nötig
OpenSurveyDesc=Online-Service um eine Verabredung oder eine Umfrage schnell und einfach zu erstellen
OpenSurveyNoRegistration=Keine Registrierung benötigt.
OpenSurveyStep2=Wähle Deine Daten unter den freien Tagen (grün). Die ausgewählten Tage erscheinen blau. Du kannst einen bereits ausgewählten Tag durch anklicken wieder abwählen.
RemoveAllDays=Alle Tage entfernen
CopyHoursOfFirstDay=Stunden vom ersten Tag kopieren
@ -43,7 +39,6 @@ YesNoList=Liste (leer/ja/nein)
PourContreList=Liste (leer/dafür/dagegen)
AddNewColumn=Neue Spalte hinzufügen
TitleChoice=Beschreibung wählen
InfoAfterCreate=Nach der Bestätigungen zum Erstellen der Abstimmung wirst Du automatisch auf die Seite mit der Abstimmung weitergeleitet.<br>Du solltest auch ein Email mit einem Link zur Abstimmung erhalten, welches Du an die Wähler schicken kannst.
ExportSpreadsheet=Exportiere Resultattabelle
ExpireDate=Frist
NbOfVoters=Anzahl Wähler
@ -57,7 +52,6 @@ VoteNameAlreadyExists=Dieser Name wurde für diese Abstimmung schon benutzt
ErrorPollDoesNotExists=Fehler, Umfrage <strong>%s</strong> existiert nicht.
OpenSurveyNothingToSetup=Es gibt nichts Spezielles zu konfigurieren.
PollWillExpire=Deine Abstimmung endet automatisch nach <strong>%s</strong> Tagen nach dem letzten Abstimmungstag.
RemovalDate=Entferndatum
AddADate=Datum hinzufügen
AddStartHour=Startzeit hinzufügen
AddEndHour=Endzeit hinzufügen
@ -66,4 +60,3 @@ NoCommentYet=Bisher gibt es keine Kommentare für diese Abstimmung
CanEditVotes=Kann Stimmen von Anderen verändern
SelectDayDesc=Für jeden ausgewählen Tag kann man die Besprechungszeiten im folgenden Format auswählen:<br>- leer,<br>- "8h", "8H" oder "8:00" für eine Besprechungs-Startzeit,<br>- "8-11", "8h-11h", "8H-11H" oder "8:00-11:00" für eine Besprechungs-Start und -Endzeit,<br>- "8h15-11h15", "8H15-11H15" oder "8:15-11:15" für das Gleiche aber mit Minuten.
BackToCurrentMonth=Zurück zum aktuellen Monat
PublicLinkToCreateSurvey=Öffentlicher Link mit dem Jeder eine Umfrage erstellen kann

View File

@ -11,14 +11,10 @@ CreatePoll=Δημιουργία δημοσκόπησης
PollTitle=Τίτλος δημοσκόπησης
OpenSurveyYourName=Το όνομά σας
OpenSurveyYourEMail=Η διεύθυνση email σας
VotersCanModify=Οι ψηφοφόροι μπορούν να τροποποιήσουν την ψήφο των άλλων
ToReceiveEMailForEachVote=Να λαμβάνετε ένα μήνυμα ηλεκτρονικού ταχυδρομείου για κάθε ψηφοφορία
TypeDate=Ημερομηνία
TypeClassic=Πρότυπο
YouAreInPollCreateArea=Βρίσκεστε στο τμήμα δημιουργίας δημοσκόπηση
FieldMandatory=Υποχρεωτικό πεδίο
OpenSurveyDesc=On-line υπηρεσία για να προγραμματίσετε ένα ραντεβού ή να κάνετε μια έρευνα γρήγορα και εύκολα.
OpenSurveyNoRegistration=Δεν απαιτείται εγγραφή.
OpenSurveyStep2=Επιλέξτε τις ημερομηνίες σας ανάμεσα στις ελεύθερες ημέρες (πράσινο). Οι επιλεγμένες ημέρες είναι σε μπλε χρώμα. Μπορείτε να ακυρώσετε μια μέρα προηγουμένως επιλεγεί κάνοντας κλικ ξανά πάνω του
RemoveAllDays=Αφαιρέστε όλες τις ημέρες
CopyHoursOfFirstDay=Αντιγραφή ωρών της πρώτης ημέρας
@ -43,7 +39,6 @@ YesNoList=Λίστα (άδειο/ναι/όχι)
PourContreList=Λίστα (άδειο/για/από)
AddNewColumn=Προσθέσετε νέα στήλη
TitleChoice=Επιλέξτε ετικέτα
InfoAfterCreate=Αφού έχετε επιβεβαιώσει τη δημιουργία της δημοσκόπησης σας, θα μεταφερθείτε αυτόματα στη σελίδα της δημοσκόπησης σας.<br>Θα πρέπει επίσης να λάβετε ένα μήνυμα ηλεκτρονικού ταχυδρομείου με το σύνδεσμο στο δικό σας δημοψήφισμα για την αποστολή τους στους ψηφοφόρους.
ExportSpreadsheet=Εξαγωγή αποτελεσμάτων σε υπολογιστικό φύλλο
ExpireDate=Όριο ημερομηνίας
NbOfVoters=Αριθμός ψηφοφόρων
@ -57,7 +52,6 @@ VoteNameAlreadyExists=Το όνομα αυτό χρησιμοποιείται ή
ErrorPollDoesNotExists=Σφάλμα, δημοσκόπησης <strong>%s</strong> δεν υπάρχει.
OpenSurveyNothingToSetup=Δεν υπάρχει συγκεκριμένη ρύθμιση να κάνετε.
PollWillExpire=Δημοσκόπηση σας θα λήξει αυτόματα <strong>%s</strong> ημέρες μετά την τελευταία ημέρα της δημοσκόπησης σας.
RemovalDate=Ημερομηνία αφαίρεσης
AddADate=Προσθέσετε μια ημερομηνία
AddStartHour=Προσθέσετε ώρα έναρξη
AddEndHour=Προσθέσετε ώρα λήξης
@ -66,4 +60,3 @@ NoCommentYet=Δεν έχουν αναρτηθεί σχόλια για αυτή
CanEditVotes=Μπορεί να αλλάξει την ψήφο των άλλων
SelectDayDesc=For each selected day, you can choose, or not, meeting hours in the following format :<br>- empty,<br>- "8h", "8H" or "8:00" to give a meeting's start hour,<br>- "8-11", "8h-11h", "8H-11H" or "8:00-11:00" to give a meeting's start and end hour,<br>- "8h15-11h15", "8H15-11H15" or "8:15-11:15" for the same thing but with minutes.
BackToCurrentMonth=Πίσω στον τρέχοντα μήνα
PublicLinkToCreateSurvey=Κοινόχρηστους σύνδεσμος για να επιτρέπει σε όλους να δημιουργούν μια έρευνα

View File

@ -18,7 +18,7 @@ BoxLastContracts=Last contracts
BoxLastContacts=Last contacts/addresses
BoxLastMembers=Last members
BoxFicheInter=Last interventions
BoxCurrentAccounts=Current accounts balance
BoxCurrentAccounts=Opened accounts balance
BoxSalesTurnover=Sales turnover
BoxTotalUnpaidCustomerBills=Total unpaid customer's invoices
BoxTotalUnpaidSuppliersBills=Total unpaid supplier's invoices
@ -43,7 +43,7 @@ BoxTitleLastModifiedMembers=Last %s modified members
BoxTitleLastFicheInter=Last %s modified intervention
BoxTitleOldestUnpaidCustomerBills=Oldest %s unpaid customer's invoices
BoxTitleOldestUnpaidSupplierBills=Oldest %s unpaid supplier's invoices
BoxTitleCurrentAccounts=Current account's balances
BoxTitleCurrentAccounts=Opened account's balances
BoxTitleSalesTurnover=Sales turnover
BoxTitleTotalUnpaidCustomerBills=Unpaid customer's invoices
BoxTitleTotalUnpaidSuppliersBills=Unpaid supplier's invoices

View File

@ -82,6 +82,7 @@ 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
##### Local Taxes #####
LocalTax1IsUsedES= RE is used
LocalTax1IsNotUsedES= RE is not used

View File

@ -160,9 +160,9 @@ AccountancyDashboard=Accountancy summary
ByProductsAndServices=By products and services
RefExt=External ref
ToCreateAPredefinedInvoice=To create a predefined invoice, create a standard invoice then, without validating it, click onto button "Convert to predefined invoice".
LinkedOrder=linked to command
LinkedOrder=linked to order
ReCalculate=Recalculate
Mode1=Methode 1
Mode1=Method 1
Mode2=Method 2
CalculationRuleDesc=To calculate total VAT, there is two methods:<br>Method 1 is rounding vat on each line, then summing them.<br>Method 2 is summing all vat on each line, then rounding result.<br>Final result may differs from few cents. Default mode is mode <b>%s</b>.
CalculationRuleDescSupplier=according to supplier, choose appropriate method to apply same calculation rule and get same result expected by your supplier.

View File

@ -37,6 +37,7 @@ ErrorBadParameters=Bad parameters
ErrorBadValueForParameter=Wrong value '%s' for parameter incorrect '%s'
ErrorBadImageFormat=Image file has not a supported format
ErrorBadDateFormat=Value '%s' has wrong date format
ErrorWrongDate=Date is not correct!
ErrorFailedToWriteInDir=Failed to write in directory %s
ErrorFoundBadEmailInFile=Found incorrect email syntax for %s lines in file (example line %s with email=%s)
ErrorUserCannotBeDelete=User can not be deleted. May be it is associated on Dolibarr entities.
@ -63,7 +64,7 @@ ErrorNoValueForRadioType=Please fill value for radio list
ErrorBadFormatValueList=The list value cannot have more than one come : <u>%s</u>, but need at least one: llave,valores
ErrorFieldCanNotContainSpecialCharacters=Field <b>%s</b> must not contains special characters.
ErrorNoAccountancyModuleLoaded=No accountancy module activated
ErrorExportDuplicateProfil=This profil name already exists for this export set.
ErrorExportDuplicateProfil=This profile name already exists for this export set.
ErrorLDAPSetupNotComplete=Dolibarr-LDAP matching is not complete.
ErrorLDAPMakeManualTest=A .ldif file has been generated in directory %s. Try to load it manually from command line to have more information on errors.
ErrorCantSaveADoneUserWithZeroPercentage=Can't save an action with "statut not started" if field "done by" is also filled.
@ -127,6 +128,7 @@ ErrorPaymentModeDefinedToWithoutSetup=A payment mode was set to type %s but setu
ErrorPHPNeedModule=Error, your PHP must have module <b>%s</b> installed to use this feature.
ErrorOpenIDSetupNotComplete=You setup Dolibarr config file to allow OpenID authentication, but URL of OpenID service is not defined into constant %s
ErrorWarehouseMustDiffers=Source and target warehouses must differs
ErrorBadFormat=Bad format!
# Warnings
WarningMandatorySetupNotComplete=Mandatory setup parameters are not yet defined
@ -143,4 +145,4 @@ WarningUntilDirRemoved=All security warnings (visible by admin users only) will
WarningCloseAlways=Warning, closing is done even if amount differs between source and target elements. Enable this feature with caution.
WarningUsingThisBoxSlowDown=Warning, using this box slow down seriously all pages showing the box.
WarningClickToDialUserSetupNotComplete=Setup of ClickToDial information for your user are not complete (see tab ClickToDial onto your user card).
WarningNotRelevant=Irrelevant operation for this dataset
WarningNotRelevant=Irrelevant operation for this dataset

View File

@ -9,16 +9,9 @@ AddACommentForPoll=You can add a comment into survey...
AddComment=Add comment
CreatePoll=Create poll
PollTitle=Poll title
OpenSurveyYourName=Your name
OpenSurveyYourEMail=Your email address
VotersCanModify=Voters can modify vote of others
ToReceiveEMailForEachVote=To receive an email for each vote
TypeDate=Type date
TypeClassic=Type standard
YouAreInPollCreateArea=You are in the poll creation section
FieldMandatory=Field mandatory
OpenSurveyDesc=Online service to plan a rendez-vous or do a survey quickly and easily.
OpenSurveyNoRegistration=No registration required.
OpenSurveyStep2=Select your dates amoung the free days (green). The selected days are in blue. You can unselect a day previously selected by clicking again on it
RemoveAllDays=Remove all days
CopyHoursOfFirstDay=Copy hours of first day
@ -27,15 +20,12 @@ SelectedDays=Selected days
TheBestChoice=The best choice currently is
TheBestChoices=The best choices currently are
with=with
OpenSurveyHowTo=If you agree to vote in this poll, you have to give your name, choose the values that fit best for you (without paying attention to the choices of the other voters) and validate with the plus button at the end of the line.
InitiatorOfPoll=Initiator of the poll
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.
CommentsOfVoters=Comments of voters
ConfirmRemovalOfPoll=Are you sure you want to remove this poll (and all votes)
RemovePoll=Remove poll
PollManagement=Polls management
BackToHoursSetup=Back to hours setup
UrlForSurvey=URL to communicate to get a direct access to survey
PollOnChoice=Your are creating a poll to make a multi-choice for a poll. First enter all possible choices for your poll:
PollOnChoice=You are creating a poll to make a multi-choice for a poll. First enter all possible choices for your poll:
CreateSurveyDate=Create a date survey
CreateSurveyStandard=Create a standard survey
CheckBox=Simple checkbox
@ -43,7 +33,6 @@ YesNoList=List (empty/yes/no)
PourContreList=List (empty/for/against)
AddNewColumn=Add new column
TitleChoice=Choice label
InfoAfterCreate=Once you have confirmed the creation of your poll, you will be automatically redirected on the page of your poll.<br>You should also receive an email with link to your poll for sending it to the voters.
ExportSpreadsheet=Export result spreadsheet
ExpireDate=Limit date
NbOfVoters=Nb of voters
@ -57,13 +46,20 @@ VoteNameAlreadyExists=This name was already used for this poll
ErrorPollDoesNotExists=Error, poll <strong>%s</strong> does not exists.
OpenSurveyNothingToSetup=There is no specific setup to do.
PollWillExpire=Your poll will expire automatically <strong>%s</strong> days after the last date of your poll.
RemovalDate=Removal date
AddADate=Add a date
AddStartHour=Add start hour
AddEndHour=Add end hour
votes=vote(s)
NoCommentYet=No comments have been posted for this poll yet
CanEditVotes=Can change vote of others
CanComment=Voters can comment in the poll
CanSeeOthersVote=Voters can see other people's vote
SelectDayDesc=For each selected day, you can choose, or not, meeting hours in the following format :<br>- empty,<br>- "8h", "8H" or "8:00" to give a meeting's start hour,<br>- "8-11", "8h-11h", "8H-11H" or "8:00-11:00" to give a meeting's start and end hour,<br>- "8h15-11h15", "8H15-11H15" or "8:15-11:15" for the same thing but with minutes.
BackToCurrentMonth=Back to current month
PublicLinkToCreateSurvey=Public link to allow everybody to create a survey
ErrorOpenSurveyFillFirstSection=You haven't filled the first section of the poll creation
ErrorOpenSurveyOneChoice=Enter at least one choice
ErrorOpenSurveyDateFormat=Date must be have the format DD/MM/YYYY
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

View File

@ -11,14 +11,10 @@ CreatePoll=Crear encuesta
PollTitle=Título de la encuesta
OpenSurveyYourName=Su nombre
OpenSurveyYourEMail=Su dirección de correo electrónico
VotersCanModify=Los votantes pueden modificar el voto de otros
ToReceiveEMailForEachVote=Para recibir un email por cada voto
TypeDate=Tipo fecha
TypeClassic=Tipo estándar
YouAreInPollCreateArea=Está en la sección de creación de encuestas
FieldMandatory=Campo obligatorio
OpenSurveyDesc=Servicio online para planificar una cita o elaborar una encuesta de forma fácil y rápida.
OpenSurveyNoRegistration=Sin registro requerido.
OpenSurveyStep2=Seleccione sus fechas de entre los días libres (verdes). Los días seleccionados son de color azul. Puede seleccionar un día previamente seleccionado haciendo click de nuevo en él
RemoveAllDays=Eliminar todos los días
CopyHoursOfFirstDay=Copiar horas del primer día
@ -43,7 +39,6 @@ YesNoList=Lista (vacío/sí/no)
PourContreList=Lista (vacío/a favor/en contra)
AddNewColumn=Añadir nueva columna
TitleChoice=Título de la opción
InfoAfterCreate=Una vez haya confirmado la creación de su encuesta, será redirigido automáticamente a la página de su encuesta.<br>También recibirá un email con un enlace a su encuesta para enviárselo a los votantes.
ExportSpreadsheet=Exportar resultados a una hoja de cálculo
ExpireDate=Fecha límite
NbOfVoters=Núm. de votantes
@ -57,7 +52,6 @@ VoteNameAlreadyExists=Este nombre ya había sido usado para esta encuesta
ErrorPollDoesNotExists=Error, la encuesta <strong>%s</strong> no existe.
OpenSurveyNothingToSetup=No hay una configuración específica que hacer.
PollWillExpire=Su encuesta expirará automáticamente <strong>%s</strong> días después de la última fecha de su encuesta.
RemovalDate=Fecha de eliminación
AddADate=Añadir una fecha
AddStartHour=Añadir hora de inicio
AddEndHour=Añadir hora de fin
@ -66,4 +60,3 @@ NoCommentYet=Ningún comentario ha sido publicado todavía para esta encuesta
CanEditVotes=Puede cambiar el voto de otros
SelectDayDesc=Para cada día seleccionado, puede elegir, o no, las horas de reunión en el siguiente formato:<br>- vacío,<br>- "8h", "8H" o "8:00" para proporcionar una hora de inicio de la reunión,<br>- "8-11", "8h-11h", "8H-11H" o "8:00-11:00" para proporcionar una hora de inicio y de fin de la reunión,<br>- "8h15-11h15", "8H15-11H15" or "8:15-11:15" para lo mismo pero con minutos.
BackToCurrentMonth=Volver al mes actual
PublicLinkToCreateSurvey=Enlace público que permite a cualquiera crear una encuesta

View File

@ -11,14 +11,10 @@ CreatePoll=Loo küsitlus
PollTitle=Küsitluse pealkiri
OpenSurveyYourName=Sinu nimi
OpenSurveyYourEMail=Sinu e-posti aadress
VotersCanModify=Hääletajad saavad teiste hääli muuta
ToReceiveEMailForEachVote=Iga hääle kohta saadetakse e-kiri
TypeDate=Liik: kuupäev
TypeClassic=Liik: standardne
YouAreInPollCreateArea=Oled küsitluse loomise sektsioonis
FieldMandatory=Kohustuslik väli
OpenSurveyDesc=Online teenus kohtumise planeerimiseks või kiiresti ja lihtsalt uuringu läbi viimiseks.
OpenSurveyNoRegistration=Registreerimine pole nõutud.
OpenSurveyStep2=Vali kuupäevad vabade päevade seas (rohelised). Valitud päevad on märgitud sinisega. Eelnevalt valitud päevalt saab valiku maha võtta sellel klõpsates
RemoveAllDays=Eemalda kõik päevad
CopyHoursOfFirstDay=Kopeeri esimese päeva tunnid
@ -43,7 +39,6 @@ YesNoList=Nimekiri (tühi/jah/ei)
PourContreList=Nimekiri (tühi/poolt/vastu)
AddNewColumn=Lisa uus veerg
TitleChoice=Valiku silt
InfoAfterCreate=Pärast küsitluse loomise kinnitamist suunatakse Sind automaatselt küsitluse lehele.<br>Samuti peaks Sinuni jõudma e-kiri lingiga küsitlusele, et küsitlust teistele jagada.
ExportSpreadsheet=Ekspordi tulemuste tabel
ExpireDate=Piira kuupäevaga
NbOfVoters=Hääletajaid
@ -57,7 +52,6 @@ VoteNameAlreadyExists=Sellele küsitlusele vastamiseks on seda nime juba kasutat
ErrorPollDoesNotExists=Viga: küsitlust nimega <strong>%s</strong> ei ole
OpenSurveyNothingToSetup=Pole erilist seadistust, mida teha.
PollWillExpire=Sinu küsitlus aegub automaatselt <strong>%s</strong> päeva pärast viimast vastust.
RemovalDate=Kustutamise kuupäev
AddADate=Lisa kuupäev
AddStartHour=Lisa alustamise kellaaeg
AddEndHour=Lisa lõpetamise kellaaeg
@ -66,4 +60,3 @@ NoCommentYet=Sellele küsitlusel ei ole veel ühtki kommentaari
CanEditVotes=Saab teiste hääli muuta
SelectDayDesc=Iga valitud päeva kohta võid, aga ei pea, lisada sobivaid kellaaegasid järgnevas formaadis::<br>- tühi,<br>- "8h", "8H" või "8:00" kohtumise alustamise kellaajaks,<br>- "8-11", "8h-11h", "8H-11H" või "8:00-11:00" kohtumise alustamise ja lõpu kellaajaks,<br>- "8h15-11h15", "8H15-11H15" või "8:15-11:15" on sama, mis eelmine, aga minutitega.
BackToCurrentMonth=Tagasi praegusesse kuusse
PublicLinkToCreateSurvey=Avalik link, mis võimaldab igaühel uuringut luua

View File

@ -11,14 +11,10 @@
# PollTitle=Poll title
# OpenSurveyYourName=Your name
# OpenSurveyYourEMail=Your email address
# VotersCanModify=Voters can modify vote of others
# ToReceiveEMailForEachVote=To receive an email for each vote
# TypeDate=Type date
# TypeClassic=Type standard
# YouAreInPollCreateArea=You are in the poll creation section
# FieldMandatory=Field mandatory
# OpenSurveyDesc=Online service to plan a rendez-vous or do a survey quickly and easily.
# OpenSurveyNoRegistration=No registration required.
# OpenSurveyStep2=Select your dates amoung the free days (green). The selected days are in blue. You can unselect a day previously selected by clicking again on it
# RemoveAllDays=Remove all days
# CopyHoursOfFirstDay=Copy hours of first day
@ -43,7 +39,6 @@
# PourContreList=List (empty/for/against)
# AddNewColumn=Add new column
# TitleChoice=Choice label
# InfoAfterCreate=Once you have confirmed the creation of your poll, you will be automatically redirected on the page of your poll.<br>You should also receive an email with link to your poll for sending it to the voters.
# ExportSpreadsheet=Export result spreadsheet
ExpireDate=الحد من التاريخ
# NbOfVoters=Nb of voters
@ -57,7 +52,6 @@ ExpireDate=الحد من التاريخ
# ErrorPollDoesNotExists=Error, poll <strong>%s</strong> does not exists.
# OpenSurveyNothingToSetup=There is no specific setup to do.
# PollWillExpire=Your poll will expire automatically <strong>%s</strong> days after the last date of your poll.
# RemovalDate=Removal date
# AddADate=Add a date
# AddStartHour=Add start hour
# AddEndHour=Add end hour
@ -66,4 +60,3 @@ ExpireDate=الحد من التاريخ
# CanEditVotes=Can change vote of others
# SelectDayDesc=For each selected day, you can choose, or not, meeting hours in the following format :<br>- empty,<br>- "8h", "8H" or "8:00" to give a meeting's start hour,<br>- "8-11", "8h-11h", "8H-11H" or "8:00-11:00" to give a meeting's start and end hour,<br>- "8h15-11h15", "8H15-11H15" or "8:15-11:15" for the same thing but with minutes.
# BackToCurrentMonth=Back to current month
# PublicLinkToCreateSurvey=Public link to allow everybody to create a survey

View File

@ -11,14 +11,10 @@
# PollTitle=Poll title
# OpenSurveyYourName=Your name
# OpenSurveyYourEMail=Your email address
# VotersCanModify=Voters can modify vote of others
# ToReceiveEMailForEachVote=To receive an email for each vote
# TypeDate=Type date
# TypeClassic=Type standard
# YouAreInPollCreateArea=You are in the poll creation section
# FieldMandatory=Field mandatory
# OpenSurveyDesc=Online service to plan a rendez-vous or do a survey quickly and easily.
# OpenSurveyNoRegistration=No registration required.
# OpenSurveyStep2=Select your dates amoung the free days (green). The selected days are in blue. You can unselect a day previously selected by clicking again on it
# RemoveAllDays=Remove all days
# CopyHoursOfFirstDay=Copy hours of first day
@ -43,7 +39,6 @@
# PourContreList=List (empty/for/against)
# AddNewColumn=Add new column
# TitleChoice=Choice label
# InfoAfterCreate=Once you have confirmed the creation of your poll, you will be automatically redirected on the page of your poll.<br>You should also receive an email with link to your poll for sending it to the voters.
# ExportSpreadsheet=Export result spreadsheet
ExpireDate=Raja-päivämäärä
# NbOfVoters=Nb of voters
@ -57,7 +52,6 @@ ExpireDate=Raja-päivämäärä
# ErrorPollDoesNotExists=Error, poll <strong>%s</strong> does not exists.
# OpenSurveyNothingToSetup=There is no specific setup to do.
# PollWillExpire=Your poll will expire automatically <strong>%s</strong> days after the last date of your poll.
# RemovalDate=Removal date
# AddADate=Add a date
# AddStartHour=Add start hour
# AddEndHour=Add end hour
@ -66,4 +60,3 @@ ExpireDate=Raja-päivämäärä
# CanEditVotes=Can change vote of others
# SelectDayDesc=For each selected day, you can choose, or not, meeting hours in the following format :<br>- empty,<br>- "8h", "8H" or "8:00" to give a meeting's start hour,<br>- "8-11", "8h-11h", "8H-11H" or "8:00-11:00" to give a meeting's start and end hour,<br>- "8h15-11h15", "8H15-11H15" or "8:15-11:15" for the same thing but with minutes.
# BackToCurrentMonth=Back to current month
# PublicLinkToCreateSurvey=Public link to allow everybody to create a survey

View File

@ -18,7 +18,7 @@ BoxLastContracts=Derniers contrats
BoxLastContacts=Derniers contacts/adresses
BoxLastMembers=Derniers adhérents modifiés
BoxFicheInter=Dernières fiches d'intervention modifiées
BoxCurrentAccounts=Soldes des comptes courants
BoxCurrentAccounts=Soldes des comptes ouverts
BoxSalesTurnover=Chiffre d'affaires
BoxTotalUnpaidCustomerBills=Total des factures clients impayées
BoxTotalUnpaidSuppliersBills=Total des factures fournisseurs impayées
@ -43,7 +43,7 @@ BoxTitleLastModifiedMembers=Les %s derniers adhérents modifiés
BoxTitleLastFicheInter=Les %s dernières fiches d'intervention modifiées
BoxTitleOldestUnpaidCustomerBills=Les %s plus anciennes factures clients impayées
BoxTitleOldestUnpaidSupplierBills=Les %s plus anciennes factures fournisseurs impayées
BoxTitleCurrentAccounts=Les soldes des comptes courants
BoxTitleCurrentAccounts=Les soldes des comptes ouverts
BoxTitleSalesTurnover=Le chiffre d'affaires réalisé
BoxTitleTotalUnpaidCustomerBills=Impayés clients
BoxTitleTotalUnpaidSuppliersBills=Impayés fournisseurs

View File

@ -11,14 +11,10 @@ CreatePoll=Créer sondage
PollTitle=Titre sondage
OpenSurveyYourName=Votre nom
OpenSurveyYourEMail=Votre adresse email
VotersCanModify=Les votants peuvent modifier les votes des autres
ToReceiveEMailForEachVote=Pour recevoir un email à chaque vote
TypeDate=Type date
TypeClassic=Type classique
YouAreInPollCreateArea=Vous êtes dans l'espace de création de sondage
FieldMandatory=Champ obligatoire
OpenSurveyDesc=Service en ligne permettant de planifier un rendez-vous ou réaliser un sondage rapidement et simplement.
OpenSurveyNoRegistration=Aucune inscription préalable n'est nécessaire.
OpenSurveyStep2=Sélectionner les dates parmi les jours libres (en vert). Les jours sélectionné sont bleus. Vous pouvez désélectionner un jour en cliquant à nouveau dessus.
RemoveAllDays=Efface tous les jours
CopyHoursOfFirstDay=Copier heures du premier jour
@ -43,7 +39,6 @@ YesNoList=Liste (vide/oui/non)
PourContreList=Liste (vide/pour/contre)
AddNewColumn=Ajouter nouvelle colonne
TitleChoice=Libellé du choix
InfoAfterCreate=Une fois la confirmation de la création de votre sondage réalisée, vous serez redirigé vers la page de vote du sondage.<br>Vous devriez de plus recevoir un email avec le lien de la page sondage pour diffusion auprès des votants.
ExportSpreadsheet=Exporter feuille de résultats
ExpireDate=Date expiration
NbOfVoters=Nombre de votants
@ -57,7 +52,6 @@ VoteNameAlreadyExists=Ce nom a déjà été utilisé pour ce vote
ErrorPollDoesNotExists=Erreur, le sondage <strong>%s</strong> n'existe pas.
OpenSurveyNothingToSetup=Aucune configuration particulière n'est requise.
PollWillExpire=Ce sondage expirera automatiquement <strong>%s</strong> jours après la date de dernier choix.
RemovalDate=Date de retrait
AddADate=Ajouter une date
AddStartHour=Ajouter heure de début
AddEndHour=Ajouter heure de fin
@ -66,4 +60,3 @@ NoCommentYet=Pas de commentaires laissés pour le moment sur ce sondage
CanEditVotes=Modification des votes des autres autorisés
SelectDayDesc=Pour chaque jour, vous pouvez choisir, ou pas, les heures au format suivant :<br>- laisser vide,<br>- "8h", "8H" ou "8:00" pour définir uniquement une heure de début,<br>- "8-11", "8h-11h", "8H-11H" ou "8:00-11:00" pour définir une heure de début et de fin,<br>- "8h15-11h15", "8H15-11H15" ou "8:15-11:15" pour définir une heure de début et fin avec précision sur les minutes.
BackToCurrentMonth=Retour au mois en cours
PublicLinkToCreateSurvey=Lien publique pour permettre à tout le monde de créer un sondage

View File

@ -11,14 +11,10 @@
# PollTitle=Poll title
# OpenSurveyYourName=Your name
# OpenSurveyYourEMail=Your email address
# VotersCanModify=Voters can modify vote of others
# ToReceiveEMailForEachVote=To receive an email for each vote
# TypeDate=Type date
# TypeClassic=Type standard
# YouAreInPollCreateArea=You are in the poll creation section
# FieldMandatory=Field mandatory
# OpenSurveyDesc=Online service to plan a rendez-vous or do a survey quickly and easily.
# OpenSurveyNoRegistration=No registration required.
# OpenSurveyStep2=Select your dates amoung the free days (green). The selected days are in blue. You can unselect a day previously selected by clicking again on it
# RemoveAllDays=Remove all days
# CopyHoursOfFirstDay=Copy hours of first day
@ -43,7 +39,6 @@
# PourContreList=List (empty/for/against)
# AddNewColumn=Add new column
# TitleChoice=Choice label
# InfoAfterCreate=Once you have confirmed the creation of your poll, you will be automatically redirected on the page of your poll.<br>You should also receive an email with link to your poll for sending it to the voters.
# ExportSpreadsheet=Export result spreadsheet
# ExpireDate=Limit date
# NbOfVoters=Nb of voters
@ -57,7 +52,6 @@
# ErrorPollDoesNotExists=Error, poll <strong>%s</strong> does not exists.
# OpenSurveyNothingToSetup=There is no specific setup to do.
# PollWillExpire=Your poll will expire automatically <strong>%s</strong> days after the last date of your poll.
# RemovalDate=Removal date
# AddADate=Add a date
# AddStartHour=Add start hour
# AddEndHour=Add end hour
@ -66,4 +60,3 @@
# CanEditVotes=Can change vote of others
# SelectDayDesc=For each selected day, you can choose, or not, meeting hours in the following format :<br>- empty,<br>- "8h", "8H" or "8:00" to give a meeting's start hour,<br>- "8-11", "8h-11h", "8H-11H" or "8:00-11:00" to give a meeting's start and end hour,<br>- "8h15-11h15", "8H15-11H15" or "8:15-11:15" for the same thing but with minutes.
# BackToCurrentMonth=Back to current month
# PublicLinkToCreateSurvey=Public link to allow everybody to create a survey

View File

@ -11,14 +11,10 @@
# PollTitle=Poll title
# OpenSurveyYourName=Your name
# OpenSurveyYourEMail=Your email address
# VotersCanModify=Voters can modify vote of others
# ToReceiveEMailForEachVote=To receive an email for each vote
# TypeDate=Type date
# TypeClassic=Type standard
# YouAreInPollCreateArea=You are in the poll creation section
# FieldMandatory=Field mandatory
# OpenSurveyDesc=Online service to plan a rendez-vous or do a survey quickly and easily.
# OpenSurveyNoRegistration=No registration required.
# OpenSurveyStep2=Select your dates amoung the free days (green). The selected days are in blue. You can unselect a day previously selected by clicking again on it
# RemoveAllDays=Remove all days
# CopyHoursOfFirstDay=Copy hours of first day
@ -43,7 +39,6 @@
# PourContreList=List (empty/for/against)
# AddNewColumn=Add new column
# TitleChoice=Choice label
# InfoAfterCreate=Once you have confirmed the creation of your poll, you will be automatically redirected on the page of your poll.<br>You should also receive an email with link to your poll for sending it to the voters.
# ExportSpreadsheet=Export result spreadsheet
ExpireDate=Dátum korlást
# NbOfVoters=Nb of voters
@ -57,7 +52,6 @@ ExpireDate=Dátum korlást
# ErrorPollDoesNotExists=Error, poll <strong>%s</strong> does not exists.
# OpenSurveyNothingToSetup=There is no specific setup to do.
# PollWillExpire=Your poll will expire automatically <strong>%s</strong> days after the last date of your poll.
# RemovalDate=Removal date
# AddADate=Add a date
# AddStartHour=Add start hour
# AddEndHour=Add end hour
@ -66,4 +60,3 @@ ExpireDate=Dátum korlást
# CanEditVotes=Can change vote of others
# SelectDayDesc=For each selected day, you can choose, or not, meeting hours in the following format :<br>- empty,<br>- "8h", "8H" or "8:00" to give a meeting's start hour,<br>- "8-11", "8h-11h", "8H-11H" or "8:00-11:00" to give a meeting's start and end hour,<br>- "8h15-11h15", "8H15-11H15" or "8:15-11:15" for the same thing but with minutes.
# BackToCurrentMonth=Back to current month
# PublicLinkToCreateSurvey=Public link to allow everybody to create a survey

View File

@ -11,14 +11,10 @@
# PollTitle=Poll title
# OpenSurveyYourName=Your name
# OpenSurveyYourEMail=Your email address
# VotersCanModify=Voters can modify vote of others
# ToReceiveEMailForEachVote=To receive an email for each vote
# TypeDate=Type date
# TypeClassic=Type standard
# YouAreInPollCreateArea=You are in the poll creation section
# FieldMandatory=Field mandatory
# OpenSurveyDesc=Online service to plan a rendez-vous or do a survey quickly and easily.
# OpenSurveyNoRegistration=No registration required.
# OpenSurveyStep2=Select your dates amoung the free days (green). The selected days are in blue. You can unselect a day previously selected by clicking again on it
# RemoveAllDays=Remove all days
# CopyHoursOfFirstDay=Copy hours of first day
@ -43,7 +39,6 @@
# PourContreList=List (empty/for/against)
# AddNewColumn=Add new column
# TitleChoice=Choice label
# InfoAfterCreate=Once you have confirmed the creation of your poll, you will be automatically redirected on the page of your poll.<br>You should also receive an email with link to your poll for sending it to the voters.
# ExportSpreadsheet=Export result spreadsheet
ExpireDate=Takmarka dagsetningu
# NbOfVoters=Nb of voters
@ -57,7 +52,6 @@ ExpireDate=Takmarka dagsetningu
# ErrorPollDoesNotExists=Error, poll <strong>%s</strong> does not exists.
# OpenSurveyNothingToSetup=There is no specific setup to do.
# PollWillExpire=Your poll will expire automatically <strong>%s</strong> days after the last date of your poll.
# RemovalDate=Removal date
# AddADate=Add a date
# AddStartHour=Add start hour
# AddEndHour=Add end hour
@ -66,4 +60,3 @@ ExpireDate=Takmarka dagsetningu
# CanEditVotes=Can change vote of others
# SelectDayDesc=For each selected day, you can choose, or not, meeting hours in the following format :<br>- empty,<br>- "8h", "8H" or "8:00" to give a meeting's start hour,<br>- "8-11", "8h-11h", "8H-11H" or "8:00-11:00" to give a meeting's start and end hour,<br>- "8h15-11h15", "8H15-11H15" or "8:15-11:15" for the same thing but with minutes.
# BackToCurrentMonth=Back to current month
# PublicLinkToCreateSurvey=Public link to allow everybody to create a survey

View File

@ -11,14 +11,10 @@ CreatePoll=Crea sondaggio
PollTitle=Titolo del sondaggio
OpenSurveyYourName=Il tuo nome
OpenSurveyYourEMail=Il tuo indirizzo email
VotersCanModify=I votanti possono modificare il voto degli altri
ToReceiveEMailForEachVote=Per ricevere un'email per ogni voto
TypeDate=Digita data
TypeClassic=Tipo standard
YouAreInPollCreateArea=Sei nella sezione di creazione sondaggi
FieldMandatory=Campo obbligatorio
OpenSurveyDesc=Servizio online per pianificare incontri o fare indagini velocemente e con facilità.
OpenSurveyNoRegistration=La registrazione non è necessaria
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
@ -43,7 +39,6 @@ YesNoList=Lista (vuota/sì/no)
PourContreList=Elenco (vuota/a favore/contro)
AddNewColumn=Aggiungi una colonna
TitleChoice=Scegli l'etichetta
InfoAfterCreate=Una volta convalidata la creazione del sondaggio, sarai reindirizzato automaticamente alla pagina del sondaggio.<br>Dovresti anche ricevere una email con il link del sondaggio da mandare ai votanti.
ExportSpreadsheet=Esporta su foglio elettronico
ExpireDate=Data limite
NbOfVoters=Num votanti
@ -57,7 +52,6 @@ VoteNameAlreadyExists=Questo nome è già stato usato in questo sondaggio
ErrorPollDoesNotExists=Errore, il sondaggio <strong>%s</strong>non esiste.
OpenSurveyNothingToSetup=Non ci sono configurazioni da fare.
PollWillExpire=Il sondaggio scadrà automaticamente<strong>%s</strong>giorni dopo la sua data finale.
RemovalDate=Data di cancellazione
AddADate=Aggiungi una data
AddStartHour=Aggiungi un'ora di partenza
AddEndHour=Aggiungi un'ora di fine
@ -66,4 +60,3 @@ NoCommentYet=Non è ancora stato inserito alcun commento su questo sondaggio
CanEditVotes=Puoi cambiare il voto degli altri
SelectDayDesc=Per ogni giorno selezionato, puoi scegliere o no, le ore di riunione nel formato seguente:<br>-vuoto,<br>-"8h", "8H" o "8:00"per definire un orario di inizio,<br>-"8-11", "8h-11h", "8H-11H" o "8:00-11:00" per fornire un orario di inizio e fine,<br>- "8h15-11h15", "8H15-11H15" o "8:15-11:15"la stessa cosa ma con i minuti.
BackToCurrentMonth=Torna al mese in corso
PublicLinkToCreateSurvey=Link pubblico per permettere a tutti di creare un'indagine

View File

@ -11,14 +11,10 @@
# PollTitle=Poll title
# OpenSurveyYourName=Your name
# OpenSurveyYourEMail=Your email address
# VotersCanModify=Voters can modify vote of others
# ToReceiveEMailForEachVote=To receive an email for each vote
# TypeDate=Type date
# TypeClassic=Type standard
# YouAreInPollCreateArea=You are in the poll creation section
# FieldMandatory=Field mandatory
# OpenSurveyDesc=Online service to plan a rendez-vous or do a survey quickly and easily.
# OpenSurveyNoRegistration=No registration required.
# OpenSurveyStep2=Select your dates amoung the free days (green). The selected days are in blue. You can unselect a day previously selected by clicking again on it
# RemoveAllDays=Remove all days
# CopyHoursOfFirstDay=Copy hours of first day
@ -43,7 +39,6 @@
# PourContreList=List (empty/for/against)
# AddNewColumn=Add new column
# TitleChoice=Choice label
# InfoAfterCreate=Once you have confirmed the creation of your poll, you will be automatically redirected on the page of your poll.<br>You should also receive an email with link to your poll for sending it to the voters.
# ExportSpreadsheet=Export result spreadsheet
ExpireDate=日付を制限する
# NbOfVoters=Nb of voters
@ -57,7 +52,6 @@ ExpireDate=日付を制限する
# ErrorPollDoesNotExists=Error, poll <strong>%s</strong> does not exists.
# OpenSurveyNothingToSetup=There is no specific setup to do.
# PollWillExpire=Your poll will expire automatically <strong>%s</strong> days after the last date of your poll.
# RemovalDate=Removal date
# AddADate=Add a date
# AddStartHour=Add start hour
# AddEndHour=Add end hour
@ -66,4 +60,3 @@ ExpireDate=日付を制限する
# CanEditVotes=Can change vote of others
# SelectDayDesc=For each selected day, you can choose, or not, meeting hours in the following format :<br>- empty,<br>- "8h", "8H" or "8:00" to give a meeting's start hour,<br>- "8-11", "8h-11h", "8H-11H" or "8:00-11:00" to give a meeting's start and end hour,<br>- "8h15-11h15", "8H15-11H15" or "8:15-11:15" for the same thing but with minutes.
# BackToCurrentMonth=Back to current month
# PublicLinkToCreateSurvey=Public link to allow everybody to create a survey

View File

@ -11,14 +11,10 @@
# PollTitle=Poll title
# OpenSurveyYourName=Your name
# OpenSurveyYourEMail=Your email address
# VotersCanModify=Voters can modify vote of others
# ToReceiveEMailForEachVote=To receive an email for each vote
# TypeDate=Type date
# TypeClassic=Type standard
# YouAreInPollCreateArea=You are in the poll creation section
# FieldMandatory=Field mandatory
# OpenSurveyDesc=Online service to plan a rendez-vous or do a survey quickly and easily.
# OpenSurveyNoRegistration=No registration required.
# OpenSurveyStep2=Select your dates amoung the free days (green). The selected days are in blue. You can unselect a day previously selected by clicking again on it
# RemoveAllDays=Remove all days
# CopyHoursOfFirstDay=Copy hours of first day
@ -43,7 +39,6 @@
# PourContreList=List (empty/for/against)
# AddNewColumn=Add new column
# TitleChoice=Choice label
# InfoAfterCreate=Once you have confirmed the creation of your poll, you will be automatically redirected on the page of your poll.<br>You should also receive an email with link to your poll for sending it to the voters.
# ExportSpreadsheet=Export result spreadsheet
# ExpireDate=Limit date
# NbOfVoters=Nb of voters
@ -57,7 +52,6 @@
# ErrorPollDoesNotExists=Error, poll <strong>%s</strong> does not exists.
# OpenSurveyNothingToSetup=There is no specific setup to do.
# PollWillExpire=Your poll will expire automatically <strong>%s</strong> days after the last date of your poll.
# RemovalDate=Removal date
# AddADate=Add a date
# AddStartHour=Add start hour
# AddEndHour=Add end hour
@ -66,4 +60,3 @@
# CanEditVotes=Can change vote of others
# SelectDayDesc=For each selected day, you can choose, or not, meeting hours in the following format :<br>- empty,<br>- "8h", "8H" or "8:00" to give a meeting's start hour,<br>- "8-11", "8h-11h", "8H-11H" or "8:00-11:00" to give a meeting's start and end hour,<br>- "8h15-11h15", "8H15-11H15" or "8:15-11:15" for the same thing but with minutes.
# BackToCurrentMonth=Back to current month
# PublicLinkToCreateSurvey=Public link to allow everybody to create a survey

View File

@ -11,14 +11,10 @@ CreatePoll=Izveidot aptauju
PollTitle=Aptauja virsraksts
OpenSurveyYourName=Jūsu vārds
OpenSurveyYourEMail=Jūsu e-pasta adrese
VotersCanModify=Vēlētāji var mainīt balsojumu par citiem
ToReceiveEMailForEachVote=Lai saņemtu e-pastu par katru balsojumu
TypeDate=Tipa datums
TypeClassic=Tipa standarts
YouAreInPollCreateArea=Jūs esat pieres daļā radīšanas sadaļā
FieldMandatory=Lauks obligāts
OpenSurveyDesc=Tiešsaistes pakalpojumu, lai plānotu Rendez-vous vai veikt aptauju ātri un viegli.
OpenSurveyNoRegistration=Nav nepieciešama reģistrācija.
OpenSurveyStep2=Izvēlieties datumus amoung bezmaksas dienas (zaļā krāsā). Izvēlētās dienas ir zilā krāsā. Jūs varat noņemsiet dienu iepriekš izvēlēto noklikšķinot vēlreiz uz tā
RemoveAllDays=Noņemt visas dienas
CopyHoursOfFirstDay=Kopēt stundas pirmajā dienā
@ -43,7 +39,6 @@ YesNoList=Saraksts (tukšs/jā/nē)
PourContreList=Saraksts (tukšs/par/pret)
AddNewColumn=Pievienot jaunu kolonnu
TitleChoice=Izvēlies nosaukumu
InfoAfterCreate=Kad esat apstiprinājuši izveidot savu aptauju, jums tiks automātiski novirzīts uz lapu jūsu aptaujā. <br> Jums vajadzētu saņemt arī e-pastu ar saiti uz jūsu aptauju, lai nosūtītu to uz vēlētājiem.
ExportSpreadsheet=Eksporta rezultātu izklājlapu
ExpireDate=Ierobežot datumu
NbOfVoters=Balsotāju skaits
@ -57,7 +52,6 @@ VoteNameAlreadyExists=Šis nosaukums jau tika izmantots šajā aptaujā
ErrorPollDoesNotExists=Kļūda, aptauja <strong>%s</strong> neeksistē.
OpenSurveyNothingToSetup=Nav īpašas uzstādīšanas darīt.
PollWillExpire=Jūsu aptauja beigsies automātiski <strong>%s</strong> pēc pēdējās dienas, kad balsošanas datums beigsies.
RemovalDate=Noņemšanas datums
AddADate=Pievienot datumu
AddStartHour=Pievienot sākuma stundu
AddEndHour=Pievienot beigu stundu
@ -66,4 +60,3 @@ NoCommentYet=Nav komentāri ir ievietojis šajā aptaujā vēl
CanEditVotes=Var mainīt balsojumu citiem
SelectDayDesc=Attiecībā uz katru izvēlēto dienu, jūs varat izvēlēties, vai ne, tiekoties stundas šādā formātā: <br> - Tukša, <br> - &quot;8h&quot;, &quot;8H&quot; vai &quot;08:00&quot;, lai sniegtu tikšanos s starta stundu, <br> - &quot;8-11&quot;, &quot;8h-11h&quot;, &quot;8H-11H&quot; vai &quot;8:00-11:00&quot;, lai sniegtu sanāksmi sākuma un beigu stundu, <br> - &quot;8h15-11h15&quot;, &quot;8H15-11H15&quot; vai &quot;8:15-11:15&quot; par to pašu, bet ar minūtes.
BackToCurrentMonth=Atpakaļ uz tekošā mēneša
PublicLinkToCreateSurvey=Sabiedrības saites, lai ļautu ikvienam izveidot aptauju

View File

@ -11,14 +11,10 @@
# PollTitle=Poll title
# OpenSurveyYourName=Your name
# OpenSurveyYourEMail=Your email address
# VotersCanModify=Voters can modify vote of others
# ToReceiveEMailForEachVote=To receive an email for each vote
# TypeDate=Type date
# TypeClassic=Type standard
# YouAreInPollCreateArea=You are in the poll creation section
# FieldMandatory=Field mandatory
# OpenSurveyDesc=Online service to plan a rendez-vous or do a survey quickly and easily.
# OpenSurveyNoRegistration=No registration required.
# OpenSurveyStep2=Select your dates amoung the free days (green). The selected days are in blue. You can unselect a day previously selected by clicking again on it
# RemoveAllDays=Remove all days
# CopyHoursOfFirstDay=Copy hours of first day
@ -43,7 +39,6 @@
# PourContreList=List (empty/for/against)
# AddNewColumn=Add new column
# TitleChoice=Choice label
# InfoAfterCreate=Once you have confirmed the creation of your poll, you will be automatically redirected on the page of your poll.<br>You should also receive an email with link to your poll for sending it to the voters.
# ExportSpreadsheet=Export result spreadsheet
ExpireDate=Limit date
# NbOfVoters=Nb of voters
@ -57,7 +52,6 @@ ExpireDate=Limit date
# ErrorPollDoesNotExists=Error, poll <strong>%s</strong> does not exists.
# OpenSurveyNothingToSetup=There is no specific setup to do.
# PollWillExpire=Your poll will expire automatically <strong>%s</strong> days after the last date of your poll.
# RemovalDate=Removal date
# AddADate=Add a date
# AddStartHour=Add start hour
# AddEndHour=Add end hour
@ -66,4 +60,3 @@ ExpireDate=Limit date
# CanEditVotes=Can change vote of others
# SelectDayDesc=For each selected day, you can choose, or not, meeting hours in the following format :<br>- empty,<br>- "8h", "8H" or "8:00" to give a meeting's start hour,<br>- "8-11", "8h-11h", "8H-11H" or "8:00-11:00" to give a meeting's start and end hour,<br>- "8h15-11h15", "8H15-11H15" or "8:15-11:15" for the same thing but with minutes.
# BackToCurrentMonth=Back to current month
# PublicLinkToCreateSurvey=Public link to allow everybody to create a survey

View File

@ -11,14 +11,10 @@
# PollTitle=Poll title
# OpenSurveyYourName=Your name
# OpenSurveyYourEMail=Your email address
# VotersCanModify=Voters can modify vote of others
# ToReceiveEMailForEachVote=To receive an email for each vote
# TypeDate=Type date
# TypeClassic=Type standard
# YouAreInPollCreateArea=You are in the poll creation section
# FieldMandatory=Field mandatory
# OpenSurveyDesc=Online service to plan a rendez-vous or do a survey quickly and easily.
# OpenSurveyNoRegistration=No registration required.
# OpenSurveyStep2=Select your dates amoung the free days (green). The selected days are in blue. You can unselect a day previously selected by clicking again on it
# RemoveAllDays=Remove all days
# CopyHoursOfFirstDay=Copy hours of first day
@ -43,7 +39,6 @@
# PourContreList=List (empty/for/against)
# AddNewColumn=Add new column
# TitleChoice=Choice label
# InfoAfterCreate=Once you have confirmed the creation of your poll, you will be automatically redirected on the page of your poll.<br>You should also receive an email with link to your poll for sending it to the voters.
# ExportSpreadsheet=Export result spreadsheet
ExpireDate=Termijn
# NbOfVoters=Nb of voters
@ -57,7 +52,6 @@ ExpireDate=Termijn
# ErrorPollDoesNotExists=Error, poll <strong>%s</strong> does not exists.
# OpenSurveyNothingToSetup=There is no specific setup to do.
# PollWillExpire=Your poll will expire automatically <strong>%s</strong> days after the last date of your poll.
# RemovalDate=Removal date
# AddADate=Add a date
# AddStartHour=Add start hour
# AddEndHour=Add end hour
@ -66,4 +60,3 @@ ExpireDate=Termijn
# CanEditVotes=Can change vote of others
# SelectDayDesc=For each selected day, you can choose, or not, meeting hours in the following format :<br>- empty,<br>- "8h", "8H" or "8:00" to give a meeting's start hour,<br>- "8-11", "8h-11h", "8H-11H" or "8:00-11:00" to give a meeting's start and end hour,<br>- "8h15-11h15", "8H15-11H15" or "8:15-11:15" for the same thing but with minutes.
# BackToCurrentMonth=Back to current month
# PublicLinkToCreateSurvey=Public link to allow everybody to create a survey

View File

@ -11,14 +11,10 @@
# PollTitle=Poll title
# OpenSurveyYourName=Your name
# OpenSurveyYourEMail=Your email address
# VotersCanModify=Voters can modify vote of others
# ToReceiveEMailForEachVote=To receive an email for each vote
# TypeDate=Type date
# TypeClassic=Type standard
# YouAreInPollCreateArea=You are in the poll creation section
# FieldMandatory=Field mandatory
# OpenSurveyDesc=Online service to plan a rendez-vous or do a survey quickly and easily.
# OpenSurveyNoRegistration=No registration required.
# OpenSurveyStep2=Select your dates amoung the free days (green). The selected days are in blue. You can unselect a day previously selected by clicking again on it
# RemoveAllDays=Remove all days
# CopyHoursOfFirstDay=Copy hours of first day
@ -43,7 +39,6 @@
# PourContreList=List (empty/for/against)
# AddNewColumn=Add new column
# TitleChoice=Choice label
# InfoAfterCreate=Once you have confirmed the creation of your poll, you will be automatically redirected on the page of your poll.<br>You should also receive an email with link to your poll for sending it to the voters.
# ExportSpreadsheet=Export result spreadsheet
ExpireDate=Limit daty
# NbOfVoters=Nb of voters
@ -57,7 +52,6 @@ ExpireDate=Limit daty
# ErrorPollDoesNotExists=Error, poll <strong>%s</strong> does not exists.
# OpenSurveyNothingToSetup=There is no specific setup to do.
# PollWillExpire=Your poll will expire automatically <strong>%s</strong> days after the last date of your poll.
# RemovalDate=Removal date
# AddADate=Add a date
# AddStartHour=Add start hour
# AddEndHour=Add end hour
@ -66,4 +60,3 @@ ExpireDate=Limit daty
# CanEditVotes=Can change vote of others
# SelectDayDesc=For each selected day, you can choose, or not, meeting hours in the following format :<br>- empty,<br>- "8h", "8H" or "8:00" to give a meeting's start hour,<br>- "8-11", "8h-11h", "8H-11H" or "8:00-11:00" to give a meeting's start and end hour,<br>- "8h15-11h15", "8H15-11H15" or "8:15-11:15" for the same thing but with minutes.
# BackToCurrentMonth=Back to current month
# PublicLinkToCreateSurvey=Public link to allow everybody to create a survey

View File

@ -11,14 +11,10 @@ CreatePoll=Criar uma enquete
PollTitle=Titulo enquete
OpenSurveyYourName=Seu nome
OpenSurveyYourEMail=Seu endereço e-mail
VotersCanModify=Votantes podem modificar voto de outros
ToReceiveEMailForEachVote=Para receber um e-mail por cada voto
TypeDate=Tipo data
TypeClassic=Tipo estandard
YouAreInPollCreateArea=Voce esta na seçao de criaçao da enquete
FieldMandatory=Campo obrigatorio
# OpenSurveyDesc=Online service to plan a rendez-vous or do a survey quickly and easily.
OpenSurveyNoRegistration=Nao e preciso se registrar.
# OpenSurveyStep2=Select your dates amoung the free days (green). The selected days are in blue. You can unselect a day previously selected by clicking again on it
RemoveAllDays=Remover todos os dias
CopyHoursOfFirstDay=Copiar horarios do primeiro dia
@ -43,7 +39,6 @@ SelectedDays=Dias selecionados
# PourContreList=List (empty/for/against)
# AddNewColumn=Add new column
# TitleChoice=Choice label
# InfoAfterCreate=Once you have confirmed the creation of your poll, you will be automatically redirected on the page of your poll.<br>You should also receive an email with link to your poll for sending it to the voters.
# ExportSpreadsheet=Export result spreadsheet
ExpireDate=Data Límite
# NbOfVoters=Nb of voters
@ -57,7 +52,6 @@ ExpireDate=Data Límite
# ErrorPollDoesNotExists=Error, poll <strong>%s</strong> does not exists.
# OpenSurveyNothingToSetup=There is no specific setup to do.
# PollWillExpire=Your poll will expire automatically <strong>%s</strong> days after the last date of your poll.
# RemovalDate=Removal date
# AddADate=Add a date
# AddStartHour=Add start hour
# AddEndHour=Add end hour
@ -66,4 +60,3 @@ ExpireDate=Data Límite
# CanEditVotes=Can change vote of others
# SelectDayDesc=For each selected day, you can choose, or not, meeting hours in the following format :<br>- empty,<br>- "8h", "8H" or "8:00" to give a meeting's start hour,<br>- "8-11", "8h-11h", "8H-11H" or "8:00-11:00" to give a meeting's start and end hour,<br>- "8h15-11h15", "8H15-11H15" or "8:15-11:15" for the same thing but with minutes.
# BackToCurrentMonth=Back to current month
# PublicLinkToCreateSurvey=Public link to allow everybody to create a survey

View File

@ -11,14 +11,10 @@ AddComment=Adicionar comentário
# PollTitle=Poll title
OpenSurveyYourName=O seu nome
OpenSurveyYourEMail=O seu endereço de email
# VotersCanModify=Voters can modify vote of others
# ToReceiveEMailForEachVote=To receive an email for each vote
TypeDate=Tipo de data
# TypeClassic=Type standard
# YouAreInPollCreateArea=You are in the poll creation section
# FieldMandatory=Field mandatory
# OpenSurveyDesc=Online service to plan a rendez-vous or do a survey quickly and easily.
# OpenSurveyNoRegistration=No registration required.
# OpenSurveyStep2=Select your dates amoung the free days (green). The selected days are in blue. You can unselect a day previously selected by clicking again on it
# RemoveAllDays=Remove all days
# CopyHoursOfFirstDay=Copy hours of first day
@ -43,7 +39,6 @@ SelectedDays=Dias selecionados
# PourContreList=List (empty/for/against)
# AddNewColumn=Add new column
# TitleChoice=Choice label
# InfoAfterCreate=Once you have confirmed the creation of your poll, you will be automatically redirected on the page of your poll.<br>You should also receive an email with link to your poll for sending it to the voters.
# ExportSpreadsheet=Export result spreadsheet
ExpireDate=Data Limite
# NbOfVoters=Nb of voters
@ -57,7 +52,6 @@ SurveyResults=Resultados
# ErrorPollDoesNotExists=Error, poll <strong>%s</strong> does not exists.
# OpenSurveyNothingToSetup=There is no specific setup to do.
# PollWillExpire=Your poll will expire automatically <strong>%s</strong> days after the last date of your poll.
# RemovalDate=Removal date
# AddADate=Add a date
# AddStartHour=Add start hour
# AddEndHour=Add end hour
@ -66,4 +60,3 @@ votes=Voto(s)
# CanEditVotes=Can change vote of others
# SelectDayDesc=For each selected day, you can choose, or not, meeting hours in the following format :<br>- empty,<br>- "8h", "8H" or "8:00" to give a meeting's start hour,<br>- "8-11", "8h-11h", "8H-11H" or "8:00-11:00" to give a meeting's start and end hour,<br>- "8h15-11h15", "8H15-11H15" or "8:15-11:15" for the same thing but with minutes.
# BackToCurrentMonth=Back to current month
# PublicLinkToCreateSurvey=Public link to allow everybody to create a survey

View File

@ -11,14 +11,10 @@ CreatePoll=Creaţi sondaj
PollTitle=Titlu sondaj
OpenSurveyYourName=Numele dvs.
OpenSurveyYourEMail=Adresa dvs de email
VotersCanModify=Votanţii pot modifica zotul celorlarţi
ToReceiveEMailForEachVote=Primirea unui email pentru fiecare vot
TypeDate=Tip dată
TypeClassic=Tip standard
YouAreInPollCreateArea=Sunteţi în secţiunea creare sondaj
FieldMandatory=Câmp obligatoriu
OpenSurveyDesc=Serviciul online pentru planificarea unei întâlniri sau de a face un sondaj rapid și ușor.
OpenSurveyNoRegistration=Nu necesită înregistrare.
OpenSurveyStep2=Selectati datele între zilele libere (verde). Zilele selectate sunt în albastru. Puteți deselecta o zi selectată anterior, făcând clic din nou pe ea
RemoveAllDays=Elimină toate zilele
CopyHoursOfFirstDay=Copiază orelele ale primei zile
@ -43,7 +39,6 @@ YesNoList=Listă (goală/da/nu)
PourContreList=Listă (goală/pentru/impotrivă)
AddNewColumn=Adaugă coloană nouă
TitleChoice=Etichetă Alegere
InfoAfterCreate=După ce ați confirmat crearea de sondajului, veți fi redirecționat automat la pagina sondajului. <br> Ar trebui să primiţi, de asemenea, un e-mail cu link-ul sondajului pentru a trimite-l la votanţi.
ExportSpreadsheet=Exportă rezultatul în foaie de calcul
ExpireDate=Data limită
NbOfVoters=Nr-ul voturilor
@ -57,7 +52,6 @@ VoteNameAlreadyExists=Acest nume a fost deasemenea folosit pentru acest sondaj
ErrorPollDoesNotExists=Eroare, sondajul <strong>%s</strong> nu există.
OpenSurveyNothingToSetup=Nu există setări specifice de făcut.
PollWillExpire=Sondajul dvs. va expira în mod automat în <strong>% s </ strong> zile de la ultima data a sondajului.
RemovalDate=Data eliminare
AddADate=Adaugă o dată
AddStartHour=Adaugă o oră de start
AddEndHour=Adaugă o oră de final
@ -66,4 +60,3 @@ NoCommentYet=Niciun comentariu nu a fost postat încă pentru acest sondaj
CanEditVotes=Puteţi schimba votul altora
SelectDayDesc=Pentru fiecare zi selectată, puteți alege, sau nu, orele întălnirii în următorul format: <br>- gol,<br>- "8h", "8H" or "8:00" pentru a da ora de start a întâlnirii, <br> - "8-11", "8h-11h", "8H-11H" or "8:00-11:00" pentru a da startul și ora finală, <br> - ""8h15-11h15", "8H15-11H15" or "8:15-11:15" pentru același lucru, dar cu minute.
BackToCurrentMonth=Înapoi la luna curentă
PublicLinkToCreateSurvey=Link public pentru a permite oricărui să creeze un sondaj

View File

@ -11,14 +11,10 @@
# PollTitle=Poll title
# OpenSurveyYourName=Your name
# OpenSurveyYourEMail=Your email address
# VotersCanModify=Voters can modify vote of others
# ToReceiveEMailForEachVote=To receive an email for each vote
# TypeDate=Type date
# TypeClassic=Type standard
# YouAreInPollCreateArea=You are in the poll creation section
# FieldMandatory=Field mandatory
# OpenSurveyDesc=Online service to plan a rendez-vous or do a survey quickly and easily.
# OpenSurveyNoRegistration=No registration required.
# OpenSurveyStep2=Select your dates amoung the free days (green). The selected days are in blue. You can unselect a day previously selected by clicking again on it
# RemoveAllDays=Remove all days
# CopyHoursOfFirstDay=Copy hours of first day
@ -43,7 +39,6 @@
# PourContreList=List (empty/for/against)
# AddNewColumn=Add new column
# TitleChoice=Choice label
# InfoAfterCreate=Once you have confirmed the creation of your poll, you will be automatically redirected on the page of your poll.<br>You should also receive an email with link to your poll for sending it to the voters.
# ExportSpreadsheet=Export result spreadsheet
ExpireDate=Дата лимита
# NbOfVoters=Nb of voters
@ -57,7 +52,6 @@ ExpireDate=Дата лимита
# ErrorPollDoesNotExists=Error, poll <strong>%s</strong> does not exists.
# OpenSurveyNothingToSetup=There is no specific setup to do.
# PollWillExpire=Your poll will expire automatically <strong>%s</strong> days after the last date of your poll.
# RemovalDate=Removal date
# AddADate=Add a date
# AddStartHour=Add start hour
# AddEndHour=Add end hour
@ -66,4 +60,3 @@ ExpireDate=Дата лимита
# CanEditVotes=Can change vote of others
# SelectDayDesc=For each selected day, you can choose, or not, meeting hours in the following format :<br>- empty,<br>- "8h", "8H" or "8:00" to give a meeting's start hour,<br>- "8-11", "8h-11h", "8H-11H" or "8:00-11:00" to give a meeting's start and end hour,<br>- "8h15-11h15", "8H15-11H15" or "8:15-11:15" for the same thing but with minutes.
# BackToCurrentMonth=Back to current month
# PublicLinkToCreateSurvey=Public link to allow everybody to create a survey

View File

@ -11,14 +11,10 @@ CreatePoll=Vytvorenie ankety
PollTitle=Anketa titul
OpenSurveyYourName=Vaše meno
OpenSurveyYourEMail=Vaša e-mailová adresa
VotersCanModify=Voliči môžu zmeniť hlas ostatných
ToReceiveEMailForEachVote=Ak chcete dostať e-mail pre každé hlasovanie
TypeDate=Zadajte dátum
TypeClassic=Typ štandardné
YouAreInPollCreateArea=Nachádzate sa v sekcii pre vytvorenie hlasovanie
FieldMandatory=Pole povinné
OpenSurveyDesc=Online služby naplánovať rendez-vous alebo urobiť prieskum ľahko a rýchlo.
OpenSurveyNoRegistration=Nie nutná registrácia.
OpenSurveyStep2=Zvoľte termín Vášho amoung voľné dni (zelená). Vybrané dni sú v modrej farbe. Môžete zrušiť výber deň vopred zvolenú opätovným kliknutím na neho
RemoveAllDays=Odstráňte všetky dni
CopyHoursOfFirstDay=Kopírovanie hodín prvého dňa
@ -43,7 +39,6 @@ YesNoList=List (prázdny / áno / nie)
PourContreList=List (prázdny / pre / proti)
AddNewColumn=Pridať nový stĺpec
TitleChoice=Voľba štítok
InfoAfterCreate=Potom, čo ste potvrdili vytvorenie vášho hlasovania, budete automaticky presmerovaní na stránku vášho hlasovania. <br> Tiež by ste mali dostať e-mail s odkazom na vaše hlasovanie pre odoslanie do voličov.
ExportSpreadsheet=Export výsledkov tabuľku
ExpireDate=Obmedziť dátum
NbOfVoters=Nb voličov
@ -57,7 +52,6 @@ VoteNameAlreadyExists=Tento názov už bol použitý pri tomto hlasovaní
ErrorPollDoesNotExists=Chyba hlasovania <strong>%s</strong> neexistuje.
OpenSurveyNothingToSetup=Neexistuje žiadne špecifické nastavenia robiť.
PollWillExpire=Váš prieskum skončí automaticky <strong>%s</strong> dní po poslednom dni svojho hlasovania.
RemovalDate=Odstránenie dáta
AddADate=Pridať dátum
AddStartHour=Pridať začať hodinu
AddEndHour=Pridať end hodinu
@ -66,4 +60,3 @@ NoCommentYet=Žiadne komentáre boli zverejnené na túto anketu ešte
CanEditVotes=Môže zmeniť hlas ostatných
SelectDayDesc=Pre každý vybraný deň, môžete si vybrať, či sa majú splniť hodín v nasledujúcom formáte: <br> - Prázdne, <br> - &quot;8h&quot;, &quot;8H&quot; alebo &quot;8:00&quot; dať schôdzku v úvodnej hodinu, <br> - &quot;8-11&quot;, &quot;8h-11h&quot;, &quot;8H-11H&quot; alebo &quot;08:00-11:00&quot; dať schôdzku je začiatok a koniec hodiny, <br> - &quot;8h15-11h15&quot;, &quot;8H15-11h15&quot; alebo &quot;08:15-11:15&quot; to isté, ale v minútach.
BackToCurrentMonth=Späť na aktuálny mesiac
PublicLinkToCreateSurvey=Verejné odkaz dovoliť každý vytvoriť prieskum

View File

@ -11,14 +11,10 @@
# PollTitle=Poll title
# OpenSurveyYourName=Your name
# OpenSurveyYourEMail=Your email address
# VotersCanModify=Voters can modify vote of others
# ToReceiveEMailForEachVote=To receive an email for each vote
# TypeDate=Type date
# TypeClassic=Type standard
# YouAreInPollCreateArea=You are in the poll creation section
# FieldMandatory=Field mandatory
# OpenSurveyDesc=Online service to plan a rendez-vous or do a survey quickly and easily.
# OpenSurveyNoRegistration=No registration required.
# OpenSurveyStep2=Select your dates amoung the free days (green). The selected days are in blue. You can unselect a day previously selected by clicking again on it
# RemoveAllDays=Remove all days
# CopyHoursOfFirstDay=Copy hours of first day
@ -43,7 +39,6 @@
# PourContreList=List (empty/for/against)
# AddNewColumn=Add new column
# TitleChoice=Choice label
# InfoAfterCreate=Once you have confirmed the creation of your poll, you will be automatically redirected on the page of your poll.<br>You should also receive an email with link to your poll for sending it to the voters.
# ExportSpreadsheet=Export result spreadsheet
ExpireDate=Omejitveni datum
# NbOfVoters=Nb of voters
@ -57,7 +52,6 @@ ExpireDate=Omejitveni datum
# ErrorPollDoesNotExists=Error, poll <strong>%s</strong> does not exists.
# OpenSurveyNothingToSetup=There is no specific setup to do.
# PollWillExpire=Your poll will expire automatically <strong>%s</strong> days after the last date of your poll.
# RemovalDate=Removal date
# AddADate=Add a date
# AddStartHour=Add start hour
# AddEndHour=Add end hour
@ -66,4 +60,3 @@ ExpireDate=Omejitveni datum
# CanEditVotes=Can change vote of others
# SelectDayDesc=For each selected day, you can choose, or not, meeting hours in the following format :<br>- empty,<br>- "8h", "8H" or "8:00" to give a meeting's start hour,<br>- "8-11", "8h-11h", "8H-11H" or "8:00-11:00" to give a meeting's start and end hour,<br>- "8h15-11h15", "8H15-11H15" or "8:15-11:15" for the same thing but with minutes.
# BackToCurrentMonth=Back to current month
# PublicLinkToCreateSurvey=Public link to allow everybody to create a survey

View File

@ -11,14 +11,10 @@
# PollTitle=Poll title
# OpenSurveyYourName=Your name
# OpenSurveyYourEMail=Your email address
# VotersCanModify=Voters can modify vote of others
# ToReceiveEMailForEachVote=To receive an email for each vote
# TypeDate=Type date
# TypeClassic=Type standard
# YouAreInPollCreateArea=You are in the poll creation section
# FieldMandatory=Field mandatory
# OpenSurveyDesc=Online service to plan a rendez-vous or do a survey quickly and easily.
# OpenSurveyNoRegistration=No registration required.
# OpenSurveyStep2=Select your dates amoung the free days (green). The selected days are in blue. You can unselect a day previously selected by clicking again on it
# RemoveAllDays=Remove all days
# CopyHoursOfFirstDay=Copy hours of first day
@ -43,7 +39,6 @@
# PourContreList=List (empty/for/against)
# AddNewColumn=Add new column
# TitleChoice=Choice label
# InfoAfterCreate=Once you have confirmed the creation of your poll, you will be automatically redirected on the page of your poll.<br>You should also receive an email with link to your poll for sending it to the voters.
# ExportSpreadsheet=Export result spreadsheet
ExpireDate=Begränsa datum
# NbOfVoters=Nb of voters
@ -57,7 +52,6 @@ ExpireDate=Begränsa datum
# ErrorPollDoesNotExists=Error, poll <strong>%s</strong> does not exists.
# OpenSurveyNothingToSetup=There is no specific setup to do.
# PollWillExpire=Your poll will expire automatically <strong>%s</strong> days after the last date of your poll.
# RemovalDate=Removal date
# AddADate=Add a date
# AddStartHour=Add start hour
# AddEndHour=Add end hour
@ -66,4 +60,3 @@ ExpireDate=Begränsa datum
# CanEditVotes=Can change vote of others
# SelectDayDesc=For each selected day, you can choose, or not, meeting hours in the following format :<br>- empty,<br>- "8h", "8H" or "8:00" to give a meeting's start hour,<br>- "8-11", "8h-11h", "8H-11H" or "8:00-11:00" to give a meeting's start and end hour,<br>- "8h15-11h15", "8H15-11H15" or "8:15-11:15" for the same thing but with minutes.
# BackToCurrentMonth=Back to current month
# PublicLinkToCreateSurvey=Public link to allow everybody to create a survey

View File

@ -11,14 +11,10 @@ CreatePoll=Anket oluştur
PollTitle=Anket başlığı
OpenSurveyYourName=Adınız
OpenSurveyYourEMail=Eposta adresiniz
VotersCanModify=Oy kullananlar başkalarının oylarını değiştirebilir
ToReceiveEMailForEachVote=Her oy için bir eposta almak için
TypeDate=Tarih türü
TypeClassic=Standart tür
YouAreInPollCreateArea=Anket oluşturma bölümündesiniz
FieldMandatory=Zorunlu alan
OpenSurveyDesc=Bir randevu planlamak ya da hızlıca ve kolayca bir araştırma yapmak için çevrimiçi servis.
OpenSurveyNoRegistration=Kayıt gerekmez.
OpenSurveyStep2=Boş günler arasından tarihlerinizi seçin (yeşil). Seçilen günler mavidir. Daha önceden seçtiğiniz günü tıklayarak seçimi kaldırabilirsiniz
RemoveAllDays=Bütün günleri kaldır
CopyHoursOfFirstDay=İlk günün saatlerini kopyala
@ -43,7 +39,6 @@ YesNoList=Liste (boş/evet/hayır)
PourContreList=Liste (boş, uygun/karşı)
AddNewColumn=Yeni sütun ekle
TitleChoice=Seçim etiketi
InfoAfterCreate=Anketinizin oluşturulmasını onayladığınızda, otomatik olarak anket sayfanıza yönlendirileceksiniz.<br>Oylayıcılara göndermek üzere anketinizin bağlantısı olan bir eposta da alacaksınız.
ExportSpreadsheet=Sonuçları hesap tablosuna aktar
ExpireDate=Sınır tarihi
NbOfVoters=Oylayıcı sayısı
@ -57,7 +52,6 @@ VoteNameAlreadyExists=Bu isim bu anket için zaten kullanılmış
ErrorPollDoesNotExists=Hata, anket <strong>%s</strong> mevcut değil.
OpenSurveyNothingToSetup=Yapılacak özel ayar yok.
PollWillExpire=Anketiniz, son tarihinden <strong>%s</strong> gün sonra kendiliğinden sona erecektir.
RemovalDate=Kaldırılma tarihi
AddADate=Bir tarih ekle
AddStartHour=Başlangıç saati ekle
AddEndHour=Bitiş saati ekle
@ -66,4 +60,3 @@ NoCommentYet=Bu anket için henüz gönderilen açıklama yok
CanEditVotes=Başkalarını oyu değiştirilebilir
SelectDayDesc=Seçilen her gün için, toplantı saatlerini aşağıdaki biçimde seçebilir ya da seçmeyebilirsiniz :<br>- boş,<br>- "8h", "8H" or "8:00" toplantı başlama saatleri için,<br>- "8-11", "8h-11h", "8H-11H" or "8:00-11:00" ttoplantı başlama ve bitiş saatleri için,<br>- "8h15-11h15", "8H15-11H15" or "8:15-11:15" aynı şeyler için ama dakika olarak.
BackToCurrentMonth=Geçerli aya geri dön
PublicLinkToCreateSurvey=Herkesin bir araştırma oluşturmasını sağlayan genel bağlantı

View File

@ -11,14 +11,10 @@
# PollTitle=Poll title
# OpenSurveyYourName=Your name
# OpenSurveyYourEMail=Your email address
# VotersCanModify=Voters can modify vote of others
# ToReceiveEMailForEachVote=To receive an email for each vote
# TypeDate=Type date
# TypeClassic=Type standard
# YouAreInPollCreateArea=You are in the poll creation section
# FieldMandatory=Field mandatory
# OpenSurveyDesc=Online service to plan a rendez-vous or do a survey quickly and easily.
# OpenSurveyNoRegistration=No registration required.
# OpenSurveyStep2=Select your dates amoung the free days (green). The selected days are in blue. You can unselect a day previously selected by clicking again on it
# RemoveAllDays=Remove all days
# CopyHoursOfFirstDay=Copy hours of first day
@ -43,7 +39,6 @@
# PourContreList=List (empty/for/against)
# AddNewColumn=Add new column
# TitleChoice=Choice label
# InfoAfterCreate=Once you have confirmed the creation of your poll, you will be automatically redirected on the page of your poll.<br>You should also receive an email with link to your poll for sending it to the voters.
# ExportSpreadsheet=Export result spreadsheet
# ExpireDate=Limit date
# NbOfVoters=Nb of voters
@ -57,7 +52,6 @@
# ErrorPollDoesNotExists=Error, poll <strong>%s</strong> does not exists.
# OpenSurveyNothingToSetup=There is no specific setup to do.
# PollWillExpire=Your poll will expire automatically <strong>%s</strong> days after the last date of your poll.
# RemovalDate=Removal date
# AddADate=Add a date
# AddStartHour=Add start hour
# AddEndHour=Add end hour
@ -66,4 +60,3 @@
# CanEditVotes=Can change vote of others
# SelectDayDesc=For each selected day, you can choose, or not, meeting hours in the following format :<br>- empty,<br>- "8h", "8H" or "8:00" to give a meeting's start hour,<br>- "8-11", "8h-11h", "8H-11H" or "8:00-11:00" to give a meeting's start and end hour,<br>- "8h15-11h15", "8H15-11H15" or "8:15-11:15" for the same thing but with minutes.
# BackToCurrentMonth=Back to current month
# PublicLinkToCreateSurvey=Public link to allow everybody to create a survey

Some files were not shown because too many files have changed in this diff Show More