00001 <?
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00024
00025 include_once ("ac_common.php");
00026 require_once('class_widget.php');
00027 require_once('class_poste.php');
00028 html_page_start($_SESSION['g_theme']);
00029 if ( ! isset ( $_SESSION['g_dossier'] ) ) {
00030 echo "You must choose a Dossier ";
00031 exit -2;
00032 }
00033 include_once ("postgres.php");
00034
00035 include_once ("class_user.php");
00036 $cn=DbConnect($_SESSION['g_dossier']);
00037 $User=new cl_user($cn);
00038 $User->Check();
00039
00040 include_once ("check_priv.php");
00041
00042 include_once ("user_menu.php");
00043 echo '<div class="u_tmenu">';
00044 echo ShowMenuCompta($_SESSION['g_dossier'],"user_advanced.php");
00045 echo '</div>';
00046
00047 if ( $User->CheckAction($cn,EXP_IMP_ECR) == 0 ) {
00048
00049 NoAccess();
00050 exit -1;
00051 }
00052
00053 echo ShowMenuAdvanced("ecrit_ouv.php");
00054 echo '<div class="lmenu">';
00055
00056 echo ShowItem ( array (
00057 array ("ecrit_ouv.php?export","Export"),
00058 array ("ecrit_ouv.php?import","Import")
00059 ),'V');
00060 echo '</div>';
00061 echo '<div class="redcontent">';
00062
00063 if ( isset ($_GET['export'])) {
00064
00065
00066 $periode=make_array($cn,"select distinct p_exercice,p_exercice from parm_periode order by p_exercice");
00067 echo '<form method="GET" ACTION="export_ouv.php">';
00068 $w=new widget('select');
00069 $w->table=0;
00070 $w->label='Periode';
00071 $w->readonly=false;
00072 $w->value=$periode;
00073 $w->name="p_periode";
00074 echo 'Période : '.$w->IOValue();
00075 echo $w->Submit('export','Export');
00076 echo "</form>";
00077 exit(0);
00078 }
00079
00080 if ( isset ($_GET['import'])) {
00081
00082
00083
00084
00085 if ( ! isset ($_REQUEST['p_submit']) ) {
00086 ?>
00087 <FORM NAME="form_detail" enctype="multipart/form-data" ACTION="ecrit_ouv.php?import" METHOD="POST">
00088 <?
00089
00090 $ods=make_array($cn,"select jrn_def_id,jrn_def_name from jrn_def where jrn_def_type = 'OD'");
00091 $x=new widget("select");
00092 $x->name='p_jrn';
00093 $x->value=$ods;
00094 echo "Choississez votre journal ".$x->IOValue();
00095
00096 $w=new widget("file");
00097 $w->name='import_file';
00098 $w->label='p_file';
00099 echo $w->IOValue();
00100 echo $w->Submit('p_submit','Charger le fichier');
00101 ?>
00102 </FORM>
00103 <?
00104 exit(0);
00105 } else {
00106 require_once("user_form_ods.php");
00107 require_once("jrn.php");
00108
00109 $new_name=tempnam('/tmp','import');
00110 if ( strlen ( $_FILES['import_file']['tmp_name']) != 0 ) {
00111 if ( move_uploaded_file($_FILES['import_file']['tmp_name'],$new_name) ) {
00112
00113 $h_file=fopen($new_name,'r') ;
00114
00115 if ( $h_file == false) { echo 'Je ne peux ouvrir pas ce fichier';exit(-1);}
00116
00117 $valid=false;
00118 $idx=0;
00119 while ( !feof($h_file) ) {
00120
00121 $line=fgets($h_file);
00122
00123 if ( $valid ) {
00124
00125 if (strlen (trim($line)) == 0 ) continue;
00126
00127 list($sign,$poste,$label,$amount)=explode(";",$line);
00128 $asign[$idx]=$sign; $aposte[$idx]=$poste;$aamount[$idx]=$amount;
00129 $alabel[$idx]=$label;
00130 $idx++;
00131 }
00132 $valid=(($line=="OUVERTURE\n" && $valid==false) || $valid)?true:false;
00133
00134 }
00135
00136 if ( ! $valid) { echo 'Aucun enregistrement valide'; return ;}
00137
00138 $array_ods['e_comm']='Ecriture d\'ouverture';
00139 for ($i=0;$i<$idx;$i++) {
00140 $n="e_account$i";
00141 $array_ods[$n]=$aposte[$i];
00142 $n="e_account".$i."_type";
00143 $array_ods[$n]=$asign[$i];
00144 $n="e_account".$i."_amount";
00145 $array_ods[$n]=$aamount[$i];
00146 }
00147
00148
00149 for ($i=0;$i<$idx;$i++)
00150 {
00151
00152 $p=new Poste($cn,$aposte[$i]);
00153
00154
00155 if ( $p->get() == true ) continue;
00156 echo 'Attention creation de '.$p->id.' '.$alabel[$i].'<br>';
00157 $sql=sprintf("select account_add(%d,'%s')",
00158 $p->id,$alabel[$i]);
00159
00160 ExecSql($cn,$sql);
00161 }
00162
00163
00164 $submit='<INPUT TYPE="SUBMIT" NAME="add_item" VALUE="Ajout Poste">
00165 <INPUT TYPE="SUBMIT" NAME="view_invoice" VALUE="Sauver">';
00166 $r=FormODS($cn,$_POST['p_jrn'],$User->GetPeriode(),$submit,
00167 $array_ods,false,$idx,$p_saved=false);
00168
00169 echo $r;
00170 echo "<div><h4>On-line calculator</h4>".JS_CALC_LINE."<div>";
00171
00172 }
00173 }
00174 }
00175 }
00176
00177 echo '</div>';
00178 html_page_stop();
00179 ?>