public function process() { $attachments = array(); $totalNumberOfKeys = 0; $totalPreOrders = 0; $keys = array(); $orderDetails = $this->orderDetails; foreach ($orderDetails['orderedItems'] as $item_key => $item) { $links = $this->getLinks->links($item, $item_key); $codes = array(); if (!empty($links)) { foreach ($links as $link) { $code = \CodesWholesale\Resource\Code::get($link); if ($code->isImage()) { $attachments[] = \CodesWholesale\Util\CodeImageWriter::write($code, 'Cw_Attachments'); } if ($code->isPreOrder()) { $totalPreOrders++; } $codes[] = $code; $totalNumberOfKeys++; } $keys[] = array('item' => $item, 'codes' => $codes); } } $this->sendMail($orderDetails['order'], $attachments, $keys, $totalPreOrders); $this->setCompleteStatus($orderDetails['order'], $totalNumberOfKeys); $this->cleanAttach($attachments); }
/** * * * @param Code $code * @param String $whereToSaveDirectory * @param String $fileName * @throws \InvalidArgumentException */ public static function write(Code $code, $whereToSaveDirectory, $fileName = null) { if (!$code->isImage()) { throw new \InvalidArgumentException("Given code is not image code type."); } if (!file_exists($whereToSaveDirectory)) { mkdir($whereToSaveDirectory, 0755, true); } if ($fileName) { $whereToSaveDirectory .= "/" . $fileName; } else { $whereToSaveDirectory .= "/" . $code->getFileName(); } $imageData = base64_decode($code->getCode()); $success = file_put_contents($whereToSaveDirectory, $imageData); return $whereToSaveDirectory; }