Exemple #1
0
 public function getCardRenderer(Card $card)
 {
     global $config;
     $renderer = array();
     // Determine the correct CardRenderer.
     if (strpos($card->title, "/") !== FALSE) {
         $renderer[] = new SplitRenderer($this->setDB);
     } else {
         if (array_key_exists(strtolower($card->title), $this->titleToLevel)) {
             $renderer[] = new LevelRenderer($this->setDB);
         } else {
             if (array_key_exists(strtolower($card->title), $this->titleToTransform) && strpos($card->legal, "\n-----\n") !== FALSE) {
                 $renderer[] = new TransformRenderer($this->setDB, $this->artDB, "day");
                 $renderer[] = new TransformRenderer($this->setDB, $this->artDB, "night");
             } else {
                 if (strpos($card->legal, "\n-----\n") !== FALSE) {
                     $renderer[] = new EighthFlipRenderer($this->setDB);
                 } else {
                     if ($card->set == "VAN" && $config['render.vanguard']) {
                         $renderer[] = new VanguardRenderer($this->setDB);
                     } else {
                         if (strpos($card->title, "Jace, the Mind Sculptor") !== FALSE && $config['render.planeswalker']) {
                             $renderer[] = new PlanesWalker4Renderer($this->setDB);
                         } else {
                             if (strpos($card->englishType, "Planeswalker") !== FALSE && $config['render.planeswalker']) {
                                 $renderer[] = new PlanesWalkerRenderer($this->setDB);
                             } else {
                                 if (strpos($card->englishType, "Plane") !== FALSE && $config['render.plane']) {
                                     $renderer[] = new PlaneRenderer($this->setDB);
                                 } else {
                                     $isPre8th = $this->setDB->isPre8th($card->set) && !$card->promo;
                                     if ($isPre8th && !$config['render.preEighth.basic.land.frames'] && $card->isBasicLand()) {
                                         $isPre8th = false;
                                     }
                                     if ($config['render.preEighth'] && ($isPre8th || !$config['render.eighth'])) {
                                         $renderer[] = new PreEighthRenderer($this->setDB);
                                     } else {
                                         if ($config['render.eighth']) {
                                             $renderer[] = new EighthRenderer($this->setDB);
                                         }
                                     }
                                 }
                             }
                         }
                     }
                 }
             }
         }
     }
     if (empty($renderer)) {
         error('No renderer enabled for card: ' . $card);
     }
     foreach ($renderer as $r) {
         $r->card = $card;
         $r->writer = $this;
         $r->outputDir = $config['output.directory'];
         $r->outputName = $this->cleanOutputName($card, $r);
     }
     return $renderer;
 }
Exemple #2
0
	public function getCardRenderer (Card $card) {
		global $config;
		
		// Determine the correct CardRenderer.
		if (strpos($card->title, "/") !== FALSE)
			$renderer = new SplitRenderer($this->setDB);
		else if(strpos($card->legal, "\n-----\n") !== FALSE)
			$renderer = new EighthFlipRenderer($this->setDB);
		else if ($card->set == "VG" && $config['render.vanguard'])
			$renderer = new VanguardRenderer($this->setDB);
		else if (strpos($card->englishType, "Planeswalker")!== FALSE && $config['render.planeswalker'])
			$renderer = new PlanesWalkerRenderer($this->setDB);
		else if (strpos($card->englishType, "Plane")!== FALSE && $config['render.plane'])
			$renderer = new PlaneRenderer($this->setDB);
		else {
			$isPre8th = $this->setDB->isPre8th($card->set) && !$card->promo;
			if ($isPre8th && !$config['render.preEighth.basic.land.frames'] && $card->isBasicLand()) $isPre8th = false;
			if ($config['render.preEighth'] && ($isPre8th || !$config['render.eighth']))
				$renderer = new PreEighthRenderer($this->setDB);
			else if ($config['render.eighth']){
					$renderer = new EighthRenderer($this->setDB);
			}
		}
		if (!$renderer) error('No renderer enabled for card: ' . $card);

		$renderer->card = $card;
		$renderer->writer = $this;
		$renderer->outputDir = $config['output.directory'];

		$outputName = $card->title;
		if ($card->pic) $outputName .= ' (' . $card->pic . ')';
		$outputName .= $config['output.suffix'];

		// Filenames can't contain ".
		if (strpos($outputName, '"') !== FALSE) $outputName = str_replace('"', '',  $outputName);
		$renderer->outputName = $outputName;

		return $renderer;
	}