/** * Test split image name. */ public function testSplitImagename() { $info = ZMImageInfo::splitImageName('/foo/bar/image.png'); if ($this->assertTrue(is_array($info))) { if ($this->assertEquals(3, count($info))) { $this->assertEquals('/foo/bar/', $info[0]); $this->assertEquals('.png', $info[1]); $this->assertEquals('/foo/bar/image', $info[2]); } } }
/** * Look up additional product images. * * @param string image The image to look up. * @return array An array of <code>ZMImageInfo</code> instances. */ public static function getAdditionalImages($image) { $comp = ZMImageInfo::splitImageName($image); $subdir = $comp[0]; $ext = $comp[1]; $realImageBase = basename($comp[2]); // directory to scan $dirname = Runtime::getContainer()->getParameter('zencart.root_dir') . '/images/' . $subdir; $imageList = array(); if (is_dir($dirname) && ($dir = dir($dirname))) { while ($file = $dir->read()) { if (!is_dir($dirname . $file)) { if (Toolbox::endsWith($file, $ext)) { if (1 == preg_match("/" . $realImageBase . "/i", $file)) { if ($file != basename($image)) { if ($realImageBase . preg_replace('/' . $realImageBase . '/', '', $file) == $file) { array_push($imageList, $file); } } } } } } $dir->close(); sort($imageList); } // create ZMImageInfo list... $imageInfoList = array(); foreach ($imageList as $aimg) { $imageInfo = Beans::getBean('ZMImageInfo'); $imageInfo->setDefaultImage($subdir . $aimg); $imageInfoList[] = $imageInfo; } return $imageInfoList; }
/** * Get additional product images. * * @return array List of optional <code>ZMImageInfo</code> instances. */ public function getAdditionalImages() { return \ZMImageInfo::getAdditionalImages($this->image); }
/** * Get the parameter formatted as <code>key="value" </code>. * * @return string HTML formatted parameter. */ public function getFormattedParameter() { return $this->formattedParameter . parent::getFormattedParameter(); }