コード例 #1
0
 /**
  * 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));
 }
コード例 #2
0
 public function destroy()
 {
     $this->requireParameter("id");
     $logo = ManufacturerICLogo::loadById($this->getParameter("id"));
     PartKeepr::getEM()->remove($logo);
     PartKeepr::getEM()->flush();
     return array("data" => null);
 }
コード例 #3
0
ファイル: image.php プロジェクト: JohnEffland/PartKeepr
use PartKeepr\Part\PartAttachment;
use PartKeepr\Image\ImageRenderer;
use PartKeepr\Part\PartImage, PartKeepr\StorageLocation\StorageLocationImage, PartKeepr\Footprint\FootprintImage, PartKeepr\TempImage\TempImage, PartKeepr\PartKeepr, PartKeepr\Image\Image, PartKeepr\Image\CachedImage, PartKeepr\Manufacturer\ManufacturerICLogo;
include "../src/backend/PartKeepr/PartKeepr.php";
PartKeepr::initialize("");
$type = $_REQUEST["type"];
$id = $_REQUEST["id"];
if (substr($id, 0, 4) === "TMP:") {
    $tmpImageId = str_replace("TMP:", "", $id);
    $image = TempImage::loadById($tmpImageId);
} else {
    try {
        switch ($type) {
            case Image::IMAGE_ICLOGO:
                $image = ManufacturerICLogo::loadById($id);
                break;
            case Image::IMAGE_FOOTPRINT:
                $image = FootprintImage::loadById($id);
                break;
            case Image::IMAGE_STORAGELOCATION:
                $image = StorageLocationImage::loadById($id);
                break;
            case "partattachment":
                $attachment = PartAttachment::loadById($id);
                $image = new PartImage();
                $image->replace($attachment->getFilename());
                break;
            default:
                $image = null;
                // Add default image?
コード例 #4
0
ファイル: upload.php プロジェクト: JohnEffland/PartKeepr
<?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");