mirror of
https://github.com/YunoHost-Apps/noalyss_ynh.git
synced 2024-09-03 19:46:20 +02:00
144 lines
5.1 KiB
PHP
144 lines
5.1 KiB
PHP
|
<?php
|
||
|
/*
|
||
|
* This file is part of NOALYSS.
|
||
|
*
|
||
|
* NOALYSS 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.
|
||
|
*
|
||
|
* NOALYSS 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 NOALYSS; if not, write to the Free Software
|
||
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||
|
*/
|
||
|
// Copyright Author Dany De Bontridder danydb@aevalys.eu
|
||
|
//!\brief class for the contact, contact are derived from fiche
|
||
|
require_once NOALYSS_INCLUDE.'/class_fiche.php';
|
||
|
require_once NOALYSS_INCLUDE.'/constant.php';
|
||
|
require_once NOALYSS_INCLUDE.'/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=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->get_by_category($offset,$search.$extra_sql.$p_sql);
|
||
|
|
||
|
if ( $all_contact == 0 ) return "";
|
||
|
$r=$bar;
|
||
|
$r.='<table id="contact_tb" class="sortable">
|
||
|
<TR>
|
||
|
<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;
|
||
|
$idx=0;
|
||
|
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;"');
|
||
|
}
|
||
|
$tr=($idx%2==0)?' <tr class="odd">':'<tr class="even">';
|
||
|
$idx++;
|
||
|
$r.=$tr;
|
||
|
$qcode=$contact->strAttribut(ATTR_DEF_QUICKCODE);
|
||
|
$r.='<TD>'.HtmlInput::card_detail($qcode)."</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;
|
||
|
}
|
||
|
|
||
|
}
|