<?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;
    }

}