Merge remote-tracking branch 'upstream/develop' into commercial-name
This commit is contained in:
commit
457918c0f7
@ -428,6 +428,7 @@ Fix: [ bug #1905 ] Custom deplacement types do not get translated in deplacement
|
|||||||
Fix: [ bug #2583 ] Unable to create a bank transfer with localized numbers
|
Fix: [ bug #2583 ] Unable to create a bank transfer with localized numbers
|
||||||
Fix: [ bug #2577 ] Incorrect invoice status in "Linked objects" page of a project
|
Fix: [ bug #2577 ] Incorrect invoice status in "Linked objects" page of a project
|
||||||
Fix: [ bug #2576 ] Unable to edit a dictionary entry that has # in its ref
|
Fix: [ bug #2576 ] Unable to edit a dictionary entry that has # in its ref
|
||||||
|
Fix: [ bug #2758 ] Product::update sets product note to "null" when $prod->note is null
|
||||||
|
|
||||||
***** ChangeLog for 3.5.6 compared to 3.5.5 *****
|
***** ChangeLog for 3.5.6 compared to 3.5.5 *****
|
||||||
Fix: Avoid missing class error for fetch_thirdparty method #1973
|
Fix: Avoid missing class error for fetch_thirdparty method #1973
|
||||||
|
|||||||
@ -450,47 +450,52 @@ if ($nboftargetok) {
|
|||||||
$ret=`rm -f $BUILDROOT/$PROJECT/doc/images/dolibarr_screenshot11.png`;
|
$ret=`rm -f $BUILDROOT/$PROJECT/doc/images/dolibarr_screenshot11.png`;
|
||||||
$ret=`rm -f $BUILDROOT/$PROJECT/doc/images/dolibarr_screenshot12.png`;
|
$ret=`rm -f $BUILDROOT/$PROJECT/doc/images/dolibarr_screenshot12.png`;
|
||||||
|
|
||||||
|
# Security to avoid to package data files
|
||||||
$ret=`rm -fr $BUILDROOT/$PROJECT/document`;
|
$ret=`rm -fr $BUILDROOT/$PROJECT/document`;
|
||||||
$ret=`rm -fr $BUILDROOT/$PROJECT/documents`;
|
$ret=`rm -fr $BUILDROOT/$PROJECT/documents`;
|
||||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/document`;
|
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/document`;
|
||||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/documents`;
|
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/documents`;
|
||||||
# Removed known external modules to avoir any error when packaging on test env
|
# Removed known external modules to avoir any error when packaging on test env
|
||||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/ancotec*`;
|
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/ancotec*`;
|
||||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/bootstrap*`;
|
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/calling*`;
|
||||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/custom*`;
|
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/bootstrap*`;
|
||||||
|
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/custom*`;
|
||||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/factory*`;
|
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/factory*`;
|
||||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/management*`;
|
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/management*`;
|
||||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/multicompany*`;
|
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/multicompany*`;
|
||||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/nltechno*`;
|
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/nltechno*`;
|
||||||
|
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/oscim*`;
|
||||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/pos*`;
|
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/pos*`;
|
||||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/public/test`;
|
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/public/test`;
|
||||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/teclib*`;
|
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/teclib*`;
|
||||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/timesheet*`;
|
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/timesheet*`;
|
||||||
|
# Removed other test files
|
||||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/themes/oblyon*`;
|
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/themes/oblyon*`;
|
||||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/themes/eldy/*.new`;
|
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/themes/eldy/*.new`;
|
||||||
$ret=`rm -fr $BUILDROOT/$PROJECT/test`;
|
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/public/test`;
|
||||||
$ret=`rm -fr $BUILDROOT/$PROJECT/Thumbs.db $BUILDROOT/$PROJECT/*/Thumbs.db $BUILDROOT/$PROJECT/*/*/Thumbs.db $BUILDROOT/$PROJECT/*/*/*/Thumbs.db $BUILDROOT/$PROJECT/*/*/*/*/Thumbs.db`;
|
$ret=`rm -fr $BUILDROOT/$PROJECT/test`;
|
||||||
$ret=`rm -f $BUILDROOT/$PROJECT/.cvsignore $BUILDROOT/$PROJECT/*/.cvsignore $BUILDROOT/$PROJECT/*/*/.cvsignore $BUILDROOT/$PROJECT/*/*/*/.cvsignore $BUILDROOT/$PROJECT/*/*/*/*/.cvsignore $BUILDROOT/$PROJECT/*/*/*/*/*/.cvsignore $BUILDROOT/$PROJECT/*/*/*/*/*/*/.cvsignore`;
|
$ret=`rm -fr $BUILDROOT/$PROJECT/Thumbs.db $BUILDROOT/$PROJECT/*/Thumbs.db $BUILDROOT/$PROJECT/*/*/Thumbs.db $BUILDROOT/$PROJECT/*/*/*/Thumbs.db $BUILDROOT/$PROJECT/*/*/*/*/Thumbs.db`;
|
||||||
$ret=`rm -f $BUILDROOT/$PROJECT/.gitignore $BUILDROOT/$PROJECT/*/.gitignore $BUILDROOT/$PROJECT/*/*/.gitignore $BUILDROOT/$PROJECT/*/*/*/.gitignore $BUILDROOT/$PROJECT/*/*/*/*/.gitignore $BUILDROOT/$PROJECT/*/*/*/*/*/.gitignore $BUILDROOT/$PROJECT/*/*/*/*/*/*/.gitignore`;
|
$ret=`rm -f $BUILDROOT/$PROJECT/.cvsignore $BUILDROOT/$PROJECT/*/.cvsignore $BUILDROOT/$PROJECT/*/*/.cvsignore $BUILDROOT/$PROJECT/*/*/*/.cvsignore $BUILDROOT/$PROJECT/*/*/*/*/.cvsignore $BUILDROOT/$PROJECT/*/*/*/*/*/.cvsignore $BUILDROOT/$PROJECT/*/*/*/*/*/*/.cvsignore`;
|
||||||
$ret=`rm -f $BUILDROOT/$PROJECT/htdocs/includes/geoip/sample*.*`;
|
$ret=`rm -f $BUILDROOT/$PROJECT/.gitignore $BUILDROOT/$PROJECT/*/.gitignore $BUILDROOT/$PROJECT/*/*/.gitignore $BUILDROOT/$PROJECT/*/*/*/.gitignore $BUILDROOT/$PROJECT/*/*/*/*/.gitignore $BUILDROOT/$PROJECT/*/*/*/*/*/.gitignore $BUILDROOT/$PROJECT/*/*/*/*/*/*/.gitignore`;
|
||||||
$ret=`rm -f $BUILDROOT/$PROJECT/htdocs/includes/jquery/plugins/jqueryFileTree/connectors/jqueryFileTree.pl`; # Avoid errors into rpmlint
|
$ret=`rm -f $BUILDROOT/$PROJECT/htdocs/includes/geoip/sample*.*`;
|
||||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/jquery/plugins/template`; # Package not valid for most linux distributions (errors reported into compile.js). Package should be embed by modules to avoid problems.
|
$ret=`rm -f $BUILDROOT/$PROJECT/htdocs/includes/jquery/plugins/jqueryFileTree/connectors/jqueryFileTree.pl`; # Avoid errors into rpmlint
|
||||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/phpmailer`; # Package not valid for most linux distributions (errors reported into file LICENSE). Package should be embed by modules to avoid problems.
|
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/jquery/plugins/template`; # Package not valid for most linux distributions (errors reported into compile.js). Package should be embed by modules to avoid problems.
|
||||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/ckeditor/adapters`; # Keep this removal in case we embed libraries
|
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/phpmailer`; # Package not valid for most linux distributions (errors reported into file LICENSE). Package should be embed by modules to avoid problems.
|
||||||
#$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/ckeditor/_source`; # _source must be kept into tarball due to debian policies
|
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/ckeditor/adapters`; # Keep this removal in case we embed libraries
|
||||||
|
#$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/ckeditor/_source`; # _source must be kept into tarball
|
||||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/jquery/plugins/datatables/extras/TableTools/swf`; # Source of this flash is not available
|
|
||||||
$ret=`rm -f $BUILDROOT/$PROJECT/htdocs/includes/jquery/plugins/multiselect/MIT-LICENSE.txt`;
|
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/jquery/plugins/datatables/extras/TableTools/swf`; # Source of this flash is not available
|
||||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/nusoap/lib/Mail`;
|
$ret=`rm -f $BUILDROOT/$PROJECT/htdocs/includes/jquery/plugins/multiselect/MIT-LICENSE.txt`;
|
||||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/nusoap/samples`;
|
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/nusoap/lib/Mail`;
|
||||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/phpexcel/license.txt`;
|
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/nusoap/samples`;
|
||||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/phpexcel/PHPExcel/Shared/PDF`;
|
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/phpexcel/license.txt`;
|
||||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/phpexcel/PHPExcel/Shared/PCLZip`;
|
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/phpexcel/PHPExcel/Shared/PDF`;
|
||||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/tcpdf/fonts/dejavu-fonts-ttf-*`;
|
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/phpexcel/PHPExcel/Shared/PCLZip`;
|
||||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/tcpdf/fonts/freefont-*`;
|
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/tcpdf/fonts/dejavu-fonts-ttf-*`;
|
||||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/tcpdf/fonts/utils`;
|
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/tcpdf/fonts/freefont-*`;
|
||||||
$ret=`rm -f $BUILDROOT/$PROJECT/htdocs/includes/tcpdf/LICENSE.TXT`;
|
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/tcpdf/fonts/utils`;
|
||||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/savant`;
|
$ret=`rm -f $BUILDROOT/$PROJECT/htdocs/includes/tcpdf/LICENSE.TXT`;
|
||||||
|
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/savant`;
|
||||||
}
|
}
|
||||||
|
|
||||||
# Build package for each target
|
# Build package for each target
|
||||||
|
|||||||
@ -133,7 +133,7 @@ if ($resql)
|
|||||||
}
|
}
|
||||||
if ($conf->use_javascript_ajax)
|
if ($conf->use_javascript_ajax)
|
||||||
{
|
{
|
||||||
print '<tr><td align="center" colspan="2">';
|
print '<tr class="impair"><td align="center" colspan="2">';
|
||||||
$data=array('series'=>$dataseries);
|
$data=array('series'=>$dataseries);
|
||||||
dol_print_graph('stats',300,180,$data,1,'pie',1);
|
dol_print_graph('stats',300,180,$data,1,'pie',1);
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
|
|||||||
@ -127,7 +127,7 @@ if ($resql)
|
|||||||
}
|
}
|
||||||
if ($conf->use_javascript_ajax)
|
if ($conf->use_javascript_ajax)
|
||||||
{
|
{
|
||||||
print '<tr><td align="center" colspan="2">';
|
print '<tr class="impair"><td align="center" colspan="2">';
|
||||||
$data=array('series'=>$dataseries);
|
$data=array('series'=>$dataseries);
|
||||||
dol_print_graph('stats',300,180,$data,1,'pie',1);
|
dol_print_graph('stats',300,180,$data,1,'pie',1);
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
|
|||||||
@ -197,7 +197,7 @@ foreach($listofstatus as $status)
|
|||||||
}
|
}
|
||||||
if (! empty($conf->use_javascript_ajax))
|
if (! empty($conf->use_javascript_ajax))
|
||||||
{
|
{
|
||||||
print '<tr><td align="center" colspan="2">';
|
print '<tr class="impair"><td align="center" colspan="2">';
|
||||||
$data=array('series'=>$dataseries);
|
$data=array('series'=>$dataseries);
|
||||||
dol_print_graph('stats',300,180,$data,1,'pie',1);
|
dol_print_graph('stats',300,180,$data,1,'pie',1);
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
|
|||||||
@ -4347,7 +4347,8 @@ class Form
|
|||||||
$out.='<!-- JS CODE TO ENABLE '.$tmpplugin.' for id '.$htmlname.' -->
|
$out.='<!-- JS CODE TO ENABLE '.$tmpplugin.' for id '.$htmlname.' -->
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
$(document).ready(function () {
|
$(document).ready(function () {
|
||||||
$(\'#'.$htmlname.'\').'.$tmpplugin.'({
|
$(\''.(preg_match('/^\./',$htmlname)?$htmlname:'#'.$htmlname).'\').'.$tmpplugin.'({
|
||||||
|
dir: \'ltr\',
|
||||||
width: \'off\',
|
width: \'off\',
|
||||||
minimumInputLength: 0
|
minimumInputLength: 0
|
||||||
});
|
});
|
||||||
@ -4355,7 +4356,7 @@ class Form
|
|||||||
</script>';
|
</script>';
|
||||||
}
|
}
|
||||||
|
|
||||||
$out.='<select id="'.$htmlname.'" '.($disabled?'disabled ':'').'class="flat'.($morecss?' '.$morecss:'').'" name="'.$htmlname.'" '.($moreparam?$moreparam:'').'>';
|
$out.='<select id="'.preg_replace('/^\./','',$htmlname).'" '.($disabled?'disabled="disabled" ':'').'class="flat '.(preg_replace('/^\./','',$htmlname)).($morecss?' '.$morecss:'').'" name="'.preg_replace('/^\./','',$htmlname).'" '.($moreparam?$moreparam:'').'>';
|
||||||
|
|
||||||
if ($show_empty)
|
if ($show_empty)
|
||||||
{
|
{
|
||||||
@ -4400,6 +4401,79 @@ class Form
|
|||||||
return $out;
|
return $out;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return a HTML select string, built from an array of key+value.
|
||||||
|
* Note: Do not use returned string into a langs->trans function, content may be entity encoded twice.
|
||||||
|
*
|
||||||
|
* @param string $url Url
|
||||||
|
* @param string $htmlname Name of html select area
|
||||||
|
* @param array $array Array with key+value
|
||||||
|
* @param string $id Preselected key
|
||||||
|
* @param int $show_empty 0 no empty value allowed, 1 to add an empty value into list (value is '' or ' ').
|
||||||
|
* @param int $key_in_label 1 pour afficher la key dans la valeur "[key] value"
|
||||||
|
* @param int $value_as_key 1 to use value as key
|
||||||
|
* @param string $moreparam Add more parameters onto the select tag
|
||||||
|
* @param int $translate Translate and encode value
|
||||||
|
* @param int $maxlen Length maximum for labels
|
||||||
|
* @param int $disabled Html select box is disabled
|
||||||
|
* @param int $sort 'ASC' or 'DESC' = Sort on label, '' or 'NONE' = Do not sort
|
||||||
|
* @param string $morecss Add more class to css styles
|
||||||
|
* @param int $addjscombo Add js combo
|
||||||
|
* @return string HTML select string.
|
||||||
|
*/
|
||||||
|
static function selectArrayAjax($url, $htmlname, $array, $id='', $show_empty=0, $key_in_label=0, $value_as_key=0, $moreparam='', $translate=0, $maxlen=0, $disabled=0, $sort='', $morecss='', $addjscombo=0)
|
||||||
|
{
|
||||||
|
$out = '';
|
||||||
|
|
||||||
|
// Add code for jquery to use multiselect
|
||||||
|
if ($addjscombo && empty($conf->dol_use_jmobile))
|
||||||
|
{
|
||||||
|
$tmpplugin='select2';
|
||||||
|
$out.='<!-- JS CODE TO ENABLE '.$tmpplugin.' for id '.$htmlname.' -->
|
||||||
|
<script type="text/javascript">
|
||||||
|
$(document).ready(function () {
|
||||||
|
$(".'.$htmlname.'").select2({
|
||||||
|
ajax: {
|
||||||
|
dir: "ltr",
|
||||||
|
url: "'.$url.'",
|
||||||
|
dataType: \'json\',
|
||||||
|
delay: 250,
|
||||||
|
data: function (params) {
|
||||||
|
return {
|
||||||
|
q: params.term, // search term
|
||||||
|
page: params.page
|
||||||
|
};
|
||||||
|
},
|
||||||
|
processResults: function (data, page) {
|
||||||
|
// parse the results into the format expected by Select2.
|
||||||
|
// since we are using custom formatting functions we do not need to
|
||||||
|
// alter the remote JSON data
|
||||||
|
return {
|
||||||
|
results: data.items
|
||||||
|
};
|
||||||
|
},
|
||||||
|
cache: true
|
||||||
|
},
|
||||||
|
escapeMarkup: function (markup) { return markup; }, // let our custom formatter work
|
||||||
|
minimumInputLength: 0,
|
||||||
|
//templateResult: formatRepo, // omitted for brevity, see the source of this page
|
||||||
|
//templateSelection: formatRepoSelection // omitted for brevity, see the source of this page
|
||||||
|
});
|
||||||
|
});
|
||||||
|
</script>';
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// TODO get values from ajax page to use a standard already completed array
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
$out.=self::selectarray('.'.$htmlname, $array, $id, $show_empty, $key_in_label, $value_as_key, '', $translate, $maxlen, $disabled, $sort, '', 0);
|
||||||
|
|
||||||
|
return $out;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Show a multiselect form from an array.
|
* Show a multiselect form from an array.
|
||||||
*
|
*
|
||||||
@ -4450,6 +4524,7 @@ class Form
|
|||||||
print ' };
|
print ' };
|
||||||
$(document).ready(function () {
|
$(document).ready(function () {
|
||||||
$(\'#'.$htmlname.'\').'.$tmpplugin.'({
|
$(\'#'.$htmlname.'\').'.$tmpplugin.'({
|
||||||
|
dir: \'ltr\',
|
||||||
// Specify format function for dropdown item
|
// Specify format function for dropdown item
|
||||||
formatResult: formatResult,
|
formatResult: formatResult,
|
||||||
templateResult: formatResult, /* For 4.0 */
|
templateResult: formatResult, /* For 4.0 */
|
||||||
@ -4493,6 +4568,7 @@ class Form
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Render list of categories linked to object with id $id and type $type
|
* Render list of categories linked to object with id $id and type $type
|
||||||
*
|
*
|
||||||
|
|||||||
@ -705,6 +705,9 @@ class FormFile
|
|||||||
if ($modulepart == 'export') {
|
if ($modulepart == 'export') {
|
||||||
$relativepath = $file["name"];
|
$relativepath = $file["name"];
|
||||||
}
|
}
|
||||||
|
if ($modulepart == 'facture_fournisseur') {
|
||||||
|
$relativepath = get_exdir($modulesubdir, 2). $modulesubdir. "/" . $file["name"];
|
||||||
|
}
|
||||||
|
|
||||||
// Show file name with link to download
|
// Show file name with link to download
|
||||||
$out.= '<a data-ajax="false" href="'.DOL_URL_ROOT . '/document.php?modulepart='.$modulepart.'&file='.urlencode($relativepath).'"';
|
$out.= '<a data-ajax="false" href="'.DOL_URL_ROOT . '/document.php?modulepart='.$modulepart.'&file='.urlencode($relativepath).'"';
|
||||||
|
|||||||
@ -85,37 +85,51 @@ class modContrat extends DolibarrModules
|
|||||||
// Permissions
|
// Permissions
|
||||||
$this->rights = array();
|
$this->rights = array();
|
||||||
$this->rights_class = 'contrat';
|
$this->rights_class = 'contrat';
|
||||||
|
$r=0;
|
||||||
|
|
||||||
|
$r++;
|
||||||
|
$this->rights[$r][0] = 161;
|
||||||
|
$this->rights[$r][1] = 'Lire les contrats';
|
||||||
|
$this->rights[$r][2] = 'r';
|
||||||
|
$this->rights[$r][3] = 1;
|
||||||
|
$this->rights[$r][4] = 'lire';
|
||||||
|
|
||||||
$this->rights[1][0] = 161;
|
$r++;
|
||||||
$this->rights[1][1] = 'Lire les contrats';
|
$this->rights[$r][0] = 162;
|
||||||
$this->rights[1][2] = 'r';
|
$this->rights[$r][1] = 'Creer / modifier les contrats';
|
||||||
$this->rights[1][3] = 1;
|
$this->rights[$r][2] = 'w';
|
||||||
$this->rights[1][4] = 'lire';
|
$this->rights[$r][3] = 0;
|
||||||
|
$this->rights[$r][4] = 'creer';
|
||||||
|
|
||||||
$this->rights[2][0] = 162;
|
$r++;
|
||||||
$this->rights[2][1] = 'Creer / modifier les contrats';
|
$this->rights[$r][0] = 163;
|
||||||
$this->rights[2][2] = 'w';
|
$this->rights[$r][1] = 'Activer un service d\'un contrat';
|
||||||
$this->rights[2][3] = 0;
|
$this->rights[$r][2] = 'w';
|
||||||
$this->rights[2][4] = 'creer';
|
$this->rights[$r][3] = 0;
|
||||||
|
$this->rights[$r][4] = 'activer';
|
||||||
|
|
||||||
$this->rights[3][0] = 163;
|
$r++;
|
||||||
$this->rights[3][1] = 'Activer un service d\'un contrat';
|
$this->rights[$r][0] = 164;
|
||||||
$this->rights[3][2] = 'w';
|
$this->rights[$r][1] = 'Desactiver un service d\'un contrat';
|
||||||
$this->rights[3][3] = 0;
|
$this->rights[$r][2] = 'w';
|
||||||
$this->rights[3][4] = 'activer';
|
$this->rights[$r][3] = 0;
|
||||||
|
$this->rights[$r][4] = 'desactiver';
|
||||||
|
|
||||||
$this->rights[4][0] = 164;
|
$r++;
|
||||||
$this->rights[4][1] = 'Desactiver un service d\'un contrat';
|
$this->rights[$r][0] = 165;
|
||||||
$this->rights[4][2] = 'w';
|
$this->rights[$r][1] = 'Supprimer un contrat';
|
||||||
$this->rights[4][3] = 0;
|
$this->rights[$r][2] = 'd';
|
||||||
$this->rights[4][4] = 'desactiver';
|
$this->rights[$r][3] = 0;
|
||||||
|
$this->rights[$r][4] = 'supprimer';
|
||||||
|
|
||||||
$this->rights[5][0] = 165;
|
$r++;
|
||||||
$this->rights[5][1] = 'Supprimer un contrat';
|
$this->rights[$r][0] = 167;
|
||||||
$this->rights[5][2] = 'd';
|
$this->rights[$r][1] = 'Export contracts';
|
||||||
$this->rights[5][3] = 0;
|
$this->rights[$r][2] = 'r';
|
||||||
$this->rights[5][4] = 'supprimer';
|
$this->rights[$r][3] = 0;
|
||||||
|
$this->rights[$r][4] = 'export';
|
||||||
|
|
||||||
|
|
||||||
// Exports
|
// Exports
|
||||||
//--------
|
//--------
|
||||||
$r=1;
|
$r=1;
|
||||||
|
|||||||
@ -645,6 +645,9 @@ class pdf_azur extends ModelePDFPropales
|
|||||||
$posy=$this->_tableau_versements($pdf, $object, $posy, $outputlangs);
|
$posy=$this->_tableau_versements($pdf, $object, $posy, $outputlangs);
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// Customer signature area
|
||||||
|
$posy=$this->_signature_area($pdf, $object, $posy, $outputlangs);
|
||||||
|
|
||||||
// Pied de page
|
// Pied de page
|
||||||
$this->_pagefoot($pdf,$object,$outputlangs);
|
$this->_pagefoot($pdf,$object,$outputlangs);
|
||||||
@ -1529,5 +1532,35 @@ class pdf_azur extends ModelePDFPropales
|
|||||||
return pdf_pagefoot($pdf,$outputlangs,'PROPALE_FREE_TEXT',$this->emetteur,$this->marge_basse,$this->marge_gauche,$this->page_hauteur,$object,$showdetails,$hidefreetext);
|
return pdf_pagefoot($pdf,$outputlangs,'PROPALE_FREE_TEXT',$this->emetteur,$this->marge_basse,$this->marge_gauche,$this->page_hauteur,$object,$showdetails,$hidefreetext);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Show area for the customer to sign
|
||||||
|
*
|
||||||
|
* @param PDF $pdf Object PDF
|
||||||
|
* @param Facture $object Object invoice
|
||||||
|
* @param int $posy Position depart
|
||||||
|
* @param Translate $outputlangs Objet langs
|
||||||
|
* @return int Position pour suite
|
||||||
|
*/
|
||||||
|
function _signature_area(&$pdf, $object, $posy, $outputlangs)
|
||||||
|
{
|
||||||
|
$default_font_size = pdf_getPDFFontSize($outputlangs);
|
||||||
|
$tab_top = $posy + 4;
|
||||||
|
$tab_hl = 4;
|
||||||
|
$pdf->SetFont('','', $default_font_size - 1);
|
||||||
|
|
||||||
|
$posx = 120;
|
||||||
|
$largcol = ($this->page_largeur - $this->marge_droite - $posx);
|
||||||
|
$useborder=0;
|
||||||
|
$index = 0;
|
||||||
|
// Total HT
|
||||||
|
$pdf->SetFillColor(255,255,255);
|
||||||
|
$pdf->SetXY($posx, $tab_top + 0);
|
||||||
|
$pdf->MultiCell($largcol, $tab_hl, $outputlangs->transnoentities("ProposalCustomerSignature"), 0, 'L', 1);
|
||||||
|
|
||||||
|
$pdf->SetXY($posx, $tab_top + $tab_hl);
|
||||||
|
$pdf->MultiCell($largcol, $tab_hl*6, '', 1, 'R');
|
||||||
|
|
||||||
|
return ($tab_hl*7);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -56,7 +56,7 @@ print '<tr valign="top"><td class="notopnoleft" width="30%">';
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* Search form
|
* Search form
|
||||||
*/
|
*/
|
||||||
$var=false;
|
$var=false;
|
||||||
print '<table class="noborder nohover" width="100%">';
|
print '<table class="noborder nohover" width="100%">';
|
||||||
print '<form method="post" action="list.php">';
|
print '<form method="post" action="list.php">';
|
||||||
@ -71,7 +71,7 @@ print "</form></table><br>\n";
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* Statistics
|
* Statistics
|
||||||
*/
|
*/
|
||||||
|
|
||||||
$sql = "SELECT count(cf.rowid), fk_statut";
|
$sql = "SELECT count(cf.rowid), fk_statut";
|
||||||
$sql.= " FROM ".MAIN_DB_PREFIX."societe as s";
|
$sql.= " FROM ".MAIN_DB_PREFIX."societe as s";
|
||||||
@ -131,7 +131,7 @@ if ($resql)
|
|||||||
}
|
}
|
||||||
if ($conf->use_javascript_ajax)
|
if ($conf->use_javascript_ajax)
|
||||||
{
|
{
|
||||||
print '<tr><td align="center" colspan="2">';
|
print '<tr class="impair"><td align="center" colspan="2">';
|
||||||
$data=array('series'=>$dataseries);
|
$data=array('series'=>$dataseries);
|
||||||
dol_print_graph('stats',300,180,$data,1,'pie',1);
|
dol_print_graph('stats',300,180,$data,1,'pie',1);
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
|
|||||||
@ -6,6 +6,7 @@
|
|||||||
* Copyright (C) 2013 Florian Henry <florian.henry@open-concept.pro>
|
* Copyright (C) 2013 Florian Henry <florian.henry@open-concept.pro>
|
||||||
* Copyright (C) 2013 Cédric Salvador <csalvador@gpcsolutions.fr>
|
* Copyright (C) 2013 Cédric Salvador <csalvador@gpcsolutions.fr>
|
||||||
* Copyright (C) 2015 Marcos García <marcosgdf@gmail.com>
|
* Copyright (C) 2015 Marcos García <marcosgdf@gmail.com>
|
||||||
|
* Copyright (C) 2015 juanjo Menent <jmenent@2byte.es>
|
||||||
*
|
*
|
||||||
* 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
|
||||||
@ -307,8 +308,8 @@ if ($resql)
|
|||||||
$facturestatic->ref_supplier=$obj->ref_supplier;
|
$facturestatic->ref_supplier=$obj->ref_supplier;
|
||||||
print $facturestatic->getNomUrl(1);
|
print $facturestatic->getNomUrl(1);
|
||||||
$filename=dol_sanitizeFileName($obj->ref);
|
$filename=dol_sanitizeFileName($obj->ref);
|
||||||
$filedir=$conf->fournisseur->dir_output.'/facture' . '/' . dol_sanitizeFileName($obj->facid).'/0/'.dol_sanitizeFileName($obj->ref);
|
$filedir=$conf->fournisseur->facture->dir_output.'/'.get_exdir($obj->facid,2).dol_sanitizeFileName($object->ref?$obj->ref:$obj->facid);
|
||||||
print $formfile->getDocumentsLink($facturestatic->element, $filename, $filedir);
|
print $formfile->getDocumentsLink('facture_fournisseur', $filename, $filedir);
|
||||||
print "</td>\n";
|
print "</td>\n";
|
||||||
|
|
||||||
// Ref supplier
|
// Ref supplier
|
||||||
|
|||||||
@ -98,3 +98,4 @@ DocModelJauneDescription=Jaune proposal model
|
|||||||
DefaultModelPropalCreate=Default model creation
|
DefaultModelPropalCreate=Default model creation
|
||||||
DefaultModelPropalToBill=Default template when closing a business proposal (to be invoiced)
|
DefaultModelPropalToBill=Default template when closing a business proposal (to be invoiced)
|
||||||
DefaultModelPropalClosed=Default template when closing a business proposal (unbilled)
|
DefaultModelPropalClosed=Default template when closing a business proposal (unbilled)
|
||||||
|
ProposalCustomerSignature=Written acceptance, company stamp, date and signature
|
||||||
@ -1,7 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
/* Copyright (C) 2001-2007 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
/* Copyright (C) 2001-2007 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
||||||
* Copyright (C) 2004-2014 Laurent Destailleur <eldy@users.sourceforge.net>
|
* Copyright (C) 2004-2014 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||||
* Copyright (C) 2005-2014 Regis Houssin <regis.houssin@capnetworks.com>
|
* Copyright (C) 2005-2015 Regis Houssin <regis.houssin@capnetworks.com>
|
||||||
* Copyright (C) 2006 Andre Cianfarani <acianfa@free.fr>
|
* Copyright (C) 2006 Andre Cianfarani <acianfa@free.fr>
|
||||||
* Copyright (C) 2007-2011 Jean Heimburger <jean@tiaris.info>
|
* Copyright (C) 2007-2011 Jean Heimburger <jean@tiaris.info>
|
||||||
* Copyright (C) 2010-2013 Juanjo Menent <jmenent@2byte.es>
|
* Copyright (C) 2010-2013 Juanjo Menent <jmenent@2byte.es>
|
||||||
@ -70,9 +70,9 @@ class Product extends CommonObject
|
|||||||
* @var string
|
* @var string
|
||||||
*/
|
*/
|
||||||
var $label;
|
var $label;
|
||||||
/**
|
/**
|
||||||
* Product descripion
|
* Product descripion
|
||||||
* @var string
|
* @var string
|
||||||
*/
|
*/
|
||||||
var $description;
|
var $description;
|
||||||
|
|
||||||
@ -3691,7 +3691,7 @@ class Product extends CommonObject
|
|||||||
$filename = preg_replace('/'.preg_quote($dir,'/').'/i','',$file); // Nom du fichier
|
$filename = preg_replace('/'.preg_quote($dir,'/').'/i','',$file); // Nom du fichier
|
||||||
|
|
||||||
// On efface l'image d'origine
|
// On efface l'image d'origine
|
||||||
dol_delete_file($file);
|
dol_delete_file($file, 0, 0, 0, $this); // For triggers
|
||||||
|
|
||||||
// Si elle existe, on efface la vignette
|
// Si elle existe, on efface la vignette
|
||||||
if (preg_match('/('.$this->regeximgext.')$/i',$filename,$regs))
|
if (preg_match('/('.$this->regeximgext.')$/i',$filename,$regs))
|
||||||
|
|||||||
@ -61,8 +61,9 @@ else
|
|||||||
|
|
||||||
<h1>
|
<h1>
|
||||||
This page is a sample of page using tables. It is designed to make test with<br>
|
This page is a sample of page using tables. It is designed to make test with<br>
|
||||||
- css (add parameter &theme=newthem to test another theme or edit css of current theme)<br>
|
- css (add parameter &theme=newtheme to test another theme or edit css of current theme)<br>
|
||||||
- jmobile (add parameter dol_use_jmobile=1&dol_optimize_smallscreen=1 to enable view with jmobile)<br>
|
- jmobile (add parameter dol_use_jmobile=1&dol_optimize_smallscreen=1 to enable view with jmobile)<br>
|
||||||
|
- no javascript / usage for bind people (add parameter nojs=1 to force disable javascript)<br>
|
||||||
- dataTables<br>
|
- dataTables<br>
|
||||||
- tablednd<br>
|
- tablednd<br>
|
||||||
</h1>
|
</h1>
|
||||||
|
|||||||
@ -16,8 +16,9 @@ llxHeader();
|
|||||||
|
|
||||||
<h1>
|
<h1>
|
||||||
This page is a sample of page using Dolibarr HTML widget methods. It is designed to make test with<br>
|
This page is a sample of page using Dolibarr HTML widget methods. It is designed to make test with<br>
|
||||||
- css (edit page to change to test another css)<br>
|
- css (add parameter &theme=newtheme to test another theme or edit css of current theme)<br>
|
||||||
- jmobile (add parameter dol_use_jmobile=1 to enable view with jmobile)<br>
|
- jmobile (add parameter dol_use_jmobile=1&dol_optimize_smallscreen=1 to enable view with jmobile)<br>
|
||||||
|
- no javascript / usage for bind people (add parameter nojs=1 to force disable javascript)<br>
|
||||||
</h1>
|
</h1>
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
@ -44,41 +45,52 @@ print '<br><br>'."\n";
|
|||||||
print "Test 3: We must have here 1970-01-01 00:00:00 selected (fields are mandatory)<br>\n";
|
print "Test 3: We must have here 1970-01-01 00:00:00 selected (fields are mandatory)<br>\n";
|
||||||
$form->select_date(dol_get_first_day(1970,1,false), 'test3', 1, 1, 0);
|
$form->select_date(dol_get_first_day(1970,1,false), 'test3', 1, 1, 0);
|
||||||
|
|
||||||
print '<br><br>'."\n";
|
/*print '<br><br>'."\n";
|
||||||
|
|
||||||
// Test4a: form->select_product
|
print "Test 4c: a select with ajax refresh<br>\n";
|
||||||
print "Test 4: Select product - ";
|
//$array=array(0=>'',1=>'Search into xxx',2=>'Search into yyy',3=>'Search into zzz');
|
||||||
$form->select_produits(0,'producttest');
|
$array=array();
|
||||||
|
$selected=-1;
|
||||||
|
print $form->selectArrayAjax(DOL_URL_ROOT.'/core/ajax/selecsearchbox.php', 'testselectc', $array, $selected, 1, 0, 0, 'style="min-width: 250px;"', 0, 0, 0, '', '', 1);
|
||||||
|
*/
|
||||||
|
|
||||||
print '<br><br>'."\n";
|
print '<br><br>'."\n";
|
||||||
|
|
||||||
// Test4b: form->selectarray
|
// Test4: a select
|
||||||
print "Test 4: Select array - ";
|
print "Test 4a: a select<br>\n";
|
||||||
|
$array=array(1=>'Value 1',2=>'Value 2',3=>'Value 3 ith a very long text. aze eazeae e ae aeae a e a ea ea ea e a e aea e ae aeaeaeaze.');
|
||||||
|
$selected=3;
|
||||||
|
print $form->selectarray('testselecta', $array, $selected, 1, 0, 0, 'style="min-width: 250px;"', 0, 0, 0, '', '', 1);
|
||||||
|
print '<br><br>';
|
||||||
|
print "Test 4b: a select<br>\n";
|
||||||
|
$array=array(1=>'Value 1',2=>'Value 2',3=>'Value 3');
|
||||||
|
$selected=3;
|
||||||
|
print $form->selectarray('testselectb', $array, $selected, 1, 0, 0, 'style="min-width: 250px;"', 0, 0, 0, '', '', 1);
|
||||||
|
print '<br><br>'."\n";
|
||||||
|
print "Test 4c: Select array with no js forced<br>\n";
|
||||||
$array=array(1=>'Value 1',2=>'Value 2',3=>'Value 3');
|
$array=array(1=>'Value 1',2=>'Value 2',3=>'Value 3');
|
||||||
$arrayselected=array(1,3);
|
|
||||||
print $form->selectarray('selectarray',$array);
|
print $form->selectarray('selectarray',$array);
|
||||||
|
|
||||||
print '<br><br>'."\n";
|
print '<br><br>'."\n";
|
||||||
|
|
||||||
|
// Test4d: form->select_thirdparty
|
||||||
|
print "Test 4d: Select thirdparty<br>\n";
|
||||||
|
print $form->select_thirdparty(0,'thirdpartytest');
|
||||||
|
|
||||||
|
print '<br><br>'."\n";
|
||||||
|
|
||||||
|
// Test4e: form->select_product
|
||||||
|
print "Test 4e: Select product (using ajax)<br>\n";
|
||||||
|
$form->select_produits(0,'producttest');
|
||||||
|
|
||||||
|
print '<br><br>'."\n";
|
||||||
|
|
||||||
// Test5: a multiselect
|
// Test5: a multiselect
|
||||||
print "Test 5: a multiselect<br>\n";
|
print "Test 5: a multiselect<br>\n";
|
||||||
$array=array(1=>'Value 1',2=>'Value 2',3=>'Value 3');
|
$array=array(1=>'Value 1',2=>'Value 2',3=>'Value 3');
|
||||||
$arrayselected=array(1,3);
|
$arrayselected=array(1,3);
|
||||||
print $form->multiselectarray('testmulti', $array, $arrayselected, '', 0, '', 0, 250);
|
print $form->multiselectarray('testmulti', $array, $arrayselected, '', 0, '', 0, 250);
|
||||||
|
|
||||||
print '<br><br>'."\n";
|
|
||||||
|
|
||||||
// Test6: a select
|
|
||||||
print "Test 6a: a select<br>\n";
|
|
||||||
$array=array(1=>'Value 1',2=>'Value 2',3=>'Value 3 ith a very long text. aze eazeae e ae aeae a e a ea ea ea e a e aea e ae aeaeaeaze.');
|
|
||||||
$selected=3;
|
|
||||||
print $form->selectarray('testselecta', $array, $selected, 1, 0, 0, 'style="min-width: 250px;"', 0, 0, 0, '', '', 1);
|
|
||||||
print '<br><br>';
|
|
||||||
print "Test 6b: a select<br>\n";
|
|
||||||
$array=array(1=>'Value 1',2=>'Value 2',3=>'Value 3');
|
|
||||||
$selected=3;
|
|
||||||
print $form->selectarray('testselectb', $array, $selected, 1, 0, 0, 'style="min-width: 250px;"', 0, 0, 0, '', '', 1);
|
|
||||||
|
|
||||||
|
|
||||||
llxFooter();
|
llxFooter();
|
||||||
$db->close();
|
$db->close();
|
||||||
|
|||||||
@ -1787,6 +1787,20 @@ else
|
|||||||
print $form->formconfirm($_SERVER["PHP_SELF"]."?socid=".$object->id,$langs->trans("DeleteACompany"),$langs->trans("ConfirmDeleteCompany"),"confirm_delete",'',0,"action-delete");
|
print $form->formconfirm($_SERVER["PHP_SELF"]."?socid=".$object->id,$langs->trans("DeleteACompany"),$langs->trans("ConfirmDeleteCompany"),"confirm_delete",'',0,"action-delete");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($action == 'merge') {
|
||||||
|
$form = new Form($db);
|
||||||
|
|
||||||
|
$options = array(
|
||||||
|
array(
|
||||||
|
'label' => $langs->trans('MergeOriginThirdparty'),
|
||||||
|
'type' => 'other',
|
||||||
|
'value' => $form->select_company('', 'soc_origin', 's.rowid != '.$object->id, 1)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
print $form->formconfirm($_SERVER["PHP_SELF"]."?socid=".$object->id,$langs->trans("MergeThirdparties"),$langs->trans("ConfirmMergeThirdparties"),"confirm_merge",$options,'',1);
|
||||||
|
}
|
||||||
|
|
||||||
dol_htmloutput_errors($error,$errors);
|
dol_htmloutput_errors($error,$errors);
|
||||||
|
|
||||||
$showlogo=$object->logo;
|
$showlogo=$object->logo;
|
||||||
@ -2233,6 +2247,8 @@ else
|
|||||||
$reshook=$hookmanager->executeHooks('addMoreActionsButtons',$parameters,$object,$action); // Note that $action and $object may have been modified by hook
|
$reshook=$hookmanager->executeHooks('addMoreActionsButtons',$parameters,$object,$action); // Note that $action and $object may have been modified by hook
|
||||||
if (empty($reshook))
|
if (empty($reshook))
|
||||||
{
|
{
|
||||||
|
print '<div class="inline-block divButAction"><a class="butAction" href="soc.php?action=merge&socid='.$object->id.'" title="'.dol_escape_htmltag($langs->trans("Merge")).'">'.$langs->trans('Merge').'</a></div>';
|
||||||
|
|
||||||
if (! empty($object->email))
|
if (! empty($object->email))
|
||||||
{
|
{
|
||||||
$langs->load("mails");
|
$langs->load("mails");
|
||||||
|
|||||||
@ -64,7 +64,7 @@ $theme='eldy'; // Value of theme
|
|||||||
if (! empty($conf->global->MAIN_OVERWRITE_THEME_RES)) { $path='/'.$conf->global->MAIN_OVERWRITE_THEME_RES; $theme=$conf->global->MAIN_OVERWRITE_THEME_RES; }
|
if (! empty($conf->global->MAIN_OVERWRITE_THEME_RES)) { $path='/'.$conf->global->MAIN_OVERWRITE_THEME_RES; $theme=$conf->global->MAIN_OVERWRITE_THEME_RES; }
|
||||||
|
|
||||||
// Define image path files and other constants
|
// Define image path files and other constants
|
||||||
$fontlist='arial,tahoma,verdana,helvetica'; //$fontlist='Verdana,Helvetica,Arial,sans-serif';
|
$fontlist='Open Sans,sans-serif'; //$fontlist='Verdana,Helvetica,Arial,sans-serif';
|
||||||
$img_head='';
|
$img_head='';
|
||||||
$img_button=dol_buildpath($path.'/theme/'.$theme.'/img/button_bg.png',1);
|
$img_button=dol_buildpath($path.'/theme/'.$theme.'/img/button_bg.png',1);
|
||||||
$dol_hide_topmenu=$conf->dol_hide_topmenu;
|
$dol_hide_topmenu=$conf->dol_hide_topmenu;
|
||||||
@ -108,7 +108,7 @@ $colorbacklinepair2=(250+round($isred/3)).','.(250+round($isgreen/3)).','.(250+r
|
|||||||
$colorbacklinepairhover=(230+round(($isred+$isgreen+$isblue)/9)).','.(230+round(($isred+$isgreen+$isblue)/9)).','.(230+round(($isred+$isgreen+$isblue)/9)); // line pair
|
$colorbacklinepairhover=(230+round(($isred+$isgreen+$isblue)/9)).','.(230+round(($isred+$isgreen+$isblue)/9)).','.(230+round(($isred+$isgreen+$isblue)/9)); // line pair
|
||||||
$colorbackbody='#f0f0f0';
|
$colorbackbody='#f0f0f0';
|
||||||
$colortext='40,40,40';
|
$colortext='40,40,40';
|
||||||
$fontsize='12';
|
$fontsize='13';
|
||||||
$fontsizesmaller='11';
|
$fontsizesmaller='11';
|
||||||
|
|
||||||
// Eldy colors
|
// Eldy colors
|
||||||
@ -256,7 +256,7 @@ input, input.flat, textarea, textarea.flat, form.flat select select, select.flat
|
|||||||
}
|
}
|
||||||
|
|
||||||
input, textarea, select {
|
input, textarea, select {
|
||||||
border-radius:4px;
|
border-radius:2px;
|
||||||
border:solid 1px rgba(0,0,0,.3);
|
border:solid 1px rgba(0,0,0,.3);
|
||||||
border-top:solid 1px rgba(0,0,0,.3);
|
border-top:solid 1px rgba(0,0,0,.3);
|
||||||
border-bottom:solid 1px rgba(0,0,0,.2);
|
border-bottom:solid 1px rgba(0,0,0,.2);
|
||||||
@ -330,9 +330,9 @@ fieldset { border: 1px solid #AAAAAA !important; box-shadow: 2px 2px 3px #DDD; }
|
|||||||
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
||||||
border: 1px solid #bbbbbb;
|
border: 1px solid #bbbbbb;
|
||||||
border-bottom-color: #a2a2a2;
|
border-bottom-color: #a2a2a2;
|
||||||
-webkit-border-radius: 4px;
|
-webkit-border-radius: 2px;
|
||||||
-moz-border-radius: 4px;
|
-moz-border-radius: 2px;
|
||||||
border-radius: 4px;
|
border-radius: 2px;
|
||||||
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
|
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
|
||||||
-moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
|
-moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
|
||||||
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
|
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
|
||||||
@ -922,7 +922,7 @@ form#login {
|
|||||||
-webkit-box-shadow: 3px 2px 20px #CCC;
|
-webkit-box-shadow: 3px 2px 20px #CCC;
|
||||||
box-shadow: 3px 2px 20px #CCC;*/
|
box-shadow: 3px 2px 20px #CCC;*/
|
||||||
|
|
||||||
border-radius: 8px;
|
border-radius: 4px;
|
||||||
border:solid 1px rgba(80,80,80,.4);
|
border:solid 1px rgba(80,80,80,.4);
|
||||||
|
|
||||||
border-top:solid 1px f8f8f8;
|
border-top:solid 1px f8f8f8;
|
||||||
@ -1177,9 +1177,9 @@ td.photo {
|
|||||||
background-repeat: repeat-x !important;
|
background-repeat: repeat-x !important;
|
||||||
border: 1px solid #CCC !important;
|
border: 1px solid #CCC !important;
|
||||||
|
|
||||||
-moz-border-radius: 5px 5px 5px 5px !important;
|
-moz-border-radius: 2px 2px 2px 2px !important;
|
||||||
-webkit-border-radius: 5px 5px 5px 5px !important;
|
-webkit-border-radius: 2px 2px 2px 2px !important;
|
||||||
border-radius: 5px 5px 5px 5px !important;
|
border-radius: 2px 2px 2px 2px !important;
|
||||||
-moz-box-shadow: 2px 2px 4px #DDD;
|
-moz-box-shadow: 2px 2px 4px #DDD;
|
||||||
-webkit-box-shadow: 2px 2px 4px #DDD;
|
-webkit-box-shadow: 2px 2px 4px #DDD;
|
||||||
box-shadow: 2px 2px 4px #DDD;
|
box-shadow: 2px 2px 4px #DDD;
|
||||||
@ -1414,9 +1414,9 @@ div.tabBar {
|
|||||||
padding-right: <?php echo ($dol_optimize_smallscreen?'4':'8'); ?>px;
|
padding-right: <?php echo ($dol_optimize_smallscreen?'4':'8'); ?>px;
|
||||||
padding-bottom: 8px;
|
padding-bottom: 8px;
|
||||||
margin: 0px 0px 14px 0px;
|
margin: 0px 0px 14px 0px;
|
||||||
-moz-border-radius:6px;
|
-moz-border-radius:3px;
|
||||||
-webkit-border-radius: 6px;
|
-webkit-border-radius: 3px;
|
||||||
border-radius: 6px;
|
border-radius: 3px;
|
||||||
border-right: 1px solid #BBB;
|
border-right: 1px solid #BBB;
|
||||||
border-bottom: 1px solid #BBB;
|
border-bottom: 1px solid #BBB;
|
||||||
border-left: 1px solid #BBB;
|
border-left: 1px solid #BBB;
|
||||||
@ -1461,9 +1461,9 @@ a.tab:link, a.tab:visited, a.tab:hover, a.tab#active {
|
|||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
|
|
||||||
/*-moz-border-radius:6px 6px 0px 0px;
|
/*-moz-border-radius:3px 3px 0px 0px;
|
||||||
-webkit-border-radius:6px 6px 0px 0px;
|
-webkit-border-radius:3px 3px 0px 0px;
|
||||||
border-radius:6px 6px 0px 0px;
|
border-radius:3px 3px 0px 0px;
|
||||||
|
|
||||||
-moz-box-shadow: 0 -1px 4px rgba(0,0,0,.1);
|
-moz-box-shadow: 0 -1px 4px rgba(0,0,0,.1);
|
||||||
-webkit-box-shadow: 0 -1px 4px rgba(0,0,0,.1);
|
-webkit-box-shadow: 0 -1px 4px rgba(0,0,0,.1);
|
||||||
@ -1483,9 +1483,9 @@ a.tab:link, a.tab:visited, a.tab:hover, a.tab#active {
|
|||||||
border-left: 1px solid #D0D0D0;
|
border-left: 1px solid #D0D0D0;
|
||||||
border-top: 1px solid #D8D8D8;
|
border-top: 1px solid #D8D8D8;
|
||||||
|
|
||||||
-moz-border-radius:6px 6px 0px 0px;
|
-moz-border-radius:3px 3px 0px 0px;
|
||||||
-webkit-border-radius:6px 6px 0px 0px;
|
-webkit-border-radius:3px 3px 0px 0px;
|
||||||
border-radius:6px 6px 0px 0px;
|
border-radius:3px 3px 0px 0px;
|
||||||
|
|
||||||
-moz-box-shadow: 0 -1px 4px rgba(0,0,0,.1);
|
-moz-box-shadow: 0 -1px 4px rgba(0,0,0,.1);
|
||||||
-webkit-box-shadow: 0 -1px 4px rgba(0,0,0,.1);
|
-webkit-box-shadow: 0 -1px 4px rgba(0,0,0,.1);
|
||||||
@ -1526,9 +1526,9 @@ span.tabspan {
|
|||||||
margin: 0em 0.2em;
|
margin: 0em 0.2em;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
-moz-border-radius:6px 6px 0px 0px;
|
-moz-border-radius:3px 3px 0px 0px;
|
||||||
-webkit-border-radius:6px 6px 0px 0px;
|
-webkit-border-radius:3px 3px 0px 0px;
|
||||||
border-radius:6px 6px 0px 0px;
|
border-radius:3px 3px 0px 0px;
|
||||||
|
|
||||||
border-<?php print $right; ?>: 1px solid #555555;
|
border-<?php print $right; ?>: 1px solid #555555;
|
||||||
border-<?php print $left; ?>: 1px solid #D8D8D8;
|
border-<?php print $left; ?>: 1px solid #D8D8D8;
|
||||||
@ -1552,9 +1552,9 @@ div.divButAction { margin-bottom: 1.4em; }
|
|||||||
background: white;
|
background: white;
|
||||||
border: 1px solid #8CACBB;
|
border: 1px solid #8CACBB;
|
||||||
color: #434956;
|
color: #434956;
|
||||||
-moz-border-radius:0px 5px 0px 5px;
|
-moz-border-radius:0px 2px 0px 2px;
|
||||||
-webkit-border-radius:0px 5px 0px 5px;
|
-webkit-border-radius:0px 2px 0px 2px;
|
||||||
border-radius:0px 5px 0px 5px;
|
border-radius:0px 2px 0px 2px;
|
||||||
-moz-box-shadow: 2px 2px 3px #DDD;
|
-moz-box-shadow: 2px 2px 3px #DDD;
|
||||||
-webkit-box-shadow: 2px 2px 3px #DDD;
|
-webkit-box-shadow: 2px 2px 3px #DDD;
|
||||||
box-shadow: 2px 2px 3px #DDD;
|
box-shadow: 2px 2px 3px #DDD;
|
||||||
@ -1584,9 +1584,9 @@ div.divButAction { margin-bottom: 1.4em; }
|
|||||||
background: white !important;
|
background: white !important;
|
||||||
border: 1px solid #AAAAAA !important;
|
border: 1px solid #AAAAAA !important;
|
||||||
color: #AAAAAA !important;
|
color: #AAAAAA !important;
|
||||||
-moz-border-radius:0px 5px 0px 5px;
|
-moz-border-radius:0px 2px 0px 2px;
|
||||||
-webkit-border-radius:0px 5px 0px 5px;
|
-webkit-border-radius:0px 2px 0px 2px;
|
||||||
border-radius:0px 5px 0px 5px;
|
border-radius:0px 2px 0px 2px;
|
||||||
-moz-box-shadow: 3px 3px 4px #DDD;
|
-moz-box-shadow: 3px 3px 4px #DDD;
|
||||||
-webkit-box-shadow: 3px 3px 4px #DDD;
|
-webkit-box-shadow: 3px 3px 4px #DDD;
|
||||||
box-shadow: 3px 3px 4px #DDD;
|
box-shadow: 3px 3px 4px #DDD;
|
||||||
@ -1628,9 +1628,9 @@ span.butAction, span.butActionDelete {
|
|||||||
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
||||||
border: 1px solid #bbbbbb;
|
border: 1px solid #bbbbbb;
|
||||||
border-bottom-color: #a2a2a2;
|
border-bottom-color: #a2a2a2;
|
||||||
-webkit-border-radius: 4px;
|
-webkit-border-radius: 2px;
|
||||||
-moz-border-radius: 4px;
|
-moz-border-radius: 2px;
|
||||||
border-radius: 4px;
|
border-radius: 2px;
|
||||||
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
|
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
|
||||||
-moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
|
-moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
|
||||||
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
|
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
|
||||||
@ -1781,9 +1781,9 @@ table.noborder, table.formdoc, div.noborder {
|
|||||||
-webkit-box-shadow: 2px 2px 4px #CCC;
|
-webkit-box-shadow: 2px 2px 4px #CCC;
|
||||||
box-shadow: 2px 2px 4px #CCC;
|
box-shadow: 2px 2px 4px #CCC;
|
||||||
|
|
||||||
-moz-border-radius: 0.2em;
|
-moz-border-radius: 0.1em;
|
||||||
-webkit-border-radius: 0.2em;
|
-webkit-border-radius: 0.1em;
|
||||||
border-radius: 0.2em;
|
border-radius: 0.1em;
|
||||||
}
|
}
|
||||||
|
|
||||||
table.noborder tr, div.noborder form {
|
table.noborder tr, div.noborder form {
|
||||||
@ -2044,7 +2044,7 @@ div.tabBar .noborder {
|
|||||||
margin-bottom: 8px !important;*/
|
margin-bottom: 8px !important;*/
|
||||||
border: 1px solid #AAA;
|
border: 1px solid #AAA;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
border-radius: 5px;
|
border-radius: 2px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.boxtable {
|
.boxtable {
|
||||||
@ -2134,9 +2134,9 @@ div.warning {
|
|||||||
padding: 0.3em 0.3em 0.3em 0.3em;
|
padding: 0.3em 0.3em 0.3em 0.3em;
|
||||||
margin: 0.5em 0em 0.5em 0em;
|
margin: 0.5em 0em 0.5em 0em;
|
||||||
border: 1px solid #e0d0b0;
|
border: 1px solid #e0d0b0;
|
||||||
-moz-border-radius:6px;
|
-moz-border-radius:3px;
|
||||||
-webkit-border-radius: 6px;
|
-webkit-border-radius: 3px;
|
||||||
border-radius: 6px;
|
border-radius: 3px;
|
||||||
background: #EFDF9A;
|
background: #EFDF9A;
|
||||||
text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
|
text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
|
||||||
}
|
}
|
||||||
@ -2146,9 +2146,9 @@ div.error {
|
|||||||
padding: 0.3em 0.3em 0.3em 0.3em;
|
padding: 0.3em 0.3em 0.3em 0.3em;
|
||||||
margin: 0.5em 0em 0.5em 0em;
|
margin: 0.5em 0em 0.5em 0em;
|
||||||
border: 1px solid #DC9CAB;
|
border: 1px solid #DC9CAB;
|
||||||
-moz-border-radius:6px;
|
-moz-border-radius:3px;
|
||||||
-webkit-border-radius: 6px;
|
-webkit-border-radius: 3px;
|
||||||
border-radius: 6px;
|
border-radius: 3px;
|
||||||
background: #EFCFCF;
|
background: #EFCFCF;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2158,9 +2158,9 @@ div.info {
|
|||||||
padding: 0.4em 0.4em 0.4em 0.4em;
|
padding: 0.4em 0.4em 0.4em 0.4em;
|
||||||
margin: 0.5em 0em 0.5em 0em;
|
margin: 0.5em 0em 0.5em 0em;
|
||||||
border: 1px solid #DFBF9A;
|
border: 1px solid #DFBF9A;
|
||||||
-moz-border-radius:6px;
|
-moz-border-radius:3px;
|
||||||
-webkit-border-radius: 6px;
|
-webkit-border-radius: 3px;
|
||||||
border-radius:6px;
|
border-radius:3px;
|
||||||
background: #EFCFAA;
|
background: #EFCFAA;
|
||||||
text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
|
text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
|
||||||
}
|
}
|
||||||
@ -2324,9 +2324,9 @@ padding: 2px;
|
|||||||
z-index: 3000;
|
z-index: 3000;
|
||||||
background-color: #EFCFAA;
|
background-color: #EFCFAA;
|
||||||
opacity: 1;
|
opacity: 1;
|
||||||
-moz-border-radius:6px;
|
-moz-border-radius:3px;
|
||||||
-webkit-border-radius: 6px;
|
-webkit-border-radius: 3px;
|
||||||
border-radius: 6px;
|
border-radius: 3px;
|
||||||
}
|
}
|
||||||
#tiptip_content {
|
#tiptip_content {
|
||||||
background-color: rgb(252,248,246);
|
background-color: rgb(252,248,246);
|
||||||
@ -2346,9 +2346,9 @@ img.datecallink { padding-left: 2px !important; padding-right: 2px !important; }
|
|||||||
}
|
}
|
||||||
|
|
||||||
.bodyline {
|
.bodyline {
|
||||||
-moz-border-radius: 8px;
|
-moz-border-radius: 4px;
|
||||||
-webkit-border-radius: 8px;
|
-webkit-border-radius: 4px;
|
||||||
border-radius: 8px;
|
border-radius: 4px;
|
||||||
border: 1px #E4ECEC outset;
|
border: 1px #E4ECEC outset;
|
||||||
padding: 0px;
|
padding: 0px;
|
||||||
margin-bottom: 5px;
|
margin-bottom: 5px;
|
||||||
@ -2461,7 +2461,7 @@ table.cal_month { border-spacing: 0px; }
|
|||||||
.cal_peruser { padding: 0px; }
|
.cal_peruser { padding: 0px; }
|
||||||
.peruser_busy { background: #CC8888; }
|
.peruser_busy { background: #CC8888; }
|
||||||
.peruser_notbusy { background: #EEDDDD; opacity: 0.5; }
|
.peruser_notbusy { background: #EEDDDD; opacity: 0.5; }
|
||||||
table.cal_event { border: none; border-collapse: collapse; margin-bottom: 1px; -webkit-border-radius: 6px; border-radius: 6px;
|
table.cal_event { border: none; border-collapse: collapse; margin-bottom: 1px; -webkit-border-radius: 3px; border-radius: 3px;
|
||||||
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.25);
|
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.25);
|
||||||
moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.25);
|
moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.25);
|
||||||
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.25);
|
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.25);
|
||||||
@ -2726,9 +2726,9 @@ a.cke_dialog_ui_button
|
|||||||
background-image: url(<?php echo $img_button ?>) !important;
|
background-image: url(<?php echo $img_button ?>) !important;
|
||||||
background-position: bottom !important;
|
background-position: bottom !important;
|
||||||
border: 1px solid #C0C0C0 !important;
|
border: 1px solid #C0C0C0 !important;
|
||||||
-moz-border-radius:0px 5px 0px 5px !important;
|
-moz-border-radius:0px 2px 0px 2px !important;
|
||||||
-webkit-border-radius:0px 5px 0px 5px !important;
|
-webkit-border-radius:0px 2px 0px 2px !important;
|
||||||
border-radius:0px 5px 0px 5px !important;
|
border-radius:0px 2px 0px 2px !important;
|
||||||
-moz-box-shadow: 3px 3px 4px #DDD !important;
|
-moz-box-shadow: 3px 3px 4px #DDD !important;
|
||||||
-webkit-box-shadow: 3px 3px 4px #DDD !important;
|
-webkit-box-shadow: 3px 3px 4px #DDD !important;
|
||||||
box-shadow: 3px 3px 4px #DDD !important;
|
box-shadow: 3px 3px 4px #DDD !important;
|
||||||
|
|||||||
@ -46,7 +46,7 @@ $result = restrictedArea($user, 'user', $id, '&user', $feature2);
|
|||||||
* Actions
|
* Actions
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if ($action == 'update' && ! $_POST['cancel'])
|
if ($action == 'update' && ! GETPOST('cancel'))
|
||||||
{
|
{
|
||||||
$edituser = new User($db);
|
$edituser = new User($db);
|
||||||
$edituser->fetch($id);
|
$edituser->fetch($id);
|
||||||
@ -138,6 +138,11 @@ if ($id > 0)
|
|||||||
print '</tr>';
|
print '</tr>';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
print '<tr><td width="25%" valign="top">ClickToDial '.$langs->trans("IdPhoneCaller").'</td>';
|
||||||
|
print '<td class="valeur">';
|
||||||
|
print '<input name="poste" value="'.(! empty($fuser->clicktodial_poste)?$fuser->clicktodial_poste:'').'"></td>';
|
||||||
|
print "</tr>\n";
|
||||||
|
|
||||||
print '<tr><td width="25%" valign="top">ClickToDial '.$langs->trans("Login").'</td>';
|
print '<tr><td width="25%" valign="top">ClickToDial '.$langs->trans("Login").'</td>';
|
||||||
print '<td class="valeur">';
|
print '<td class="valeur">';
|
||||||
print '<input name="login" value="'.(! empty($fuser->clicktodial_login)?$fuser->clicktodial_login:'').'"></td>';
|
print '<input name="login" value="'.(! empty($fuser->clicktodial_login)?$fuser->clicktodial_login:'').'"></td>';
|
||||||
@ -148,11 +153,6 @@ if ($id > 0)
|
|||||||
print '<input name="password" value="'.(! empty($fuser->clicktodial_password)?$fuser->clicktodial_password:'').'"></td>';
|
print '<input name="password" value="'.(! empty($fuser->clicktodial_password)?$fuser->clicktodial_password:'').'"></td>';
|
||||||
print "</tr>\n";
|
print "</tr>\n";
|
||||||
|
|
||||||
print '<tr><td width="25%" valign="top">ClickToDial '.$langs->trans("IdPhoneCaller").'</td>';
|
|
||||||
print '<td class="valeur">';
|
|
||||||
print '<input name="poste" value="'.(! empty($fuser->clicktodial_poste)?$fuser->clicktodial_poste:'').'"></td>';
|
|
||||||
print "</tr>\n";
|
|
||||||
|
|
||||||
print '</table>';
|
print '</table>';
|
||||||
|
|
||||||
print '<br><div align="center"><input class="button" type="submit" value="'.$langs->trans("Save").'">';
|
print '<br><div align="center"><input class="button" type="submit" value="'.$langs->trans("Save").'">';
|
||||||
@ -185,15 +185,20 @@ if ($id > 0)
|
|||||||
print '</td>';
|
print '</td>';
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
print '<tr><td width="25%" valign="top" class="fieldrequired">ClickToDial '.$langs->trans("IdPhoneCaller").'</td>';
|
||||||
|
print '<td class="valeur">'.(! empty($fuser->clicktodial_poste)?$fuser->clicktodial_poste:'').'</td>';
|
||||||
|
print "</tr>";
|
||||||
|
|
||||||
print '<tr><td width="25%" valign="top">ClickToDial '.$langs->trans("Login").'</td>';
|
print '<tr><td width="25%" valign="top">ClickToDial '.$langs->trans("Login").'</td>';
|
||||||
print '<td class="valeur">'.(! empty($fuser->clicktodial_login)?$fuser->clicktodial_login:'').'</td>';
|
print '<td class="valeur">'.(! empty($fuser->clicktodial_login)?$fuser->clicktodial_login:'').'</td>';
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
|
|
||||||
print '<tr><td width="25%" valign="top">ClickToDial '.$langs->trans("Password").'</td>';
|
print '<tr><td width="25%" valign="top">ClickToDial '.$langs->trans("Password").'</td>';
|
||||||
print '<td class="valeur">'.preg_replace('/./','*',(! empty($fuser->clicktodial_password)?$fuser->clicktodial_password:'')).'</a></td>';
|
print '<td class="valeur">'.preg_replace('/./','*',(! empty($fuser->clicktodial_password)?$fuser->clicktodial_password:'')).'</a></td>';
|
||||||
print "</tr>\n";
|
print "</tr>\n";
|
||||||
print '<tr><td width="25%" valign="top">ClickToDial '.$langs->trans("IdPhoneCaller").'</td>';
|
|
||||||
print '<td class="valeur">'.(! empty($fuser->clicktodial_poste)?$fuser->clicktodial_poste:'').'</td>';
|
print "</table>\n";
|
||||||
print "</tr></table>\n";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
print "</div>\n";
|
print "</div>\n";
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user