Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop
This commit is contained in:
commit
710585d4c2
@ -20,6 +20,7 @@ For users:
|
|||||||
- New: Can define of we want to use VAT or not for subscriptions (foundation module).
|
- New: Can define of we want to use VAT or not for subscriptions (foundation module).
|
||||||
- New: Can define a default choice for choice "More action when recording
|
- New: Can define a default choice for choice "More action when recording
|
||||||
a subscription" (foundation module).
|
a subscription" (foundation module).
|
||||||
|
- New: Add link to check professional id for india.
|
||||||
|
|
||||||
For developers:
|
For developers:
|
||||||
- System of menu managers has been rewritten to reduce code to do same things.
|
- System of menu managers has been rewritten to reduce code to do same things.
|
||||||
@ -35,6 +36,7 @@ For developers:
|
|||||||
into conf->liste_limit).
|
into conf->liste_limit).
|
||||||
- New: Add option dol_hide_topmenu and dol_hide_leftmenu onto login page.
|
- New: Add option dol_hide_topmenu and dol_hide_leftmenu onto login page.
|
||||||
- New: dol_syslog method accept a suffix to use different log files for log.
|
- New: dol_syslog method accept a suffix to use different log files for log.
|
||||||
|
- New: Type of fields are received by export format handlers
|
||||||
|
|
||||||
For translators:
|
For translators:
|
||||||
- Update language files.
|
- Update language files.
|
||||||
|
|||||||
@ -107,13 +107,8 @@ if ((! empty($foruserid) || ! empty($foruserlogin) || ! empty($mode)) && ! $mesg
|
|||||||
'%MONTH%'=>$month,
|
'%MONTH%'=>$month,
|
||||||
'%DAY%'=>$day,
|
'%DAY%'=>$day,
|
||||||
'%DOL_MAIN_URL_ROOT%'=>DOL_MAIN_URL_ROOT,
|
'%DOL_MAIN_URL_ROOT%'=>DOL_MAIN_URL_ROOT,
|
||||||
'%SERVER%'=>"http://".$_SERVER["SERVER_NAME"]."/", // deprecated
|
'%SERVER%'=>"http://".$_SERVER["SERVER_NAME"]."/",
|
||||||
// For backward compatibility
|
'%SOCIETE%'=>$objp->company
|
||||||
'%SOCIETE%'=>$objp->company,
|
|
||||||
'%ZIP%'=>$objp->zip,
|
|
||||||
'%COUNTRY%'=>$objp->country,
|
|
||||||
'%ANNEE%'=>$year,
|
|
||||||
'%SERVEUR%'=>"http://".$_SERVER["SERVER_NAME"]."/" // deprecated
|
|
||||||
);
|
);
|
||||||
complete_substitutions_array($substitutionarray, $langs);
|
complete_substitutions_array($substitutionarray, $langs);
|
||||||
|
|
||||||
|
|||||||
@ -51,6 +51,7 @@ function llxHeader($head = '', $title='', $help_url='', $target='', $disablejs=0
|
|||||||
top_htmlhead($head, $title, $disablejs, $disablehead, $arrayofjs, $arrayofcss); // Show html headers
|
top_htmlhead($head, $title, $disablejs, $disablehead, $arrayofjs, $arrayofcss); // Show html headers
|
||||||
top_menu($head, $title, $target, $disablejs, $disablehead, $arrayofjs, $arrayofcss); // Show html headers
|
top_menu($head, $title, $target, $disablejs, $disablehead, $arrayofjs, $arrayofcss); // Show html headers
|
||||||
|
|
||||||
|
require_once DOL_DOCUMENT_ROOT.'/core/class/menu.class.php';
|
||||||
$menu = new Menu();
|
$menu = new Menu();
|
||||||
|
|
||||||
// Entry for each bank account
|
// Entry for each bank account
|
||||||
|
|||||||
@ -372,7 +372,8 @@ else if ($action == 'confirm_valid' && $confirm == 'yes' && $user->rights->factu
|
|||||||
{
|
{
|
||||||
|
|
||||||
$idprof_mandatory ='SOCIETE_IDPROF'.($i).'_INVOICE_MANDATORY';
|
$idprof_mandatory ='SOCIETE_IDPROF'.($i).'_INVOICE_MANDATORY';
|
||||||
if (! $object->thirdparty->idprof.$i && ! empty($conf->global->$idprof_mandatory))
|
$idprof='idprof'.$i;
|
||||||
|
if (! $object->thirdparty->$idprof && ! empty($conf->global->$idprof_mandatory))
|
||||||
{
|
{
|
||||||
if (! $error) $langs->load("errors");
|
if (! $error) $langs->load("errors");
|
||||||
$error++;
|
$error++;
|
||||||
|
|||||||
@ -50,6 +50,7 @@ function llxHeader($head = '', $title='', $help_url='', $target='', $disablejs=0
|
|||||||
top_htmlhead($head, $title, $disablejs, $disablehead, $arrayofjs, $arrayofcss); // Show html headers
|
top_htmlhead($head, $title, $disablejs, $disablehead, $arrayofjs, $arrayofcss); // Show html headers
|
||||||
top_menu($head, $title, $target, $disablejs, $disablehead, $arrayofjs, $arrayofcss); // Show html headers
|
top_menu($head, $title, $target, $disablejs, $disablehead, $arrayofjs, $arrayofcss); // Show html headers
|
||||||
|
|
||||||
|
require_once DOL_DOCUMENT_ROOT.'/core/class/menu.class.php';
|
||||||
$menu = new Menu();
|
$menu = new Menu();
|
||||||
|
|
||||||
// Entry for each bank account
|
// Entry for each bank account
|
||||||
|
|||||||
@ -37,10 +37,8 @@ class Contact extends CommonObject
|
|||||||
public $table_element='socpeople';
|
public $table_element='socpeople';
|
||||||
|
|
||||||
var $id;
|
var $id;
|
||||||
var $civilite_id; // In fact we stor civility_code
|
var $civilite_id; // In fact we store civility_code
|
||||||
var $lastname;
|
var $lastname;
|
||||||
var $name; // TODO deprecated
|
|
||||||
var $nom; // TODO deprecated
|
|
||||||
var $firstname;
|
var $firstname;
|
||||||
var $address;
|
var $address;
|
||||||
var $zip;
|
var $zip;
|
||||||
@ -247,7 +245,7 @@ class Contact extends CommonObject
|
|||||||
$sql .= ", priv = '".$this->priv."'";
|
$sql .= ", priv = '".$this->priv."'";
|
||||||
$sql .= ", fk_user_modif=".($user->id > 0 ? "'".$user->id."'":"null");
|
$sql .= ", fk_user_modif=".($user->id > 0 ? "'".$user->id."'":"null");
|
||||||
$sql .= ", default_lang=".($this->default_lang?"'".$this->default_lang."'":"null");
|
$sql .= ", default_lang=".($this->default_lang?"'".$this->default_lang."'":"null");
|
||||||
$sql .= ", no_email=".($this->no_email?"'".$this->no_email."'":"null");
|
$sql .= ", no_email=".($this->no_email?"'".$this->no_email."'":"0");
|
||||||
$sql .= " WHERE rowid=".$id;
|
$sql .= " WHERE rowid=".$id;
|
||||||
|
|
||||||
dol_syslog(get_class($this)."::update sql=".$sql,LOG_DEBUG);
|
dol_syslog(get_class($this)."::update sql=".$sql,LOG_DEBUG);
|
||||||
|
|||||||
@ -306,7 +306,7 @@ else if ($action == 'addline' && $user->rights->contrat->creer)
|
|||||||
{
|
{
|
||||||
$pu_ht=GETPOST('price_ht');
|
$pu_ht=GETPOST('price_ht');
|
||||||
$price_base_type = 'HT';
|
$price_base_type = 'HT';
|
||||||
$tva_tx=str_replace('*','',GETPOST('tva_tx'));
|
$tva_tx=GETPOST('tva_tx')?str_replace('*','',GETPOST('tva_tx')):0; // tva_tx field may be disabled, so we use vat rate 0
|
||||||
$tva_npr=preg_match('/\*/',GETPOST('tva_tx'))?1:0;
|
$tva_npr=preg_match('/\*/',GETPOST('tva_tx'))?1:0;
|
||||||
$desc=GETPOST('dp_desc');
|
$desc=GETPOST('dp_desc');
|
||||||
}
|
}
|
||||||
@ -424,7 +424,7 @@ else if ($action == 'updateligne' && $user->rights->contrat->creer && ! GETPOST(
|
|||||||
$objectline->subprice=GETPOST('elprice');
|
$objectline->subprice=GETPOST('elprice');
|
||||||
$objectline->qty=GETPOST('elqty');
|
$objectline->qty=GETPOST('elqty');
|
||||||
$objectline->remise_percent=GETPOST('elremise_percent');
|
$objectline->remise_percent=GETPOST('elremise_percent');
|
||||||
$objectline->tva_tx=GETPOST('eltva_tx');
|
$objectline->tva_tx=GETPOST('eltva_tx')?GETPOST('eltva_tx'):0; // Field may be disabled, so we use vat rate 0
|
||||||
$objectline->localtax1_tx=$localtax1_tx;
|
$objectline->localtax1_tx=$localtax1_tx;
|
||||||
$objectline->localtax2_tx=$localtax2_tx;
|
$objectline->localtax2_tx=$localtax2_tx;
|
||||||
$objectline->date_ouverture_prevue=$date_start_update;
|
$objectline->date_ouverture_prevue=$date_start_update;
|
||||||
|
|||||||
@ -1147,19 +1147,21 @@ function showModulesExludedForExternal($modules)
|
|||||||
$text=$langs->trans("OnlyFollowingModulesAreOpenedToExternalUsers");
|
$text=$langs->trans("OnlyFollowingModulesAreOpenedToExternalUsers");
|
||||||
$listofmodules=explode(',',$conf->global->MAIN_MODULES_FOR_EXTERNAL);
|
$listofmodules=explode(',',$conf->global->MAIN_MODULES_FOR_EXTERNAL);
|
||||||
$i=0;
|
$i=0;
|
||||||
foreach($modules as $module)
|
if (!empty($modules)) {
|
||||||
{
|
foreach($modules as $module)
|
||||||
$moduleconst=$module->const_name;
|
{
|
||||||
$modulename=strtolower($module->name);
|
$moduleconst=$module->const_name;
|
||||||
//print 'modulename='.$modulename;
|
$modulename=strtolower($module->name);
|
||||||
|
//print 'modulename='.$modulename;
|
||||||
//if (empty($conf->global->$moduleconst)) continue;
|
|
||||||
if (! in_array($modulename,$listofmodules)) continue;
|
//if (empty($conf->global->$moduleconst)) continue;
|
||||||
|
if (! in_array($modulename,$listofmodules)) continue;
|
||||||
if ($i > 0) $text.=', ';
|
|
||||||
else $text.=' ';
|
if ($i > 0) $text.=', ';
|
||||||
$i++;
|
else $text.=' ';
|
||||||
$text .= $langs->trans('Module'.$module->numero.'Name');
|
$i++;
|
||||||
|
$text .= $langs->trans('Module'.$module->numero.'Name');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return img_picto($langs->trans('InfoAdmin'), 'star').' '.$text;
|
return img_picto($langs->trans('InfoAdmin'), 'star').' '.$text;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1 +0,0 @@
|
|||||||
Url not available
|
|
||||||
@ -1,215 +0,0 @@
|
|||||||
<?php
|
|
||||||
/* Copyright (C) 2010 Laurent Destailleur <eldy@users.sourceforge.net>
|
|
||||||
* Copyright (C) 2010 Regis Houssin <regis.houssin@capnetworks.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
|
|
||||||
* 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/menus/smartphone/smartphone.lib.php
|
|
||||||
* \brief Library for file smartphone menus
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Core function to output top menu smartphone
|
|
||||||
*
|
|
||||||
* @param DoliDB $db Database handler
|
|
||||||
* @param string $atarget Target
|
|
||||||
* @param int $type_user 0=Internal,1=External,2=All
|
|
||||||
* @param string $limitmenuto To limit menu to a top or left menu value
|
|
||||||
* @param array &$tabMenu If array with menu entries already loaded, we put this array here (in most cases, it's empty)
|
|
||||||
* @return void
|
|
||||||
*/
|
|
||||||
function print_smartphone_menu($db,$atarget,$type_user,$limitmenuto,&$tabMenu,&$menu)
|
|
||||||
{
|
|
||||||
require_once DOL_DOCUMENT_ROOT.'/core/class/menubase.class.php';
|
|
||||||
|
|
||||||
global $user,$conf,$langs,$dolibarr_main_db_name;
|
|
||||||
|
|
||||||
$mainmenu=$_SESSION["mainmenu"];
|
|
||||||
$leftmenu=$_SESSION["leftmenu"];
|
|
||||||
|
|
||||||
$submenus='';
|
|
||||||
|
|
||||||
//$tabMenu=array();
|
|
||||||
|
|
||||||
$menutop = new Menubase($db,'smartphone');
|
|
||||||
$menuleft = new Menubase($db,'smartphone');
|
|
||||||
$newTabMenu = $menutop->menuTopCharger('', '', $type_user, 'smartphone',$tabMenu);
|
|
||||||
$numTabMenu = count($newTabMenu);
|
|
||||||
|
|
||||||
print_start_menu_array();
|
|
||||||
for($i=0; $i<$numTabMenu; $i++)
|
|
||||||
{
|
|
||||||
if ($newTabMenu[$i]['enabled'] == true)
|
|
||||||
{
|
|
||||||
if ($newTabMenu[$i]['perms'] == true) // Is allowed
|
|
||||||
{
|
|
||||||
// Define url
|
|
||||||
if (preg_match("/^(http:\/\/|https:\/\/)/i",$newTabMenu[$i]['url']))
|
|
||||||
{
|
|
||||||
$url = dol_buildpath($newTabMenu[$i]['url'],1);
|
|
||||||
$url=preg_replace('/&.*/i','',$url);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$menus='';
|
|
||||||
|
|
||||||
if ($limitmenuto > 0)
|
|
||||||
{
|
|
||||||
$newmenu = new Menu();
|
|
||||||
$leftmenu = $menuleft->menuLeftCharger($newmenu,$newTabMenu[$i]['mainmenu'],'',($user->societe_id?1:0),'smartphone',$tabMenu);
|
|
||||||
$menus = $leftmenu->liste;
|
|
||||||
//var_dump($menus);
|
|
||||||
}
|
|
||||||
|
|
||||||
print_start_menu_entry();
|
|
||||||
|
|
||||||
if (is_array($menus) && !empty($menus) && $limitmenuto > 0)
|
|
||||||
{
|
|
||||||
$title=$newTabMenu[$i]['titre'];
|
|
||||||
// To remove & and special chars: $title=dol_string_unaccent(dol_string_nospecial(dol_html_entity_decode($newTabMenu[$i]['titre'],ENT_QUOTES,'UTF-8'),'',array('&')));
|
|
||||||
print_text_menu_entry($title);
|
|
||||||
|
|
||||||
$num = count($menus);
|
|
||||||
//var_dump($menus);
|
|
||||||
|
|
||||||
if ($num > 0) print_start_submenu_array();
|
|
||||||
|
|
||||||
for($j=0; $j<$num; $j++)
|
|
||||||
{
|
|
||||||
$url=dol_buildpath($menus[$j]['url'],1);
|
|
||||||
$url=preg_replace('/&.*/i','',$url);
|
|
||||||
|
|
||||||
if ($menus[$j]['level'] == 0)
|
|
||||||
{
|
|
||||||
print_start_menu_entry();
|
|
||||||
if (empty($menus[$j+1]['level'])) print '<a href="'.$url.'"'.($menus[$j]['target']?" target='".$menus[$j]['target']."'":($atarget?" target=$atarget":'')).'>';
|
|
||||||
$title=$menus[$j]['titre'];
|
|
||||||
// To remove & and special chars: $title=dol_string_unaccent(dol_string_nospecial(dol_html_entity_decode($menus[$j]['titre'],ENT_QUOTES,'UTF-8'),'',array('&')));
|
|
||||||
print_text_menu_entry($title);
|
|
||||||
if (empty($menus[$j+1]['level'])) print '</a>';
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($menus[$j]['level'] > 0)
|
|
||||||
{
|
|
||||||
if ($menus[$j-1]['level'] == 0) print_start_submenu_array();
|
|
||||||
|
|
||||||
print_start_menu_entry();
|
|
||||||
print '<a href="'.$url.'"'.($menus[$j]['target']?" target='".$menus[$j]['target']."'":($atarget?" target=$atarget":'')).'>';
|
|
||||||
$title=$menus[$j]['titre'];
|
|
||||||
// To remove & and special chars: $title=dol_string_unaccent(dol_string_nospecial(dol_html_entity_decode($menus[$j]['titre'],ENT_QUOTES,'UTF-8'),'',array('&')));
|
|
||||||
print_text_menu_entry($title);
|
|
||||||
print '</a>';
|
|
||||||
print_end_menu_entry();
|
|
||||||
|
|
||||||
if (empty($menus[$j+1]['level'])) print_end_menu();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (empty($menus[$j+1]['level'])) print_end_menu_entry();
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($num > 0) print_end_menu();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$url=dol_buildpath($newTabMenu[$i]['url'],1);
|
|
||||||
$url=preg_replace('/&.*/i','',$url);
|
|
||||||
|
|
||||||
print '<a href="'.$url.'"'.($newTabMenu[$i]['target']?" target='".$newTabMenu[$i]['target']."'":($atarget?" target=$atarget":'')).'>';
|
|
||||||
$title=$newTabMenu[$i]['titre'];
|
|
||||||
// To remove & and special chars: $title=dol_string_unaccent(dol_string_nospecial(dol_html_entity_decode($newTabMenu[$i]['titre'],ENT_QUOTES,'UTF-8'),'',array('&')));
|
|
||||||
print_text_menu_entry($title);
|
|
||||||
print '</a>';
|
|
||||||
}
|
|
||||||
|
|
||||||
print_end_menu_entry();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
print_end_menu();
|
|
||||||
print "\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Output menu entry
|
|
||||||
*
|
|
||||||
* @param string $theme Theme
|
|
||||||
* @return void
|
|
||||||
*/
|
|
||||||
function print_start_menu_array($theme='c')
|
|
||||||
{
|
|
||||||
print '<ul data-role="listview" data-theme="'.$theme.'">';
|
|
||||||
print "\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Output start submenu entry
|
|
||||||
*
|
|
||||||
* @return void
|
|
||||||
*/
|
|
||||||
function print_start_submenu_array()
|
|
||||||
{
|
|
||||||
print '<ul>';
|
|
||||||
print "\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Output start menu entry
|
|
||||||
*
|
|
||||||
* @return void
|
|
||||||
*/
|
|
||||||
function print_start_menu_entry()
|
|
||||||
{
|
|
||||||
print '<li>';
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Output menu entry
|
|
||||||
*
|
|
||||||
* @param string $text Text
|
|
||||||
* @return void
|
|
||||||
*/
|
|
||||||
function print_text_menu_entry($text)
|
|
||||||
{
|
|
||||||
print $text;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Output end menu entry
|
|
||||||
*
|
|
||||||
* @return void
|
|
||||||
*/
|
|
||||||
function print_end_menu_entry()
|
|
||||||
{
|
|
||||||
print '</li>';
|
|
||||||
print "\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Output end menu
|
|
||||||
*
|
|
||||||
* @return void
|
|
||||||
*/
|
|
||||||
function print_end_menu()
|
|
||||||
{
|
|
||||||
print '</ul>';
|
|
||||||
print "\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
?>
|
|
||||||
@ -1,132 +0,0 @@
|
|||||||
<?php
|
|
||||||
/* Copyright (C) 2005-2010 Laurent Destailleur <eldy@users.sourceforge.net>
|
|
||||||
* Copyright (C) 2007-2010 Regis Houssin <regis.houssin@capnetworks.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
|
|
||||||
* 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/>.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* \file htdocs/core/menus/smartphone/smartphone_menu.php
|
|
||||||
* \brief Menu smartphone manager
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Class to manage smartphone menu smartphone
|
|
||||||
*/
|
|
||||||
class MenuSmart
|
|
||||||
{
|
|
||||||
|
|
||||||
var $hideifnotallowed=1; // Put 0 for back office menu, 1 for front office menu
|
|
||||||
var $atarget=""; // Valeur du target a utiliser dans les liens
|
|
||||||
var $name="smartphone";
|
|
||||||
|
|
||||||
var $tabMenu;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructor
|
|
||||||
*
|
|
||||||
* @param DoliDB $db Database handler
|
|
||||||
* @param int $type_user Type of user
|
|
||||||
*/
|
|
||||||
function __construct($db, $type_user)
|
|
||||||
{
|
|
||||||
$this->type_user=$type_user;
|
|
||||||
$this->db=$db;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Load this->tabMenu
|
|
||||||
*
|
|
||||||
* @return void
|
|
||||||
*/
|
|
||||||
function loadMenu()
|
|
||||||
{
|
|
||||||
// On sauve en session le menu principal choisi
|
|
||||||
if (isset($_GET["mainmenu"])) $_SESSION["mainmenu"]=$_GET["mainmenu"];
|
|
||||||
if (isset($_GET["idmenu"])) $_SESSION["idmenu"]=$_GET["idmenu"];
|
|
||||||
|
|
||||||
// Read mainmenu and leftmenu that define which menu to show
|
|
||||||
if (isset($_GET["mainmenu"]))
|
|
||||||
{
|
|
||||||
// On sauve en session le menu principal choisi
|
|
||||||
$mainmenu=$_GET["mainmenu"];
|
|
||||||
$_SESSION["mainmenu"]=$mainmenu;
|
|
||||||
$_SESSION["leftmenuopened"]="";
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
// On va le chercher en session si non defini par le lien
|
|
||||||
$mainmenu=isset($_SESSION["mainmenu"])?$_SESSION["mainmenu"]:'';
|
|
||||||
}
|
|
||||||
|
|
||||||
if (isset($_GET["leftmenu"]))
|
|
||||||
{
|
|
||||||
// On sauve en session le menu principal choisi
|
|
||||||
$leftmenu=$_GET["leftmenu"];
|
|
||||||
$_SESSION["leftmenu"]=$leftmenu;
|
|
||||||
|
|
||||||
if ($_SESSION["leftmenuopened"]==$leftmenu) // To collapse
|
|
||||||
{
|
|
||||||
//$leftmenu="";
|
|
||||||
$_SESSION["leftmenuopened"]="";
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$_SESSION["leftmenuopened"]=$leftmenu;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
// On va le chercher en session si non defini par le lien
|
|
||||||
$leftmenu=isset($_SESSION["leftmenu"])?$_SESSION["leftmenu"]:'';
|
|
||||||
}
|
|
||||||
|
|
||||||
require_once DOL_DOCUMENT_ROOT.'/core/class/menubase.class.php';
|
|
||||||
$tabMenu=array();
|
|
||||||
$menuArbo = new Menubase($this->db,'smartphone');
|
|
||||||
$menuArbo->menuLoad($mainmenu, $leftmenu, $this->type_user, 'smartphone', $tabMenu);
|
|
||||||
$this->tabMenu=$tabMenu;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Show menu
|
|
||||||
*
|
|
||||||
* @param string $mode 'top' or 'left'
|
|
||||||
* @return int Number of menu entries shown
|
|
||||||
*/
|
|
||||||
function showmenu($mode)
|
|
||||||
{
|
|
||||||
global $conf;
|
|
||||||
|
|
||||||
require_once DOL_DOCUMENT_ROOT.'/core/menus/smartphone/smartphone.lib.php';
|
|
||||||
|
|
||||||
if ($this->type_user == 1)
|
|
||||||
{
|
|
||||||
$conf->global->MAIN_SEARCHFORM_SOCIETE=0;
|
|
||||||
$conf->global->MAIN_SEARCHFORM_CONTACT=0;
|
|
||||||
}
|
|
||||||
|
|
||||||
$this->menu=new Menu();
|
|
||||||
|
|
||||||
print_smartphone_menu($this->db,$this->atarget,$this->hideifnotallowed,$mode,$this->tabMenu,$this->menu);
|
|
||||||
|
|
||||||
unset($this->menu);
|
|
||||||
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
?>
|
|
||||||
@ -168,6 +168,7 @@ class MenuManager
|
|||||||
|
|
||||||
$res='ErrorBadParameterForMode';
|
$res='ErrorBadParameterForMode';
|
||||||
|
|
||||||
|
require_once DOL_DOCUMENT_ROOT.'/core/class/menu.class.php';
|
||||||
$this->menu=new Menu();
|
$this->menu=new Menu();
|
||||||
|
|
||||||
if ($mode == 'top') $res=print_auguria_menu($this->db,$this->atarget,$this->type_user,$this->tabMenu,$this->menu);
|
if ($mode == 'top') $res=print_auguria_menu($this->db,$this->atarget,$this->type_user,$this->tabMenu,$this->menu);
|
||||||
|
|||||||
@ -124,6 +124,7 @@ class MenuManager
|
|||||||
|
|
||||||
$res='ErrorBadParameterForMode';
|
$res='ErrorBadParameterForMode';
|
||||||
|
|
||||||
|
require_once DOL_DOCUMENT_ROOT.'/core/class/menu.class.php';
|
||||||
$this->menu=new Menu();
|
$this->menu=new Menu();
|
||||||
|
|
||||||
if ($mode == 'top') $res=print_eldy_menu($this->db,$this->atarget,$this->type_user,$this->tabMenu,$this->menu);
|
if ($mode == 'top') $res=print_eldy_menu($this->db,$this->atarget,$this->type_user,$this->tabMenu,$this->menu);
|
||||||
|
|||||||
@ -69,6 +69,7 @@ class MenuManager
|
|||||||
|
|
||||||
$id='mainmenu';
|
$id='mainmenu';
|
||||||
|
|
||||||
|
require_once DOL_DOCUMENT_ROOT.'/core/class/menu.class.php';
|
||||||
$this->menu=new Menu();
|
$this->menu=new Menu();
|
||||||
|
|
||||||
if ($mode == 'top')
|
if ($mode == 'top')
|
||||||
|
|||||||
@ -719,12 +719,11 @@ class pdf_einstein extends ModelePDFCommandes
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
//Local tax 1 before VAT
|
//Local tax 1 before VAT
|
||||||
if (! empty($conf->global->FACTURE_LOCAL_TAX1_OPTION) && $conf->global->FACTURE_LOCAL_TAX1_OPTION=='localtax1on')
|
//if (! empty($conf->global->FACTURE_LOCAL_TAX1_OPTION) && $conf->global->FACTURE_LOCAL_TAX1_OPTION=='localtax1on')
|
||||||
{
|
//{
|
||||||
foreach( $this->localtax1 as $localtax_type => $localtax_rate )
|
foreach( $this->localtax1 as $localtax_type => $localtax_rate )
|
||||||
{
|
{
|
||||||
// TODO: Place into a function to control showing by country or study better option
|
if (in_array((string) $localtax_type, array('1','3','5','7'))) continue;
|
||||||
if (in_array((string) $localtax_type, array('1','3','5','7')) && $mysoc->country_code != 'ES') continue;
|
|
||||||
foreach( $localtax_rate as $tvakey => $tvaval )
|
foreach( $localtax_rate as $tvakey => $tvaval )
|
||||||
{
|
{
|
||||||
if ($tvakey!=0) // On affiche pas taux 0
|
if ($tvakey!=0) // On affiche pas taux 0
|
||||||
@ -740,8 +739,8 @@ class pdf_einstein extends ModelePDFCommandes
|
|||||||
$tvakey=str_replace('*','',$tvakey);
|
$tvakey=str_replace('*','',$tvakey);
|
||||||
$tvacompl = " (".$outputlangs->transnoentities("NonPercuRecuperable").")";
|
$tvacompl = " (".$outputlangs->transnoentities("NonPercuRecuperable").")";
|
||||||
}
|
}
|
||||||
$totalvat = $outputlangs->transnoentities("TotalLT1".$mysoc->country_code).' ';
|
$totalvat = $outputlangs->transcountrynoentities("TotalLT1",$mysoc->country_code).' ';
|
||||||
$totalvat.=vatrate($tvakey,1).$tvacompl;
|
$totalvat.=vatrate(abs($tvakey),1).$tvacompl;
|
||||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
||||||
|
|
||||||
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
||||||
@ -749,14 +748,13 @@ class pdf_einstein extends ModelePDFCommandes
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
//}
|
||||||
//Local tax 2 before VAT
|
//Local tax 2 before VAT
|
||||||
if (! empty($conf->global->FACTURE_LOCAL_TAX2_OPTION) && $conf->global->FACTURE_LOCAL_TAX2_OPTION=='localtax2on')
|
//if (! empty($conf->global->FACTURE_LOCAL_TAX2_OPTION) && $conf->global->FACTURE_LOCAL_TAX2_OPTION=='localtax2on')
|
||||||
{
|
//{
|
||||||
foreach( $this->localtax2 as $localtax_type => $localtax_rate )
|
foreach( $this->localtax2 as $localtax_type => $localtax_rate )
|
||||||
{
|
{
|
||||||
// TODO: Place into a function to control showing by country or study better option
|
if (in_array((string) $localtax_type, array('1','3','5','7'))) continue;
|
||||||
if (in_array((string) $localtax_type, array('1','3','5','7')) && $mysoc->country_code != 'ES') continue;
|
|
||||||
foreach( $localtax_rate as $tvakey => $tvaval )
|
foreach( $localtax_rate as $tvakey => $tvaval )
|
||||||
{
|
{
|
||||||
if ($tvakey!=0) // On affiche pas taux 0
|
if ($tvakey!=0) // On affiche pas taux 0
|
||||||
@ -774,8 +772,8 @@ class pdf_einstein extends ModelePDFCommandes
|
|||||||
$tvakey=str_replace('*','',$tvakey);
|
$tvakey=str_replace('*','',$tvakey);
|
||||||
$tvacompl = " (".$outputlangs->transnoentities("NonPercuRecuperable").")";
|
$tvacompl = " (".$outputlangs->transnoentities("NonPercuRecuperable").")";
|
||||||
}
|
}
|
||||||
$totalvat = $outputlangs->transnoentities("TotalLT2".$mysoc->country_code).' ';
|
$totalvat = $outputlangs->transcountrynoentities("TotalLT2",$mysoc->country_code).' ';
|
||||||
$totalvat.=vatrate($tvakey,1).$tvacompl;
|
$totalvat.=vatrate(abs($tvakey),1).$tvacompl;
|
||||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
||||||
|
|
||||||
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
||||||
@ -784,7 +782,7 @@ class pdf_einstein extends ModelePDFCommandes
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
//}
|
||||||
// VAT
|
// VAT
|
||||||
foreach($this->tva as $tvakey => $tvaval)
|
foreach($this->tva as $tvakey => $tvaval)
|
||||||
{
|
{
|
||||||
@ -811,15 +809,15 @@ class pdf_einstein extends ModelePDFCommandes
|
|||||||
}
|
}
|
||||||
|
|
||||||
//Local tax 1 after VAT
|
//Local tax 1 after VAT
|
||||||
if (! empty($conf->global->FACTURE_LOCAL_TAX1_OPTION) && $conf->global->FACTURE_LOCAL_TAX1_OPTION=='localtax1on')
|
//if (! empty($conf->global->FACTURE_LOCAL_TAX1_OPTION) && $conf->global->FACTURE_LOCAL_TAX1_OPTION=='localtax1on')
|
||||||
{
|
//{
|
||||||
foreach( $this->localtax1 as $localtax_type => $localtax_rate )
|
foreach( $this->localtax1 as $localtax_type => $localtax_rate )
|
||||||
{
|
{
|
||||||
if (in_array((string) $localtax_type, array('2','4','6'))) continue;
|
if (in_array((string) $localtax_type, array('2','4','6'))) continue;
|
||||||
|
|
||||||
foreach( $localtax_rate as $tvakey => $tvaval )
|
foreach( $localtax_rate as $tvakey => $tvaval )
|
||||||
{
|
{
|
||||||
if ($tvakey>0) // On affiche pas taux 0
|
if ($tvakey != 0) // On affiche pas taux 0
|
||||||
{
|
{
|
||||||
//$this->atleastoneratenotnull++;
|
//$this->atleastoneratenotnull++;
|
||||||
|
|
||||||
@ -832,7 +830,7 @@ class pdf_einstein extends ModelePDFCommandes
|
|||||||
$tvakey=str_replace('*','',$tvakey);
|
$tvakey=str_replace('*','',$tvakey);
|
||||||
$tvacompl = " (".$outputlangs->transnoentities("NonPercuRecuperable").")";
|
$tvacompl = " (".$outputlangs->transnoentities("NonPercuRecuperable").")";
|
||||||
}
|
}
|
||||||
$totalvat = $outputlangs->transnoentities("TotalLT1".$mysoc->country_code).' ';
|
$totalvat = $outputlangs->transcountrynoentities("TotalLT1",$mysoc->country_code).' ';
|
||||||
if ($localtax_type == '7') { // amount on order
|
if ($localtax_type == '7') { // amount on order
|
||||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
||||||
|
|
||||||
@ -841,7 +839,7 @@ class pdf_einstein extends ModelePDFCommandes
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$totalvat.=vatrate($tvakey,1).$tvacompl;
|
$totalvat.=vatrate(abs($tvakey),1).$tvacompl;
|
||||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
||||||
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
||||||
$pdf->MultiCell($largcol2, $tab2_hl, price($tvaval), 0, 'R', 1);
|
$pdf->MultiCell($largcol2, $tab2_hl, price($tvaval), 0, 'R', 1);
|
||||||
@ -849,17 +847,17 @@ class pdf_einstein extends ModelePDFCommandes
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
//}
|
||||||
//Local tax 2 after VAT
|
//Local tax 2 after VAT
|
||||||
if (! empty($conf->global->FACTURE_LOCAL_TAX2_OPTION) && $conf->global->FACTURE_LOCAL_TAX2_OPTION=='localtax2on')
|
//if (! empty($conf->global->FACTURE_LOCAL_TAX2_OPTION) && $conf->global->FACTURE_LOCAL_TAX2_OPTION=='localtax2on')
|
||||||
{
|
//{
|
||||||
foreach( $this->localtax2 as $localtax_type => $localtax_rate )
|
foreach( $this->localtax2 as $localtax_type => $localtax_rate )
|
||||||
{
|
{
|
||||||
if (in_array((string) $localtax_type, array('2','4','6'))) continue;
|
if (in_array((string) $localtax_type, array('2','4','6'))) continue;
|
||||||
|
|
||||||
foreach( $localtax_rate as $tvakey => $tvaval )
|
foreach( $localtax_rate as $tvakey => $tvaval )
|
||||||
{
|
{
|
||||||
if ($tvakey>0) // On affiche pas taux 0
|
if ($tvakey != 0) // On affiche pas taux 0
|
||||||
{
|
{
|
||||||
//$this->atleastoneratenotnull++;
|
//$this->atleastoneratenotnull++;
|
||||||
|
|
||||||
@ -872,7 +870,7 @@ class pdf_einstein extends ModelePDFCommandes
|
|||||||
$tvakey=str_replace('*','',$tvakey);
|
$tvakey=str_replace('*','',$tvakey);
|
||||||
$tvacompl = " (".$outputlangs->transnoentities("NonPercuRecuperable").")";
|
$tvacompl = " (".$outputlangs->transnoentities("NonPercuRecuperable").")";
|
||||||
}
|
}
|
||||||
$totalvat = $outputlangs->transnoentities("TotalLT2".$mysoc->country_code).' ';
|
$totalvat = $outputlangs->transcountrynoentities("TotalLT2",$mysoc->country_code).' ';
|
||||||
|
|
||||||
if ($localtax_type == '7') { // amount on order
|
if ($localtax_type == '7') { // amount on order
|
||||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
||||||
@ -881,7 +879,7 @@ class pdf_einstein extends ModelePDFCommandes
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$totalvat.=vatrate($tvakey,1).$tvacompl;
|
$totalvat.=vatrate(abs($tvakey),1).$tvacompl;
|
||||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
||||||
|
|
||||||
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
||||||
@ -890,7 +888,7 @@ class pdf_einstein extends ModelePDFCommandes
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
//}
|
||||||
|
|
||||||
// Total TTC
|
// Total TTC
|
||||||
$index++;
|
$index++;
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
<?php
|
<?php
|
||||||
/* Copyright (C) 2006-2009 Laurent Destailleur <eldy@users.sourceforge.net>
|
/* Copyright (C) 2006-2013 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
@ -220,9 +220,10 @@ class ExportCsv extends ModeleExports
|
|||||||
* @param array $array_selected_sorted Array with list of field to export
|
* @param array $array_selected_sorted Array with list of field to export
|
||||||
* @param resource $objp A record from a fetch with all fields from select
|
* @param resource $objp A record from a fetch with all fields from select
|
||||||
* @param Translate $outputlangs Object lang to translate values
|
* @param Translate $outputlangs Object lang to translate values
|
||||||
|
* @param array $array_types Array with types of fields
|
||||||
* @return int <0 if KO, >0 if OK
|
* @return int <0 if KO, >0 if OK
|
||||||
*/
|
*/
|
||||||
function write_record($array_selected_sorted,$objp,$outputlangs)
|
function write_record($array_selected_sorted,$objp,$outputlangs,$array_types)
|
||||||
{
|
{
|
||||||
global $conf;
|
global $conf;
|
||||||
|
|
||||||
@ -241,8 +242,10 @@ class ExportCsv extends ModeleExports
|
|||||||
if (strpos($code,' as ') == 0) $alias=str_replace(array('.','-'),'_',$code);
|
if (strpos($code,' as ') == 0) $alias=str_replace(array('.','-'),'_',$code);
|
||||||
else $alias=substr($code, strpos($code, ' as ') + 4);
|
else $alias=substr($code, strpos($code, ' as ') + 4);
|
||||||
if (empty($alias)) dol_print_error('','Bad value for field with key='.$code.'. Try to redefine export.');
|
if (empty($alias)) dol_print_error('','Bad value for field with key='.$code.'. Try to redefine export.');
|
||||||
|
|
||||||
$newvalue=$outputlangs->convToOutputCharset($objp->$alias);
|
$newvalue=$outputlangs->convToOutputCharset($objp->$alias);
|
||||||
|
$typefield=isset($array_types[$code])?$array_types[$code]:'';
|
||||||
|
|
||||||
// Translation newvalue
|
// Translation newvalue
|
||||||
if (preg_match('/^\((.*)\)$/i',$newvalue,$reg))
|
if (preg_match('/^\((.*)\)$/i',$newvalue,$reg))
|
||||||
{
|
{
|
||||||
|
|||||||
@ -260,9 +260,10 @@ class ExportExcel extends ModeleExports
|
|||||||
* @param array $array_selected_sorted Array with list of field to export
|
* @param array $array_selected_sorted Array with list of field to export
|
||||||
* @param resource $objp A record from a fetch with all fields from select
|
* @param resource $objp A record from a fetch with all fields from select
|
||||||
* @param Translate $outputlangs Object lang to translate values
|
* @param Translate $outputlangs Object lang to translate values
|
||||||
|
* @param array $array_types Array with types of fields
|
||||||
* @return int <0 if KO, >0 if OK
|
* @return int <0 if KO, >0 if OK
|
||||||
*/
|
*/
|
||||||
function write_record($array_selected_sorted,$objp,$outputlangs)
|
function write_record($array_selected_sorted,$objp,$outputlangs,$array_types)
|
||||||
{
|
{
|
||||||
// Create a format for the column headings
|
// Create a format for the column headings
|
||||||
if (! empty($conf->global->MAIN_USE_PHP_WRITEEXCEL))
|
if (! empty($conf->global->MAIN_USE_PHP_WRITEEXCEL))
|
||||||
@ -281,7 +282,8 @@ class ExportExcel extends ModeleExports
|
|||||||
$newvalue=$objp->$alias;
|
$newvalue=$objp->$alias;
|
||||||
|
|
||||||
$newvalue=$this->excel_clean($newvalue);
|
$newvalue=$this->excel_clean($newvalue);
|
||||||
|
$typefield=isset($array_types[$code])?$array_types[$code]:'';
|
||||||
|
|
||||||
// Traduction newvalue
|
// Traduction newvalue
|
||||||
if (preg_match('/^\((.*)\)$/i',$newvalue,$reg))
|
if (preg_match('/^\((.*)\)$/i',$newvalue,$reg))
|
||||||
{
|
{
|
||||||
|
|||||||
@ -261,9 +261,10 @@ class ExportExcel2007 extends ExportExcel
|
|||||||
* @param array $array_selected_sorted Array with list of field to export
|
* @param array $array_selected_sorted Array with list of field to export
|
||||||
* @param resource $objp A record from a fetch with all fields from select
|
* @param resource $objp A record from a fetch with all fields from select
|
||||||
* @param Translate $outputlangs Object lang to translate values
|
* @param Translate $outputlangs Object lang to translate values
|
||||||
|
* @param array $array_types Array with types of fields
|
||||||
* @return int <0 if KO, >0 if OK
|
* @return int <0 if KO, >0 if OK
|
||||||
*/
|
*/
|
||||||
function write_record($array_selected_sorted,$objp,$outputlangs)
|
function write_record($array_selected_sorted,$objp,$outputlangs,$array_types)
|
||||||
{
|
{
|
||||||
// Create a format for the column headings
|
// Create a format for the column headings
|
||||||
if (! empty($conf->global->MAIN_USE_PHP_WRITEEXCEL))
|
if (! empty($conf->global->MAIN_USE_PHP_WRITEEXCEL))
|
||||||
@ -282,7 +283,8 @@ class ExportExcel2007 extends ExportExcel
|
|||||||
$newvalue=$objp->$alias;
|
$newvalue=$objp->$alias;
|
||||||
|
|
||||||
$newvalue=$this->excel_clean($newvalue);
|
$newvalue=$this->excel_clean($newvalue);
|
||||||
|
$typefield=isset($array_types[$code])?$array_types[$code]:'';
|
||||||
|
|
||||||
// Traduction newvalue
|
// Traduction newvalue
|
||||||
if (preg_match('/^\((.*)\)$/i',$newvalue,$reg))
|
if (preg_match('/^\((.*)\)$/i',$newvalue,$reg))
|
||||||
{
|
{
|
||||||
@ -293,6 +295,8 @@ class ExportExcel2007 extends ExportExcel
|
|||||||
$newvalue=$outputlangs->convToOutputCharset($newvalue);
|
$newvalue=$outputlangs->convToOutputCharset($newvalue);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//var_dump($code.' '.$alias.' '.$newvalue.' '.$typefield);
|
||||||
|
|
||||||
if (preg_match('/^[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]$/i',$newvalue))
|
if (preg_match('/^[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]$/i',$newvalue))
|
||||||
{
|
{
|
||||||
if (! empty($conf->global->MAIN_USE_PHP_WRITEEXCEL))
|
if (! empty($conf->global->MAIN_USE_PHP_WRITEEXCEL))
|
||||||
@ -341,7 +345,21 @@ class ExportExcel2007 extends ExportExcel
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$this->workbook->getActiveSheet()->SetCellValueByColumnAndRow($this->col, $this->row+1, $newvalue);
|
//$coord=$this->workbook->getActiveSheet()->getCellByColumnAndRow($this->col, $this->row+1)->getCoordinate();
|
||||||
|
//if ($typefield == 'Text') $this->workbook->getActiveSheet()->getStyle($coord)->getNumberFormat()->setFormatCode('@');
|
||||||
|
//$this->workbook->getActiveSheet()->SetCellValueByColumnAndRow($this->col, $this->row+1, $newvalue);
|
||||||
|
if ($typefield == 'Text')
|
||||||
|
{
|
||||||
|
//var_dump($code.' '.$alias.' '.$newvalue.' '.$typefield);
|
||||||
|
//$this->workbook->getActiveSheet()->SetCellValueByColumnAndRow($this->col, $this->row+1, (string) $newvalue);
|
||||||
|
$this->workbook->getActiveSheet()->getCellByColumnAndRow($this->col, $this->row+1)->setValueExplicit($newvalue, PHPExcel_Cell_DataType::TYPE_STRING);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
//$coord=$this->workbook->getActiveSheet()->getCellByColumnAndRow($this->col, $this->row+1)->getCoordinate();
|
||||||
|
//if ($typefield == 'Text') $this->workbook->getActiveSheet()->getStyle($coord)->getNumberFormat()->setFormatCode('@');
|
||||||
|
$this->workbook->getActiveSheet()->SetCellValueByColumnAndRow($this->col, $this->row+1, $newvalue);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$this->col++;
|
$this->col++;
|
||||||
|
|||||||
@ -204,25 +204,30 @@ class ExportTsv extends ModeleExports
|
|||||||
* @param array $array_selected_sorted Array with list of field to export
|
* @param array $array_selected_sorted Array with list of field to export
|
||||||
* @param resource $objp A record from a fetch with all fields from select
|
* @param resource $objp A record from a fetch with all fields from select
|
||||||
* @param Translate $outputlangs Object lang to translate values
|
* @param Translate $outputlangs Object lang to translate values
|
||||||
|
* @param array $array_types Array with types of fields
|
||||||
* @return int <0 if KO, >0 if OK
|
* @return int <0 if KO, >0 if OK
|
||||||
*/
|
*/
|
||||||
function write_record($array_selected_sorted,$objp,$outputlangs)
|
function write_record($array_selected_sorted,$objp,$outputlangs,$array_types)
|
||||||
{
|
{
|
||||||
|
global $conf;
|
||||||
|
|
||||||
$this->col=0;
|
$this->col=0;
|
||||||
foreach($array_selected_sorted as $code => $value)
|
foreach($array_selected_sorted as $code => $value)
|
||||||
{
|
{
|
||||||
if (strpos($code,' as ') == 0) $alias=str_replace(array('.','-'),'_',$code);
|
if (strpos($code,' as ') == 0) $alias=str_replace(array('.','-'),'_',$code);
|
||||||
else $alias=substr($code, strpos($code, ' as ') + 4);
|
else $alias=substr($code, strpos($code, ' as ') + 4);
|
||||||
if (empty($alias)) dol_print_error('','Bad value for field with code='.$code.'. Try to redefine export.');
|
if (empty($alias)) dol_print_error('','Bad value for field with code='.$code.'. Try to redefine export.');
|
||||||
$newvalue=$objp->$alias;
|
|
||||||
|
$newvalue=$outputlangs->convToOutputCharset($objp->$alias);
|
||||||
|
$typefield=isset($array_types[$code])?$array_types[$code]:'';
|
||||||
|
|
||||||
// Translation newvalue
|
// Translation newvalue
|
||||||
if (preg_match('/^\((.*)\)$/i',$newvalue,$reg))
|
if (preg_match('/^\((.*)\)$/i',$newvalue,$reg))
|
||||||
{
|
{
|
||||||
$newvalue=$outputlangs->transnoentities($reg[1]);
|
$newvalue=$outputlangs->transnoentities($reg[1]);
|
||||||
}
|
}
|
||||||
|
|
||||||
$newvalue=$this->tsv_clean($newvalue);
|
$newvalue=$this->tsv_clean($newvalue,$outputlangs->charset_output);
|
||||||
|
|
||||||
fwrite($this->handle,$newvalue.$this->separator);
|
fwrite($this->handle,$newvalue.$this->separator);
|
||||||
$this->col++;
|
$this->col++;
|
||||||
@ -257,12 +262,13 @@ class ExportTsv extends ModeleExports
|
|||||||
* Clean a cell to respect rules of TSV file cells
|
* Clean a cell to respect rules of TSV file cells
|
||||||
*
|
*
|
||||||
* @param string $newvalue String to clean
|
* @param string $newvalue String to clean
|
||||||
|
* @param string $charset Output character set
|
||||||
* @return string Value cleaned
|
* @return string Value cleaned
|
||||||
*/
|
*/
|
||||||
function tsv_clean($newvalue)
|
function tsv_clean($newvalue, $charset)
|
||||||
{
|
{
|
||||||
// Rule Dolibarr: No HTML
|
// Rule Dolibarr: No HTML
|
||||||
$newvalue=dol_string_nohtmltag($newvalue);
|
$newvalue=dol_string_nohtmltag($newvalue, 1, $charset);
|
||||||
|
|
||||||
// Rule 1 TSV: No CR, LF in cells
|
// Rule 1 TSV: No CR, LF in cells
|
||||||
$newvalue=str_replace("\r",'',$newvalue);
|
$newvalue=str_replace("\r",'',$newvalue);
|
||||||
|
|||||||
@ -850,12 +850,11 @@ class pdf_crabe extends ModelePDFFactures
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
//Local tax 1 before VAT
|
//Local tax 1 before VAT
|
||||||
if (! empty($conf->global->FACTURE_LOCAL_TAX1_OPTION) && $conf->global->FACTURE_LOCAL_TAX1_OPTION=='localtax1on')
|
//if (! empty($conf->global->FACTURE_LOCAL_TAX1_OPTION) && $conf->global->FACTURE_LOCAL_TAX1_OPTION=='localtax1on')
|
||||||
{
|
//{
|
||||||
foreach( $this->localtax1 as $localtax_type => $localtax_rate )
|
foreach( $this->localtax1 as $localtax_type => $localtax_rate )
|
||||||
{
|
{
|
||||||
// TODO: Place into a function to control showing by country or study better option
|
if (in_array((string) $localtax_type, array('1','3','5','7'))) continue;
|
||||||
if (in_array((string) $localtax_type, array('1','3','5','7')) && $mysoc->country_code != 'ES') continue;
|
|
||||||
|
|
||||||
foreach( $localtax_rate as $tvakey => $tvaval )
|
foreach( $localtax_rate as $tvakey => $tvaval )
|
||||||
{
|
{
|
||||||
@ -872,8 +871,9 @@ class pdf_crabe extends ModelePDFFactures
|
|||||||
$tvakey=str_replace('*','',$tvakey);
|
$tvakey=str_replace('*','',$tvakey);
|
||||||
$tvacompl = " (".$outputlangs->transnoentities("NonPercuRecuperable").")";
|
$tvacompl = " (".$outputlangs->transnoentities("NonPercuRecuperable").")";
|
||||||
}
|
}
|
||||||
$totalvat = $outputlangs->transnoentities("TotalLT1".$mysoc->country_code).' ';
|
|
||||||
$totalvat.=vatrate($tvakey,1).$tvacompl;
|
$totalvat = $outputlangs->transcountrynoentities("TotalLT1",$mysoc->country_code).' ';
|
||||||
|
$totalvat.=vatrate(abs($tvakey),1).$tvacompl;
|
||||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
||||||
|
|
||||||
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
||||||
@ -881,14 +881,13 @@ class pdf_crabe extends ModelePDFFactures
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
//}
|
||||||
//Local tax 2 before VAT
|
//Local tax 2 before VAT
|
||||||
if (! empty($conf->global->FACTURE_LOCAL_TAX2_OPTION) && $conf->global->FACTURE_LOCAL_TAX2_OPTION=='localtax2on')
|
//if (! empty($conf->global->FACTURE_LOCAL_TAX2_OPTION) && $conf->global->FACTURE_LOCAL_TAX2_OPTION=='localtax2on')
|
||||||
{
|
//{
|
||||||
foreach( $this->localtax2 as $localtax_type => $localtax_rate )
|
foreach( $this->localtax2 as $localtax_type => $localtax_rate )
|
||||||
{
|
{
|
||||||
// TODO: Place into a function to control showing by country or study better option
|
if (in_array((string) $localtax_type, array('1','3','5','7'))) continue;
|
||||||
if (in_array((string) $localtax_type, array('1','3','5','7')) && $mysoc->country_code != 'ES') continue;
|
|
||||||
|
|
||||||
foreach( $localtax_rate as $tvakey => $tvaval )
|
foreach( $localtax_rate as $tvakey => $tvaval )
|
||||||
{
|
{
|
||||||
@ -907,8 +906,8 @@ class pdf_crabe extends ModelePDFFactures
|
|||||||
$tvakey=str_replace('*','',$tvakey);
|
$tvakey=str_replace('*','',$tvakey);
|
||||||
$tvacompl = " (".$outputlangs->transnoentities("NonPercuRecuperable").")";
|
$tvacompl = " (".$outputlangs->transnoentities("NonPercuRecuperable").")";
|
||||||
}
|
}
|
||||||
$totalvat = $outputlangs->transnoentities("TotalLT2".$mysoc->country_code).' ';
|
$totalvat = $outputlangs->transcountrynoentities("TotalLT2",$mysoc->country_code).' ';
|
||||||
$totalvat.=vatrate($tvakey,1).$tvacompl;
|
$totalvat.=vatrate(abs($tvakey),1).$tvacompl;
|
||||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
||||||
|
|
||||||
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
||||||
@ -917,7 +916,7 @@ class pdf_crabe extends ModelePDFFactures
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
//}
|
||||||
// VAT
|
// VAT
|
||||||
foreach($this->tva as $tvakey => $tvaval)
|
foreach($this->tva as $tvakey => $tvaval)
|
||||||
{
|
{
|
||||||
@ -944,15 +943,15 @@ class pdf_crabe extends ModelePDFFactures
|
|||||||
}
|
}
|
||||||
|
|
||||||
//Local tax 1 after VAT
|
//Local tax 1 after VAT
|
||||||
if (! empty($conf->global->FACTURE_LOCAL_TAX1_OPTION) && $conf->global->FACTURE_LOCAL_TAX1_OPTION=='localtax1on')
|
//if (! empty($conf->global->FACTURE_LOCAL_TAX1_OPTION) && $conf->global->FACTURE_LOCAL_TAX1_OPTION=='localtax1on')
|
||||||
{
|
//{
|
||||||
foreach( $this->localtax1 as $localtax_type => $localtax_rate )
|
foreach( $this->localtax1 as $localtax_type => $localtax_rate )
|
||||||
{
|
{
|
||||||
if (in_array((string) $localtax_type, array('2','4','6'))) continue;
|
if (in_array((string) $localtax_type, array('2','4','6'))) continue;
|
||||||
|
|
||||||
foreach( $localtax_rate as $tvakey => $tvaval )
|
foreach( $localtax_rate as $tvakey => $tvaval )
|
||||||
{
|
{
|
||||||
if ($tvakey>0) // On affiche pas taux 0
|
if ($tvakey != 0) // On affiche pas taux 0
|
||||||
{
|
{
|
||||||
//$this->atleastoneratenotnull++;
|
//$this->atleastoneratenotnull++;
|
||||||
|
|
||||||
@ -965,7 +964,7 @@ class pdf_crabe extends ModelePDFFactures
|
|||||||
$tvakey=str_replace('*','',$tvakey);
|
$tvakey=str_replace('*','',$tvakey);
|
||||||
$tvacompl = " (".$outputlangs->transnoentities("NonPercuRecuperable").")";
|
$tvacompl = " (".$outputlangs->transnoentities("NonPercuRecuperable").")";
|
||||||
}
|
}
|
||||||
$totalvat = $outputlangs->transnoentities("TotalLT1".$mysoc->country_code).' ';
|
$totalvat = $outputlangs->transcountrynoentities("TotalLT1",$mysoc->country_code).' ';
|
||||||
if ($localtax_type == '7') { // amount on order
|
if ($localtax_type == '7') { // amount on order
|
||||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
||||||
|
|
||||||
@ -974,7 +973,7 @@ class pdf_crabe extends ModelePDFFactures
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$totalvat.=vatrate($tvakey,1).$tvacompl;
|
$totalvat.=vatrate(abs($tvakey),1).$tvacompl;
|
||||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
||||||
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
||||||
$pdf->MultiCell($largcol2, $tab2_hl, price($tvaval), 0, 'R', 1);
|
$pdf->MultiCell($largcol2, $tab2_hl, price($tvaval), 0, 'R', 1);
|
||||||
@ -982,10 +981,10 @@ class pdf_crabe extends ModelePDFFactures
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
//}
|
||||||
//Local tax 2 after VAT
|
//Local tax 2 after VAT
|
||||||
if (! empty($conf->global->FACTURE_LOCAL_TAX2_OPTION) && $conf->global->FACTURE_LOCAL_TAX2_OPTION=='localtax2on')
|
//if (! empty($conf->global->FACTURE_LOCAL_TAX2_OPTION) && $conf->global->FACTURE_LOCAL_TAX2_OPTION=='localtax2on')
|
||||||
{
|
//{
|
||||||
foreach( $this->localtax2 as $localtax_type => $localtax_rate )
|
foreach( $this->localtax2 as $localtax_type => $localtax_rate )
|
||||||
{
|
{
|
||||||
if (in_array((string) $localtax_type, array('2','4','6'))) continue;
|
if (in_array((string) $localtax_type, array('2','4','6'))) continue;
|
||||||
@ -993,7 +992,7 @@ class pdf_crabe extends ModelePDFFactures
|
|||||||
foreach( $localtax_rate as $tvakey => $tvaval )
|
foreach( $localtax_rate as $tvakey => $tvaval )
|
||||||
{
|
{
|
||||||
// retrieve global local tax
|
// retrieve global local tax
|
||||||
if ($tvakey>0) // On affiche pas taux 0
|
if ($tvakey != 0) // On affiche pas taux 0
|
||||||
{
|
{
|
||||||
//$this->atleastoneratenotnull++;
|
//$this->atleastoneratenotnull++;
|
||||||
|
|
||||||
@ -1006,7 +1005,7 @@ class pdf_crabe extends ModelePDFFactures
|
|||||||
$tvakey=str_replace('*','',$tvakey);
|
$tvakey=str_replace('*','',$tvakey);
|
||||||
$tvacompl = " (".$outputlangs->transnoentities("NonPercuRecuperable").")";
|
$tvacompl = " (".$outputlangs->transnoentities("NonPercuRecuperable").")";
|
||||||
}
|
}
|
||||||
$totalvat = $outputlangs->transnoentities("TotalLT2".$mysoc->country_code).' ';
|
$totalvat = $outputlangs->transcountrynoentities("TotalLT2",$mysoc->country_code).' ';
|
||||||
|
|
||||||
if ($localtax_type == '7') { // amount on order
|
if ($localtax_type == '7') { // amount on order
|
||||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
||||||
@ -1015,7 +1014,7 @@ class pdf_crabe extends ModelePDFFactures
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$totalvat.=vatrate($tvakey,1).$tvacompl;
|
$totalvat.=vatrate(abs($tvakey),1).$tvacompl;
|
||||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
||||||
|
|
||||||
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
||||||
@ -1023,7 +1022,7 @@ class pdf_crabe extends ModelePDFFactures
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
//}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Total TTC
|
// Total TTC
|
||||||
|
|||||||
@ -283,7 +283,8 @@ class modSociete extends DolibarrModules
|
|||||||
$this->export_label[$r]='ExportDataset_company_2';
|
$this->export_label[$r]='ExportDataset_company_2';
|
||||||
$this->export_icon[$r]='contact';
|
$this->export_icon[$r]='contact';
|
||||||
$this->export_permission[$r]=array(array("societe","contact","export"));
|
$this->export_permission[$r]=array(array("societe","contact","export"));
|
||||||
$this->export_fields_array[$r]=array('c.rowid'=>"IdContact",'c.civilite'=>"CivilityCode",'c.name'=>'Lastname','c.firstname'=>'Firstname','c.datec'=>"DateCreation",'c.tms'=>"DateLastModification",'c.priv'=>"ContactPrivate",'c.address'=>"Address",'c.zip'=>"Zip",'c.town'=>"Town",'c.phone'=>"Phone",'c.fax'=>"Fax",'c.email'=>"EMail",'p.libelle'=>"Country",'p.code'=>"CountryCode",'s.rowid'=>"IdCompany",'s.nom'=>"CompanyName",'s.status'=>"Status",'s.code_client'=>"CustomerCode",'s.code_fournisseur'=>"SupplierCode");
|
$this->export_fields_array[$r]=array('c.rowid'=>"IdContact",'c.civilite'=>"CivilityCode",'c.lastname'=>'Lastname','c.firstname'=>'Firstname','c.datec'=>"DateCreation",'c.tms'=>"DateLastModification",'c.priv'=>"ContactPrivate",'c.address'=>"Address",'c.zip'=>"Zip",'c.town'=>"Town",'c.phone'=>"Phone",'c.fax'=>"Fax",'c.email'=>"EMail",'p.libelle'=>"Country",'p.code'=>"CountryCode",'s.rowid'=>"IdCompany",'s.nom'=>"CompanyName",'s.status'=>"Status",'s.code_client'=>"CustomerCode",'s.code_fournisseur'=>"SupplierCode");
|
||||||
|
$this->export_TypeFields_array[$r]=array('c.lastname'=>"Text",'c.firstname'=>"Text",'s.code_client'=>"Text",'s.code_fournisseur'=>"Text");
|
||||||
$this->export_entities_array[$r]=array('s.rowid'=>"company",'s.nom'=>"company",'s.code_client'=>"company",'s.code_fournisseur'=>"company"); // We define here only fields that use another picto
|
$this->export_entities_array[$r]=array('s.rowid'=>"company",'s.nom'=>"company",'s.code_client'=>"company",'s.code_fournisseur'=>"company"); // We define here only fields that use another picto
|
||||||
if (empty($conf->fournisseur->enabled))
|
if (empty($conf->fournisseur->enabled))
|
||||||
{
|
{
|
||||||
|
|||||||
@ -747,12 +747,11 @@ class pdf_azur extends ModelePDFPropales
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
//Local tax 1 before VAT
|
//Local tax 1 before VAT
|
||||||
if (! empty($conf->global->FACTURE_LOCAL_TAX1_OPTION) && $conf->global->FACTURE_LOCAL_TAX1_OPTION=='localtax1on')
|
//if (! empty($conf->global->FACTURE_LOCAL_TAX1_OPTION) && $conf->global->FACTURE_LOCAL_TAX1_OPTION=='localtax1on')
|
||||||
{
|
//{
|
||||||
foreach( $this->localtax1 as $localtax_type => $localtax_rate )
|
foreach( $this->localtax1 as $localtax_type => $localtax_rate )
|
||||||
{
|
{
|
||||||
// TODO: Place into a function to control showing by country or study better option
|
if (in_array((string) $localtax_type, array('1','3','5','7'))) continue;
|
||||||
if (in_array((string) $localtax_type, array('1','3','5','7')) && $mysoc->country_code != 'ES') continue;
|
|
||||||
|
|
||||||
foreach( $localtax_rate as $tvakey => $tvaval )
|
foreach( $localtax_rate as $tvakey => $tvaval )
|
||||||
{
|
{
|
||||||
@ -769,8 +768,8 @@ class pdf_azur extends ModelePDFPropales
|
|||||||
$tvakey=str_replace('*','',$tvakey);
|
$tvakey=str_replace('*','',$tvakey);
|
||||||
$tvacompl = " (".$outputlangs->transnoentities("NonPercuRecuperable").")";
|
$tvacompl = " (".$outputlangs->transnoentities("NonPercuRecuperable").")";
|
||||||
}
|
}
|
||||||
$totalvat = $outputlangs->transnoentities("TotalLT1".$mysoc->country_code).' ';
|
$totalvat = $outputlangs->transcountrynoentities("TotalLT1",$mysoc->country_code).' ';
|
||||||
$totalvat.=vatrate($tvakey,1).$tvacompl;
|
$totalvat.=vatrate(abs($tvakey),1).$tvacompl;
|
||||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
||||||
|
|
||||||
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
||||||
@ -778,14 +777,13 @@ class pdf_azur extends ModelePDFPropales
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
//}
|
||||||
//Local tax 2 before VAT
|
//Local tax 2 before VAT
|
||||||
if (! empty($conf->global->FACTURE_LOCAL_TAX2_OPTION) && $conf->global->FACTURE_LOCAL_TAX2_OPTION=='localtax2on')
|
//if (! empty($conf->global->FACTURE_LOCAL_TAX2_OPTION) && $conf->global->FACTURE_LOCAL_TAX2_OPTION=='localtax2on')
|
||||||
{
|
//{
|
||||||
foreach( $this->localtax2 as $localtax_type => $localtax_rate )
|
foreach( $this->localtax2 as $localtax_type => $localtax_rate )
|
||||||
{
|
{
|
||||||
// TODO: Place into a function to control showing by country or study better option
|
if (in_array((string) $localtax_type, array('1','3','5','7'))) continue;
|
||||||
if (in_array((string) $localtax_type, array('1','3','5','7')) && $mysoc->country_code != 'ES') continue;
|
|
||||||
|
|
||||||
foreach( $localtax_rate as $tvakey => $tvaval )
|
foreach( $localtax_rate as $tvakey => $tvaval )
|
||||||
{
|
{
|
||||||
@ -804,8 +802,8 @@ class pdf_azur extends ModelePDFPropales
|
|||||||
$tvakey=str_replace('*','',$tvakey);
|
$tvakey=str_replace('*','',$tvakey);
|
||||||
$tvacompl = " (".$outputlangs->transnoentities("NonPercuRecuperable").")";
|
$tvacompl = " (".$outputlangs->transnoentities("NonPercuRecuperable").")";
|
||||||
}
|
}
|
||||||
$totalvat = $outputlangs->transnoentities("TotalLT2".$mysoc->country_code).' ';
|
$totalvat = $outputlangs->transcountrynoentities("TotalLT2".$mysoc->country_code).' ';
|
||||||
$totalvat.=vatrate($tvakey,1).$tvacompl;
|
$totalvat.=vatrate(abs($tvakey),1).$tvacompl;
|
||||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
||||||
|
|
||||||
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
||||||
@ -814,7 +812,7 @@ class pdf_azur extends ModelePDFPropales
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
//}
|
||||||
// VAT
|
// VAT
|
||||||
foreach($this->tva as $tvakey => $tvaval)
|
foreach($this->tva as $tvakey => $tvaval)
|
||||||
{
|
{
|
||||||
@ -841,15 +839,15 @@ class pdf_azur extends ModelePDFPropales
|
|||||||
}
|
}
|
||||||
|
|
||||||
//Local tax 1 after VAT
|
//Local tax 1 after VAT
|
||||||
if (! empty($conf->global->FACTURE_LOCAL_TAX1_OPTION) && $conf->global->FACTURE_LOCAL_TAX1_OPTION=='localtax1on')
|
//if (! empty($conf->global->FACTURE_LOCAL_TAX1_OPTION) && $conf->global->FACTURE_LOCAL_TAX1_OPTION=='localtax1on')
|
||||||
{
|
//{
|
||||||
foreach( $this->localtax1 as $localtax_type => $localtax_rate )
|
foreach( $this->localtax1 as $localtax_type => $localtax_rate )
|
||||||
{
|
{
|
||||||
if (in_array((string) $localtax_type, array('2','4','6'))) continue;
|
if (in_array((string) $localtax_type, array('2','4','6'))) continue;
|
||||||
|
|
||||||
foreach( $localtax_rate as $tvakey => $tvaval )
|
foreach( $localtax_rate as $tvakey => $tvaval )
|
||||||
{
|
{
|
||||||
if ($tvakey>0) // On affiche pas taux 0
|
if ($tvakey != 0) // On affiche pas taux 0
|
||||||
{
|
{
|
||||||
//$this->atleastoneratenotnull++;
|
//$this->atleastoneratenotnull++;
|
||||||
|
|
||||||
@ -862,7 +860,7 @@ class pdf_azur extends ModelePDFPropales
|
|||||||
$tvakey=str_replace('*','',$tvakey);
|
$tvakey=str_replace('*','',$tvakey);
|
||||||
$tvacompl = " (".$outputlangs->transnoentities("NonPercuRecuperable").")";
|
$tvacompl = " (".$outputlangs->transnoentities("NonPercuRecuperable").")";
|
||||||
}
|
}
|
||||||
$totalvat = $outputlangs->transnoentities("TotalLT1".$mysoc->country_code).' ';
|
$totalvat = $outputlangs->transcountrynoentities("TotalLT1",$mysoc->country_code).' ';
|
||||||
if ($localtax_type == '7') { // amount on order
|
if ($localtax_type == '7') { // amount on order
|
||||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
||||||
|
|
||||||
@ -871,7 +869,7 @@ class pdf_azur extends ModelePDFPropales
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$totalvat.=vatrate($tvakey,1).$tvacompl;
|
$totalvat.=vatrate(abs($tvakey),1).$tvacompl;
|
||||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
||||||
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
||||||
$pdf->MultiCell($largcol2, $tab2_hl, price($tvaval), 0, 'R', 1);
|
$pdf->MultiCell($largcol2, $tab2_hl, price($tvaval), 0, 'R', 1);
|
||||||
@ -879,17 +877,17 @@ class pdf_azur extends ModelePDFPropales
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
//}
|
||||||
//Local tax 2 after VAT
|
//Local tax 2 after VAT
|
||||||
if (! empty($conf->global->FACTURE_LOCAL_TAX2_OPTION) && $conf->global->FACTURE_LOCAL_TAX2_OPTION=='localtax2on')
|
//if (! empty($conf->global->FACTURE_LOCAL_TAX2_OPTION) && $conf->global->FACTURE_LOCAL_TAX2_OPTION=='localtax2on')
|
||||||
{
|
//{
|
||||||
foreach( $this->localtax2 as $localtax_type => $localtax_rate )
|
foreach( $this->localtax2 as $localtax_type => $localtax_rate )
|
||||||
{
|
{
|
||||||
if (in_array((string) $localtax_type, array('2','4','6'))) continue;
|
if (in_array((string) $localtax_type, array('2','4','6'))) continue;
|
||||||
|
|
||||||
foreach( $localtax_rate as $tvakey => $tvaval )
|
foreach( $localtax_rate as $tvakey => $tvaval )
|
||||||
{
|
{
|
||||||
if ($tvakey>0) // On affiche pas taux 0
|
if ($tvakey != 0) // On affiche pas taux 0
|
||||||
{
|
{
|
||||||
//$this->atleastoneratenotnull++;
|
//$this->atleastoneratenotnull++;
|
||||||
|
|
||||||
@ -902,7 +900,7 @@ class pdf_azur extends ModelePDFPropales
|
|||||||
$tvakey=str_replace('*','',$tvakey);
|
$tvakey=str_replace('*','',$tvakey);
|
||||||
$tvacompl = " (".$outputlangs->transnoentities("NonPercuRecuperable").")";
|
$tvacompl = " (".$outputlangs->transnoentities("NonPercuRecuperable").")";
|
||||||
}
|
}
|
||||||
$totalvat = $outputlangs->transnoentities("TotalLT2".$mysoc->country_code).' ';
|
$totalvat = $outputlangs->transcountrynoentities("TotalLT2",$mysoc->country_code).' ';
|
||||||
|
|
||||||
if ($localtax_type == '7') { // amount on order
|
if ($localtax_type == '7') { // amount on order
|
||||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
||||||
@ -911,7 +909,7 @@ class pdf_azur extends ModelePDFPropales
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$totalvat.=vatrate($tvakey,1).$tvacompl;
|
$totalvat.=vatrate(abs($tvakey),1).$tvacompl;
|
||||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
||||||
|
|
||||||
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
||||||
@ -920,7 +918,7 @@ class pdf_azur extends ModelePDFPropales
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
//}
|
||||||
|
|
||||||
// Total TTC
|
// Total TTC
|
||||||
$index++;
|
$index++;
|
||||||
|
|||||||
@ -523,7 +523,7 @@ class pdf_canelle extends ModelePDFSuppliersInvoices
|
|||||||
{
|
{
|
||||||
$index++;
|
$index++;
|
||||||
$pdf->SetXY($col1x, $tab2_top + $tab2_hl * $index);
|
$pdf->SetXY($col1x, $tab2_top + $tab2_hl * $index);
|
||||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $outputlangs->transnoentities("TotalLT1".$mysoc->country_code), 0, 'L', 1);
|
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $outputlangs->transcountrynoentities("TotalLT1",$mysoc->country_code), 0, 'L', 1);
|
||||||
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
||||||
$pdf->MultiCell($largcol2, $tab2_hl, price($object->total_localtax1), 0, 'R', 1);
|
$pdf->MultiCell($largcol2, $tab2_hl, price($object->total_localtax1), 0, 'R', 1);
|
||||||
}
|
}
|
||||||
@ -533,19 +533,19 @@ class pdf_canelle extends ModelePDFSuppliersInvoices
|
|||||||
{
|
{
|
||||||
$index++;
|
$index++;
|
||||||
$pdf->SetXY($col1x, $tab2_top + $tab2_hl * $index);
|
$pdf->SetXY($col1x, $tab2_top + $tab2_hl * $index);
|
||||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $outputlangs->transnoentities("TotalLT2".$mysoc->country_code), 0, 'L', 1);
|
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $outputlangs->transcountrynoentities("TotalLT2",$mysoc->country_code), 0, 'L', 1);
|
||||||
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
||||||
$pdf->MultiCell($largcol2, $tab2_hl, price($object->total_localtax2), 0, 'R', 1);
|
$pdf->MultiCell($largcol2, $tab2_hl, price($object->total_localtax2), 0, 'R', 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (! empty($conf->global->FACTURE_LOCAL_TAX1_OPTION) && $conf->global->FACTURE_LOCAL_TAX1_OPTION=='localtax1on')
|
//if (! empty($conf->global->FACTURE_LOCAL_TAX1_OPTION) && $conf->global->FACTURE_LOCAL_TAX1_OPTION=='localtax1on')
|
||||||
{
|
//{
|
||||||
//Local tax 1
|
//Local tax 1
|
||||||
foreach( $this->localtax1 as $tvakey => $tvaval )
|
foreach( $this->localtax1 as $tvakey => $tvaval )
|
||||||
{
|
{
|
||||||
if ($tvakey>0) // On affiche pas taux 0
|
if ($tvakey != 0) // On affiche pas taux 0
|
||||||
{
|
{
|
||||||
//$this->atleastoneratenotnull++;
|
//$this->atleastoneratenotnull++;
|
||||||
|
|
||||||
@ -558,22 +558,22 @@ class pdf_canelle extends ModelePDFSuppliersInvoices
|
|||||||
$tvakey=str_replace('*','',$tvakey);
|
$tvakey=str_replace('*','',$tvakey);
|
||||||
$tvacompl = " (".$outputlangs->transnoentities("NonPercuRecuperable").")";
|
$tvacompl = " (".$outputlangs->transnoentities("NonPercuRecuperable").")";
|
||||||
}
|
}
|
||||||
$totalvat =$outputlangs->transnoentities("TotalLT1".$mysoc->country_code).' ';
|
$totalvat =$outputlangs->transnoentities("TotalLT1",$mysoc->country_code).' ';
|
||||||
$totalvat.=vatrate($tvakey,1).$tvacompl;
|
$totalvat.=vatrate(abs($tvakey),1).$tvacompl;
|
||||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
||||||
|
|
||||||
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
||||||
$pdf->MultiCell($largcol2, $tab2_hl, price($tvaval), 0, 'R', 1);
|
$pdf->MultiCell($largcol2, $tab2_hl, price($tvaval), 0, 'R', 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
//}
|
||||||
|
|
||||||
if (! empty($conf->global->FACTURE_LOCAL_TAX2_OPTION) && $conf->global->FACTURE_LOCAL_TAX2_OPTION=='localtax2on')
|
//if (! empty($conf->global->FACTURE_LOCAL_TAX2_OPTION) && $conf->global->FACTURE_LOCAL_TAX2_OPTION=='localtax2on')
|
||||||
{
|
//{
|
||||||
//Local tax 2
|
//Local tax 2
|
||||||
foreach( $this->localtax2 as $tvakey => $tvaval )
|
foreach( $this->localtax2 as $tvakey => $tvaval )
|
||||||
{
|
{
|
||||||
if ($tvakey>0) // On affiche pas taux 0
|
if ($tvakey != 0) // On affiche pas taux 0
|
||||||
{
|
{
|
||||||
//$this->atleastoneratenotnull++;
|
//$this->atleastoneratenotnull++;
|
||||||
|
|
||||||
@ -586,15 +586,15 @@ class pdf_canelle extends ModelePDFSuppliersInvoices
|
|||||||
$tvakey=str_replace('*','',$tvakey);
|
$tvakey=str_replace('*','',$tvakey);
|
||||||
$tvacompl = " (".$outputlangs->transnoentities("NonPercuRecuperable").")";
|
$tvacompl = " (".$outputlangs->transnoentities("NonPercuRecuperable").")";
|
||||||
}
|
}
|
||||||
$totalvat =$outputlangs->transnoentities("TotalLT2".$mysoc->country_code).' ';
|
$totalvat =$outputlangs->transnoentities("TotalLT2",$mysoc->country_code).' ';
|
||||||
$totalvat.=vatrate($tvakey,1).$tvacompl;
|
$totalvat.=vatrate(abs($tvakey),1).$tvacompl;
|
||||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
||||||
|
|
||||||
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
||||||
$pdf->MultiCell($largcol2, $tab2_hl, price($tvaval), 0, 'R', 1);
|
$pdf->MultiCell($largcol2, $tab2_hl, price($tvaval), 0, 'R', 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
//}
|
||||||
}
|
}
|
||||||
|
|
||||||
$useborder=0;
|
$useborder=0;
|
||||||
|
|||||||
@ -691,7 +691,7 @@ class pdf_muscadet extends ModelePDFSuppliersOrders
|
|||||||
{
|
{
|
||||||
$index++;
|
$index++;
|
||||||
$pdf->SetXY($col1x, $tab2_top + $tab2_hl * $index);
|
$pdf->SetXY($col1x, $tab2_top + $tab2_hl * $index);
|
||||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $outputlangs->transnoentities("TotalLT1".$mysoc->country_code), 0, 'L', 1);
|
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $outputlangs->transcountrynoentities("TotalLT1",$mysoc->country_code), 0, 'L', 1);
|
||||||
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
||||||
$pdf->MultiCell($largcol2, $tab2_hl, price($object->total_localtax1), $useborder, 'R', 1);
|
$pdf->MultiCell($largcol2, $tab2_hl, price($object->total_localtax1), $useborder, 'R', 1);
|
||||||
}
|
}
|
||||||
@ -701,19 +701,19 @@ class pdf_muscadet extends ModelePDFSuppliersOrders
|
|||||||
{
|
{
|
||||||
$index++;
|
$index++;
|
||||||
$pdf->SetXY($col1x, $tab2_top + $tab2_hl * $index);
|
$pdf->SetXY($col1x, $tab2_top + $tab2_hl * $index);
|
||||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $outputlangs->transnoentities("TotalLT2".$mysoc->country_code), 0, 'L', 1);
|
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $outputlangs->transcountrynoentities("TotalLT2",$mysoc->country_code), 0, 'L', 1);
|
||||||
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
||||||
$pdf->MultiCell($largcol2, $tab2_hl, price($object->total_localtax2), $useborder, 'R', 1);
|
$pdf->MultiCell($largcol2, $tab2_hl, price($object->total_localtax2), $useborder, 'R', 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (! empty($conf->global->FACTURE_LOCAL_TAX1_OPTION) && $conf->global->FACTURE_LOCAL_TAX1_OPTION=='localtax1on')
|
//if (! empty($conf->global->FACTURE_LOCAL_TAX1_OPTION) && $conf->global->FACTURE_LOCAL_TAX1_OPTION=='localtax1on')
|
||||||
{
|
//{
|
||||||
//Local tax 1
|
//Local tax 1
|
||||||
foreach( $this->localtax1 as $tvakey => $tvaval )
|
foreach( $this->localtax1 as $tvakey => $tvaval )
|
||||||
{
|
{
|
||||||
if ($tvakey>0) // On affiche pas taux 0
|
if ($tvakey != 0) // On affiche pas taux 0
|
||||||
{
|
{
|
||||||
//$this->atleastoneratenotnull++;
|
//$this->atleastoneratenotnull++;
|
||||||
|
|
||||||
@ -726,22 +726,22 @@ class pdf_muscadet extends ModelePDFSuppliersOrders
|
|||||||
$tvakey=str_replace('*','',$tvakey);
|
$tvakey=str_replace('*','',$tvakey);
|
||||||
$tvacompl = " (".$outputlangs->transnoentities("NonPercuRecuperable").")";
|
$tvacompl = " (".$outputlangs->transnoentities("NonPercuRecuperable").")";
|
||||||
}
|
}
|
||||||
$totalvat =$outputlangs->transnoentities("TotalLT1".$mysoc->country_code).' ';
|
$totalvat =$outputlangs->transcountrynoentities("TotalLT1",$mysoc->country_code).' ';
|
||||||
$totalvat.=vatrate($tvakey,1).$tvacompl;
|
$totalvat.=vatrate(abs($tvakey),1).$tvacompl;
|
||||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
||||||
|
|
||||||
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
||||||
$pdf->MultiCell($largcol2, $tab2_hl, price($tvaval), 0, 'R', 1);
|
$pdf->MultiCell($largcol2, $tab2_hl, price($tvaval), 0, 'R', 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
//}
|
||||||
|
|
||||||
if (! empty($conf->global->FACTURE_LOCAL_TAX2_OPTION) && $conf->global->FACTURE_LOCAL_TAX2_OPTION=='localtax2on')
|
//if (! empty($conf->global->FACTURE_LOCAL_TAX2_OPTION) && $conf->global->FACTURE_LOCAL_TAX2_OPTION=='localtax2on')
|
||||||
{
|
//{
|
||||||
//Local tax 2
|
//Local tax 2
|
||||||
foreach( $this->localtax2 as $tvakey => $tvaval )
|
foreach( $this->localtax2 as $tvakey => $tvaval )
|
||||||
{
|
{
|
||||||
if ($tvakey>0) // On affiche pas taux 0
|
if ($tvakey != 0) // On affiche pas taux 0
|
||||||
{
|
{
|
||||||
//$this->atleastoneratenotnull++;
|
//$this->atleastoneratenotnull++;
|
||||||
|
|
||||||
@ -754,15 +754,15 @@ class pdf_muscadet extends ModelePDFSuppliersOrders
|
|||||||
$tvakey=str_replace('*','',$tvakey);
|
$tvakey=str_replace('*','',$tvakey);
|
||||||
$tvacompl = " (".$outputlangs->transnoentities("NonPercuRecuperable").")";
|
$tvacompl = " (".$outputlangs->transnoentities("NonPercuRecuperable").")";
|
||||||
}
|
}
|
||||||
$totalvat =$outputlangs->transnoentities("TotalLT2".$mysoc->country_code).' ';
|
$totalvat =$outputlangs->transcountrynoentities("TotalLT2",$mysoc->country_code).' ';
|
||||||
$totalvat.=vatrate($tvakey,1).$tvacompl;
|
$totalvat.=vatrate(abs($tvakey),1).$tvacompl;
|
||||||
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
$pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1);
|
||||||
|
|
||||||
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
$pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index);
|
||||||
$pdf->MultiCell($largcol2, $tab2_hl, price($tvaval), 0, 'R', 1);
|
$pdf->MultiCell($largcol2, $tab2_hl, price($tvaval), 0, 'R', 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
//}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Total TTC
|
// Total TTC
|
||||||
|
|||||||
@ -200,8 +200,8 @@ class Export
|
|||||||
* Arrays this->array_export_xxx are already loaded for required datatoexport
|
* Arrays this->array_export_xxx are already loaded for required datatoexport
|
||||||
*
|
*
|
||||||
* @param int $indice Indice of export
|
* @param int $indice Indice of export
|
||||||
* @param array $array_selected Filter on array of fields to export
|
* @param array $array_selected Filter fields on array of fields to export
|
||||||
* @param array $array_filterValue Filter on array of fields to export
|
* @param array $array_filterValue Filter records on array of value for fields
|
||||||
* @return string SQL String. Example "select s.rowid as r_rowid, s.status as s_status from ..."
|
* @return string SQL String. Example "select s.rowid as r_rowid, s.status as s_status from ..."
|
||||||
*/
|
*/
|
||||||
function build_sql($indice, $array_selected, $array_filterValue)
|
function build_sql($indice, $array_selected, $array_filterValue)
|
||||||
@ -230,7 +230,7 @@ class Export
|
|||||||
// pour ne pas a gerer le nombre de condition
|
// pour ne pas a gerer le nombre de condition
|
||||||
foreach ($array_filterValue as $key => $value)
|
foreach ($array_filterValue as $key => $value)
|
||||||
{
|
{
|
||||||
$sqlWhere.=" and ".$this->build_filterQuery($this->array_export_TypeFields[0][$key], $key, $array_filterValue[$key]);
|
$sqlWhere.=" and ".$this->build_filterQuery($this->array_export_TypeFields[$indice][$key], $key, $array_filterValue[$key]);
|
||||||
}
|
}
|
||||||
$sql.=$sqlWhere;
|
$sql.=$sqlWhere;
|
||||||
}
|
}
|
||||||
@ -464,7 +464,7 @@ class Export
|
|||||||
* @param string $datatoexport Name of dataset to export
|
* @param string $datatoexport Name of dataset to export
|
||||||
* @param array $array_selected Filter on array of fields to export
|
* @param array $array_selected Filter on array of fields to export
|
||||||
* @param array $array_filterValue Filter on array of fields with a filter
|
* @param array $array_filterValue Filter on array of fields with a filter
|
||||||
* @param string $sqlquery If set, transmit a sql query instead of building it from arrays
|
* @param string $sqlquery If set, transmit the sql request for select (otherwise, sql request is generated from arrays)
|
||||||
* @return int <0 if KO, >0 if OK
|
* @return int <0 if KO, >0 if OK
|
||||||
*/
|
*/
|
||||||
function build_file($user, $model, $datatoexport, $array_selected, $array_filterValue, $sqlquery = '')
|
function build_file($user, $model, $datatoexport, $array_selected, $array_filterValue, $sqlquery = '')
|
||||||
@ -547,8 +547,7 @@ class Export
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// end of special operation processing
|
// end of special operation processing
|
||||||
|
$objmodel->write_record($array_selected,$objp,$outputlangs,$this->array_export_TypeFields[$indice]);
|
||||||
$objmodel->write_record($array_selected,$objp,$outputlangs);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Genere en-tete
|
// Genere en-tete
|
||||||
|
|||||||
@ -47,6 +47,7 @@ function llxHeader($head = '', $title='', $help_url='', $morehtml='', $target=''
|
|||||||
top_htmlhead($head, $title, $disablejs, $disablehead, $arrayofjs, $arrayofcss); // Show html headers
|
top_htmlhead($head, $title, $disablejs, $disablehead, $arrayofjs, $arrayofcss); // Show html headers
|
||||||
top_menu($head, $title, $target, $disablejs, $disablehead, $arrayofjs, $arrayofcss); // Show html headers
|
top_menu($head, $title, $target, $disablejs, $disablehead, $arrayofjs, $arrayofcss); // Show html headers
|
||||||
|
|
||||||
|
require_once DOL_DOCUMENT_ROOT.'/core/class/menu.class.php';
|
||||||
$menu = new Menu();
|
$menu = new Menu();
|
||||||
|
|
||||||
$MAXFTP=20;
|
$MAXFTP=20;
|
||||||
|
|||||||
@ -11,6 +11,8 @@
|
|||||||
-- To drop a foreign key: ALTER TABLE llx_table DROP FOREIGN KEY fk_name;
|
-- To drop a foreign key: ALTER TABLE llx_table DROP FOREIGN KEY fk_name;
|
||||||
-- To restrict request to Mysql version x.y use -- VMYSQLx.y
|
-- To restrict request to Mysql version x.y use -- VMYSQLx.y
|
||||||
-- To restrict request to Pgsql version x.y use -- VPGSQLx.y
|
-- To restrict request to Pgsql version x.y use -- VPGSQLx.y
|
||||||
|
-- To make a primary key (mysql): VMYSQL4.3 ALTER TABLE llx_table CHANGE COLUMN rowid INTEGER AUTO_INCREMENT PRIMARY_KEY;
|
||||||
|
-- To make a primary key (postgres) VPGSQL8.2 ALTER TABLE llx_table CHANGE COLUMN rowid INTEGER SERIAL PRIMARY KEY;
|
||||||
|
|
||||||
|
|
||||||
-- -- VPGSQL8.2 DELETE FROM llx_usergroup_user WHERE fk_user NOT IN (SELECT rowid from llx_user);
|
-- -- VPGSQL8.2 DELETE FROM llx_usergroup_user WHERE fk_user NOT IN (SELECT rowid from llx_user);
|
||||||
@ -77,9 +79,12 @@ alter table llx_bank_account CHANGE COLUMN fk_departement state_id varchar(50);
|
|||||||
alter table llx_societe_rib CHANGE COLUMN adresse_proprio owner_address text;
|
alter table llx_societe_rib CHANGE COLUMN adresse_proprio owner_address text;
|
||||||
alter table llx_societe_address CHANGE COLUMN ville town text;
|
alter table llx_societe_address CHANGE COLUMN ville town text;
|
||||||
alter table llx_societe_address CHANGE COLUMN cp zip varchar(10);
|
alter table llx_societe_address CHANGE COLUMN cp zip varchar(10);
|
||||||
|
alter table llx_societe CHANGE COLUMN tel phone varchar(20);
|
||||||
|
|
||||||
ALTER TABLE llx_c_shipment_mode ADD COLUMN tracking VARCHAR(256) NOT NULL AFTER description;
|
ALTER TABLE llx_c_shipment_mode ADD COLUMN tracking VARCHAR(256) NOT NULL DEFAULT '' AFTER description;
|
||||||
ALTER TABLE llx_c_shipment_mode MODIFY COLUMN rowid INT(11) NOT NULL AUTO_INCREMENT;
|
ALTER TABLE llx_c_shipment_mode CHANGE COLUMN rowid INTEGER NOT NULL;
|
||||||
|
-- VMYSQL4.3 ALTER TABLE llx_c_shipment_mode CHANGE COLUMN rowid INTEGER AUTO_INCREMENT PRIMARY_KEY;
|
||||||
|
-- VPGSQL8.2 ALTER TABLE llx_c_shipment_mode CHANGE COLUMN rowid INTEGER SERIAL PRIMARY KEY;
|
||||||
|
|
||||||
ALTER TABLE llx_stock_mouvement MODIFY COLUMN value real;
|
ALTER TABLE llx_stock_mouvement MODIFY COLUMN value real;
|
||||||
|
|
||||||
|
|||||||
@ -282,6 +282,8 @@ AmountTTCShort=Amount (inc. tax)
|
|||||||
AmountHT=Amount (net of tax)
|
AmountHT=Amount (net of tax)
|
||||||
AmountTTC=Amount (inc. tax)
|
AmountTTC=Amount (inc. tax)
|
||||||
AmountVAT=Amount tax
|
AmountVAT=Amount tax
|
||||||
|
AmountLT1=Amount tax 2
|
||||||
|
AmountLT2=Amount tax 3
|
||||||
AmountLT1ES=Amount RE
|
AmountLT1ES=Amount RE
|
||||||
AmountLT2ES=Amount IRPF
|
AmountLT2ES=Amount IRPF
|
||||||
AmountTotal=Total amount
|
AmountTotal=Total amount
|
||||||
|
|||||||
@ -284,6 +284,8 @@ AmountTTCShort=Montant TTC
|
|||||||
AmountHT=Montant HT
|
AmountHT=Montant HT
|
||||||
AmountTTC=Montant TTC
|
AmountTTC=Montant TTC
|
||||||
AmountVAT=Montant TVA
|
AmountVAT=Montant TVA
|
||||||
|
AmountLT1=Montant Tax 2
|
||||||
|
AmountLT2=Montant Tax 3
|
||||||
AmountLT1ES=Montant RE
|
AmountLT1ES=Montant RE
|
||||||
AmountLT2ES=Montant IRPF
|
AmountLT2ES=Montant IRPF
|
||||||
AmountTotal=Montant total
|
AmountTotal=Montant total
|
||||||
|
|||||||
@ -242,7 +242,6 @@ if (! empty($conf->file->main_force_https))
|
|||||||
|
|
||||||
|
|
||||||
// Chargement des includes complementaires de presentation
|
// Chargement des includes complementaires de presentation
|
||||||
if (! defined('NOREQUIREMENU')) require_once DOL_DOCUMENT_ROOT .'/core/class/menu.class.php'; // Need 10ko memory (11ko in 2.2)
|
|
||||||
if (! defined('NOREQUIREHTML')) require_once DOL_DOCUMENT_ROOT .'/core/class/html.form.class.php'; // Need 660ko memory (800ko in 2.2)
|
if (! defined('NOREQUIREHTML')) require_once DOL_DOCUMENT_ROOT .'/core/class/html.form.class.php'; // Need 660ko memory (800ko in 2.2)
|
||||||
if (! defined('NOREQUIREAJAX') && $conf->use_javascript_ajax) require_once DOL_DOCUMENT_ROOT.'/core/lib/ajax.lib.php'; // Need 22ko memory
|
if (! defined('NOREQUIREAJAX') && $conf->use_javascript_ajax) require_once DOL_DOCUMENT_ROOT.'/core/lib/ajax.lib.php'; // Need 22ko memory
|
||||||
|
|
||||||
|
|||||||
@ -42,7 +42,6 @@ class Address
|
|||||||
var $town;
|
var $town;
|
||||||
var $country_id;
|
var $country_id;
|
||||||
var $country_code;
|
var $country_code;
|
||||||
var $tel; // deprecated
|
|
||||||
var $phone;
|
var $phone;
|
||||||
var $fax;
|
var $fax;
|
||||||
var $note;
|
var $note;
|
||||||
@ -195,7 +194,7 @@ class Address
|
|||||||
$sql.= ", town = ".($this->town?"'".$this->db->escape($this->town)."'":"null");
|
$sql.= ", town = ".($this->town?"'".$this->db->escape($this->town)."'":"null");
|
||||||
$sql.= ", fk_pays = '" . ($this->country_id?$this->country_id:'0') ."'";
|
$sql.= ", fk_pays = '" . ($this->country_id?$this->country_id:'0') ."'";
|
||||||
$sql.= ", note = ".($this->note?"'".$this->db->escape($this->note)."'":"null");
|
$sql.= ", note = ".($this->note?"'".$this->db->escape($this->note)."'":"null");
|
||||||
$sql.= ", tel = ".($this->phone?"'".$this->db->escape($this->phone)."'":"null");
|
$sql.= ", phone = ".($this->phone?"'".$this->db->escape($this->phone)."'":"null");
|
||||||
$sql.= ", fax = ".($this->fax?"'".$this->db->escape($this->fax)."'":"null");
|
$sql.= ", fax = ".($this->fax?"'".$this->db->escape($this->fax)."'":"null");
|
||||||
if ($user) $sql .= ",fk_user_modif = '".$user->id."'";
|
if ($user) $sql .= ",fk_user_modif = '".$user->id."'";
|
||||||
$sql .= " WHERE fk_soc = '" . $socid ."' AND rowid = '" . $id ."'";
|
$sql .= " WHERE fk_soc = '" . $socid ."' AND rowid = '" . $id ."'";
|
||||||
@ -267,7 +266,7 @@ class Address
|
|||||||
{
|
{
|
||||||
$sql = 'SELECT a.rowid as id, a.label, a.name, a.address, a.datec as dc';
|
$sql = 'SELECT a.rowid as id, a.label, a.name, a.address, a.datec as dc';
|
||||||
$sql .= ', a.tms as date_update, a.fk_soc';
|
$sql .= ', a.tms as date_update, a.fk_soc';
|
||||||
$sql .= ', a.zip, a.town, a.note, a.fk_pays as country_id, a.tel, a.fax';
|
$sql .= ', a.zip, a.town, a.note, a.fk_pays as country_id, a.phone, a.fax';
|
||||||
$sql .= ', p.code as country_code, p.libelle as country';
|
$sql .= ', p.code as country_code, p.libelle as country';
|
||||||
$sql .= ' FROM '.MAIN_DB_PREFIX.'societe_address as a';
|
$sql .= ' FROM '.MAIN_DB_PREFIX.'societe_address as a';
|
||||||
$sql .= ' LEFT JOIN '.MAIN_DB_PREFIX.'c_pays as p ON a.fk_pays = p.rowid';
|
$sql .= ' LEFT JOIN '.MAIN_DB_PREFIX.'c_pays as p ON a.fk_pays = p.rowid';
|
||||||
@ -295,14 +294,10 @@ class Address
|
|||||||
$line->country_id = $objp->country_id;
|
$line->country_id = $objp->country_id;
|
||||||
$line->country_code = $objp->country_id?$objp->country_code:'';
|
$line->country_code = $objp->country_id?$objp->country_code:'';
|
||||||
$line->country = $objp->country_id?($langs->trans('Country'.$objp->country_code)!='Country'.$objp->country_code?$langs->trans('Country'.$objp->country_code):$objp->country):'';
|
$line->country = $objp->country_id?($langs->trans('Country'.$objp->country_code)!='Country'.$objp->country_code?$langs->trans('Country'.$objp->country_code):$objp->country):'';
|
||||||
$line->phone = $objp->tel;
|
$line->phone = $objp->phone;
|
||||||
$line->fax = $objp->fax;
|
$line->fax = $objp->fax;
|
||||||
$line->note = $objp->note;
|
$line->note = $objp->note;
|
||||||
|
|
||||||
// deprecated
|
|
||||||
$line->pays = $line->country;
|
|
||||||
$line->tel = $line->phone;
|
|
||||||
|
|
||||||
$this->lines[$i] = $line;
|
$this->lines[$i] = $line;
|
||||||
$i++;
|
$i++;
|
||||||
}
|
}
|
||||||
@ -342,7 +337,7 @@ class Address
|
|||||||
|
|
||||||
$sql = 'SELECT a.rowid, a.fk_soc, a.label, a.name, a.address, a.datec as date_creation';
|
$sql = 'SELECT a.rowid, a.fk_soc, a.label, a.name, a.address, a.datec as date_creation';
|
||||||
$sql .= ', a.tms as date_update';
|
$sql .= ', a.tms as date_update';
|
||||||
$sql .= ', a.zip, a.town, a.note, a.fk_pays as country_id, a.tel, a.fax';
|
$sql .= ', a.zip, a.town, a.note, a.fk_pays as country_id, a.phone, a.fax';
|
||||||
$sql .= ', p.code as country_code, p.libelle as country';
|
$sql .= ', p.code as country_code, p.libelle as country';
|
||||||
$sql .= ' FROM '.MAIN_DB_PREFIX.'societe_address as a';
|
$sql .= ' FROM '.MAIN_DB_PREFIX.'societe_address as a';
|
||||||
$sql .= ' LEFT JOIN '.MAIN_DB_PREFIX.'c_pays as p ON a.fk_pays = p.rowid';
|
$sql .= ' LEFT JOIN '.MAIN_DB_PREFIX.'c_pays as p ON a.fk_pays = p.rowid';
|
||||||
@ -370,13 +365,10 @@ class Address
|
|||||||
$this->country_code = $obj->country_id?$obj->country_code:'';
|
$this->country_code = $obj->country_id?$obj->country_code:'';
|
||||||
$this->country = $obj->country_id?($langs->trans('Country'.$obj->country_code)!='Country'.$obj->country_code?$langs->trans('Country'.$obj->country_code):$obj->country):'';
|
$this->country = $obj->country_id?($langs->trans('Country'.$obj->country_code)!='Country'.$obj->country_code?$langs->trans('Country'.$obj->country_code):$obj->country):'';
|
||||||
|
|
||||||
$this->phone = $obj->tel;
|
$this->phone = $obj->phone;
|
||||||
$this->fax = $obj->fax;
|
$this->fax = $obj->fax;
|
||||||
$this->note = $obj->note;
|
$this->note = $obj->note;
|
||||||
|
|
||||||
// deprecated
|
|
||||||
$this->tel = $this->phone;
|
|
||||||
|
|
||||||
$result = 1;
|
$result = 1;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
@ -2267,7 +2267,8 @@ class Societe extends CommonObject
|
|||||||
if ($idprof == 1 && $soc->country_code == 'FR') $url='http://www.societe.com/cgi-bin/recherche?rncs='.$soc->idprof1;
|
if ($idprof == 1 && $soc->country_code == 'FR') $url='http://www.societe.com/cgi-bin/recherche?rncs='.$soc->idprof1;
|
||||||
if ($idprof == 1 && $soc->country_code == 'GB') $url='http://www.companieshouse.gov.uk/WebCHeck/findinfolink/';
|
if ($idprof == 1 && $soc->country_code == 'GB') $url='http://www.companieshouse.gov.uk/WebCHeck/findinfolink/';
|
||||||
if ($idprof == 1 && $soc->country_code == 'ES') $url='http://www.e-informa.es/servlet/app/portal/ENTP/screen/SProducto/prod/ETIQUETA_EMPRESA/nif/'.$soc->idprof1;
|
if ($idprof == 1 && $soc->country_code == 'ES') $url='http://www.e-informa.es/servlet/app/portal/ENTP/screen/SProducto/prod/ETIQUETA_EMPRESA/nif/'.$soc->idprof1;
|
||||||
|
if ($idprof == 1 && $soc->country_code == 'IN') $url='http://www.tinxsys.com/TinxsysInternetWeb/dealerControllerServlet?tinNumber='.$soc->idprof1.';&searchBy=TIN&backPage=searchByTin_Inter.jsp';
|
||||||
|
|
||||||
if ($url) return '<a target="_blank" href="'.$url.'">['.$langs->trans("Check").']</a>';
|
if ($url) return '<a target="_blank" href="'.$url.'">['.$langs->trans("Check").']</a>';
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user