]> _ Git - dtlc.git/commitdiff
wait #6456 @0.5
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Thu, 9 Nov 2023 14:54:23 +0000 (15:54 +0100)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Thu, 9 Nov 2023 14:54:23 +0000 (15:54 +0100)
framework/application/controllers/AdminController.php

index 1924c2cabe5c145fd2c66c020fc24efc32f70d2a..ac8f01b970ed23328c537631e634c51214566bf2 100644 (file)
 class AdminController extends CubeIT_Controller_Admin_AdminController
 {
 
-       public function devisAction()
-       {
-
-               if (!$this->isAllowed('administration/devis')) {
-                       $this->redirect('/admin?redirect=' . urlencode($_SERVER['REQUEST_URI']));
-               }
-
-               $form = new DTLC_Form_Devis();
-               $form->setAdmin(true);
-               $id = $this->_params[0];
-
-               $db = $this->getDb();
-
-               $q = $db->select()->from('devis')->where('id = ?', $id)->query();
-
-               $bootstrap = Bootstrap::getInstance();
-
-               $r = $q->fetch(Zend_Db::FETCH_ASSOC);
-               if ($r['status'] == 0) {
-                       $r['tva'] = $this->getOpt('tva');
-               }
-
-               $this->view->headScriptVariables()->setVariable('tva', $r['tva']);
-               $defaults = array();
-               foreach ($r as $k => $v) {
-                       if (CubeIT_Util_Json::isJson($v)) {
-                               $v = CubeIT_Util_Json::decode($v, true);
-                       }
-                       if ($k == 'status') {
-                               $form->setStatus($v);
-                       }
-                       $defaults[$k] = $v;
-               }
-               if (!is_array($defaults['details'])) {
-                       unset($defaults['details']);
-               }
-
-               if ($defaults['livraison']) {
-
-                       $i = 0;
-                       foreach ($defaults as $k => $detail) {
-                               $e = explode('_', $k);
-                               if ($e[0] == 'descriptif') {
-                                       $i = max($e[1], $i);
-                               }
-                       }
-                       $i++;
-
-                       $livraisonText = '__Livraison__' . "\n";
-                       $defaults['adresse_livraison'] = trim($defaults['adresse_livraison']);
-                       if ($defaults['adresse_livraison']) {
-                               $livraisonText .= str_replace("\n", ' ', $defaults['adresse_livraison']);
-                       } else {
-                               $livraisonText .= str_replace("\n", ' ', trim($defaults['adresse'])) . " " . $defaults['code_postal'] . ' ' . $defaults['ville'];
-                       }
-                       if ($defaults['complement_livraison']) {
-                               $livraisonText .= "\n" . $defaults['complement_livraison'];
-                       }
-
-                       $defaults['descriptif_' . $i] = trim($livraisonText);
-
-               }
-
-               $form->setDefaults($defaults);
-               $this->view->form = $form;
-       }
-
-       public function devisdownloadAction()
-       {
-               if (!$this->isAllowed('administration/devis')) {
-                       $this->redirect('/admin?redirect=' . urlencode($_SERVER['REQUEST_URI']));
-               }
-
-               $this->disableLayout(true);
-
-               $dir = CubeIT_Files::tmpdir();
-               if (!file_exists($dir)) {
-                       mkdir($dir, 0777, true);
-               }
-
-               $id = $this->_params[0];
-               $db = $this->getDb();
-               $q = $db->select()->from('devis')->where('id = ?', $id)->query();
-               $devis = $q->fetch();
-               $fichiers = json_decode($devis->fichiers);
-               $tozip = array();
-               foreach ($fichiers as $file) {
-                       $local = $dir . '/' . preg_replace('/^[0-9a-fA-F]{6,}-/', '', CubeIT_Util_Cms::extractFiles($file, 1)[0]);
-                       copy(PUBLIC_PATH . CubeIT_Util_Cms::filePath($file, 'userfiles'), $local);
-                       $tozip[] = $local;
-               }
-
-               $zip = tempnam(FRAMEWORK_PATH . '/tmp', 'zip');
-
-               CubeIT_Util_Zip::archive($tozip, $zip);
-               $zip .= ".zip";
-
-               $this->getResponse()->clearBody();
-               $this->getResponse()
-                       ->setHeader('Content-type', CubeIT_Files::getMimeType('e.zip'))
-                       ->setHeader('Content-disposition', 'attachment; filename="DTLC_WEB_' . $id . '.zip"')
-                       ->setBody(file_get_contents($zip))->sendResponse();
-               unlink($zip);
-               `rm -rf $dir`;
-       }
+    public function devisAction()
+    {
+
+        if (!$this->isAllowed('administration/devis')) {
+            $this->redirect('/admin?redirect=' . urlencode($_SERVER['REQUEST_URI']));
+        }
+
+        $form = new DTLC_Form_Devis();
+        $form->setAdmin(true);
+        $id = $this->_params[0];
+
+        $db = $this->getDb();
+
+        $q = $db->select()->from('devis')->where('id = ?', $id)->query();
+
+        $bootstrap = Bootstrap::getInstance();
+
+        $r = $q->fetch(Zend_Db::FETCH_ASSOC);
+        if ($r['status'] == 0) {
+            $r['tva'] = $this->getOpt('tva');
+        }
+
+        $this->view->headScriptVariables()->setVariable('tva', $r['tva']);
+        $defaults = array();
+        foreach ($r as $k => $v) {
+            if (CubeIT_Util_Json::isJson($v)) {
+                $v = CubeIT_Util_Json::decode($v, true);
+            }
+            if ($k == 'status') {
+                $form->setStatus($v);
+            }
+            $defaults[$k] = $v;
+        }
+        if (!is_array($defaults['details'])) {
+            unset($defaults['details']);
+        }
+
+        if ($defaults['livraison']) {
+
+            $i = 0;
+            foreach ($defaults as $k => $detail) {
+                $e = explode('_', $k);
+                if ($e[0] == 'descriptif') {
+                    $i = max($e[1], $i);
+                }
+            }
+            $i++;
+
+            $livraisonText = '__Livraison__' . "\n";
+            $defaults['adresse_livraison'] = trim($defaults['adresse_livraison']);
+            if ($defaults['adresse_livraison']) {
+                $livraisonText .= str_replace("\n", ' ', $defaults['adresse_livraison']);
+            } else {
+                $livraisonText .= str_replace("\n", ' ', trim($defaults['adresse'])) . " " . $defaults['code_postal'] . ' ' . $defaults['ville'];
+            }
+            if ($defaults['complement_livraison']) {
+                $livraisonText .= "\n" . $defaults['complement_livraison'];
+            }
+
+            $defaults['descriptif_' . $i] = trim($livraisonText);
+
+        }
+
+        $form->setDefaults($defaults);
+        $this->view->form = $form;
+    }
+
+    public function devisdownloadAction()
+    {
+        if (!$this->isAllowed('administration/devis')) {
+            $this->redirect('/admin?redirect=' . urlencode($_SERVER['REQUEST_URI']));
+        }
+
+        $this->disableLayout(true);
+
+        $dir = CubeIT_Files::tmpdir();
+        if (!file_exists($dir)) {
+            mkdir($dir, 0777, true);
+        }
+
+        $id = $this->_params[0];
+        $db = $this->getDb();
+        $q = $db->select()->from('devis')->where('id = ?', $id)->query();
+        $devis = $q->fetch();
+        $fichiers = json_decode($devis->fichiers);
+        $tozip = array();
+        foreach ($fichiers as $file) {
+            $local = $dir . '/' . preg_replace('/^[0-9a-fA-F]{6,}-/', '', CubeIT_Util_Cms::extractFiles($file, 1)[0]);
+            copy(PUBLIC_PATH . CubeIT_Util_Cms::filePath($file, 'userfiles'), $local);
+            $tozip[] = $local;
+        }
+
+        $zip = tempnam(FRAMEWORK_PATH . '/tmp', 'zip');
+
+        CubeIT_Util_Zip::archive($tozip, $zip);
+        $zip .= ".zip";
+
+        ob_end_clean();
+
+        $this->getResponse()->clearBody();
+        $this->getResponse()
+            ->setHeader('Content-type', CubeIT_Files::getMimeType('e.zip'))
+            ->setHeader('Content-disposition', 'attachment; filename="DTLC_WEB_' . $id . '.zip"')
+            ->setHeader('Content-length', filesize($zip))
+            ->setBody(file_get_contents($zip))->sendResponse();
+        unlink($zip);
+        `rm -rf $dir`;
+    }
 
 }