2
0
forked from Wavyzz/dolibarr
This commit is contained in:
Laurent Destailleur
2011-08-29 22:52:04 +00:00
parent da04be88a0
commit c0c6d1bede
3 changed files with 95 additions and 72 deletions

View File

@@ -56,6 +56,7 @@ class Categorie
/**
* Constructor
*
* @param DB acces base de donnees
* @param id id de la categorie
*/
@@ -69,6 +70,7 @@ class Categorie
/**
* Load category into memory from database
*
* @param id id of category
*/
function fetch($id)
@@ -78,7 +80,7 @@ class Categorie
$sql.= " WHERE rowid = ".$id;
dol_syslog("Categorie::fetch sql=".$sql);
$resql = $this->db->query ($sql);
$resql = $this->db->query($sql);
if ($resql)
{
$res = $this->db->fetch_array($resql);
@@ -94,7 +96,7 @@ class Categorie
}
else
{
dol_print_error ($this->db);
dol_print_error($this->db);
return -1;
}
@@ -103,7 +105,7 @@ class Categorie
$sql.= " WHERE fk_categorie_fille = '".$id."'";
dol_syslog("Categorie::fetch sql=".$sql);
$resql = $this->db->query ($sql);
$resql = $this->db->query($sql);
if ($resql)
{
$res = $this->db->fetch_array($resql);
@@ -113,13 +115,14 @@ class Categorie
}
else
{
dol_print_error ($this->db);
dol_print_error($this->db);
return -1;
}
}
/**
* Add category into database
*
* @return int -1 : erreur SQL
* -2 : nouvel ID inconnu
* -3 : categorie invalide
@@ -159,10 +162,10 @@ class Categorie
//$sql.= ",".$this->parentId;
$sql.= ")";
$res = $this->db->query ($sql);
$res = $this->db->query($sql);
if ($res)
{
$id = $this->db->last_insert_id (MAIN_DB_PREFIX."categorie");
$id = $this->db->last_insert_id(MAIN_DB_PREFIX."categorie");
if ($id > 0)
{
@@ -199,6 +202,7 @@ class Categorie
/**
* Update category
*
* @return int 1 : OK
* -1 : SQL error
* -2 : invalid category
@@ -284,6 +288,7 @@ class Categorie
/**
* Delete a category from database
*
* @param user Object user that ask to delete
*/
function delete($user)
@@ -392,6 +397,7 @@ class Categorie
/**
* Ajout d'une sous-categorie
*
* @param $fille objet categorie
* @return int 1 : OK
* -2 : $fille est deja dans la famille de $this
@@ -416,6 +422,7 @@ class Categorie
/**
* Suppression d'une sous-categorie (seulement "desassociation")
*
* @param $fille objet categorie
* @return int 1 : OK
* -3 : categorie ($this ou $fille) invalide
@@ -442,10 +449,11 @@ class Categorie
}
/**
* \brief Link an object to the category
* \param obj Object to link to category
* \param type Type of category
* \return int 1 : OK, -1 : erreur SQL, -2 : id non renseign, -3 : Already linked
* Link an object to the category
*
* @param obj Object to link to category
* @param type Type of category
* @return int 1 : OK, -1 : erreur SQL, -2 : id non renseign, -3 : Already linked
*/
function add_type($obj,$type)
{
@@ -478,9 +486,9 @@ class Categorie
/**
* Suppresion d'un produit de la categorie
* @param $prod est un objet de type produit
* retour : 1 : OK
* -1 : erreur SQL
*
* @param $prod est un objet de type produit
* @return int 1 if OK, -1 if KO
*/
function del_type($obj,$type)
{
@@ -568,8 +576,8 @@ class Categorie
/**
* Return category description
*
* @param $cate Category id
* @return string Description
* @param int $cate Category id
* @return string Description
*/
function get_desc ($cate)
{
@@ -585,7 +593,7 @@ class Categorie
/**
* La categorie $fille est-elle une fille de cette categorie ?
*
* @param fille Object category
* @param Category $fille Object category
*/
function is_fille ($fille)
{
@@ -609,9 +617,10 @@ class Categorie
* label = nom de la categorie
* fulllabel = nom avec chemin complet de la categorie
* fullpath = chemin complet compose des id
* @param type Type of categories (0=product, 1=suppliers, 2=customers, 3=members)
* @param markafterid Mark all categories after this leaf in category tree.
* @return array Array of categories
*
* @param string $type Type of categories (0=product, 1=suppliers, 2=customers, 3=members)
* @param int $markafterid Mark all categories after this leaf in category tree.
* @return array Array of categories
*/
function get_full_arbo($type,$markafterid=0)
{
@@ -638,7 +647,7 @@ class Categorie
}
else
{
dol_print_error ($this->db);
dol_print_error($this->db);
return -1;
}
@@ -672,7 +681,7 @@ class Categorie
}
else
{
dol_print_error ($this->db);
dol_print_error($this->db);
return -1;
}
@@ -714,6 +723,7 @@ class Categorie
/**
* For category id_categ and its childs available in this->cats, define property fullpath and fulllabel
*
* @param id_categ id_categ entry to update
* @param protection Deep counter to avoid infinite loop
*/
@@ -764,7 +774,7 @@ class Categorie
}
/**
* \brief Affiche contenu de $this->cats
* Affiche contenu de $this->cats
*/
function debug_cats()
{
@@ -783,8 +793,9 @@ class Categorie
/**
* \brief Retourne toutes les categories
* \return array Tableau d'objet Categorie
* Retourne toutes les categories
*
* @return array Tableau d'objet Categorie
*/
function get_all_categories ()
{
@@ -809,8 +820,9 @@ class Categorie
}
/**
* \brief Retourne le nombre total de categories
* \return int Nombre de categories
* Retourne le nombre total de categories
*
* @return int Nombre de categories
*/
function get_nb_categories ()
{
@@ -831,6 +843,7 @@ class Categorie
/**
* Check if no category with same label already exists for this cat's parent or root and for this cat's type
*
* @return boolean 1 if already exist, 0 otherwise, -1 if error
*/
function already_exists()
@@ -878,23 +891,23 @@ class Categorie
}
else
{
dol_print_error ($this->db);
dol_print_error($this->db);
return -1;
}
}
/**
* \brief Retourne les categories de premier niveau (qui ne sont pas filles)
* Retourne les categories de premier niveau (qui ne sont pas filles)
*/
function get_main_categories ()
function get_main_categories()
{
$allcats = $this->get_all_categories ();
$allcats = $this->get_all_categories();
$maincats = array ();
$filles = array ();
$sql = "SELECT fk_categorie_fille FROM ".MAIN_DB_PREFIX."categorie_association";
$res = $this->db->query ($sql);
while ($res = $this->db->fetch_array ($res))
$res = $this->db->query($sql);
while ($res = $this->db->fetch_array($res))
{
$filles[] = $res['fk_categorie_fille'];
}
@@ -921,7 +934,7 @@ class Categorie
{
$ways = array ();
foreach ($this->get_all_ways () as $way)
foreach ($this->get_all_ways() as $way)
{
$w = array ();
foreach ($way as $cat)
@@ -1000,19 +1013,19 @@ class Categorie
$sql = "SELECT fk_categorie_mere FROM ".MAIN_DB_PREFIX."categorie_association ";
$sql .= "WHERE fk_categorie_fille = ".$this->id;
$res = $this->db->query ($sql);
$res = $this->db->query($sql);
if ($res)
{
while ($cat = $this->db->fetch_array ($res))
while ($cat = $this->db->fetch_array($res))
{
$meres[] = new Categorie ($this->db, $cat['fk_categorie_mere']);
$meres[] = new Categorie($this->db, $cat['fk_categorie_mere']);
}
return $meres;
}
else
{
dol_print_error ($this->db);
dol_print_error($this->db);
return -1;
}
}
@@ -1025,9 +1038,9 @@ class Categorie
{
$ways = array ();
foreach ($this->get_meres () as $mere)
foreach ($this->get_meres() as $mere)
{
foreach ($mere->get_all_ways () as $way)
foreach ($mere->get_all_ways() as $way)
{
$w = $way;
$w[] = $this;
@@ -1036,7 +1049,7 @@ class Categorie
}
}
if (sizeof ($ways) == 0)
if (count($ways) == 0)
$ways[0][0] = $this;
return $ways;
@@ -1044,6 +1057,7 @@ class Categorie
/**
* Return list of categories linked to element of type $type with id $typeid
*
* @param id Id of element
* @param typeid Type id of link (0,1,2,3...)
* @return array List of category objects
@@ -1063,19 +1077,19 @@ class Categorie
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."categorie as c ON ct.fk_categorie = c.rowid";
$sql.= " WHERE ct.fk_".$table." = ".$id." AND c.type = ".$typeid;
$res = $this->db->query ($sql);
$res = $this->db->query($sql);
if ($res)
{
while ($cat = $this->db->fetch_array ($res))
while ($cat = $this->db->fetch_array($res))
{
$cats[] = new Categorie ($this->db, $cat['fk_categorie']);
$cats[] = new Categorie($this->db, $cat['fk_categorie']);
}
return $cats;
}
else
{
dol_print_error ($this->db);
dol_print_error($this->db);
return -1;
}
}
@@ -1102,7 +1116,7 @@ class Categorie
{
if (! $exact)
{
$nom = '%'.str_replace ('*', '%', $nom).'%';
$nom = '%'.str_replace('*', '%', $nom).'%';
}
$sql.= "AND label LIKE '".$nom."'";
}
@@ -1111,12 +1125,12 @@ class Categorie
$sql.="AND rowid = '".$id."'";
}
$res = $this->db->query ($sql);
$res = $this->db->query($sql);
if ($res)
{
while ($id = $this->db->fetch_array ($res))
while ($id = $this->db->fetch_array($res))
{
$cats[] = new Categorie ($this->db, $id['rowid']);
$cats[] = new Categorie($this->db, $id['rowid']);
}
return $cats;
@@ -1265,8 +1279,9 @@ class Categorie
}
/**
* \brief Efface la photo de la categorie et sa vignette
* \param file Chemin de l'image
* Efface la photo de la categorie et sa vignette
*
* @param file Chemin de l'image
*/
function delete_photo($file)
{
@@ -1291,8 +1306,9 @@ class Categorie
}
/**
* \brief Load size of image file
* \param file Path to file
* Load size of image file
*
* @param file Path to file
*/
function get_image_size($file)
{
@@ -1310,7 +1326,7 @@ class Categorie
{
global $user,$langs,$conf;
dol_syslog("Categorie::initAsSpecimen");
dol_syslog(get_class($this)."::initAsSpecimen");
// Initialise parametres
$this->id=0;

View File

@@ -3898,19 +3898,18 @@ function dol_htmloutput_errors($mesgstring='', $mesgarray='', $keepembedded=0)
}
/**
* Advanced sort array by second index function, which produces
* ascending (default) or descending output and uses optionally
* natural case insensitive sorting (which can be optionally case
* sensitive as well).
* Advanced sort array by second index function, which produces ascending (default)
* or descending output and uses optionally natural case insensitive sorting (which
* can be optionally case sensitive as well).
*
* @param array Array to sort
* @param index
* @param order
* @param natsort
* @param case_sensitive Sort is case sensitive
* @return Sorted array
* @param array $array Array to sort
* @param string $index Key in array to use for sorting criteria
* @param int $order Sort order
* @param int $natsort 1=use "natural" sort (natsort), 0=use "standard sort (asort)
* @param int $case_sensitive 1=sort is case sensitive, 0=not case sensitive
* @return array Sorted array
*/
function dol_sort_array(&$array, $index, $order='asc', $natsort, $case_sensitive)
function dol_sort_array(&$array, $index, $order='asc', $natsort=0, $case_sensitive=0)
{
// Clean parameters
$order=strtolower($order);

View File

@@ -47,15 +47,18 @@ class Societe extends CommonObject
var $ismultientitymanaged = 1; // 0=No test on entity, 1=Test with field entity, 2=Test with link by societe
var $id;
var $name; // TODO obsolete
var $nom;
var $nom_particulier;
var $prenom;
var $particulier;
var $address;
var $adresse; // TODO obsolete
var $cp;
var $ville;
var $status; // 0=activity ceased, 1= in activity
var $adresse; // TODO obsolete
var $cp; // TODO obsolete
var $zip;
var $ville; // TODO obsolete
var $town;
var $status; // 0=activity ceased, 1= in activity
var $state_id;
var $state_code;
@@ -64,9 +67,9 @@ class Societe extends CommonObject
var $departement_code;
var $departement;
var $pays_id;
var $pays_code;
var $pays; // TODO obsolete
var $pays_id; // TODO obsolete
var $pays_code; // TODO obsolete
var $pays; // TODO obsolete
var $country_id;
var $country_code;
var $country;
@@ -143,7 +146,8 @@ class Societe extends CommonObject
var $logo_mini;
/**
* Constructor for class
* Constructor
*
* @param DB handler acces base de donnees
* @param id id societe (0 par defaut)
*/
@@ -171,6 +175,7 @@ class Societe extends CommonObject
/**
* Create third party in database
*
* @param user Object of user that ask creation
* @return int >= 0 if OK, < 0 if KO
*/
@@ -291,6 +296,7 @@ class Societe extends CommonObject
/**
* Check properties of third party are ok (like name, third party codes, ...)
*
* @return int 0 if OK, <0 if KO
*/
function verify()
@@ -366,6 +372,7 @@ class Societe extends CommonObject
/**
* Update parameters of third party
*
* @param id id societe
* @param user Utilisateur qui demande la mise a jour
* @param call_trigger 0=non, 1=oui
@@ -404,6 +411,7 @@ class Societe extends CommonObject
$this->ville=$this->town; // TODO obsolete
$this->state_id=trim($this->state_id);
$this->pays_id=trim($this->pays_id);
$this->country_id=trim($this->country_id);
$this->tel=trim($this->tel);
$this->fax=trim($this->fax);
$this->tel = preg_replace("/\s/","",$this->tel);