public static function getMainImage($parentId, $className) { if ($parentId) { $c = new Criteria(); $c->add(MediaPeer::CLASS_NAME, $className); $c->add(MediaPeer::IS_MAIN, 1); $c->add(MediaPeer::PARENT_ID, $parentId); $c->add(MediaPeer::TYPE, self::IMAGE); return MediaPeer::doSelectOne($c); } else { return null; } }
public function executeUploadBanners() { $this->setLayout("backend"); $c = new Criteria(); $c->add(PrefPeer::LABEL, "newsletter"); $info = PrefPeer::doSelectOne($c); if (!$info) { $info = new Pref(); $info->setLabel("newsletter"); $info->save(); } if ($this->getRequestParameter('submitted')) { $request = $this->getRequest(); try { $request->setParameter('parent', $info->getId()); if ($request->getFileName('banner1')) { $request->setParameter('id', $this->getRequestParameter('banner1Id')); $request->setParameter('attrLabel', 'newsletter468x60'); $media = Media::upload('banner1', "upload/newsletter", array("image/gif", "image/png", "image/jpeg", "image/pjpeg", "image/x-png")); if ($media && $media->IsImage()) { $media->resizeImage(null, 60, 468); $media->resizeImage("thumbs", 30, 231); } } if (!$media) { $media = Document::getDocumentInstance($this->getRequestParameter('banner1Id')); } if ($media) { $media->setDescription($this->getRequestParameter('banner1Url')); $media->save(); } if ($request->getFileName('banner2')) { $request->setParameter('id', $this->getRequestParameter('banner2Id')); $request->setParameter('attrLabel', 'newsletter160x600'); $media2 = Media::upload('banner2', "upload/newsletter", array("image/gif", "image/png", "image/jpeg", "image/pjpeg", "image/x-png")); if ($media2 && $media2->IsImage()) { $media2->resizeImage(null, 600, 160); $media2->resizeImage("thumbs", 125, 40); } } if (!$media2) { $media2 = Document::getDocumentInstance($this->getRequestParameter('banner2Id')); } if ($media2) { $media2->setDescription($this->getRequestParameter('banner2Url')); $media2->save(); } $infoVal = $this->getRequestParameter('info'); if (!$infoVal) { $infoVal = null; } $info->setContent($infoVal); $info->save(); } catch (Exception $e) { $this->message = UtilsHelper::Localize("media.backend." . $e->getMessage()); } } $c = new Criteria(); $c->add(PrefPeer::LABEL, "newsletter"); $this->info = PrefPeer::doSelectOne($c); $c = new Criteria(); $c->add(MediaPeer::LABEL, "newsletter468x60"); $this->banner1 = MediaPeer::doSelectOne($c); $c = new Criteria(); $c->add(MediaPeer::LABEL, "newsletter160x600"); $this->banner2 = MediaPeer::doSelectOne($c); }
/** * Test the toArray() method with new lazyLoad param. * @link http://propel.phpdb.org/trac/ticket/527 */ public function testToArrayLazyLoad() { $c = new Criteria(); $c->add(MediaPeer::COVER_IMAGE, null, Criteria::NOT_EQUAL); $c->add(MediaPeer::EXCERPT, null, Criteria::NOT_EQUAL); $m = MediaPeer::doSelectOne($c); if ($m === null) { $this->fail("Test requires at least one media row w/ cover_image and excerpt NOT NULL"); } $arr1 = $m->toArray(BasePeer::TYPE_COLNAME); $this->assertNotNull($arr1[MediaPeer::COVER_IMAGE]); $this->assertType('resource', $arr1[MediaPeer::COVER_IMAGE]); $arr2 = $m->toArray(BasePeer::TYPE_COLNAME, false); $this->assertNull($arr2[MediaPeer::COVER_IMAGE]); $this->assertNull($arr2[MediaPeer::EXCERPT]); $diffKeys = array_keys(array_diff($arr1, $arr2)); $expectedDiff = array(MediaPeer::COVER_IMAGE, MediaPeer::EXCERPT); $this->assertEquals($expectedDiff, $diffKeys); }