From 44119ca4d44f02295ac39d015ca635bd58dd17d9 Mon Sep 17 00:00:00 2001 From: "vincent@cubedesigners.com" Date: Mon, 26 Jan 2015 16:44:20 +0000 Subject: [PATCH] --- inc/commons/class.common.tools.php | 394 +++++++++++++++++------------ 1 file changed, 236 insertions(+), 158 deletions(-) diff --git a/inc/commons/class.common.tools.php b/inc/commons/class.common.tools.php index dbb7b4f14..ed062fb9c 100644 --- a/inc/commons/class.common.tools.php +++ b/inc/commons/class.common.tools.php @@ -22,6 +22,85 @@ class commonTools { } } + public static function des() { + global $core; + $ue = array_diff(cubeCountry::getUECountries(), array('FR')); + + $countries = "'" . implode("','", $ue) . "'"; + $limit = TIME - (3600 * 24 * 180); + + $tvanumbers = array(); + $r = $core->con->select('SELECT entreprise_id,tva_intra FROM entreprises'); + $filter = new CubeIT_Filter_VATEurope(); + while ($r->fetch()) { + $tvanumbers[$r->entreprise_id] = $filter->filter($r->tva_intra); + } + + $utilisateurs = array(); + $r = $core->con->select('SELECT utilisateur_id,entreprise FROM utilisateurs'); + while ($r->fetch()) { + $utilisateurs[$r->utilisateur_id] = $r->entreprise; + } + + $sql = 'SELECT * FROM factures_vue WHERE client_id IN (SELECT utilisateur_id FROM utilisateurs WHERE entreprise IN (SELECT entreprise_id FROM entreprises WHERE pays IN(' . $countries . '))) AND status > 0 AND date_creation>' . $limit . ' ORDER BY date_creation DESC'; + + $r = $core->con->select($sql); + $xls = new PHPExcel(); + $i = 0; + $data = array(); + while ($r->fetch()) { + $mois = date('Y-m', $r->date_creation); + if (!isset($data[$mois])) { + $data[$mois] = array(); + } + + $tva = $tvanumbers[$utilisateurs[$r->client_id]]; + if (!isset($data[$mois][$tva])) { + $data[$mois][$tva] = array('factures' => array(), 'montant' => 0, 'rs' => array()); + } + + $data[$mois][$tva]['montant'] += $r->total_ht; + $data[$mois][$tva]['factures'][] = $r->facture_id; + $data[$mois][$tva]['rs'][] = $r->client; + } + + + foreach ($data as $mois => $montants) { + if ($i == 0) { + $s = $xls->getActiveSheet(); + } else { + $s = $xls->createSheet(); + } + $s->setTitle($mois); + $s->getCell('A1')->setValue('# TVA'); + $s->getCell('B1')->setValue('Montant'); + $s->getCell('C1')->setValue('Nom(s)'); + $s->getCell('D1')->setValue('Facture(s)'); + $line = 2; + foreach ($montants as $tva => $d) { + $s->getCell('A' . $line)->setValue($tva); + $s->getCell('B' . $line)->setValue($d['montant']); + $s->getCell('C' . $line)->setValue(implode(',', $d['rs'])); + $s->getCell('D' . $line)->setValue(implode(', ', $d['factures'])); + $line++; + } + $s->getColumnDimension('A')->setAutoSize(true); + $s->getColumnDimension('B')->setAutoSize(true); + $s->getColumnDimension('C')->setAutoSize(true); + $s->getColumnDimension('D')->setAutoSize(true); + $i++; + } + + header('Content-disposition: attachment; filename="des.xlsx'); + header('Content-type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); + + ob_end_clean(); + $write = new PHPExcel_Writer_Excel2007($xls); + $write->save('php://output'); + exit; + + } + public static function urlDecoder($args) { global $js; $js[] = JS_PATH . '/urldecoder.js'; @@ -30,13 +109,13 @@ class commonTools { $res = commonPage::barre(); $res .= commonPage::tMain(); $res .= commonPage::bh(); - $res.='
'; - $res.=''; - $res.=''; - $res.=''; - $res.=''; - $res.='
' . __('Décoder une URL') . ' (' . __('de la forme') . ' : http%3A%2F%2Fwww )
Collez l\'url à décoder
Url décodée
'; - $res.='
'; + $res .= '
'; + $res .= ''; + $res .= ''; + $res .= ''; + $res .= ''; + $res .= '
' . __('Décoder une URL') . ' (' . __('de la forme') . ' : http%3A%2F%2Fwww )
Collez l\'url à décoder
Url décodée
'; + $res .= '
'; $res .= ''; $res .= commonPage::bf(); $res .= commonPage::bMain(); @@ -56,22 +135,22 @@ class commonTools { if (!$l) { continue; } - $r.="\$res.='" . addcslashes(htmlspecialchars($l), "'") . "';\n"; + $r .= "\$res.='" . addcslashes(htmlspecialchars($l), "'") . "';\n"; } - $r.=''; + $r .= ''; } $res = commonPage::barre(); $res .= commonPage::tMain(); $res .= commonPage::bh(); - $res.='
'; - $res.=''; - $res.=''; - $res.=''; - $res.=''; - $res.='
HTML2PHP
' . $r . '
' . $core->typo->BoutonOK(__('Générer le PHP')) . '
'; - $res.='
'; + $res .= '
'; + $res .= ''; + $res .= ''; + $res .= ''; + $res .= ''; + $res .= '
HTML2PHP
' . $r . '
' . $core->typo->BoutonOK(__('Générer le PHP')) . '
'; + $res .= '
'; $res .= ''; $res .= commonPage::bf(); $res .= commonPage::bMain(); @@ -94,8 +173,8 @@ class commonTools { } $res = array('width' => $dim[0], - 'height' => $dim[1], - 'ratio' => round($dim[0] / $dim[1], 5)); + 'height' => $dim[1], + 'ratio' => round($dim[0] / $dim[1], 5)); echo json_encode($res); exit; @@ -145,10 +224,10 @@ class commonTools { $background = trim($background, '# '); $fv = array('video' => $url, - 'autoPlay' => $autoplay == 1, - 'controls' => $controls == 1, - 'loop' => $loop == 1, - 'background' => $background); + 'autoPlay' => $autoplay == 1, + 'controls' => $controls == 1, + 'loop' => $loop == 1, + 'background' => $background); if (file_exists($dir . 'video.jpg')) { if ($displayPoster) { @@ -159,38 +238,38 @@ class commonTools { } $res = ''; + $res .= 'html, body {margin: 0;padding: 0;height: 100%;color:#fff;overflow:hidden;}'; + $res .= 'body,video{background:#' . $background . ';}'; + $res .= 'video{width:100%;height:100%;display:none;}'; + $res .= '#header,#videoflash,#videohtml,#ajaxLoader{display:none;}'; + $res .= ''; $video = '