/** * Export des données * @return boolean Vrai si l'export a réussi sinon faux */ function export() { $file = $this->folder . DIRECTORY_SEPARATOR . $this->filename; $fp = fopen($file, 'w'); if (!$fp) { $this->success = false; return false; } // Création de l'entête du fichier $list = $entete1 = $entete2 = array(); $s = $this->separator; $cmd = new oledrion_commands(); foreach ($cmd->getVars() as $fieldName => $properties) { $entete1[] = $fieldName; } // Ajout des infos de caddy $cart = new oledrion_caddy(); foreach ($cart->getVars() as $fieldName => $properties) { $entete2[] = $fieldName; } $list[] = array_merge($entete1, $entete2); // make item array $criteria = new CriteriaCompo(); $criteria->add(new Criteria('cmd_id', 0, '<>')); $criteria->add(new Criteria('cmd_state', $this->orderType, '=')); $criteria->setSort('cmd_date'); $criteria->setOrder('DESC'); $orders = $this->handlers->h_oledrion_commands->getObjects($criteria); foreach ($orders as $order) { $carts = array(); $carts = $this->handlers->h_oledrion_caddy->getObjects(new Criteria('caddy_cmd_id', $order->getVar('cmd_id'), '=')); $ligne = array(); foreach ($carts as $cart) { $ligne = array(); foreach ($entete1 as $commandField) { $ligne[] = $order->getVar($commandField); } foreach ($entete2 as $cartField) { $ligne[] = $cart->getVar($cartField); } // Add to main array $list[] = $ligne; } } // import information on csv file foreach ($list as $fields) { fputcsv($fp, $fields); } fclose($fp); $this->success = true; return true; }
/** * Supprime une commande et tout ce qui s'y rattache * * @param oledrion_commands $order * @return boolean */ public function removeOrder(oledrion_commands $order) { $handlers = oledrion_handler::getInstance(); $cmd_id = $order->getVar('cmd_id'); $res = $this->delete($order); // Suppression des objets associés // 1) Ses propres caddies $handlers->h_oledrion_caddy->removeCartsFromOrderId($cmd_id); // 2) Les caddies des attributs $handlers->h_oledrion_caddy_attributes->removeCartsFromOrderId($cmd_id); return $res; }