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

This commit is contained in:
Laurent Destailleur 2012-02-29 17:55:16 +01:00
commit 07ee6208a9
20 changed files with 210 additions and 138 deletions

View File

@ -78,6 +78,7 @@ class modMyModule extends DolibarrModules
// 'substitutions' => 0, // Set this to 1 if module has its own substitution function file // 'substitutions' => 0, // Set this to 1 if module has its own substitution function file
// 'menus' => 0, // Set this to 1 if module has its own menus handler directory // 'menus' => 0, // Set this to 1 if module has its own menus handler directory
// 'barcode' => 0, // Set this to 1 if module has its own barcode directory // 'barcode' => 0, // Set this to 1 if module has its own barcode directory
// 'models' => 0, // Set this to 1 if module has its own models directory
// 'css' => '/mymodule/css/mymodule.css.php', // Set this to relative path of css if module has its own css file // 'css' => '/mymodule/css/mymodule.css.php', // Set this to relative path of css if module has its own css file
// 'hooks' => array('hookcontext1','hookcontext2') // Set here all hooks context managed by module // 'hooks' => array('hookcontext1','hookcontext2') // Set here all hooks context managed by module
// ); // );

View File

@ -38,8 +38,8 @@ $langs->load("errors");
if (! $user->admin) accessforbidden(); if (! $user->admin) accessforbidden();
$action = GETPOST("action"); $action = GETPOST('action','alpha');
$value = GETPOST("value"); $value = GETPOST('value','alpha');
/* /*
* Actions * Actions
@ -242,6 +242,11 @@ print "</tr>\n";
clearstatcache(); clearstatcache();
// Check if there is external models to do asked by plugins
if (is_array($conf->models_modules) && ! empty($conf->models_modules)) {
$conf->file->dol_document_root = array_merge($conf->file->dol_document_root,$conf->models_modules);
}
foreach ($conf->file->dol_document_root as $dirroot) foreach ($conf->file->dol_document_root as $dirroot)
{ {
$dir = $dirroot . "/core/modules/commande/"; $dir = $dirroot . "/core/modules/commande/";
@ -373,6 +378,11 @@ print "</tr>\n";
clearstatcache(); clearstatcache();
// Check if there is external models to do asked by plugins
if (is_array($conf->models_modules) && ! empty($conf->models_modules)) {
$conf->file->dol_document_root = array_merge($conf->file->dol_document_root,$conf->models_modules);
}
$var=true; $var=true;
foreach ($conf->file->dol_document_root as $dirroot) foreach ($conf->file->dol_document_root as $dirroot)
{ {

View File

@ -36,7 +36,10 @@ $langs->load("errors");
$langs->load("admin"); $langs->load("admin");
$langs->load("companies"); $langs->load("companies");
$action=GETPOST('action')?GETPOST('action'):'view'; $action=GETPOST('action','alpha')?GETPOST('action','alpha'):'view';
$confirm=GETPOST('confirm','alpha');
$id=GETPOST('id','int');
$rowid=GETPOST('rowid','int');
if (!$user->admin) accessforbidden(); if (!$user->admin) accessforbidden();
@ -296,7 +299,7 @@ complete_dictionnary_with_modules($taborder,$tabname,$tablib,$tabsql,$tabsqlsort
// Define elementList and sourceList (used for dictionnary "type of contacts") // Define elementList and sourceList (used for dictionnary "type of contacts")
$elementList = array(); $elementList = array();
$sourceList=array(); $sourceList=array();
if (GETPOST('id','int') == 11) if ($id == 11)
{ {
$langs->load("orders"); $langs->load("orders");
$langs->load("contracts"); $langs->load("contracts");
@ -326,10 +329,10 @@ $msg='';
*/ */
if ($_POST["actionadd"] || $_POST["actionmodify"]) if ($_POST["actionadd"] || $_POST["actionmodify"])
{ {
$listfield=explode(',',$tabfield[$_POST["id"]]); $listfield=explode(',',$tabfield[$id]);
$listfieldinsert=explode(',',$tabfieldinsert[$_POST["id"]]); $listfieldinsert=explode(',',$tabfieldinsert[$id]);
$listfieldmodify=explode(',',$tabfieldinsert[$_POST["id"]]); $listfieldmodify=explode(',',$tabfieldinsert[$id]);
$listfieldvalue=explode(',',$tabfieldvalue[$_POST["id"]]); $listfieldvalue=explode(',',$tabfieldvalue[$id]);
// Check that all fields are filled // Check that all fields are filled
$ok=1; $ok=1;
@ -355,7 +358,7 @@ if ($_POST["actionadd"] || $_POST["actionmodify"])
} }
} }
// Autres verif // Autres verif
if ($tabname[$_POST["id"]] == MAIN_DB_PREFIX."c_actioncomm" && isset($_POST["type"]) && $_POST["type"]=='system') { if ($tabname[$id] == MAIN_DB_PREFIX."c_actioncomm" && isset($_POST["type"]) && $_POST["type"]=='system') {
$ok=0; $ok=0;
$msg.="Value 'system' for type is reserved. You can use 'user' as value to add your own record.<br>"; $msg.="Value 'system' for type is reserved. You can use 'user' as value to add your own record.<br>";
} }
@ -371,11 +374,11 @@ if ($_POST["actionadd"] || $_POST["actionmodify"])
// Si verif ok et action add, on ajoute la ligne // Si verif ok et action add, on ajoute la ligne
if ($ok && $_POST["actionadd"]) if ($ok && $_POST["actionadd"])
{ {
if ($tabrowid[$_POST["id"]]) if ($tabrowid[$id])
{ {
// Recupere id libre pour insertion // Recupere id libre pour insertion
$newid=0; $newid=0;
$sql = "SELECT max(".$tabrowid[$_POST["id"]].") newid from ".$tabname[$_POST["id"]]; $sql = "SELECT max(".$tabrowid[$id].") newid from ".$tabname[$id];
$result = $db->query($sql); $result = $db->query($sql);
if ($result) if ($result)
{ {
@ -388,20 +391,25 @@ if ($_POST["actionadd"] || $_POST["actionmodify"])
} }
// Add new entry // Add new entry
$sql = "INSERT INTO ".$tabname[$_POST["id"]]." ("; $sql = "INSERT INTO ".$tabname[$id]." (";
// List of fields // List of fields
if ($tabrowid[$_POST["id"]] && if ($tabrowid[$id] &&
! in_array($tabrowid[$_POST["id"]],$listfieldinsert)) $sql.= $tabrowid[$_POST["id"]].","; ! in_array($tabrowid[$id],$listfieldinsert)) $sql.= $tabrowid[$id].",";
$sql.= $tabfieldinsert[$_POST["id"]]; $sql.= $tabfieldinsert[$id];
$sql.=",active)"; $sql.=",active)";
$sql.= " VALUES("; $sql.= " VALUES(";
// List of values // List of values
if ($tabrowid[$_POST["id"]] && if ($tabrowid[$id] &&
! in_array($tabrowid[$_POST["id"]],$listfieldinsert)) $sql.= $newid.","; ! in_array($tabrowid[$id],$listfieldinsert)) $sql.= $newid.",";
$i=0; $i=0;
foreach ($listfieldinsert as $f => $value) foreach ($listfieldinsert as $f => $value)
{ {
if ($value == 'price') { $_POST[$listfieldvalue[$i]] = price2num($_POST[$listfieldvalue[$i]],'MU'); } if ($value == 'price' || preg_match('/^amount/i',$value)) {
$_POST[$listfieldvalue[$i]] = price2num($_POST[$listfieldvalue[$i]],'MU');
}
else if ($value == 'entity') {
$_POST[$listfieldvalue[$i]] = $conf->entity;
}
if ($i) $sql.=","; if ($i) $sql.=",";
if ($_POST[$listfieldvalue[$i]] == '') $sql.="null"; if ($_POST[$listfieldvalue[$i]] == '') $sql.="null";
else $sql.="'".$db->escape($_POST[$listfieldvalue[$i]])."'"; else $sql.="'".$db->escape($_POST[$listfieldvalue[$i]])."'";
@ -413,7 +421,7 @@ if ($_POST["actionadd"] || $_POST["actionmodify"])
$result = $db->query($sql); $result = $db->query($sql);
if ($result) // Add is ok if ($result) // Add is ok
{ {
$oldid=$_POST["id"]; $oldid=$id;
$_POST=array('id'=>$oldid); // Clean $_POST array, we keep only $_POST=array('id'=>$oldid); // Clean $_POST array, we keep only
$_GET["id"]=$_POST["id"]; // Force affichage dictionnaire en cours d'edition $_GET["id"]=$_POST["id"]; // Force affichage dictionnaire en cours d'edition
} }
@ -431,28 +439,33 @@ if ($_POST["actionadd"] || $_POST["actionmodify"])
// Si verif ok et action modify, on modifie la ligne // Si verif ok et action modify, on modifie la ligne
if ($ok && $_POST["actionmodify"]) if ($ok && $_POST["actionmodify"])
{ {
if ($tabrowid[$_POST["id"]]) { $rowidcol=$tabrowid[$_POST["id"]]; } if ($tabrowid[$id]) { $rowidcol=$tabrowid[$id]; }
else { $rowidcol="rowid"; } else { $rowidcol="rowid"; }
// Modify entry // Modify entry
$sql = "UPDATE ".$tabname[$_POST["id"]]." SET "; $sql = "UPDATE ".$tabname[$id]." SET ";
// Modifie valeur des champs // Modifie valeur des champs
if ($tabrowid[$_POST["id"]] && !in_array($tabrowid[$_POST["id"]],$listfieldmodify)) if ($tabrowid[$id] && !in_array($tabrowid[$id],$listfieldmodify))
{ {
$sql.= $tabrowid[$_POST["id"]]."="; $sql.= $tabrowid[$id]."=";
$sql.= "'".$db->escape($_POST["rowid"])."', "; $sql.= "'".$db->escape($rowid)."', ";
} }
$i = 0; $i = 0;
foreach ($listfieldmodify as $field) foreach ($listfieldmodify as $field)
{ {
if ($field == 'price') { $_POST[$listfieldvalue[$i]] = price2num($_POST[$listfieldvalue[$i]],'MU'); } if ($field == 'price' || preg_match('/^amount/i',$field)) {
$_POST[$listfieldvalue[$i]] = price2num($_POST[$listfieldvalue[$i]],'MU');
}
else if ($field == 'entity') {
$_POST[$listfieldvalue[$i]] = $conf->entity;
}
if ($i) $sql.=","; if ($i) $sql.=",";
$sql.= $field."="; $sql.= $field."=";
if ($_POST[$listfieldvalue[$i]] == '') $sql.="null"; if ($_POST[$listfieldvalue[$i]] == '') $sql.="null";
else $sql.="'".$db->escape($_POST[$listfieldvalue[$i]])."'"; else $sql.="'".$db->escape($_POST[$listfieldvalue[$i]])."'";
$i++; $i++;
} }
$sql.= " WHERE ".$rowidcol." = '".$_POST["rowid"]."'"; $sql.= " WHERE ".$rowidcol." = '".$rowid."'";
dol_syslog("actionmodify sql=".$sql); dol_syslog("actionmodify sql=".$sql);
//print $sql; //print $sql;
@ -472,12 +485,12 @@ if ($_POST["actioncancel"])
$_GET["id"]=$_POST["id"]; // Force affichage dictionnaire en cours d'edition $_GET["id"]=$_POST["id"]; // Force affichage dictionnaire en cours d'edition
} }
if ($_REQUEST['action'] == 'confirm_delete' && $_REQUEST['confirm'] == 'yes') // delete if ($action == 'confirm_delete' && $confirm == 'yes') // delete
{ {
if ($tabrowid[$_GET["id"]]) { $rowidcol=$tabrowid[$_GET["id"]]; } if ($tabrowid[$id]) { $rowidcol=$tabrowid[$id]; }
else { $rowidcol="rowid"; } else { $rowidcol="rowid"; }
$sql = "DELETE from ".$tabname[$_GET["id"]]." WHERE ".$rowidcol."='".$_GET["rowid"]."'"; $sql = "DELETE from ".$tabname[$id]." WHERE ".$rowidcol."='".$rowid."'";
dol_syslog("delete sql=".$sql); dol_syslog("delete sql=".$sql);
$result = $db->query($sql); $result = $db->query($sql);
@ -494,16 +507,16 @@ if ($_REQUEST['action'] == 'confirm_delete' && $_REQUEST['confirm'] == 'yes')
} }
} }
if ($_GET["action"] == $acts[0]) // activate if ($action == $acts[0]) // activate
{ {
if ($tabrowid[$_GET["id"]]) { $rowidcol=$tabrowid[$_GET["id"]]; } if ($tabrowid[$id]) { $rowidcol=$tabrowid[$id]; }
else { $rowidcol="rowid"; } else { $rowidcol="rowid"; }
if ($_GET["rowid"]) { if ($rowid) {
$sql = "UPDATE ".$tabname[$_GET["id"]]." SET active = 1 WHERE ".$rowidcol."='".$_GET["rowid"]."'"; $sql = "UPDATE ".$tabname[$id]." SET active = 1 WHERE ".$rowidcol."='".$rowid."'";
} }
elseif ($_GET["code"]) { elseif ($_GET["code"]) {
$sql = "UPDATE ".$tabname[$_GET["id"]]." SET active = 1 WHERE code='".$_GET["code"]."'"; $sql = "UPDATE ".$tabname[$id]." SET active = 1 WHERE code='".$_GET["code"]."'";
} }
$result = $db->query($sql); $result = $db->query($sql);
@ -513,16 +526,16 @@ if ($_GET["action"] == $acts[0]) // activate
} }
} }
if ($_GET["action"] == $acts[1]) // disable if ($action == $acts[1]) // disable
{ {
if ($tabrowid[$_GET["id"]]) { $rowidcol=$tabrowid[$_GET["id"]]; } if ($tabrowid[$id]) { $rowidcol=$tabrowid[$id]; }
else { $rowidcol="rowid"; } else { $rowidcol="rowid"; }
if ($_GET["rowid"]) { if ($rowid) {
$sql = "UPDATE ".$tabname[$_GET["id"]]." SET active = 0 WHERE ".$rowidcol."='".$_GET["rowid"]."'"; $sql = "UPDATE ".$tabname[$id]." SET active = 0 WHERE ".$rowidcol."='".$rowid."'";
} }
elseif ($_GET["code"]) { elseif ($_GET["code"]) {
$sql = "UPDATE ".$tabname[$_GET["id"]]." SET active = 0 WHERE code='".$_GET["code"]."'"; $sql = "UPDATE ".$tabname[$id]." SET active = 0 WHERE code='".$_GET["code"]."'";
} }
$result = $db->query($sql); $result = $db->query($sql);
@ -544,14 +557,14 @@ llxHeader();
$titre=$langs->trans("DictionnarySetup"); $titre=$langs->trans("DictionnarySetup");
$linkback=''; $linkback='';
if ($_GET["id"]) if ($id)
{ {
$titre.=' - '.$langs->trans($tablib[$_GET["id"]]); $titre.=' - '.$langs->trans($tablib[$id]);
$linkback='<a href="'.DOL_URL_ROOT.'/admin/dict.php">'.$langs->trans("BackToDictionnaryList").'</a>'; $linkback='<a href="'.DOL_URL_ROOT.'/admin/dict.php">'.$langs->trans("BackToDictionnaryList").'</a>';
} }
print_fiche_titre($titre,$linkback,'setup'); print_fiche_titre($titre,$linkback,'setup');
if (empty($_GET["id"])) if (empty($id))
{ {
print $langs->trans("DictionnaryDesc"); print $langs->trans("DictionnaryDesc");
print " ".$langs->trans("OnlyActiveElementsAreShown")."<br>\n"; print " ".$langs->trans("OnlyActiveElementsAreShown")."<br>\n";
@ -562,21 +575,21 @@ print "<br>\n";
/* /*
* Confirmation de la suppression de la ligne * Confirmation de la suppression de la ligne
*/ */
if ($_GET['action'] == 'delete') if ($action == 'delete')
{ {
$ret=$form->form_confirm($_SERVER["PHP_SELF"].'?'.($page?'page='.$page.'&':'').'sortfield='.$sortfield.'&sortorder='.$sortorder.'&rowid='.$_GET["rowid"].'&code='.$_GET["code"].'&id='.$_GET["id"], $langs->trans('DeleteLine'), $langs->trans('ConfirmDeleteLine'), 'confirm_delete','',0,1); $ret=$form->form_confirm($_SERVER["PHP_SELF"].'?'.($page?'page='.$page.'&':'').'sortfield='.$sortfield.'&sortorder='.$sortorder.'&rowid='.$rowid.'&code='.$_GET["code"].'&id='.$id, $langs->trans('DeleteLine'), $langs->trans('ConfirmDeleteLine'), 'confirm_delete','',0,1);
if ($ret == 'html') print '<br>'; if ($ret == 'html') print '<br>';
} }
/* /*
* Show a dictionnary * Show a dictionnary
*/ */
if ($_GET["id"]) if ($id)
{ {
dol_htmloutput_mesg($msg); dol_htmloutput_mesg($msg);
// Complete requete recherche valeurs avec critere de tri // Complete requete recherche valeurs avec critere de tri
$sql=$tabsql[$_GET["id"]]; $sql=$tabsql[$id];
if ($_GET["sortfield"]) if ($_GET["sortfield"])
{ {
// If sort order is "pays", we use pays_code instead // If sort order is "pays", we use pays_code instead
@ -588,29 +601,29 @@ if ($_GET["id"])
} }
$sql.=", "; $sql.=", ";
// Remove from default sort order the choosed order // Remove from default sort order the choosed order
$tabsqlsort[$_GET["id"]]=preg_replace('/'.$_GET["sortfield"].' '.$_GET["sortorder"].',/i','',$tabsqlsort[$_GET["id"]]); $tabsqlsort[$id]=preg_replace('/'.$_GET["sortfield"].' '.$_GET["sortorder"].',/i','',$tabsqlsort[$id]);
$tabsqlsort[$_GET["id"]]=preg_replace('/'.$_GET["sortfield"].',/i','',$tabsqlsort[$_GET["id"]]); $tabsqlsort[$id]=preg_replace('/'.$_GET["sortfield"].',/i','',$tabsqlsort[$id]);
} }
else { else {
$sql.=" ORDER BY "; $sql.=" ORDER BY ";
} }
$sql.=$tabsqlsort[$_GET["id"]]; $sql.=$tabsqlsort[$id];
$sql.=$db->plimit($listlimit+1,$offset); $sql.=$db->plimit($listlimit+1,$offset);
//print $sql; //print $sql;
$fieldlist=explode(',',$tabfield[$_GET["id"]]); $fieldlist=explode(',',$tabfield[$id]);
print '<form action="'.$_SERVER["PHP_SELF"].'" method="post">'; print '<form action="'.$_SERVER["PHP_SELF"].'" method="post">';
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">'; print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
print '<table class="noborder" width="100%">'; print '<table class="noborder" width="100%">';
// Form to add a new line // Form to add a new line
if ($tabname[$_GET["id"]]) if ($tabname[$id])
{ {
$alabelisused=0; $alabelisused=0;
$var=false; $var=false;
$fieldlist=explode(',',$tabfield[$_GET["id"]]); $fieldlist=explode(',',$tabfield[$id]);
// print '<table class="noborder" width="100%">'; // print '<table class="noborder" width="100%">';
// Line for title // Line for title
@ -652,7 +665,7 @@ if ($_GET["id"])
if ($fieldlist[$field]=='libelle' || $fieldlist[$field]=='label') $alabelisused=1; if ($fieldlist[$field]=='libelle' || $fieldlist[$field]=='label') $alabelisused=1;
} }
print '<td colspan="3">'; print '<td colspan="3">';
print '<input type="hidden" name="id" value="'.$_GET["id"].'">'; print '<input type="hidden" name="id" value="'.$id.'">';
print '&nbsp;</td>'; print '&nbsp;</td>';
print '</tr>'; print '</tr>';
@ -702,7 +715,7 @@ if ($_GET["id"])
if ($num > $listlimit) if ($num > $listlimit)
{ {
print '<tr class="none"><td align="right" colspan="'.(3+count($fieldlist)).'">'; print '<tr class="none"><td align="right" colspan="'.(3+count($fieldlist)).'">';
print_fleche_navigation($page,$_SERVER["PHP_SELF"],'&id='.GETPOST('id','int'),($num > $listlimit),$langs->trans("Page").' '.($page+1)); print_fleche_navigation($page,$_SERVER["PHP_SELF"],'&id='.$id,($num > $listlimit),$langs->trans("Page").' '.($page+1));
print '</td></tr>'; print '</td></tr>';
} }
@ -737,10 +750,10 @@ if ($_GET["id"])
// Affiche nom du champ // Affiche nom du champ
if ($showfield) if ($showfield)
{ {
print_liste_field_titre($valuetoshow,"dict.php",$fieldlist[$field],($page?'page='.$page.'&':'').'&id='.GETPOST('id','int'),"","",$sortfield,$sortorder); print_liste_field_titre($valuetoshow,"dict.php",$fieldlist[$field],($page?'page='.$page.'&':'').'&id='.$id,"","",$sortfield,$sortorder);
} }
} }
print_liste_field_titre($langs->trans("Status"),"dict.php","active",($page?'page='.$page.'&':'').'&id='.GETPOST('id','int'),"",'align="center"',$sortfield,$sortorder); print_liste_field_titre($langs->trans("Status"),"dict.php","active",($page?'page='.$page.'&':'').'&id='.$id,"",'align="center"',$sortfield,$sortorder);
print '<td colspan="2" class="liste_titre">&nbsp;</td>'; print '<td colspan="2" class="liste_titre">&nbsp;</td>';
print '</tr>'; print '</tr>';
@ -752,20 +765,20 @@ if ($_GET["id"])
//print_r($obj); //print_r($obj);
print "<tr ".$bc[$var].">"; print "<tr ".$bc[$var].">";
if ($action == 'edit' && ($_GET["rowid"] == ($obj->rowid?$obj->rowid:$obj->code))) if ($action == 'edit' && ($rowid == ($obj->rowid?$obj->rowid:$obj->code)))
{ {
print '<form action="dict.php" method="post">'; print '<form action="dict.php" method="post">';
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">'; print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
print '<input type="hidden" name="id" value="'.GETPOST('id','int').'">'; print '<input type="hidden" name="id" value="'.$id.'">';
print '<input type="hidden" name="page" value="'.$page.'">'; print '<input type="hidden" name="page" value="'.$page.'">';
print '<input type="hidden" name="rowid" value="'.$_GET["rowid"].'">'; print '<input type="hidden" name="rowid" value="'.$rowid.'">';
$tmpaction='edit'; $tmpaction='edit';
$parameters=array('fieldlist'=>$fieldlist, 'tabname'=>$tabname[$_GET["id"]]); $parameters=array('fieldlist'=>$fieldlist, 'tabname'=>$tabname[$id]);
$reshook=$hookmanager->executeHooks('editDictionaryFieldlist',$parameters,$obj, $tmpaction); // Note that $action and $object may have been modified by some hooks $reshook=$hookmanager->executeHooks('editDictionaryFieldlist',$parameters,$obj, $tmpaction); // Note that $action and $object may have been modified by some hooks
$error=$hookmanager->error; $errors=$hookmanager->errors; $error=$hookmanager->error; $errors=$hookmanager->errors;
if (empty($reshook)) fieldList($fieldlist,$obj,$tabname[$_GET["id"]]); if (empty($reshook)) fieldList($fieldlist,$obj,$tabname[$id]);
print '<td colspan="3" align="right"><a name="'.($obj->rowid?$obj->rowid:$obj->code).'">&nbsp;</a><input type="submit" class="button" name="actionmodify" value="'.$langs->trans("Modify").'">'; print '<td colspan="3" align="right"><a name="'.($obj->rowid?$obj->rowid:$obj->code).'">&nbsp;</a><input type="submit" class="button" name="actionmodify" value="'.$langs->trans("Modify").'">';
print '&nbsp;<input type="submit" class="button" name="actioncancel" value="'.$langs->trans("Cancel").'"></td>'; print '&nbsp;<input type="submit" class="button" name="actioncancel" value="'.$langs->trans("Cancel").'"></td>';
@ -773,7 +786,7 @@ if ($_GET["id"])
else else
{ {
$tmpaction = 'view'; $tmpaction = 'view';
$parameters=array('fieldlist'=>$fieldlist, 'tabname'=>$tabname[$_GET["id"]]); $parameters=array('fieldlist'=>$fieldlist, 'tabname'=>$tabname[$id]);
$reshook=$hookmanager->executeHooks('viewDictionaryFieldlist',$parameters,$obj, $tmpaction); // Note that $action and $object may have been modified by some hooks $reshook=$hookmanager->executeHooks('viewDictionaryFieldlist',$parameters,$obj, $tmpaction); // Note that $action and $object may have been modified by some hooks
$error=$hookmanager->error; $errors=$hookmanager->errors; $error=$hookmanager->error; $errors=$hookmanager->errors;
@ -801,7 +814,7 @@ if ($_GET["id"])
else if ($fieldlist[$field]=='recuperableonly' || $fieldlist[$field]=='fdm') { else if ($fieldlist[$field]=='recuperableonly' || $fieldlist[$field]=='fdm') {
$valuetoshow=yn($valuetoshow); $valuetoshow=yn($valuetoshow);
} }
else if ($fieldlist[$field]=='price') { else if ($fieldlist[$field]=='price' || preg_match('/^amount/i',$fieldlist[$field])) {
$valuetoshow=price($valuetoshow); $valuetoshow=price($valuetoshow);
} }
else if ($fieldlist[$field]=='libelle_facture') { else if ($fieldlist[$field]=='libelle_facture') {
@ -882,16 +895,16 @@ if ($_GET["id"])
if (isset($obj->code) && $obj->code == 'EF0') $iserasable=0; if (isset($obj->code) && $obj->code == 'EF0') $iserasable=0;
if ($obj->type && $obj->type == 'system') $iserasable=0; if ($obj->type && $obj->type == 'system') $iserasable=0;
if ($iserasable) print '<a href="'.$_SERVER["PHP_SELF"].'?'.($page?'page='.$page.'&':'').'sortfield='.$sortfield.'&sortorder='.$sortorder.'&rowid='.($obj->rowid?$obj->rowid:$obj->code).'&amp;code='.$obj->code.'&amp;id='.$_GET["id"].'&amp;action='.$acts[$obj->active].'">'.$actl[$obj->active].'</a>'; if ($iserasable) print '<a href="'.$_SERVER["PHP_SELF"].'?'.($page?'page='.$page.'&':'').'sortfield='.$sortfield.'&sortorder='.$sortorder.'&rowid='.($obj->rowid?$obj->rowid:$obj->code).'&amp;code='.$obj->code.'&amp;id='.$id.'&amp;action='.$acts[$obj->active].'">'.$actl[$obj->active].'</a>';
else print $langs->trans("AlwaysActive"); else print $langs->trans("AlwaysActive");
print "</td>"; print "</td>";
// Modify link // Modify link
if ($iserasable) print '<td align="center"><a href="'.$_SERVER["PHP_SELF"].'?'.($page?'page='.$page.'&':'').'sortfield='.$sortfield.'&sortorder='.$sortorder.'&rowid='.($obj->rowid?$obj->rowid:$obj->code).'&amp;code='.$obj->code.'&amp;id='.$_GET["id"].'&amp;action=edit#'.($obj->rowid?$obj->rowid:$obj->code).'">'.img_edit().'</a></td>'; if ($iserasable) print '<td align="center"><a href="'.$_SERVER["PHP_SELF"].'?'.($page?'page='.$page.'&':'').'sortfield='.$sortfield.'&sortorder='.$sortorder.'&rowid='.($obj->rowid?$obj->rowid:$obj->code).'&amp;code='.$obj->code.'&amp;id='.$id.'&amp;action=edit#'.($obj->rowid?$obj->rowid:$obj->code).'">'.img_edit().'</a></td>';
else print '<td>&nbsp;</td>'; else print '<td>&nbsp;</td>';
// Delete link // Delete link
if ($iserasable) print '<td align="center"><a href="'.$_SERVER["PHP_SELF"].'?'.($page?'page='.$page.'&':'').'sortfield='.$sortfield.'&sortorder='.$sortorder.'&rowid='.($obj->rowid?$obj->rowid:$obj->code).'&amp;code='.$obj->code.'&amp;id='.$_GET["id"].'&amp;action=delete">'.img_delete().'</a></td>'; if ($iserasable) print '<td align="center"><a href="'.$_SERVER["PHP_SELF"].'?'.($page?'page='.$page.'&':'').'sortfield='.$sortfield.'&sortorder='.$sortorder.'&rowid='.($obj->rowid?$obj->rowid:$obj->code).'&amp;code='.$obj->code.'&amp;id='.$id.'&amp;action=delete">'.img_delete().'</a></td>';
else print '<td>&nbsp;</td>'; else print '<td>&nbsp;</td>';
print "</tr>\n"; print "</tr>\n";
@ -1045,7 +1058,7 @@ function fieldList($fieldlist,$obj='',$tabname='')
elseif ($fieldlist[$field] == 'libelle_facture') { elseif ($fieldlist[$field] == 'libelle_facture') {
print '<td><textarea cols="30" rows="'.ROWS_2.'" class="flat" name="'.$fieldlist[$field].'">'.$obj->$fieldlist[$field].'</textarea></td>'; print '<td><textarea cols="30" rows="'.ROWS_2.'" class="flat" name="'.$fieldlist[$field].'">'.$obj->$fieldlist[$field].'</textarea></td>';
} }
elseif ($fieldlist[$field] == 'price') { elseif ($fieldlist[$field] == 'price' || preg_match('/^amount/i',$fieldlist[$field])) {
print '<td><input type="text" class="flat" value="'.price($obj->$fieldlist[$field]).'" size="8" name="'.$fieldlist[$field].'"></td>'; print '<td><input type="text" class="flat" value="'.price($obj->$fieldlist[$field]).'" size="8" name="'.$fieldlist[$field].'"></td>';
} }
elseif ($fieldlist[$field] == 'code') { elseif ($fieldlist[$field] == 'code') {

View File

@ -2,7 +2,7 @@
/* Copyright (C) 2003-2004 Rodolphe Quiedeville <rodolphe@quiedeville.org> /* Copyright (C) 2003-2004 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2004-2011 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2004-2011 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2005 Eric Seigne <eric.seigne@ryxeo.com> * Copyright (C) 2005 Eric Seigne <eric.seigne@ryxeo.com>
* Copyright (C) 2005-2011 Regis Houssin <regis@dolibarr.fr> * Copyright (C) 2005-2012 Regis Houssin <regis@dolibarr.fr>
* Copyright (C) 2008 Raphael Bertrand (Resultic) <raphael.bertrand@resultic.fr> * Copyright (C) 2008 Raphael Bertrand (Resultic) <raphael.bertrand@resultic.fr>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
@ -34,8 +34,8 @@ $langs->load("errors");
if (! $user->admin) accessforbidden(); if (! $user->admin) accessforbidden();
$action = GETPOST("action"); $action = GETPOST('action','alpha');
$value = GETPOST("value"); $value = GETPOST('value','alpha');
/* /*
@ -308,6 +308,11 @@ print '</tr>'."\n";
clearstatcache(); clearstatcache();
// Check if there is external models to do asked by plugins
if (is_array($conf->models_modules) && ! empty($conf->models_modules)) {
$conf->file->dol_document_root = array_merge($conf->file->dol_document_root,$conf->models_modules);
}
$var=true; $var=true;
foreach ($conf->file->dol_document_root as $dirroot) foreach ($conf->file->dol_document_root as $dirroot)
{ {
@ -473,6 +478,11 @@ print "</tr>\n";
clearstatcache(); clearstatcache();
// Check if there is external models to do asked by plugins
if (is_array($conf->models_modules) && ! empty($conf->models_modules)) {
$conf->file->dol_document_root = array_merge($conf->file->dol_document_root,$conf->models_modules);
}
$var=true; $var=true;
foreach ($conf->file->dol_document_root as $dirroot) foreach ($conf->file->dol_document_root as $dirroot)
{ {

View File

@ -4,7 +4,7 @@
* Copyright (C) 2004 Sebastien Di Cintio <sdicintio@ressource-toi.org> * Copyright (C) 2004 Sebastien Di Cintio <sdicintio@ressource-toi.org>
* Copyright (C) 2004 Benoit Mortier <benoit.mortier@opensides.be> * Copyright (C) 2004 Benoit Mortier <benoit.mortier@opensides.be>
* Copyright (C) 2004 Eric Seigne <eric.seigne@ryxeo.com> * Copyright (C) 2004 Eric Seigne <eric.seigne@ryxeo.com>
* Copyright (C) 2005-2011 Regis Houssin <regis@dolibarr.fr> * Copyright (C) 2005-2012 Regis Houssin <regis@dolibarr.fr>
* Copyright (C) 2008 Raphael Bertrand (Resultic) <raphael.bertrand@resultic.fr> * Copyright (C) 2008 Raphael Bertrand (Resultic) <raphael.bertrand@resultic.fr>
* Copyright (C) 2011-2012 Juanjo Menent <jmenent@2byte.es> * Copyright (C) 2011-2012 Juanjo Menent <jmenent@2byte.es>
* *
@ -35,11 +35,10 @@ require_once(DOL_DOCUMENT_ROOT."/comm/propal/class/propal.class.php");
$langs->load("admin"); $langs->load("admin");
$langs->load("errors"); $langs->load("errors");
if (!$user->admin) if (! $user->admin) accessforbidden();
accessforbidden();
$action =GETPOST("action"); $action =GETPOST('action','alpha');
$value = GETPOST("value"); $value = GETPOST('value','alpha');
/* /*
* Actions * Actions
@ -186,7 +185,8 @@ if ($action == 'set')
$sql.= ")"; $sql.= ")";
$resql=$db->query($sql); $resql=$db->query($sql);
} }
if ($action == 'del')
else if ($action == 'del')
{ {
$type='propal'; $type='propal';
$sql = "DELETE FROM ".MAIN_DB_PREFIX."document_model"; $sql = "DELETE FROM ".MAIN_DB_PREFIX."document_model";
@ -199,7 +199,7 @@ if ($action == 'del')
} }
} }
if ($action == 'setdoc') else if ($action == 'setdoc')
{ {
$label = GETPOST("label"); $label = GETPOST("label");
$scandir = GETPOST("scandir"); $scandir = GETPOST("scandir");
@ -235,7 +235,7 @@ if ($action == 'setdoc')
} }
} }
if ($action == 'setmod') else if ($action == 'setmod')
{ {
// TODO Verifier si module numerotation choisi peut etre active // TODO Verifier si module numerotation choisi peut etre active
// par appel methode canBeActivated // par appel methode canBeActivated
@ -274,6 +274,11 @@ print '</tr>'."\n";
clearstatcache(); clearstatcache();
// Check if there is external models to do asked by plugins
if (is_array($conf->models_modules) && ! empty($conf->models_modules)) {
$conf->file->dol_document_root = array_merge($conf->file->dol_document_root,$conf->models_modules);
}
foreach ($conf->file->dol_document_root as $dirroot) foreach ($conf->file->dol_document_root as $dirroot)
{ {
$dir = $dirroot . "/core/modules/propale/"; $dir = $dirroot . "/core/modules/propale/";
@ -405,6 +410,11 @@ print "</tr>\n";
clearstatcache(); clearstatcache();
// Check if there is external models to do asked by plugins
if (is_array($conf->models_modules) && ! empty($conf->models_modules)) {
$conf->file->dol_document_root = array_merge($conf->file->dol_document_root,$conf->models_modules);
}
$var=true; $var=true;
foreach ($conf->file->dol_document_root as $dirroot) foreach ($conf->file->dol_document_root as $dirroot)
{ {

View File

@ -58,6 +58,7 @@ class Conf
public $triggers_modules = array(); public $triggers_modules = array();
public $menus_modules = array(); public $menus_modules = array();
public $hooks_modules = array(); public $hooks_modules = array();
public $models_modules = array();
public $login_modules = array(); public $login_modules = array();
public $sms_engine_modules = array(); public $sms_engine_modules = array();
public $barcode_modules = array(); public $barcode_modules = array();
@ -163,6 +164,7 @@ class Conf
if (! is_array($this->$varname)) { $this->$varname = array(); } if (! is_array($this->$varname)) { $this->$varname = array(); }
$arrValue = @unserialize($value); $arrValue = @unserialize($value);
if (is_array($arrValue) && ! empty($arrValue)) $value = $arrValue; if (is_array($arrValue) && ! empty($arrValue)) $value = $arrValue;
else if ($partname == 'models' && $value == 1) $value = dol_buildpath('/'.$modulename);
else $value = ($value == 1 ? '/'.$modulename.'/core/'.$partname.'/' : $value); else $value = ($value == 1 ? '/'.$modulename.'/core/'.$partname.'/' : $value);
$this->$varname = array_merge($this->$varname, array($modulename => $value)); $this->$varname = array_merge($this->$varname, array($modulename => $value));
} }

View File

@ -1,7 +1,8 @@
<?php <?php
/* Copyright (C) 2003-2006 Rodolphe Quiedeville <rodolphe@quiedeville.org> /* Copyright (C) 2003-2006 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2005-2010 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2005-2012 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2005-2010 Regis Houssin <regis@dolibarr.fr> * Copyright (C) 2005-2012 Regis Houssin <regis@dolibarr.fr>
* Copyright (C) 2012 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
@ -44,8 +45,9 @@ $langs->load('propal');
$langs->load('deliveries'); $langs->load('deliveries');
$langs->load('stocks'); $langs->load('stocks');
$id=empty($_GET['id']) ? 0 : intVal($_GET['id']); $id=GETPOST('id','int');
$action=empty($_GET['action']) ? (empty($_POST['action']) ? '' : $_POST['action']) : $_GET['action']; $ref= GETPOST('ref','alpha');
$action=GETPOST('action','alpha');
// Security check // Security check
$socid=0; $socid=0;
@ -58,35 +60,35 @@ $result=restrictedArea($user,'commande',$id);
*/ */
// Categorisation dans projet // Categorisation dans projet
if ($_POST['action'] == 'classin') if ($action == 'classin')
{ {
$commande = new Commande($db); $commande = new Commande($db);
$commande->fetch($_GET['id']); $commande->fetch($id);
$commande->setProject($_POST['projectid']); $commande->setProject(GETPOST('projectid','int'));
} }
if ($_POST["action"] == 'confirm_cloture' && $_POST["confirm"] == 'yes') if ($action == 'confirm_cloture' && GETPOST('confirm','alpha') == 'yes')
{ {
$commande = new Commande($db); $commande = new Commande($db);
$commande->fetch($_GET["id"]); $commande->fetch($id);
$result = $commande->cloture($user); $result = $commande->cloture($user);
} }
// Positionne ref commande client // Positionne ref commande client
if ($_POST['action'] == 'setrefcustomer' && $user->rights->commande->creer) if ($action == 'setrefcustomer' && $user->rights->commande->creer)
{ {
$commande = new Commande($db); $commande = new Commande($db);
$commande->fetch($_GET['id']); $commande->fetch($id);
$commande->set_ref_client($user, $_POST['ref_customer']); $commande->set_ref_client($user,GETPOST('ref_customer','alpha'));
} }
if ($_POST['action'] == 'setdatedelivery' && $user->rights->commande->creer) if ($action == 'setdatedelivery' && $user->rights->commande->creer)
{ {
//print "x ".$_POST['liv_month'].", ".$_POST['liv_day'].", ".$_POST['liv_year']; //print "x ".$_POST['liv_month'].", ".$_POST['liv_day'].", ".$_POST['liv_year'];
$datelivraison=dol_mktime(0, 0, 0, $_POST['liv_month'], $_POST['liv_day'], $_POST['liv_year']); $datelivraison=dol_mktime(0, 0, 0, GETPOST('liv_month','int'), GETPOST('liv_day','int'),GETPOST('liv_year','int'));
$commande = new Commande($db); $commande = new Commande($db);
$commande->fetch($_GET['id']); $commande->fetch($id);
$result=$commande->set_date_livraison($user,$datelivraison); $result=$commande->set_date_livraison($user,$datelivraison);
if ($result < 0) if ($result < 0)
{ {
@ -94,26 +96,26 @@ if ($_POST['action'] == 'setdatedelivery' && $user->rights->commande->creer)
} }
} }
if ($_POST['action'] == 'setdeliveryaddress' && $user->rights->commande->creer) if ($action == 'setdeliveryaddress' && $user->rights->commande->creer)
{ {
$commande = new Commande($db); $commande = new Commande($db);
$commande->fetch($_GET['id']); $commande->fetch($id);
$commande->set_adresse_livraison($user,$_POST['delivery_address_id']); $commande->set_adresse_livraison($user,GETPOST('delivery_address_id','int'));
} }
if ($_POST['action'] == 'setmode' && $user->rights->commande->creer) if ($action == 'setmode' && $user->rights->commande->creer)
{ {
$commande = new Commande($db); $commande = new Commande($db);
$commande->fetch($_GET['id']); $commande->fetch($id);
$result=$commande->mode_reglement($_POST['mode_reglement_id']); $result=$commande->mode_reglement(GETPOST('mode_reglement_id','int'));
if ($result < 0) dol_print_error($db,$commande->error); if ($result < 0) dol_print_error($db,$commande->error);
} }
if ($_POST['action'] == 'setconditions' && $user->rights->commande->creer) if ($action == 'setconditions' && $user->rights->commande->creer)
{ {
$commande = new Commande($db); $commande = new Commande($db);
$commande->fetch($_GET['id']); $commande->fetch($id);
$result=$commande->cond_reglement($_POST['cond_reglement_id']); $result=$commande->cond_reglement(GETPOST('mode_reglement_id','int'));
if ($result < 0) dol_print_error($db,$commande->error); if ($result < 0) dol_print_error($db,$commande->error);
} }
@ -130,12 +132,11 @@ $formproduct = new FormProduct($db);
llxHeader('',$langs->trans('OrderCard'),''); llxHeader('',$langs->trans('OrderCard'),'');
$id = GETPSOT('id');
$ref= GETPOST('ref');
if ($id > 0 || ! empty($ref)) if ($id > 0 || ! empty($ref))
{ {
$commande = new Commande($db); $commande = new Commande($db);
if ( $commande->fetch($_GET['id'],$_GET['ref']) > 0) if ( $commande->fetch($id,$ref) > 0)
{ {
$commande->loadExpeditions(1); $commande->loadExpeditions(1);
@ -153,9 +154,9 @@ if ($id > 0 || ! empty($ref))
/* /*
* Confirmation de la validation * Confirmation de la validation
*/ */
if ($_GET["action"] == 'cloture') if ($action == 'cloture')
{ {
$ret=$form->form_confirm($_SERVER['PHP_SELF']."?id=".$_GET["id"],$langs->trans("CloseOrder"),$langs->trans("ConfirmCloseOrder"),"confirm_cloture"); $ret=$form->form_confirm($_SERVER['PHP_SELF']."?id=".$id,$langs->trans("CloseOrder"),$langs->trans("ConfirmCloseOrder"),"confirm_cloture");
if ($ret == 'html') print '<br>'; if ($ret == 'html') print '<br>';
} }
@ -177,10 +178,10 @@ if ($id > 0 || ! empty($ref))
print '<table class="nobordernopadding" width="100%"><tr><td nowrap>'; print '<table class="nobordernopadding" width="100%"><tr><td nowrap>';
print $langs->trans('RefCustomer').'</td><td align="left">'; print $langs->trans('RefCustomer').'</td><td align="left">';
print '</td>'; print '</td>';
if ($_GET['action'] != 'RefCustomerOrder' && $commande->brouillon) print '<td align="right"><a href="'.$_SERVER['PHP_SELF'].'?action=RefCustomerOrder&amp;id='.$commande->id.'">'.img_edit($langs->trans('Modify')).'</a></td>'; if ($action != 'RefCustomerOrder' && $commande->brouillon) print '<td align="right"><a href="'.$_SERVER['PHP_SELF'].'?action=RefCustomerOrder&amp;id='.$commande->id.'">'.img_edit($langs->trans('Modify')).'</a></td>';
print '</tr></table>'; print '</tr></table>';
print '</td><td colspan="3">'; print '</td><td colspan="3">';
if ($user->rights->commande->creer && $_GET['action'] == 'RefCustomerOrder') if ($user->rights->commande->creer && $action == 'RefCustomerOrder')
{ {
print '<form action="'.$_SERVER['PHP_SELF'].'?id='.$id.'" method="POST">'; print '<form action="'.$_SERVER['PHP_SELF'].'?id='.$id.'" method="POST">';
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">'; print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
@ -251,10 +252,10 @@ if ($id > 0 || ! empty($ref))
print $langs->trans('DateDeliveryPlanned'); print $langs->trans('DateDeliveryPlanned');
print '</td>'; print '</td>';
if ($_GET['action'] != 'editdate_livraison') print '<td align="right"><a href="'.$_SERVER["PHP_SELF"].'?action=editdate_livraison&amp;id='.$commande->id.'">'.img_edit($langs->trans('SetDeliveryDate'),1).'</a></td>'; if ($action != 'editdate_livraison') print '<td align="right"><a href="'.$_SERVER["PHP_SELF"].'?action=editdate_livraison&amp;id='.$commande->id.'">'.img_edit($langs->trans('SetDeliveryDate'),1).'</a></td>';
print '</tr></table>'; print '</tr></table>';
print '</td><td colspan="2">'; print '</td><td colspan="2">';
if ($_GET['action'] == 'editdate_livraison') if ($action == 'editdate_livraison')
{ {
print '<form name="setdate_livraison" action="'.$_SERVER["PHP_SELF"].'?id='.$commande->id.'" method="post">'; print '<form name="setdate_livraison" action="'.$_SERVER["PHP_SELF"].'?id='.$commande->id.'" method="post">';
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">'; print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
@ -281,17 +282,17 @@ if ($id > 0 || ! empty($ref))
print $langs->trans('DeliveryAddress'); print $langs->trans('DeliveryAddress');
print '</td>'; print '</td>';
if ($_GET['action'] != 'editdelivery_adress' && $commande->brouillon) print '<td align="right"><a href="'.$_SERVER["PHP_SELF"].'?action=editdelivery_adress&amp;socid='.$commande->socid.'&amp;id='.$commande->id.'">'.img_edit($langs->trans('SetDeliveryAddress'),1).'</a></td>'; if ($action != 'editdelivery_adress' && $commande->brouillon) print '<td align="right"><a href="'.$_SERVER["PHP_SELF"].'?action=editdelivery_adress&amp;socid='.$commande->socid.'&amp;id='.$commande->id.'">'.img_edit($langs->trans('SetDeliveryAddress'),1).'</a></td>';
print '</tr></table>'; print '</tr></table>';
print '</td><td colspan="2">'; print '</td><td colspan="2">';
if ($_GET['action'] == 'editdelivery_adress') if ($action == 'editdelivery_adress')
{ {
$formother->form_address($_SERVER['PHP_SELF'].'?id='.$commande->id,$commande->fk_delivery_address,$_GET['socid'],'delivery_address_id','commande',$commande->id); $formother->form_address($_SERVER['PHP_SELF'].'?id='.$commande->id,$commande->fk_delivery_address,GETPOST('socid','int'),'delivery_address_id','commande',$commande->id);
} }
else else
{ {
$formother->form_address($_SERVER['PHP_SELF'].'?id='.$commande->id,$commande->fk_delivery_address,$_GET['socid'],'none','commande',$commande->id); $formother->form_address($_SERVER['PHP_SELF'].'?id='.$commande->id,$commande->fk_delivery_address,GETPOST('socid','int'),'none','commande',$commande->id);
} }
print '</td></tr>'; print '</td></tr>';
} }
@ -302,10 +303,10 @@ if ($id > 0 || ! empty($ref))
print $langs->trans('PaymentConditionsShort'); print $langs->trans('PaymentConditionsShort');
print '</td>'; print '</td>';
if ($_GET['action'] != 'editconditions' && $commande->brouillon) print '<td align="right"><a href="'.$_SERVER["PHP_SELF"].'?action=editconditions&amp;id='.$commande->id.'">'.img_edit($langs->trans('SetConditions'),1).'</a></td>'; if ($action != 'editconditions' && $commande->brouillon) print '<td align="right"><a href="'.$_SERVER["PHP_SELF"].'?action=editconditions&amp;id='.$commande->id.'">'.img_edit($langs->trans('SetConditions'),1).'</a></td>';
print '</tr></table>'; print '</tr></table>';
print '</td><td colspan="2">'; print '</td><td colspan="2">';
if ($_GET['action'] == 'editconditions') if ($action == 'editconditions')
{ {
$form->form_conditions_reglement($_SERVER['PHP_SELF'].'?id='.$commande->id,$commande->cond_reglement_id,'cond_reglement_id'); $form->form_conditions_reglement($_SERVER['PHP_SELF'].'?id='.$commande->id,$commande->cond_reglement_id,'cond_reglement_id');
} }
@ -320,10 +321,10 @@ if ($id > 0 || ! empty($ref))
print '<table class="nobordernopadding" width="100%"><tr><td>'; print '<table class="nobordernopadding" width="100%"><tr><td>';
print $langs->trans('PaymentMode'); print $langs->trans('PaymentMode');
print '</td>'; print '</td>';
if ($_GET['action'] != 'editmode' && $commande->brouillon) print '<td align="right"><a href="'.$_SERVER["PHP_SELF"].'?action=editmode&amp;id='.$commande->id.'">'.img_edit($langs->trans('SetMode'),1).'</a></td>'; if ($actionº != 'editmode' && $commande->brouillon) print '<td align="right"><a href="'.$_SERVER["PHP_SELF"].'?action=editmode&amp;id='.$commande->id.'">'.img_edit($langs->trans('SetMode'),1).'</a></td>';
print '</tr></table>'; print '</tr></table>';
print '</td><td colspan="2">'; print '</td><td colspan="2">';
if ($_GET['action'] == 'editmode') if ($action == 'editmode')
{ {
$form->form_modes_reglement($_SERVER['PHP_SELF'].'?id='.$commande->id,$commande->mode_reglement_id,'mode_reglement_id'); $form->form_modes_reglement($_SERVER['PHP_SELF'].'?id='.$commande->id,$commande->mode_reglement_id,'mode_reglement_id');
} }
@ -341,10 +342,10 @@ if ($id > 0 || ! empty($ref))
print '<table class="nobordernopadding" width="100%"><tr><td>'; print '<table class="nobordernopadding" width="100%"><tr><td>';
print $langs->trans('Project'); print $langs->trans('Project');
print '</td>'; print '</td>';
if ($_GET['action'] != 'classify') print '<td align="right"><a href="'.$_SERVER['PHP_SELF'].'?action=classify&amp;id='.$commande->id.'">'.img_edit($langs->trans('SetProject')).'</a></td>'; if ($action != 'classify') print '<td align="right"><a href="'.$_SERVER['PHP_SELF'].'?action=classify&amp;id='.$commande->id.'">'.img_edit($langs->trans('SetProject')).'</a></td>';
print '</tr></table>'; print '</tr></table>';
print '</td><td colspan="2">'; print '</td><td colspan="2">';
if ($_GET['action'] == 'classify') if ($action == 'classify')
{ {
$form->form_project($_SERVER['PHP_SELF'].'?id='.$commande->id, $commande->socid, $commande->fk_project, 'projectid'); $form->form_project($_SERVER['PHP_SELF'].'?id='.$commande->id, $commande->socid, $commande->fk_project, 'projectid');
} }
@ -605,7 +606,7 @@ if ($id > 0 || ! empty($ref))
{ {
if ($user->rights->expedition->creer) if ($user->rights->expedition->creer)
{ {
print '<a class="butAction" href="'.DOL_URL_ROOT.'/expedition/fiche.php?action=create&amp;origin=commande&amp;object_id='.$_GET["id"].'">'.$langs->trans("NewSending").'</a>'; print '<a class="butAction" href="'.DOL_URL_ROOT.'/expedition/fiche.php?action=create&amp;origin=commande&amp;object_id='.$id.'">'.$langs->trans("NewSending").'</a>';
if ($reste_a_livrer_total <= 0) if ($reste_a_livrer_total <= 0)
{ {
print ' '.img_warning($langs->trans("WarningNoQtyLeftToSend")); print ' '.img_warning($langs->trans("WarningNoQtyLeftToSend"));

View File

@ -1,7 +1,8 @@
<?php <?php
/* Copyright (C) 2002-2005 Rodolphe Quiedeville <rodolphe@quiedeville.org> /* Copyright (C) 2002-2005 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2004 Eric Seigne <eric.seigne@ryxeo.com> * Copyright (C) 2004 Eric Seigne <eric.seigne@ryxeo.com>
* Copyright (C) 2004-2009 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2004-2009 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2005-2012 Regis Houssin <regis@dolibarr.fr>
* *
* 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
@ -28,14 +29,13 @@ require_once(DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.class.php');
require_once(DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.facture.class.php'); require_once(DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.facture.class.php');
require_once(DOL_DOCUMENT_ROOT."/compta/paiement/class/paiement.class.php"); require_once(DOL_DOCUMENT_ROOT."/compta/paiement/class/paiement.class.php");
if (!$user->rights->facture->lire) accessforbidden(); if (! $user->rights->facture->lire) accessforbidden();
$langs->load("companies"); $langs->load("companies");
$langs->load("bills"); $langs->load("bills");
$socid=GETPOST('socid','int');
if ($_GET["socid"]) { $socid=$_GET["socid"]; }
// Security check // Security check
if ($user->societe_id > 0) if ($user->societe_id > 0)
@ -75,7 +75,7 @@ if (! $sortorder) $sortorder="ASC";
if ($user->rights->fournisseur->facture->lire) if ($user->rights->fournisseur->facture->lire)
{ {
$sql = "SELECT s.rowid as socid, s.nom"; $sql = "SELECT s.rowid as socid, s.nom,";
$sql.= " f.rowid as ref, f.facnumber, f.total_ht, f.total_ttc,"; $sql.= " f.rowid as ref, f.facnumber, f.total_ht, f.total_ttc,";
$sql.= " f.datef as df, f.date_lim_reglement as datelimite, "; $sql.= " f.datef as df, f.date_lim_reglement as datelimite, ";
$sql.= " f.paye as paye, f.rowid as facid, f.fk_statut"; $sql.= " f.paye as paye, f.rowid as facid, f.fk_statut";
@ -256,8 +256,7 @@ if ($user->rights->fournisseur->facture->lire)
} }
// End of page
llxFooter();
$db->close(); $db->close();
llxFooter();
?> ?>

View File

@ -142,4 +142,8 @@ AllAccounts=Tots els comptes bancaris/de caixa
BackToAccount=Tornar al compte BackToAccount=Tornar al compte
ShowAllAccounts=Mostra per a tots els comptes ShowAllAccounts=Mostra per a tots els comptes
FutureTransaction=Transacció futura. No és possible conciliar. FutureTransaction=Transacció futura. No és possible conciliar.
SelectChequeTransactionAndGenerate=Seleccioneu/filtreu els xecs a incloure a la remesa i feu clic a "Crear". SelectChequeTransactionAndGenerate=Seleccioneu/filtreu els xecs a incloure a la remesa i feu clic a "Crear".
InputReceiptNumber=Indiqui l'extracte bancari relacionat amb la conciliació. Utilitzeu un valor numèric ordenable (per exemple, AAAAMM)
EventualyAddCategory=Eventualment, indiqui una categoria en la qual classificar els registres
ToConciliate=A conciliar?
ThenCheckLinesAndConciliate=A continuació, comproveu les línies presents en l'extracte bancari i feu clic

View File

@ -115,6 +115,12 @@ ProfId2BE=-
ProfId3BE=- ProfId3BE=-
ProfId4BE=- ProfId4BE=-
ProfId5BE=- ProfId5BE=-
#ProfId1BR=CNAE
#ProfId2BR=CNPJ
#ProfId3BR=CPF
#ProfId4BR=INSS
#ProfId5BR=IE
#ProfId6BR=IM
ProfId1CH=- ProfId1CH=-
ProfId2CH=- ProfId2CH=-
ProfId3CH=Número federat ProfId3CH=Número federat

View File

@ -104,6 +104,7 @@ ErrorBadValueForCode=Valor no vàlid per al codi. Torneu a intentar-ho amb un no
ErrorBothFieldCantBeNegative=Els camps %s i %s no poden ser negatius ErrorBothFieldCantBeNegative=Els camps %s i %s no poden ser negatius
ErrorNoActivatedBarcode=Cap tipus de codi de barres activat ErrorNoActivatedBarcode=Cap tipus de codi de barres activat
ErrorWebServerUserHasNotPermission=El compte d'execució del servidor web <b>%s</b> no disposa dels permisos per això ErrorWebServerUserHasNotPermission=El compte d'execució del servidor web <b>%s</b> no disposa dels permisos per això
ErrorNoActivatedBarcode=No hi ha activat cap tipus de codi de barres
# Warnings # Warnings
WarningSafeModeOnCheckExecDir=Atenció, està activada l'opció PHP <b>safe_mode</b>, la comanda ha d'estar dins d'un directori declarat dins del paràmetre php <b>safe_mode_exec_dir</b>. WarningSafeModeOnCheckExecDir=Atenció, està activada l'opció PHP <b>safe_mode</b>, la comanda ha d'estar dins d'un directori declarat dins del paràmetre php <b>safe_mode_exec_dir</b>.

View File

@ -39,6 +39,7 @@ MailingStatusDraft=Esborrany
MailingStatusValidated=Validat MailingStatusValidated=Validat
MailingStatusApproved=Aprovat MailingStatusApproved=Aprovat
MailingStatusSent=Enviat MailingStatusSent=Enviat
MailingStatusRead=Llegit
MailingStatusSentPartialy=Enviat parcialment MailingStatusSentPartialy=Enviat parcialment
MailingStatusSentCompletely=Enviat completament MailingStatusSentCompletely=Enviat completament
MailingStatusError=Error MailingStatusError=Error

View File

@ -175,7 +175,7 @@ Info=Log
Family=Familia Family=Familia
Description=Descripció Description=Descripció
Designation=Descripción Designation=Descripción
Action=Esdeveniment Action=Acció
Model=Model Model=Model
DefaultModel=Model per defecte DefaultModel=Model per defecte
About=Sobre About=Sobre

View File

@ -15,4 +15,5 @@ ThisIsTransactionId=Identificador de la transacció: <b>%s</b>
PAYPAL_ADD_PAYMENT_URL=Afegir la url del pagament Paypal en enviar un document per e-mail PAYPAL_ADD_PAYMENT_URL=Afegir la url del pagament Paypal en enviar un document per e-mail
PAYPAL_IPN_MAIL_ADDRESS=Adreça e-mail per les notificacions instantànies de pagament (IPN) PAYPAL_IPN_MAIL_ADDRESS=Adreça e-mail per les notificacions instantànies de pagament (IPN)
PredefinedMailContentSendOrderWithPaypalLink=Us adjuntem la comanda __ORDERREF__\n\nPodeu fer clic a l'enllaç assegurança de sota per realitzar el seu pagament a través de PayPal\n\n%s\n\nCordialment\n\n PredefinedMailContentSendOrderWithPaypalLink=Us adjuntem la comanda __ORDERREF__\n\nPodeu fer clic a l'enllaç assegurança de sota per realitzar el seu pagament a través de PayPal\n\n%s\n\nCordialment\n\n
PredefinedMailContentSendInvoiceWithPaypalLink=Us adjuntem la factura __FACREF__\n\nPodeu fer clic a l'enllaç assegurança de sota per realitzar el seu pagament a través de PayPal\n\n%s\n\nCordialment\n\n PredefinedMailContentSendInvoiceWithPaypalLink=Us adjuntem la factura __FACREF__\n\nPodeu fer clic a l'enllaç assegurança de sota per realitzar el seu pagament a través de PayPal\n\n%s\n\nCordialment\n\n
YouAreCurrentlyInSandboxMode=Actualment es troba en mode "sandbox"

View File

@ -142,4 +142,8 @@ AllAccounts=Todas las cuentas bancarias/de caja
BackToAccount=Volver a la cuenta BackToAccount=Volver a la cuenta
ShowAllAccounts=Mostrar para todas las cuentas ShowAllAccounts=Mostrar para todas las cuentas
FutureTransaction=Transacción futura. No es posible conciliar. FutureTransaction=Transacción futura. No es posible conciliar.
SelectChequeTransactionAndGenerate=Seleccione/filtre los cheques a incluir en la remesa y haga clic en "Crear". SelectChequeTransactionAndGenerate=Seleccione/filtre los cheques a incluir en la remesa y haga clic en "Crear".
InputReceiptNumber=Indique el extracto bancario relacionado con la conciliación. Utilice un valor numérico ordenable (por ejemplo, AAAAMM)
EventualyAddCategory=Eventualmente, indique una categoría en la que clasificar los registros
ToConciliate=¿A conciliar?
ThenCheckLinesAndConciliate=A continuación, compruebe las líneas presentes en el extracto bancario y haga clic

View File

@ -115,6 +115,12 @@ ProfId2BE=-
ProfId3BE=- ProfId3BE=-
ProfId4BE=- ProfId4BE=-
ProfId5BE=- ProfId5BE=-
#ProfId1BR=CNAE
#ProfId2BR=CNPJ
#ProfId3BR=CPF
#ProfId4BR=INSS
#ProfId5BR=IE
#ProfId6BR=IM
ProfId1CH=- ProfId1CH=-
ProfId2CH=- ProfId2CH=-
ProfId3CH=Número federado ProfId3CH=Número federado

View File

@ -104,6 +104,7 @@ ErrorBadValueForCode=Valor incorrecto para el código. Vuelva a intentar con un
ErrorBothFieldCantBeNegative=Los campos %s y %s no pueden ser negativos ErrorBothFieldCantBeNegative=Los campos %s y %s no pueden ser negativos
ErrorNoActivatedBarcode=Ningún tipo de código de barra activado ErrorNoActivatedBarcode=Ningún tipo de código de barra activado
ErrorWebServerUserHasNotPermission=La cuenta de ejecución del servidor web <b>%s</b> no dispone de los permisos para esto ErrorWebServerUserHasNotPermission=La cuenta de ejecución del servidor web <b>%s</b> no dispone de los permisos para esto
ErrorNoActivatedBarcode=No hay activado ningún tipo de código de barras
# Warnings # Warnings
WarningSafeModeOnCheckExecDir=Atención, está activada la opción PHP <b>safe_mode</b>, el comando deberá estar dentro de un directorio declarado dentro del parámetro php <b>safe_mode_exec_dir</b>. WarningSafeModeOnCheckExecDir=Atención, está activada la opción PHP <b>safe_mode</b>, el comando deberá estar dentro de un directorio declarado dentro del parámetro php <b>safe_mode_exec_dir</b>.

View File

@ -39,6 +39,7 @@ MailingStatusDraft=Borrador
MailingStatusValidated=Validado MailingStatusValidated=Validado
MailingStatusApproved=Aprovado MailingStatusApproved=Aprovado
MailingStatusSent=Enviado MailingStatusSent=Enviado
MailingStatusRead=Leido
MailingStatusSentPartialy=Enviado parcialmente MailingStatusSentPartialy=Enviado parcialmente
MailingStatusSentCompletely=Enviado completamente MailingStatusSentCompletely=Enviado completamente
MailingStatusError=Error MailingStatusError=Error

View File

@ -175,7 +175,7 @@ Info=Log
Family=Familia Family=Familia
Description=Descripción Description=Descripción
Designation=Descripción Designation=Descripción
Action=Evento Action=Acción
Model=Modelo Model=Modelo
DefaultModel=Modelo por defecto DefaultModel=Modelo por defecto
About=Acerca de About=Acerca de

View File

@ -15,4 +15,5 @@ ThisIsTransactionId=Identificador de la transacción: <b>%s</b>
PAYPAL_ADD_PAYMENT_URL=Añadir la url del pago Paypal al enviar un documento por e-mail PAYPAL_ADD_PAYMENT_URL=Añadir la url del pago Paypal al enviar un documento por e-mail
PAYPAL_IPN_MAIL_ADDRESS=Dirección e-mail para las notificaciones instantáneas de pago (IPN) PAYPAL_IPN_MAIL_ADDRESS=Dirección e-mail para las notificaciones instantáneas de pago (IPN)
PredefinedMailContentSendOrderWithPaypalLink=Le adjuntamos el pedido __ORDERREF__\n\nPuede hacer clic en el enlace seguro de abajo para realizar su pago a través de PayPal\n\n%s\n\nCordialmente\n\n PredefinedMailContentSendOrderWithPaypalLink=Le adjuntamos el pedido __ORDERREF__\n\nPuede hacer clic en el enlace seguro de abajo para realizar su pago a través de PayPal\n\n%s\n\nCordialmente\n\n
PredefinedMailContentSendInvoiceWithPaypalLink=Le adjuntamos la factura __FACREF__\n\nPuede hacer clic en el enlace seguro de abajo para realizar su pago a través de PayPal\n\n%s\n\nCordialmente\n\n PredefinedMailContentSendInvoiceWithPaypalLink=Le adjuntamos la factura __FACREF__\n\nPuede hacer clic en el enlace seguro de abajo para realizar su pago a través de PayPal\n\n%s\n\nCordialmente\n\n
YouAreCurrentlyInSandboxMode=Actualmente se encuentra en modo "sandbox"