check(true); $g_user->check_dossier($gDossier,true); $html=var_export($_REQUEST,true); if ( LOGINPUT) { $file_loginput=fopen($_ENV['TMP'].'/scenario-'.$_SERVER['REQUEST_TIME'].'.php','a+'); fwrite ($file_loginput,"check_action(FICCAT)==0)exit(); ob_start(); if( ! isset($_GET['ad_id']) || isNumber($_GET['ad_id']) ==0) throw new Exception ( _("Parametre ad_id est invalide"),11); $ad_id= $_GET['ad_id']; try { $cn->start(); $fa=new Fiche_Attr($cn,$ad_id); $fa->delete(); $cn->commit(); } catch (Exception $e) { $cn->rollback(); echo $e->getMessage(); } $html=ob_get_contents(); ob_end_clean(); break; /* ------------------------------------------------------------ */ /* Display card detail */ /* ------------------------------------------------------------ */ case 'dc': $f=new Fiche($cn); /* add title + close */ $html=HtmlInput::title_box(_("Détail fiche"), $ctl); if ( $qcode != '') { $f->get_by_qcode($qcode); $can_modify=$g_user->check_action(FIC); if ( isset($ro) ) { $can_modify=0; } if ( $can_modify==1) $card=$f->Display(false); else $card=$f->Display(true); if ( $card == 'FNT' ) { $html.='

'._('Fiche non trouvée').'

'; } else { if ($can_modify==1) { $html.='
'; $html.=dossier::hidden(); $html.=HtmlInput::hidden('f_id',$f->id); $html.=HtmlInput::hidden('ctl',$ctl); } $html.=$card; $html.='

'; if ( $can_modify==1) { $html.=HtmlInput::submit('save',_('Sauver')); } if ( ! isset ($nohistory))$html.=HtmlInput::history_card_button($f->id,_('Historique')); $html.='

'; if ($can_modify==1) { $html.='
'; } } } else { $html.='

'._('Aucune fiche demandée').'

'; } break; /* ------------------------------------------------------------ */ /* Blank card */ /* ------------------------------------------------------------ */ case 'bc': if ( $g_user->check_action(FICADD)==1 ) { $r=HtmlInput::title_box(_("Nouvelle fiche"), $ctl); /* get cat. name */ $cat_name=$cn->get_value('select fd_label from fiche_def where fd_id=$1', array($fd_id)); $f=new Fiche($cn); $r.='
'; $r.=dossier::hidden(); $r.=(isset($ref))?HtmlInput::hidden('ref',1):''; $r.=HtmlInput::hidden('fd_id',$fd_id); $r.=HtmlInput::hidden('ctl',$ctl); $r.=$f->blank($fd_id); $r.='

'; $r.=HtmlInput::submit('sc',_('Sauve')); $r.='

'; $r.='
'; $html=$r; } else { $html=alert(_('Action interdite'),true); } break; /* ------------------------------------------------------------ */ /* Show Type */ /* Before inserting a new card, the type must be selected */ /* ------------------------------------------------------------ */ case 'st': $sql="select fd_id,fd_label,fd_description from fiche_def"; /* if we filter thanks the ledger*/ if ( $ledger != -1 ) { /* we want the card for deb or cred or both of this ledger */ switch( $fil ) { case -1: $l=new Acc_Ledger($cn,$ledger); $where=' where fd_id in ('.$l->get_all_fiche_def().')'; break; case 'cred': $l=new Acc_Ledger($cn,$ledger); $prop=$l->get_propertie(); if ( $prop['jrn_def_fiche_cred']=='')$prop=-1; $where=' where fd_id in ('.$prop['jrn_def_fiche_cred'].')'; break; case 'deb': $l=new Acc_Ledger($cn,$ledger); $prop=$l->get_propertie(); if ( $prop=='')$prop=-1; $where=' where fd_id in ('.$prop['jrn_def_fiche_deb'].')'; break; } } else { /* we filter thanks a given model of card */ if ( isset($cat)) { $where=sprintf(' where frd_id in ('.sql_string ($cat).')'); } else /* we filter thanks a given list of category of card */ if ( isset($fil) && strlen(trim($fil)) > 0 ) { $where=sprintf(" where fd_id in (%s)", sql_string($fil)); } } if ( strpos($where," in ()") != 0) { $html=HtmlInput::anchor_close('select_card_div'); $html.=h2info(_('Choix de la catégorie')); $html.='

'; $html.=_("Aucune catégorie de fiche ne correspond à". " votre demande, le journal pourrait n'avoir accès à aucune fiche"); $html.='

'; break; } $sql.=" ".$where." order by fd_label"; $array=$cn->get_array($sql); $html=HtmlInput::title_box(_("Choix de la catégorie"), $ctl); if ( empty($array)) { $html.=_("Aucune catégorie de fiche ne correspond à". " votre demande"); if ( DEBUG ) $html.=$sql; } else { $r=''; $r.='

'; $r.=_("Choisissez la catégorie de fiche à laquelle vous aimeriez ajouter une fiche").'

'; $r.='
'; $msg=_('Choisissez une catégorie svp'); $r.='
" ; $r.=''; $r.=dossier::hidden(); $r.=(isset($ref))?HtmlInput::hidden('ref',1):''; $r.=_('Filtrer').' '.HtmlInput::filter_table("cat_card_table", '0,1', 0); $r.=''; for ($i=0;$i'; $r.=''; $r.=''; $r.=""; } $r.='
'; $r.=''.h($array[$i]['fd_label']).''; $r.=''; $r.=''.h($array[$i]['fd_description']).''; $r.='
'; $r.=HtmlInput::hidden('fd_id',0); $r.='

'; $r.=HtmlInput::submit('st','choix'); $r.=HtmlInput::button('Annuler',_('Annuler')," onclick=\"removeDiv('$ctl')\" "); $r.='

'; $r.='
'; $r.='
'; $html.=$r; } break; /*---------------------------------------------------------------------- * SC save card * save the new card (insert) * ----------------------------------------------------------------------*/ case 'sc': $html=HtmlInput::title_box(_("Choix de la catégorie"), $ctl); if ( $g_user->check_action(FICADD)==1 ) { $f=new Fiche($cn); $f->insert($fd_id,$_POST); $f->Get(); $html.='

'._('Fiche sauvée').'

'; $html.=$f->Display(true); $js=""; if ( isset( $_POST['ref'])) $js=create_script(' window.location.reload()'); $html.=$js; } else { $html.=alert(_('Action interdite'),true); } break; /*---------------------------------------------------------------------- * Search a card * *----------------------------------------------------------------------*/ case 'fs': require_once NOALYSS_INCLUDE.'/class_acc_ledger.php'; $r=HtmlInput::title_box(_("Détail fiche"), 'search_card'); $r.='
'; $q=new IText('query'); $q->value=(isset($query))?$query:''; $r.=''; $r.=_('Fiche contenant').HtmlInput::infobulle(19); $r.=$q->input(); $r.=HtmlInput::submit('fs',_('Recherche'),"","smallbutton"); $r.=''; $r.=dossier::hidden().HtmlInput::hidden('op','fs'); $array=array(); foreach (array('query','inp','jrn','label','typecard','price','tvaid') as $i) { if (isset(${$i}) ) { $r.=HtmlInput::hidden($i,${$i}); $sql_array[$i]=${$i}; } } /* what is the type of the ledger */ $type="GL"; if (isset($jrn) && $jrn > 1) { $ledger=new Acc_Ledger($cn,$jrn); $type=$ledger->get_type(); } $fiche=new Fiche($cn); /* Build the SQL and show result */ $sql=$fiche->build_sql($sql_array); if ( strpos($sql," in ()") != 0) { $html=HtmlInput::anchor_close('search_card'); $html.='
'.h2info(_('Recherche de fiche')).'
'; $html.='

'; $html.=_("Aucune catégorie de fiche ne correspond à". " votre demande, le journal pourrait n'avoir accès à aucune fiche"); $html.='

'; break; } /* We limit the search to MAX_SEARCH_CARD records */ $sql=$sql.' order by vw_name limit '.MAX_SEARCH_CARD; $a=$cn->get_array($sql); for($i=0;$icheck_action(FICCAT)==1 ) { /*---------------------------------------------------------------------- * Add a category, display first the form * *----------------------------------------------------------------------*/ $ipopup=str_replace('_content','',$ctl); $msg="";$base=""; switch($cat) { case FICHE_TYPE_CLIENT: $msg=_(' de clients'); $base=$cn->get_value("select p_value from parm_code where p_code='CUSTOMER'"); break; case FICHE_TYPE_FOURNISSEUR: $msg=_(' de fournisseurs'); $base=$cn->get_value("select p_value from parm_code where p_code='SUPPLIER'"); break; case FICHE_TYPE_ADM_TAX: $msg=_(' d\'administration'); $base=''; break; case FICHE_TYPE_CONTACT: $msg=_(' de contacts'); $base=''; break; case FICHE_TYPE_FIN: $msg=_(' Banque'); $base=$cn->get_value("select p_value from parm_code where p_code='BANQUE'"); break; case FICHE_TYPE_EMPL: $msg=_(' Employé ou administrateur'); $base=''; break; } $html=''; /* show the form */ $search=new IPoste("class_base"); $search->size=40; $search->value=$base; $search->label=_("Recherche poste"); $search->set_attribute('gDossier',dossier::id()); $search->set_attribute('account',$search->name); $search->set_attribute('ipopup','ipop_account'); $nom_mod=new IText("nom_mod"); $str_poste=$search->input(); $submit=HtmlInput::submit('save',_('Sauve')); ob_start(); require('template/category_of_card.php'); $html.=ob_get_contents(); ob_end_clean(); } else { $html=alert(_('Action interdite'),true); } break; case 'scc': /*---------------------------------------------------------------------- * Save card Category into the database and return a ok message * *----------------------------------------------------------------------*/ $html=''; if ( $g_user->check_action(FICCAT) == 1 ) { $script=create_script("removeDiv('$ctl')"); $html.=$script; if ( strlen(trim($_GET['nom_mod'])) != 0 ) { $array=array("FICHE_REF"=>$cat, "nom_mod"=>$_GET['nom_mod'], "class_base"=>$_GET['class_base'], "fd_description"=>$_GET['fd_description']); if ( isset ($_POST['create'])) $array['create']=1; $catcard=new Fiche_Def($cn); if ( $catcard->Add($array) == -1) $script="alert_box('"._('Catégorie existe déjà')."')"; else $script="alert_box('"._('Catégorie sauvée')."')"; $html.=create_script($script); } else { $script="alert_box('"._("Le nom ne peut pas être vide")."')"; $html.=create_script($script); $invalid=1; } } else { $html=alert(_('Action interdite'),true); } break; case 'upc': $html=HtmlInput::title_box("Détail fiche", $ctl); if ( $g_user->check_action(FICADD)==0 ) { $html.=alert(_('Action interdite'),true); } else { if ($cn->get_value('select count(*) from fiche where f_id=$1',array($_GET['f_id'])) == '0' ) { $html.=alert(_('Fiche non valide'),true); } else { $html=HtmlInput::title_box(_('Détail fiche (sauvée)'),$ctl); $f=new Fiche($cn,$_GET['f_id']); ob_start(); $f->update($_GET); $html.=ob_get_contents(); ob_end_clean(); $html.=$f->Display(true); } } } // switch $xml=escape_xml($html); if (DEBUG && headers_sent()) { echo $html;return; } header('Content-type: text/xml; charset=UTF-8'); echo << $ctl $xml EOF;