/** * Sets up the manufacturers using the YAML file. * @param $yaml string The path to the manufacturers YAML file */ public function setupManufacturers() { $count = 0; $skipped = 0; $data = Setup::loadYAML(self::MANUFACTURER_FILE); foreach ($data as $mfgname => $logos) { try { ManufacturerManager::getInstance()->getManufacturerByName($mfgname); $skipped++; } catch (\Exception $e) { $manufacturer = new Manufacturer(); $manufacturer->setName($mfgname); $this->entityManager->persist($manufacturer); foreach ($logos as $logo) { $mfglogo = new ManufacturerICLogo(); $mfglogo->setManufacturer($manufacturer); $mfglogo->replace(self::MANUFACTURER_PATH . "images/" . $logo); $mfglogo->setOriginalFilename($logo); $this->entityManager->persist($mfglogo); } $count++; } } $this->entityManager->flush(); $this->logMessage(sprintf("Imported %d Manufacturers, skipped %d because they already exist", $count, $skipped)); }
/** * (non-PHPdoc) * @see PartKeepr\Service.RestfulService::create() */ public function create() { $this->requireParameter("tmp_id"); $this->requireParameter("manufacturer_id"); $tmpImage = TempImage::loadById($this->getParameter("tmp_id")); $image = new ManufacturerICLogo(); $manufacturer = Manufacturer::loadById($this->getParameter("manufacturer_id")); $image->setManufacturer($manufacturer); $image->replace($tmpImage->getFilename()); $image->setOriginalFilename($tmpImage->getOriginalFilename()); PartKeepr::getEM()->persist($image); PartKeepr::getEM()->flush(); return $image->serialize(); }
<?php namespace PartKeepr\Frontend; use PartKeepr\PartKeepr; use PartKeepr\Image\Image; use PartKeepr\Manufacturer\ManufacturerICLogo; use PartKeepr\Manufacturer\Manufacturer; include "../src/backend/PartKeepr/PartKeepr.php"; PartKeepr::initialize(""); $keys = array_keys($_FILES); $file = $_FILES[$keys[0]]["tmp_name"]; $filename = $_FILES[$keys[0]]["name"]; switch ($_REQUEST["uploadMode"]) { case "image": switch ($_REQUEST["uploadType"]) { case Image::IMAGE_ICLOGO: $manufacturer = Manufacturer::loadById($_REQUEST["manufacturer"]); $image = new ManufacturerICLogo(); $image->setManufacturer($manufacturer); $image->replace($file); $image->setOriginalFilename(basename($filename)); PartKeepr::getEM()->persist($image); PartKeepr::getEM()->flush(); } break; } echo json_encode("OK");