altocompta/include/class_contact.php
Dany De Bontridder 2e4dc23d33 Merged revisions 4810,4813-4821 via svnmerge from
svn+ssh://ns352270.ovh.net/svn/phpcompta/tags/rel601

........
  r4810 | danydb | 2012-04-24 20:55:23 +0200 (Tue, 24 Apr 2012) | 3 lines
  
  Removed merge tracking for "svnmerge" for 
  svn+ssh://danydb@ns352270.ovh.net/svn/phpcompta/tags/rel600
........
  r4813 | danydb | 2012-04-24 20:58:20 +0200 (Tue, 24 Apr 2012) | 1 line
  
  change SQL
........
  r4814 | danydb | 2012-04-24 21:33:02 +0200 (Tue, 24 Apr 2012) | 2 lines
  
  Fix bug predefined operation for misc ledger
........
  r4815 | danydb | 2012-04-24 21:33:27 +0200 (Tue, 24 Apr 2012) | 3 lines
  
  Fix bug predefined operation for misc ledger
  Fix bug for check_balance (null value)
........
  r4816 | danydb | 2012-04-24 21:51:04 +0200 (Tue, 24 Apr 2012) | 1 line
  
  fix bug : rounded value
........
  r4817 | danydb | 2012-05-01 16:49:39 +0200 (Tue, 01 May 2012) | 2 lines
  
  #569 réécriture des menus fournisseur, client et adm
........
  r4818 | danydb | 2012-05-01 16:51:35 +0200 (Tue, 01 May 2012) | 2 lines
  
  #568: Impossible d'ajouter une fiche BANQUE dans ADM
........
  r4819 | danydb | 2012-05-01 16:53:12 +0200 (Tue, 01 May 2012) | 2 lines
  
  #570: Ajout d'un menu contact
........
  r4820 | danydb | 2012-05-01 16:53:46 +0200 (Tue, 01 May 2012) | 1 line
  
  cosmetic  : message d'erreur quand on veut ajouter une fiche dans catégorie non existante
........
  r4821 | danydb | 2012-05-01 18:38:34 +0200 (Tue, 01 May 2012) | 1 line
  
  code : dead code
........
2012-05-08 18:01:19 +00:00

143 lines
5.1 KiB
PHP

<?php
/*
* This file is part of PhpCompta.
*
* PhpCompta is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* PhpCompta is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with PhpCompta; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
/* $Revision$ */
// Copyright Author Dany De Bontridder ddebontridder@yahoo.fr
//!\brief class for the contact, contact are derived from fiche
require_once("class_fiche.php");
require_once("constant.php");
require_once("user_common.php");
/*! \file
* \brief Contact are a card which are own by a another card (customer, supplier...)
*/
/*!
* \brief Class contact (customer, supplier...)
*/
class contact extends Fiche
{
var $company; /*!< $company company of the contact (ad_id=ATTR_DEF_COMPANY)*/
/*!\brief constructor */
function contact($p_cn,$p_id=0)
{
$this->fiche_def_ref=FICHE_TYPE_CONTACT;
parent::__construct($p_cn,$p_id) ;
$this->company="";
}
/*! Summary
**************************************************
* \brief show the default screen
*
* \param p_search (filter)
*
* \return string to display
*/
function Summary($p_search="",$p_action="",$p_sql="",$p_nothing=false)
{
$p_search=sql_string($p_search);
$extra_sql="";
if ( $this->company != "")
{
$extra_sql="and f_id in (select f_id from fiche_detail
where ad_value=upper('".$this->company."') and ad_id=".ATTR_DEF_COMPANY.") ";
}
$url=urlencode($_SERVER['REQUEST_URI']);
$script=$_SERVER['PHP_SELF'];
// Creation of the nav bar
// Get the max numberRow
$all_contact=$this->count_by_modele($this->fiche_def_ref,$p_search,$extra_sql);
// Get offset and page variable
$offset=( isset ($_REQUEST['offset'] )) ?$_REQUEST['offset']:0;
$page=(isset($_REQUEST['page']))?$_REQUEST['page']:1;
$bar=jrn_navigation_bar($offset,$all_contact,$_SESSION['g_pagesize'],$page);
// set a filter ?
$search="";
if ( trim($p_search) != "" )
{
$search=" and f_id in
(select f_id from fiche_Detail
where
ad_id=1 and ad_value ~* '$p_search') ";
}
// Get The result Array
$step_contact=$this->GetAll($offset,$search.$extra_sql.$p_sql);
if ( $all_contact == 0 ) return "";
$r=$bar;
$r.='<table border="0" width="95%">
<TR style="background-color:lightgrey;">
<th>Quick Code</th>
<th>Nom</th>
<th>Prénom</th>
<th>Société</th>
<th>Téléphone</th>
<th>email</th>
<th>Fax</th>
</TR>';
$base=$_SERVER['PHP_SELF'];
// Compute the url
$url="";
$and="?";
$get=$_GET;
if ( isset ($get) )
{
foreach ($get as $name=>$value )
{
// we clean the parameter offset, step, page and size
if ( ! in_array($name,array('f_id','detail')))
{
$url.=$and.$name."=".$value;
$and="&";
}// if
}//foreach
}// if
$back_url=urlencode($_SERVER['REQUEST_URI']);
if ( sizeof ($step_contact ) == 0 )
return $r;
foreach ($step_contact as $contact )
{
$l_company=new Fiche($this->cn);
$l_company->get_by_qcode($contact->strAttribut(ATTR_DEF_COMPANY),false);
$l_company_name=$l_company->strAttribut(ATTR_DEF_NAME);
if ( $l_company_name == NOTFOUND ) $l_company_name="";
// add popup for detail
if ( $l_company_name !="")
{
$l_company_name=HtmlInput::card_detail($contact->strAttribut(ATTR_DEF_COMPANY),$l_company_name,'style="text-decoration:underline;"');
}
$r.="<TR>";
$qcode=$contact->strAttribut(ATTR_DEF_QUICKCODE);
$r.='<TD><A HREF="javascript:void(0)" onclick="this.ipopup=\'ipopcard\';this.qcode=(\''.$qcode.'\');fill_ipopcard(this);">'.$qcode.
"</A></TD>";
$r.="<TD>".$contact->strAttribut(ATTR_DEF_NAME)."</TD>";
$r.="<TD>".$contact->strAttribut(ATTR_DEF_FIRST_NAME)."</TD>";
$r.="<TD>".$l_company_name."</TD>";
$r.="<TD>".$contact->strAttribut(ATTR_DEF_TEL)."</TD>";
$r.="<TD>".$contact->strAttribut(ATTR_DEF_EMAIL)."</TD>".
"<TD> ".$contact->strAttribut(ATTR_DEF_FAX)."</TD>";
$r.="</TR>";
}
$r.="</TABLE>";
$r.=$bar;
return $r;
}
}