public function save($conn = null) { $return = parent::save($conn); if ($this->getObject()->getPath() != '') { $uploadDir = sfConfig::get('sf_upload_dir') . '/photo/'; $image = explode('.', $this->getObject()->getPath()); $img = new sfImage($uploadDir . $image[0] . '.' . $image[1], swImageTransform::mime_content_type($uploadDir . $image[0] . '.' . $image[1])); if ($img->getWidth() > $img->getHeight()) { $img->resize(780, 518); } else { $img->resize(344, 518); } $img->setQuality(95); $img->overlay(new sfImage(sfConfig::get('sf_web_dir') . '/images/marcadagua.png', 'image/png'), 'bottom-right'); $img->saveAs($uploadDir . $this->getObject()->getSlug() . '.' . $image[1]); if ($img->getWidth() > $img->getHeight()) { $img->resize(130, 86); } else { $img->resize(130, 196); $img->crop(0, 55, 130, 86); } $img->saveAs($uploadDir . 'thumb_' . $this->getObject()->getSlug() . '.' . $image[1]); unlink($uploadDir . $image[0] . '.' . $image[1]); $this->getObject()->setPath($this->getObject()->getSlug() . '.' . $image[1]); $this->getObject()->save(); } return $return; }
public function save($conn = null) { parent::save(); $BASE = sfConfig::get('sf_web_dir') . '/' . $this->WEB_IMAGE; $OC = $this->getObject(); if ($OC instanceof Cicles) { $I = $OC->getImatge(); if (!empty($I) && file_exists($BASE . $I)) { $img = new sfImage($BASE . $I, 'image/jpg'); $img->resize(100, 100); $nom = $OC->getCicleid() . '.jpg'; $img->saveAs($BASE . $nom); if ($I != $nom) { unlink($BASE . $I); } $OC->setImatge($nom)->save(); } $P = $OC->getPdf(); if (!empty($P) && file_exists($BASE . $P)) { $nom = $OC->getCicleid() . '.pdf'; rename($BASE . $P, $BASE . $nom); if ($P != $nom) { unlink($BASE . $P); } $OC->setPdf($nom)->save(); } } }
public function updateObject($values = null) { $object = parent::updateObject($values); if ($av = $object->getAvatar('raw')) { $tmp_name = sfConfig::get('sf_upload_dir') . '/avatars/' . $av; if (!file_exists($tmp_name)) { return $object; } // Génération miniature 50x50 $mini = new sfImage($tmp_name); $mini->thumbnail(50, 50, 'inflate'); $mini->setQuality(80); $mini->saveAs(sfConfig::get('sf_upload_dir') . '/avatars/50x50/' . $av); // Génération miniature 32x32 $mini = new sfImage($tmp_name); $mini->thumbnail(32, 32, 'inflate'); $mini->setQuality(80); $mini->saveAs(sfConfig::get('sf_upload_dir') . '/avatars/32x32/' . $av); // Génération miniature 16x16 $mini = new sfImage($tmp_name); $mini->thumbnail(16, 16, 'inflate'); $mini->setQuality(80); $mini->saveAs(sfConfig::get('sf_upload_dir') . '/avatars/16x16/' . $av); // On supprime le fichier original unlink($tmp_name); } return $object; }
public function save($conn = null) { parent::save(); $OR = $this->getObject(); if (!is_null($this['Categories']->getValue())) { $OR->setCategories(implode('@', $this['Categories']->getValue())); } $BASE = sfConfig::get('sf_web_dir') . '/' . $this->WEB_IMATGE; if ($OR instanceof Activitats) { $I = $OR->getImatge(); if (!empty($I) && file_exists($BASE . $I)) { $img = new sfImage($BASE . $I, 'image/jpg'); $img->resize(150, 150); $nom = $OR->getActivitatid() . '.jpg'; $img->saveAs($BASE . $nom); if ($I != $nom) { unlink($BASE . $I); } $OR->setImatge($nom); } $P = $OR->getPdf(); if (!empty($P) && file_exists($BASE . $P)) { $nom = $OR->getActivitatid() . '.pdf'; rename($BASE . $P, $BASE . $nom); if ($I != $nom) { unlink($BASE . $P); } $OR->setPdf($nom); } } $OR->save(); }
public function save($conn = null) { parent::save(); $BASE = $this->URL_IMAGE; $ON = $this->getObject(); if ($ON instanceof Noticies) { $I = $ON->getImatge(); if (!empty($I) && file_exists($BASE . $I)) { $img = new sfImage($BASE . $I, 'image/jpg'); $img->resize(100, 100); $nom = $ON->getIdnoticia() . '.jpg'; $img->saveAs($BASE . $nom); if ($I != $nom) { unlink($BASE . $I); } $ON->setImatge($nom)->save(); } $P = $ON->getAdjunt(); if (!empty($P) && file_exists($BASE . $P)) { $nom = $ON->getIdnoticia() . '.pdf'; rename($BASE . $P, $BASE . $nom); if ($I != $nom) { unlink($BASE . $P); } $ON->setAdjunt($nom)->save(); } } }
public function storeScreenshot() { $path = sfConfig::get('sf_upload_dir') . '/' . sfConfig::get('app_screenshots_path') . '/' . $this->getPluginId() . '/' . $this->getId(); ForgeToolkit::createRecursiveDirectory($path . '/thumbs/'); $filename = $this->getFilename(); try { $tmp = tempnam(sys_get_temp_dir(), uniqid($this->getUrl() . time())); @copy($this->getUrl(), $tmp); if (@file_get_contents($tmp)) { $image = new sfImage($tmp); $image->saveAs($path . '/' . $filename); $image->thumbnail(sfConfig::get('app_screenshots_' . ($this->isPrimary() ? 'primary' : '') . 'width'), sfConfig::get('app_screenshots_' . ($this->isPrimary() ? 'primary' : '') . 'height'), 'center'); $image->saveAs($path . '/thumbs/' . $filename, 'image/png'); } } catch (sfImageTransformException $e) { $this->delete(); } }
public function save(Doctrine_Connection $conn = null) { $slug = Magic::slugify($this->getTitle()); if ($this->isNew()) { $i = 0; do { $i++; $q = Doctrine::getTable('Event')->findOneBySlug($slug); if (!$q) { break; } else { $slug = Magic::slugify($this->getTitle()); $slug .= $i; } } while ($i); $this->setSlug($slug); } elseif ($slug != $this->getSlug()) { $i = 0; do { $i++; $q = Doctrine::getTable('Event')->findOneBySlug($slug); if (!$q) { $this->setSlug($slug); break; } else { if ($slug == $this->getSlug()) { break; } else { $slug = Magic::slugify($this->getTitle()); $slug .= $i; } } } while ($i); } if ($this->get('sticky') == 'no') { $this->set('sticky', 1000); } parent::save($conn); $config = sfConfig::get('app_sfDoctrineJCroppablePlugin_models'); $dir = sfConfig::get('sf_upload_dir') . DIRECTORY_SEPARATOR . $config['Events']['directory']; $image = $this->getImageSrc('mugshot', 'original'); if ($this->getMugshot() != '') { $arr_filename = explode('.', $this->getMugshot()); $filename = $arr_filename[0] . '_original.' . $arr_filename[1]; $file = $dir . DIRECTORY_SEPARATOR . $filename; if (is_file($file)) { $dims = array(array('w' => 950, 'h' => 534), array('w' => 720, 'h' => 405), array('w' => 250, 'h' => 141)); $size = getimagesize($file); $img = new sfImage($file, $size['mime']); foreach ($dims as $dim) { $img->resize($dim['w'], $dim['h']); $img->setQuality(90); $img->saveAs($dir . '/' . $arr_filename[0] . '_' . $dim['w'] . 'x' . $dim['h'] . '.jpg'); } } } }
public function save(Doctrine_Connection $conn = null) { $slug = Magic::slugify($this->getTitle()); if ($this->isNew()) { $i = 0; do { $i++; $q = Doctrine::getTable('Page')->findOneBySlug($slug); if (!$q) { break; } else { $slug = Magic::slugify($this->getTitle()); $slug .= $i; } } while ($i); $this->setSlug($slug); } elseif ($slug != $this->getSlug()) { $i = 0; do { $i++; $q = Doctrine::getTable('Page')->findOneBySlug($slug); if (!$q) { $this->setSlug($slug); break; } else { if ($slug == $this->getSlug()) { break; } else { $slug = Magic::slugify($this->getTitle()); $slug .= $i; } } } while ($i); } parent::save($conn); // generamos thumbnails $file = sfConfig::get('sf_upload_dir') . '/pictures/' . $this->getPicture(); if (is_file($file)) { $dims = array(array('w' => 950, 'h' => 534), array('w' => 720, 'h' => 405), array('w' => 250, 'h' => 141), array('w' => 60, 'h' => 60)); $size = getimagesize($file); $img = new sfImage($file, $size['mime']); if (!is_dir(sfConfig::get('sf_upload_dir') . '/' . $this->get('id'))) { mkdir(sfConfig::get('sf_upload_dir') . '/' . $this->get('id'), 0777); } foreach ($dims as $dim) { $img->thumbnail($dim['w'], $dim['h']); $img->setQuality(90); $img->saveAs(sfConfig::get('sf_upload_dir') . '/' . $this->get('id') . '/img_' . $this->get('id') . '_' . $dim['w'] . 'x' . $dim['h'] . '.jpg'); } } }
protected function saveFile($field, $filename = null, sfValidatedFile $file = null) { $file_saved = parent::saveFile($field, $filename = null, $file); // generate images ? if (sfConfig::get('app_sfMooDooGalleryPlugin_generate_images')) { $sizes = sfConfig::get('app_sfMooDooGalleryPlugin_image_size'); $name = explode('.', $file_saved); foreach ($sizes as $size) { $image_name = sfConfig::get('app_sfMooDooGalleryPlugin_images_dir') . DIRECTORY_SEPARATOR . $name[0] . '_' . $size['width'] . 'x' . $size['height'] . $file->getExtension(); $img = new sfImage($file, $file->getType()); $img->resize($size['width'], $size['height']); $img->saveAs($image_name); } } return $file_saved; }
/** * Cache the image based on the size set in thumbnails.yml */ public function cache() { $cache_dir = pathinfo($this->cached_path, PATHINFO_DIRNAME); //create cache dir if it doesn't exist if (!file_exists($cache_dir)) { mkdir($cache_dir, 0777, true); } $size = zsThumbConfigHandler::getSize($this->size); //do image transformations $new_image = new sfImage($this->orig_path); $new_image->thumbnail($size['width'], $size['height'], array_key_exists('method', $size) ? $size['method'] : 'fit'); if (array_key_exists('quality', $size)) { $new_image->setQuality($size['quality']); } $new_image->saveAs($this->cached_path); }
public function transform(sfImage $img) { $this->directory = dirname($img->getFilename()); $arr = array_reverse(explode("/", $img->getFilename())); $this->fileName = $arr[0]; $arr2 = explode(".", $this->fileName); if (count($arr2) == 1) { $this->fileName .= '.png'; } $destDir = '/tmp'; $ccFile = $destDir . DIRECTORY_SEPARATOR . 'cc_' . $this->fileName; $bwFile = $destDir . DIRECTORY_SEPARATOR . 'bw_' . $this->fileName; $ccSmallFile = $destDir . DIRECTORY_SEPARATOR . 'cc_s_' . $this->fileName; $bwSmallFile = $destDir . DIRECTORY_SEPARATOR . 'bw_s_' . $this->fileName; if (!file_exists($destDir)) { mkdir($destDir); } if ($img->getWidth() > IMG_MAX_WIDTH || $img->getHeight() > IMG_MAX_HEIGHT) { if ($img->getWidth() > $img->getHeight() * IMG_RATIO) { $img->resize(IMG_MAX_WIDTH, null); } else { $img->resize(null, IMG_MAX_HEIGHT); } } $img->saveAs($ccFile); $img->greyscale()->saveAs($bwFile); $smallImg = new sfImage($ccFile); if ($smallImg->getWidth() > IMG_SMALL_WIDTH || $smallImg->getHeight() > IMG_SMALL_WIDTH) { if ($smallImg->getWidth() > $img->getHeight() * IMG_RATIO) { $smallImg->resize(null, IMG_MAX_HEIGHT); } else { $smallImg->resize(IMG_MAX_WIDTH, null); } } if ($smallImg->getWidth() > IMG_SMALL_WIDTH || $smallImg->getHeight() > IMG_SMALL_HEIGHT) { if ($smallImg->getWidth() > $smallImg->getHeight() * IMG_RATIO) { $smallImg->resize(null, IMG_SMALL_HEIGHT); } else { $smallImg->resize(IMG_SMALL_WIDTH, null); } } $x1 = ($smallImg->getWidth() - IMG_SMALL_WIDTH) / 2; $y1 = ($smallImg->getHeight() - IMG_SMALL_HEIGHT) / 3; $smallImg->crop($x1, $y1, IMG_SMALL_WIDTH, IMG_SMALL_HEIGHT)->saveAs($ccSmallFile); $smallImg->greyscale()->saveAs($bwSmallFile); }
public function save($conn = null) { parent::save(); $OS = $this->getObject(); $BASE = $this->BASE . $this->WEB_IMATGE; if ($OS instanceof Sites) { $I = $OS->getLogourl(); if (!empty($I) && file_exists($BASE . $I)) { $img = new sfImage($BASE . $I, 'image/jpg'); $img->resize(150, 150); $nom = $OS->getSiteId() . '.jpg'; $img->saveAs($BASE . $nom); if ($I != $nom) { unlink($BASE . $I); } $OS->setLogourl($nom); } } $OS->save(); }
protected function processForm(sfWebRequest $request, sfForm $form) { $form->bind($request->getParameter($form->getName()), $request->getFiles($form->getName())); if ($form->isValid()) { $file = $this->form->getValue('image'); $image = $this->form->getObject(); $notice = $image->isNew() ? 'The item was created successfully.' : 'The item was updated successfully.'; try { // Image $filename = 'app_' . sha1($file->getOriginalName() . rand(1, 100)); $extension = str_replace('.', '', $file->getOriginalExtension()); $path = sfConfig::get('sf_upload_dir') . DIRECTORY_SEPARATOR . $filename . '.' . $extension; $file->save($path); // Thumb $img = new sfImage($path, 'image/jpg'); $img->thumbnail(150, 150); $img->saveAs(sfConfig::get('sf_upload_dir') . DIRECTORY_SEPARATOR . $filename . '_thumb' . '.' . $extension); // Save $image->path = $filename . '.' . $extension; $image->type = $extension; $image->name = $request->getPostParameter('picture[name]'); $image->description = $request->getPostParameter('picture[description]'); $image->apartment_id = $request->getPostParameter('picture[apartment_id]'); $image->save(); } catch (Doctrine_Validator_Exception $e) { $errorStack = $form->getObject()->getErrorStack(); $message = get_class($form->getObject()) . ' has ' . count($errorStack) . " field" . (count($errorStack) > 1 ? 's' : null) . " with validation errors: "; foreach ($errorStack as $field => $errors) { $message .= "{$field} (" . implode(", ", $errors) . "), "; } $message = trim($message, ', '); $this->getUser()->setFlash('error', $message); return sfView::SUCCESS; } // $this->dispatcher->notify(new sfEvent($this, 'admin.save_object', array('object' => $picture))); } else { $this->getUser()->setFlash('error', 'The item has not been saved due to some errors.', false); } }
/** * Saves the uploaded file. * * This method can throw exceptions if there is a problem when saving the file. * * If you don't pass a file name, it will be generated by the generateFilename method. * This will only work if you have passed a path when initializing this instance. * * @param string $file The file path to save the file * @param int $fileMode The octal mode to use for the new file * @param bool $create Indicates that we should make the directory before moving the file * @param int $dirMode The octal mode to use when creating the directory * * @return string The filename without the $this->path prefix * * @throws Exception */ public function save($file = null, $fileMode = 0666, $create = true, $dirMode = 0777) { if (is_null($file)) { $file = $this->generateFilename(); } if ($file[0] != '/' && $file[0] != '\\' && !(strlen($file) > 3 && ctype_alpha($file[0]) && $file[1] == ':' && ($file[2] == '\\' || $file[2] == '/'))) { if (is_null($this->path)) { throw new RuntimeException('You must give a "path" when you give a relative file name.'); } $file = $this->path . DIRECTORY_SEPARATOR . $file; } // get our directory path from the destination filename $directory = dirname($file); if (!is_readable($directory)) { if ($create && !@mkdir($directory, $dirMode, true)) { // failed to create the directory throw new Exception(sprintf('Failed to create file upload directory "%s".', $directory)); } // chmod the directory since it doesn't seem to work on recursive paths chmod($directory, $dirMode); } if (!is_dir($directory)) { // the directory path exists but it's not a directory throw new Exception(sprintf('File upload path "%s" exists, but is not a directory.', $directory)); } if (!is_writable($directory)) { // the directory isn't writable throw new Exception(sprintf('File upload path "%s" is not writable.', $directory)); } $img = new sfImage($this->getTempName(), $this->type); $img->thumbnail(sfConfig::get('app_configuration_max_person_image_width', 300), sfConfig::get('app_configuration_max_person_image_height', 300)); // copy the temp file to the destination file $img->saveAs($file); // chmod our file chmod($file, $fileMode); $this->savedName = $file; return is_null($this->path) ? $file : str_replace($this->path . DIRECTORY_SEPARATOR, '', $file); }
/** * fetch today's news regarding objects monitored by the user * * @param string $user - OppUser object * @return void * @author Guglielmo Celata */ function opp_sync_politician_image($pol) { $start_time = microtime(true); $success = true; echo pakeColor::colorize(sprintf('Processing politician %s...', $pol), array('fg' => 'red', 'bold' => true)); // invoke the remote getPolImage function to grab the images from op_openpolis $remote_img_url = sfConfig::get('app_remote_politicians_images_service_url') . '/' . sfConfig::get('app_remote_openpolis_api_key') . '/' . $pol->getId(); /* debug echo pakeColor::colorize(sprintf('Url: %s...', $remote_img_url), array('fg' => 'red', 'bold' => true)); */ $file = fopen($remote_img_url, "r"); if (!$file) { $err = "unable to open remote file."; $success = false; } $remote_img_str = ''; while (!feof($file)) { $remote_img_str .= fgets($file, 1024); } fclose($file); $images_root = SF_ROOT_DIR . DIRECTORY_SEPARATOR . 'web' . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . 'parlamentari' . DIRECTORY_SEPARATOR; // resizes images and stores them in the FS $picture = new sfImage(); $picture->setMimeType('image/jpeg'); $picture->loadString($remote_img_str); $picture->resize(91, null); $picture->saveAs($images_root . 'picture/' . $pol->getId() . '.jpeg', 'image/jpeg'); $thumb = new sfImage(); $thumb->setMimeType('image/jpeg'); $thumb->loadString($remote_img_str); $thumb->resize(40, null); $thumb->saveAs($images_root . 'thumb/' . $pol->getId() . '.jpeg', 'image/jpeg'); $execution_time = microtime(true) - $start_time; if ($success) { echo " ok ("; } else { echo " {$err} ("; } echo pakeColor::colorize(sprintf("%f", $execution_time), array('fg' => 'cyan')); echo ")\n"; }
/** * myUser::resizeImage() * * Funció estàtica que canvia la mida d'una imatge carregada amb un input file. * * @param mixed $x * @param mixed $y * @param mixed $BASE * @param mixed $imatge_actual * @param mixed $new_name * @param mixed $borrar * @return */ public static function resizeImage($x, $y, $BASE, $imatge_actual, $new_name, $borrar) { if (!empty($imatge_actual) && file_exists($BASE . $imatge_actual)) { $img = new sfImage($BASE . $imatge_actual, 'image/jpg'); $img->resize($x, $y); $nomf = $new_name . '.jpg'; $img->saveAs($BASE . $nomf); if ($imatge_actual != $new_name && $borrar) { unlink($BASE . $imatge_actual); } return $nomf; } return false; }
/** * @TODO * @param $file */ protected function generateThumbnail($source_file, $destination_name, $destination_dir) { if (!class_exists('sfImage')) { throw new sfException('sfImageTransformPlugin must be installed in order to generate thumbnails.'); } $thumb = new sfImage($source_file); $thumb->thumbnail(sfConfig::get('app_sf_media_browser_thumbnails_max_width', 64), sfConfig::get('app_sf_media_browser_thumbnails_max_height', 64)); $destination_dir = $destination_dir . '/' . sfConfig::get('app_sf_media_browser_thumbnails_dir'); if (!file_exists($destination_dir)) { mkdir($destination_dir); chmod($destination_dir, 0777); } return $thumb->saveAs($destination_dir . '/' . $destination_name); }
/** * saves the favicon of a communitiy * * @author Matthias Pfefferle * * @param Object $pCommunity * @return boolean true|false */ public static function importFavicon($pCommunity, $pPath = self::PATH_TYPE_URL) { try { // try to get an image from websnapr $lImage = UrlUtils::getUrlContent($pCommunity->getFavicon()); $lBasePath = DIRECTORY_SEPARATOR . 'favicons' . DIRECTORY_SEPARATOR . $pCommunity->getSlug() . '.png'; // create folder structure and save the image to our local filesystem $path = sfConfig::get('sf_upload_dir') . $lBasePath; $fp = fopen($path, 'w+'); fputs($fp, $lImage); fclose($fp); // get mime-type $lImgData = GetImageSize($path); if ($lImgData['mime'] != "image/png") { $lImg = new sfImage($path, $lImgData['mime'], 'GD'); $lImg->getMIMEType(); $lImg->setQuality(100); $lImg->saveAs($path, 'image/png'); } unset($lImage); if ($pPath == self::PATH_TYPE_URL) { return DIRECTORY_SEPARATOR . sfConfig::get('sf_upload_dir_name') . $lBasePath; } else { return $path; } } catch (Exception $e) { sfContext::getInstance()->getLogger()->err("{ImageImporter} Exception: " . print_r($e, true)); return null; } }
/** * Generates and saves a thumbnail version of this image * * @param array $options An array of thumbnailing options. * @return boolean The success/failure of the operation */ private function _generateThumbnail($width, $height, $method) { if (!sfSympalConfig::get('assets', 'thumbnails_enabled', false)) { return; } if (!class_exists('sfImage')) { throw new sfException('sfImageTransformPlugin must be installed in order to generate thumbnails.'); } if (file_exists($this->getPath())) { $thumb = new sfImage($this->getPath()); $thumb->thumbnail($width, $height, $method); $destinationDirectory = $this->getThumbnailDirectory($width, $height, $method); if (!file_exists($destinationDirectory)) { // recursively create the directory mkdir($destinationDirectory, 0777, true); chmod($destinationDirectory, 0777); } return $thumb->saveAs($destinationDirectory . '/' . $this->getName()); } else { return false; } }
/** * Executes index action * * @param sfRequest $request A request object */ public function executeNoticiesculturals(sfWebRequest $request) { $this->IDS = 1; $this->PAGE_ID_QUE_ESTA_PASSANT = 1; $this->PAGE_ID_QUE_PASSARA = 2; $this->PAGE_ID_QUE_HA_PASSAT = 3; $this->FORM_ID = 2; $this->BLOG_ID = 4; $this->setLayout('blank'); $this->PAGE_ID = $this->ParReqSesForm($request, 'PAGE_ID', $this->PAGE_ID_QUE_ESTA_PASSANT); $this->NOTICIA_ID = $this->ParReqSesForm($request, 'NOTICIA_ID', -1); $this->PAGINA = $request->getParameter('PAGINA', 1); $this->MODE = $this->ParReqSesForm($request, 'MODE', 'CONTINGUT'); $this->ERRORS = ""; if ($this->MODE == 'CONTINGUT' && $request->hasParameter('NOTICIA_ID')) { $this->NOTICIA = AppBlogsEntriesPeer::retrieveByPK($request->getParameter('NOTICIA_ID')); $this->MODE = 'CONTINGUT'; } elseif ($this->MODE == 'CONTINGUT') { $order = $this->PAGE_ID == $this->PAGE_ID_QUE_HA_PASSAT ? false : true; $this->NOTICIES = AppBlogsEntriesPeer::getEntries($this->PAGE_ID, $this->PAGINA, $order, $this->IDS); $this->MODE = 'CONTINGUT'; } elseif ($this->MODE == 'FORM1') { $this->FORM1 = array('nom_entitat' => '', 'nom_cognoms' => '', 'lloc_ocupa' => '', 'nom_cognoms_contacte' => '', 'adreca' => '', 'codi_postal' => '', 'municipi' => '', 'comarca' => '', 'telefons' => '', 'email' => ''); } elseif ($this->MODE == 'FORM2') { $this->DADES = $request->getParameter('dades'); $this->getUser()->setAttribute('dades', $this->DADES); $this->FORM2 = array('titol' => '', 'subtitol1' => '', 'ciutat_acte' => '', 'dia_acte' => '', 'web' => '', 'imatge' => '', 'tipus' => '', 'resum' => ''); } elseif ($this->MODE == 'ENVIA_FINALITZA') { if (!$this->getUser()->hasAttribute('dades')) { $this->redirect('@noticies_culturals?MODE=FORM1'); } $this->getUser()->setAttribute('dades2', $request->getParameter('dades')); $this->DADES = $this->getUser()->getAttribute('dades'); $this->DADES2 = $this->getUser()->getAttribute('dades2'); foreach ($this->DADES2 as $K => $E) { $this->DADES[$K] = $E; } AppBlogsFormsPeer::save($this->FORM_ID, $this->DADES, $request->getFiles(), $this->IDS); $this->MODE = 'FORM_OK'; } elseif ($this->MODE == 'ACTUALITZA') { $next_two_month = date('Y-m-d', mktime(0, 0, 0, date('m', time()) + 2, date('d', time()), date('Y', time()))); $next_month = date('Y-m-d', mktime(0, 0, 0, date('m', time()) + 1, date('d', time()), date('Y', time()))); $today = date('Y-m-d', time()); $previous_month = date('Y-m-d', mktime(0, 0, 0, date('m', time()) - 1, date('d', time()), date('Y', time()))); $previous_two_month = date('Y-m-d', mktime(0, 0, 0, date('m', time()) - 2, date('d', time()), date('Y', time()))); //Captem els que s'han de migrar del formulari $C = new Criteria(); $C = AppBlogsFormsEntriesPeer::getCriteriaActiu($C, $this->IDS); $C->add(AppBlogsFormsEntriesPeer::FORM_ID, $this->FORM_ID); $C->add(AppBlogsFormsEntriesPeer::ESTAT, AppBlogsFormsEntriesPeer::ESTAT_TRACTAT_MIGRAT_WAIT); //Treballem i migrem els camps que hem marcat com "Per publicar" foreach (AppBlogsFormsEntriesPeer::doSelect($C) as $OO) { $RET = array(); foreach (explode("@@@", $OO->getDades()) as $E) { $EX = explode("###", $E); if (isset($EX[0]) && isset($EX[1])) { list($EXCAMP, $TEXT) = explode("###", $E); $RET[$EX[0]] = $EX[1]; } } try { $ON = AppBlogsEntriesPeer::initialize(0, 'CA', 1, 1, $this->IDS)->getObject(); $ON->setTitle($RET['titol']); $ON->setSubtitle1($RET['subtitol1']); $ON->setSubtitle2($RET['ciutat_acte'] . ', ' . $this->dataText($RET['dia_acte'])); $ON->setBody($RET['text']); $ON->setTags($RET['tipus']); echo stripos($RET['web'], 'http://'); if (!stripos($RET['web'], 'http://')) { $ON->setUrl('http://' . $RET['web']); } else { $ON->setUrl($RET['web']); } $ON->setDate($RET['dia_acte']); $dia = $RET['dia_acte']; if ($dia >= $today && $dia < $next_month) { $ON->setPageId($this->PAGE_ID_QUE_ESTA_PASSANT); } elseif ($dia < $today) { $ON->setPageId($this->PAGE_ID_QUE_HA_PASSAT); } elseif ($dia > $next_month) { $ON->setPageId($this->PAGE_ID_QUE_PASSARA); } $ON->save(); //Guardem la notÃcia //Guardem les imatges if (isset($RET['file'])) { $WEBSYSROOT = OptionsPeer::getString('SF_WEBSYSROOT', $this->IDS); //Mirem l'extensió de l'arxiu $path_info = pathinfo($WEBSYSROOT . 'uploads/formularis/' . $RET['file']); //Si l'arxiu és una imatge, el tractem i el posem com a imatge if (strtolower($path_info['extension']) == 'jpg' || strtolower($path_info['extension']) == 'png') { try { $img = new sfImage($WEBSYSROOT . 'uploads/formularis/' . $RET['file'], 'image/jpeg'); $img->resize(200, null); $img->saveAs($WEBSYSROOT . 'images/blogs/' . $RET['file']); $OM = AppBlogsMultimediaPeer::initialize(0, $this->IDS)->getObject(); $OM->setName($RET['file']); $OM->setUrl($RET['file']); $OM->save(); echo 'ONID:' . $ON->getId(); $OME = AppBlogMultimediaEntriesPeer::initialize($ON->getId(), $OM->getId(), $this->IDS)->getObject()->save(); } catch (Exception $e) { echo 'hail'; echo $e->getMessage(); echo $e->getCode(); } } } $OO->setEstat(AppBlogsFormsEntriesPeer::ESTAT_TRACTAT_MIGRAT); $OO->save(); } catch (Exception $e) { echo 'fiodaf'; echo $e->getMessage(); echo $e->getCode(); } } /** * Captem els valors que han estat marcats com "Per arxivar" i els passem a "arxivats" */ $C = new Criteria(); $C = AppBlogsEntriesPeer::getCriteriaActiu($C, $this->IDS); $C->add(AppBlogsFormsEntriesPeer::FORM_ID, $this->FORM_ID); $C->add(AppBlogsFormsEntriesPeer::ESTAT, AppBlogsFormsEntriesPeer::ESTAT_TRACTAT_EMMAGATZEMAT_WAIT); foreach (AppBlogsFormsEntriesPeer::doSelect($C) as $OO) { $OO->setEstat(AppBlogsFormsEntriesPeer::ESTAT_TRACTAT_EMMAGATZEMAT); $OO->save(); } /** * Procès de canvi de lloc les notÃcies que ja han passat a una altra pà gina */ //Captem les notÃcies que han de canviar de pà gina... (Actual->Passades) $C = new Criteria(); $C = AppBlogsEntriesPeer::getCriteriaActiu($C, $this->IDS); $C->add(AppBlogsEntriesPeer::PAGE_ID, $this->PAGE_ID_QUE_ESTA_PASSANT); $C->add(AppBlogsEntriesPeer::DATE, $today, CRITERIA::LESS_THAN); foreach (AppBlogsEntriesPeer::doSelect($C) as $OO) { $OO->setPageid($this->PAGE_ID_QUE_HA_PASSAT); $OO->save(); } //Captem les notÃcies que han de canviar de pà gina... (Futures->actual) $C = new Criteria(); $C = AppBlogsEntriesPeer::getCriteriaActiu($C, $this->IDS); $C->add(AppBlogsEntriesPeer::PAGE_ID, $this->PAGE_ID_QUE_PASSARA); $C->add(AppBlogsEntriesPeer::DATE, $today, CRITERIA::GREATER_THAN); $C->add(AppBlogsEntriesPeer::DATE, $next_month, CRITERIA::LESS_THAN); foreach (AppBlogsEntriesPeer::doSelect($C) as $OO) { $OO->setPageid($this->PAGE_ID_QUE_ESTA_PASSANT); $OO->save(); } // $this->redirect('blogs/noticiesculturals?MODE=CONTINGUT&PAGE_ID='.$this->PAGE_ID_QUE_ESTA_PASSANT); } }
protected function updateRemoteImage($image, Swift_Message $message, $templateName) { $fileName = dmOs::join(sfConfig::get('sf_web_dir'), 'cache/mail_templates', md5($image->src . $image->width . $image->height) . pathinfo($image->src, PATHINFO_EXTENSION)); if (!file_exists($fileName)) { $imageData = file_get_contents($image->src); if (!$imageData) { $this->logError($templateName, 'remote', 'image', $image->src); $image->src = ''; return $image; } else { $sfImage = new sfImage(); $sfImage->loadString($imageData); $width = $sfImage->getWidth(); $height = $sfImage->getHeight(); if (isset($image->width) && strpos($image->width, '%') === false) { $width = $image->width; } if (isset($image->height) && strpos($image->height, '%') === false) { $width = $image->height; } $sfImage->setQuality(dmConfig::get('image_resize_quality')); $sfImage->thumbnail($width, $height, dmConfig::get('image_resize_method'), null); $fileSystem = $this->serviceContainer->getService('filesystem'); if (!file_exists(dirname($fileName))) { $fileSystem->mkdir(dirname($fileName)); } $sfImage->saveAs($fileName); chmod($fileName, 0777); } } if (dmConfig::get('mail_template_embed_remote_images_as_attachments', true)) { $image->src = $message->embed(Swift_Image::fromPath($fileName)); } else { $image->src = $this->basePath . str_replace(sfConfig::get('sf_web_dir'), '', $fileName); } return $image; }