Esempio n. 1
0
 function download()
 {
     // Dirs
     $begin = microtime(true);
     global $base_image_dir;
     $dir = $base_image_dir . 'HIRES/' . $this->dbcode . '/';
     if (!rmkdir($dir)) {
         return false;
     }
     $tkdir = $base_image_dir . 'HIRES/TK/' . $this->dbcode . '/';
     if (!rmkdir($tkdir)) {
         return false;
     }
     $oldumask = umask(022);
     // Card images
     echo count($this->cards) . ' cards to download to ' . $dir . "\n";
     foreach ($this->cards as $card) {
         echo $card->name . ' : ';
         if ($card->secondname != '') {
             if (count($card->images) < 2) {
                 die('2 images expected for tranfsorm');
             }
             $path = $dir . card_img_by_name($card->name, 1, 1);
             cache_get($card->images[0], $path, true, true);
             $path = $dir . card_img_by_name($card->secondname, 1, 1);
             cache_get($card->images[1], $path, true, true);
             echo "\n";
             // Languages
             foreach ($card->langs as $lang => $images) {
                 $nbimages = count($images['images']);
                 if ($nbimages < 1) {
                     continue;
                 }
                 if ($nbimages < 2) {
                     echo '2 images expected for tranfsorm translation' . "\n";
                 }
                 $langdir = $base_image_dir . strtoupper($lang) . '/' . $this->dbcode . '/';
                 echo " - {$lang} : ";
                 $path = $langdir . card_img_by_name($card->name, 1, 1);
                 cache_get($image, $path, true, true);
                 $path = $langdir . card_img_by_name($card->secondname, 1, 1);
                 cache_get($image, $path, true, true);
                 echo "\n";
             }
         } else {
             foreach ($card->images as $i => $image) {
                 $path = $dir . card_img_by_name($card->name, $i + 1, count($card->images));
                 cache_get($image, $path, true, true);
             }
             echo "\n";
             // Languages
             foreach ($card->langs as $lang => $images) {
                 if (count($images['images']) < 1) {
                     continue;
                 }
                 echo " - {$lang} : ";
                 $langdir = $base_image_dir . strtoupper($lang) . '/' . $this->dbcode . '/';
                 foreach ($images['images'] as $i => $image) {
                     $path = $langdir . card_img_by_name($card->name, $i + 1, count($card->images));
                     cache_get($image, $path, true, true);
                 }
                 echo "\n";
             }
         }
     }
     // Token images
     echo "\n" . count($this->tokens) . ' tokens to download to ' . $tkdir . "\n";
     foreach ($this->tokens as $token) {
         echo $token['type'] . ' : ';
         $name = $token['type'];
         // Manage multiple tokens with the same name
         $same = array_filter($this->tokens, function ($tk) use($token) {
             return tokenpath($tk) == tokenpath($token);
         });
         if (count($same) > 1) {
             if (!isset($multiple)) {
                 $multiple = array();
             }
             if (!isset($multiple[$name])) {
                 $multiple[$name] = 1;
             } else {
                 $multiple[$name]++;
             }
             $name .= $multiple[$name];
         }
         // Token is an emblem
         if (preg_match('/Emblem (.*)/', $name, $matches)) {
             $found = false;
             foreach ($this->cards as $card) {
                 // Search which planeswalker it is for
                 if (split(' ', $card->types)[0] != 'Planeswalker') {
                     // Only parse planeswalker, with information aviable
                     continue;
                 }
                 $attrs = $card->attrs();
                 // Check card subtype
                 if (isset($attrs->subtypes) && count($attrs->subtypes) > 0 && $attrs->subtypes[0] == strtolower($matches[1])) {
                     $found = true;
                     $name = 'Emblem.' . $attrs->subtypes[0];
                     break;
                 }
                 // Check transform subtype
                 if (isset($attrs->transformed_attrs) && $attrs->transformed_attrs->subtypes[0] == strtolower($matches[1])) {
                     $found = true;
                     $name = 'Emblem.' . $attrs->transformed_attrs->subtypes[0];
                     break;
                 }
             }
             if (!$found) {
                 // No planeswalker found, don't DL
                 echo "Planeswalker not found for emblem\n";
                 continue;
             }
         }
         cache_get($token['image_url'], $tkdir . tokenpath($token, $name), true, true);
         echo "\n";
     }
     umask($oldumask);
     echo "\n" . 'Finished in ' . (microtime(true) - $begin) . ' (think about thumbnailing)';
     return true;
 }
Esempio n. 2
0
    } else {
        if ($ext[$i]['nbpics'] == 1) {
            $imgurl = $cardimages_default . '/' . $ext[$i]['se'] . '/' . addslashes(card_img_by_name($card_bdd['name']));
            if (isset($json->transformed_attrs->name)) {
                $imgurl .= "', '" . $cardimages_default . '/' . $ext[$i]['se'] . '/' . addslashes(card_img_by_name($json->transformed_attrs->name));
            }
            echo '      <li><a href="extension.php?ext=' . $ext[$i]['se'] . '" onmouseover="javascript:setimage(\'' . $imgurl . '\')">' . $ext[$i]['name'] . '</a> (' . $ext[$i]['rarity'] . ')' . "\n";
            echo '      </li>';
            if (!isset($firstimgurl)) {
                $firstimgurl = $imgurl;
            }
        } else {
            echo '      <li><a href="extension.php?ext=' . $ext[$i]['se'] . '">' . $ext[$i]['name'] . '</a> (' . $ext[$i]['rarity'] . ')' . "\n";
            echo '       <ul>' . "\n";
            for ($j = 1; $j <= $ext[$i]['nbpics']; $j++) {
                $imgurl = $cardimages_default . '/' . $ext[$i]['se'] . '/' . addslashes(card_img_by_name($card_bdd['name'], $j, $ext[$i]['nbpics']));
                echo '        <li><a onmouseover="javascript:setimage(\'' . $imgurl . '\')">' . $j . '</a></li>' . "\n";
                if (!isset($firstimgurl)) {
                    $firstimgurl = $imgurl;
                }
            }
            echo '       </ul>' . "\n";
            echo '      </li>' . "\n";
        }
    }
}
?>
     </ul>
     <script type="text/javascript">
	setimage('<?php 
echo $firstimgurl;
Esempio n. 3
0
     $images = $exts[$arr['se']];
     $nbimages = count($images, true);
     while (count($cards) > 0) {
         $card = array_shift($cards);
         for ($i = 1; $i <= $card['nbpics']; $i++) {
             $cardimg = card_img_by_name($card['name'], $i, $card['nbpics']);
             if (array_key_exists($cardimg, $images)) {
                 unset($images[$cardimg]);
                 $fs = filesize($url . $arr['se'] . '/' . $cardimg);
                 $filesizes[] = $fs / 1024;
                 $foldersize += $fs;
             } else {
                 // Dual cards have an image for each face, do the same on both
                 if (preg_match('/(.*) \\((.*)\\)/', $card['name'], $regs)) {
                     $card1 = card_img_by_name($regs[1]);
                     $card2 = card_img_by_name($regs[2]);
                     if (array_key_exists($card1, $images) && array_key_exists($card2, $images)) {
                         $nbimages--;
                         // 2 images for 1 card, let's pretend having only 1 image
                         unset($images[$card1]);
                         unset($images[$card2]);
                     } else {
                         $unimagedcards[] = $card['name'];
                     }
                 } else {
                     $unimagedcards[] = $card['name'];
                 }
             }
         }
     }
 } else {