check(); if ( $User->check_dossier(dossier::id(),true)=='X' ) { ob_start(); require_once ('template/ledger_detail_forbidden.php'); $html=ob_get_contents(); ob_clean(); $html=escape_xml($html); header('Content-type: text/xml; charset=UTF-8'); echo << $div $html EOF; exit(); } // check if the user can access the ledger where the operation is (view) and // if he can modify it $op=new Acc_Operation($cn); $op->jr_id=$_REQUEST['jr_id']; $ledger=$op->get_ledger(); $access=$User->get_ledger_access($ledger); if ( $access == 'X' ) { ob_start(); require_once ('template/ledger_detail_forbidden.php'); $html=ob_get_contents(); ob_clean(); $html=escape_xml($html); header('Content-type: text/xml; charset=UTF-8'); echo << $div $html EOF; exit(); } $html=var_export($_REQUEST,true); switch ($action) { ////////////////////////////////////////////////////////////////////// // DE Detail ////////////////////////////////////////////////////////////////////// case 'de': $op->get(); /* get detail op (D/C) */ $obj=$op->get_quant(); /* return an obj. ACH / FIN or VEN or null if nothing is found*/ $oLedger=new Acc_Ledger($cn,$ledger); if ( $obj==null || $obj->signature == 'ODS' ) { /* only the details */ ob_start(); require_once('template/ledger_detail_misc.php'); $html=ob_get_contents(); ob_clean(); } elseif ( $obj->signature=='ACH') { ob_start(); require_once('template/ledger_detail_ach.php'); $html=ob_get_contents(); ob_clean(); } elseif ($obj->signature=='FIN') { ob_start(); require_once('template/ledger_detail_fin.php'); $html=ob_get_contents(); ob_clean(); }elseif ( $obj->signature=='VEN') { ob_start(); require_once('template/ledger_detail_ven.php'); $html=ob_get_contents(); ob_clean(); } break; ///////////////////////////////////////////////////////////////////////////// // form for the file ///////////////////////////////////////////////////////////////////////////// case 'file': $op->get(); $obj=$op->get_quant(); /* return an obj. ACH / FIN or VEN or null if nothing is found*/ if ( $obj->det->jr_pj_name=='') { echo ""; $repo=new Database(); $theme=$repo->get_value("select the_filestyle from theme where the_name=$1",array($_SESSION['g_theme'])); echo " "; echo ""; echo '
'; if ( $access=='W') { echo '
'; $sp=new ISpan('file'.$div);$sp->style="display:none;width:155;height:15;background-color:red;color:white;font-size:14"; $sp->value="Chargement"; echo $sp->input(); echo HtmlInput::hidden('act','loadfile'); echo dossier::hidden(); echo HtmlInput::hidden('jr_id',$jr_id); echo HtmlInput::hidden('div',$div); echo ''; echo '
'; } else { echo _('Aucun fichier'); } echo '
'; exit(); } else { echo ""; $repo=new Database(); $theme=$repo->get_value("select the_filestyle from theme where the_name=$1",array($_SESSION['g_theme'])); echo " "; echo ""; echo '
'; $x=''; if ($access=='W') $x=sprintf('enlever', $gDossier,$div,$jr_id); echo $x; $filename= $obj->det->jr_pj_name; if ( strlen($obj->det->jr_pj_name) > 20 ) { $filename=substr($obj->det->jr_pj_name,1,20); } $h=sprintf('%s', $gDossier,$ledger,$obj->det->jr_grpt_id,h( $filename)); echo $h; echo '
'; exit(); } ///////////////////////////////////////////////////////////////////////////// // load a file ///////////////////////////////////////////////////////////////////////////// case 'loadfile': if ( $access == 'W' && isset ($_FILES)) { $cn->start(); // remove the file $grpt=$cn->get_value('select jr_grpt_id from jrn where jr_id=$1',array($jr_id)); $cn->save_upload_document($grpt); $cn->commit(); // Show a link to the new file $op->get(); $obj=$op->get_quant(); /* return an obj. ACH / FIN or VEN or null if nothing is found*/ echo ""; $repo=new Database(); $theme=$repo->get_value("select the_filestyle from theme where the_name=$1",array($_SESSION['g_theme'])); echo " "; echo ""; echo '
'; $x=sprintf('enlever', $gDossier,$div,$jr_id); echo $x; $filename= $obj->det->jr_pj_name; if ( strlen($obj->det->jr_pj_name) > 20 ) { $filename=substr($obj->det->jr_pj_name,1,20); } $h=sprintf('%s', $gDossier,$ledger,$obj->det->jr_grpt_id,h($filename)); echo $h; echo '
'; } exit(); ///////////////////////////////////////////////////////////////////////////// // remove a file ///////////////////////////////////////////////////////////////////////////// case 'rmf': if ( $access == 'W' ){ echo '
'; $sp=new ISpan('file'.$div);$sp->style="display:none;width:155;height:15;background-color:red;color:white;font-size:14"; $sp->value="Chargement"; echo $sp->input(); echo HtmlInput::hidden('act','loadfile'); echo dossier::hidden(); echo HtmlInput::hidden('jr_id',$jr_id); echo HtmlInput::hidden('div',$div); echo ''; echo '
'; $ret=$cn->exec_sql("select jr_pj from jrn where jr_id=$1",array($jr_id)); if (Database::num_row($ret) != 0) { $r=Database::fetch_array($ret,0); $old_oid=$r['jr_pj']; if (strlen($old_oid) != 0) { // check if this pj is used somewhere else $c=$cn->count_sql("select * from jrn where jr_pj=".$old_oid); if ( $c == 1 ) $cn->lo_unlink($old_oid); } $cn->exec_sql("update jrn set jr_pj=null, jr_pj_name=null, ". "jr_pj_type=null where jr_id=$1",array($jr_id)); } } exit(); ///////////////////////////////////////////////////////////////////////////// // Save operation detail ///////////////////////////////////////////////////////////////////////////// case 'save': if ( $access=="W") { $cn->exec_sql('update jrn set jr_comment=$1,jr_pj_number=$2 where jr_id=$3', array($_POST['lib'],$_POST['npj'],$jr_id)); $rapt=$_POST['rapt']; if (trim($rapt) != '') { $rec=new Acc_Reconciliation ($cn); $rec->set_jr_id($jr_id); if (strpos($rapt,",") != 0 ) { $aRapt=explode(',',$rapt); /* reconcialition */ foreach ($aRapt as $rRapt) { if ( isNumber($rRapt) == 1 ) { // Add a "concerned operation to bound these op.together $rec->insert($rRapt); } } } else if ( isNumber($rapt) == 1 ) { $rec->insert($rapt); } } //////////////////////////////////////////////////// // CA ////////////////////////////////////////////////// $owner = new Own($cn); if ( $owner->MY_ANALYTIC != "nu" ) { // for each item, insert into operation_analytique */ $op=new Anc_Operation($cn); $op->save_update_form($_POST); } } break; ///////////////////////////////////////////////////////////////////////////// // remove a reconciliation ///////////////////////////////////////////////////////////////////////////// case 'rmr': if ( $access=='W') { $rec=new Acc_Reconciliation($cn); $rec->set_jr_id($jr_id); $rec->remove($_GET['jr_id2']); } break; } $html=escape_xml($html); header('Content-type: text/xml; charset=UTF-8'); echo << $div $html EOF;