diff --git a/private/lib/dao/mediaModels/MediaModel.php b/private/lib/dao/mediaModels/MediaModel.php
index 00db583..6e10358 100644
--- a/private/lib/dao/mediaModels/MediaModel.php
+++ b/private/lib/dao/mediaModels/MediaModel.php
@@ -57,7 +57,7 @@ class MediaModel extends Model implements MediaInterface{
}
public function renderMedia(){
- var_dump($this->mediaRenderer);
+// var_dump($this->mediaRenderer);
$this->mediaRenderer->render();
}
diff --git a/private/lib/media/mediaRenderers/MediaYoutube.php b/private/lib/media/mediaRenderers/MediaYoutube.php
index c9bb181..3812f19 100644
--- a/private/lib/media/mediaRenderers/MediaYoutube.php
+++ b/private/lib/media/mediaRenderers/MediaYoutube.php
@@ -1,14 +1,14 @@
modelRef = $model;
+ public function __construct($link){
+ $this->link = $link;
}
public function asText(){
- return $this->modelRef->link;
+ return $this->link;
}
public function render(){
diff --git a/private/lib/system/SystemController.php b/private/lib/system/SystemController.php
index 9e1b46f..cd794f6 100644
--- a/private/lib/system/SystemController.php
+++ b/private/lib/system/SystemController.php
@@ -24,8 +24,8 @@ class SystemController {
}
}
self::logMessage(LoggingFacility::$LEVEL_ERROR,"log.sysctl.cantexecute",$myCmd." 2>&1",true);
- $catParameters=array($myCmd,$return->messages[sizeof($return->messages)-1],$return);
- throw new SystemException("exc.sysctl.cantexecute",$catParameters);
+// $catParameters=array($myCmd,$return->messages[sizeof($return->messages)-1],$return);
+ throw new SystemException("Error while executing command '".$myCmd."'. Last message '".$return->messages[sizeof($return->messages)-1]."'");
}
self::logMessage(LoggingFacility::$LEVEL_INFO,"log.sysctl.correctlyexecute",$myCmd." 2>&1",true);
diff --git a/public/getImage.php b/public/getImage.php
index 3e70df4..3484009 100644
--- a/public/getImage.php
+++ b/public/getImage.php
@@ -6,54 +6,63 @@ Creation Date: 14/gen/2016
require_once(dirname(__FILE__)."/load.php");
+$sizes = array(
+ "large"=>array("width"=>800,"height"=>600),
+ "small"=>array("width"=>160,"height"=>120)
+);
+
if (array_key_exists("id",$_GET)) {
if (array_key_exists('size',$_GET)){
$size=$_GET['size'];
}
else {
- $size = "small";
+ $size = "original";
}
-
+ if (!array_key_exists($size, $sizes) || strcmp("original", $size)==0){
+ $size = null;
+ }
+
$img = GlobalVariables::get("dao")->getFirst("MediaModel",array("id"=>$_GET['id']));
-
+
if (!is_null($img)){
$basepath = GlobalVariables::get("config")->paths->media;
+ $toMime = $basepath."/".$img->id.".".$img->extension;
$thumb = new Imagick($basepath."/".$img->id.".".$img->extension);
- if ($size == "small"){
- $thumb->thumbnailimage(0, 100);
+ $geom = $thumb->getimagegeometry();
+
+ if($img->extension != "gif"){
+ if (!is_null($size)){
+ if ($geom["width"]>=$geom["height"]){
+ $thumb->scaleimage($sizes[$size]["width"], 0,false);
+ }
+ else {
+ $thumb->scaleimage(0, $sizes[$size]["height"],false);
+ }
+ }
+
+ header('Content-type: '.mime_content_type($toMime));
+ echo $thumb;
}
-
- header('Content-type: image/png');
- echo $thumb;
-
- //GIF LINKS
-// http://stackoverflow.com/questions/20361458/php-imagick-gif-animation-is-not-preserved
-// http://stackoverflow.com/questions/718491/resize-animated-gif-file-without-destroying-animation
-// http://php.net/manual/en/imagick.readimageblob.php
-
-
-// switch ($size){
-// case "big":
-// $img = ThumbnailGenerator::renderBigThumbnail($content);
-// break;
-// case "med":
-// $img = ThumbnailGenerator::renderMediumThumbnail($content);
-// break;
-// case "small":
-// $img = ThumbnailGenerator::renderSmallThumbnail($content);
-// break;
-// case "mini":
-// $img = ThumbnailGenerator::renderMiniThumbnail($content);
-// break;
-// case "topbar":
-// header("Cache-Control: no-cache, must-revalidate");
-// $img = ThumbnailGenerator::renderThumbnail($content,150,0);
-// break;
-// default:
-// $img = ThumbnailGenerator::renderOriginal($content);
-// break;
-// }
+ else{
+
+ $thumb = $thumb->coalesceimages();
+ if (!is_null($size)){
+ foreach ($thumb as $frame){
+ if ($geom["width"]>=$geom["height"]){
+ $thumb->scaleimage($sizes[$size]["width"], 0,false);
+ }
+ else {
+ $thumb->scaleimage(0, $sizes[$size]["height"],false);
+ }
+ }
+ }
+ $thumb = $thumb->deconstructimages();
+
+ header('Content-type: '.mime_content_type($toMime));
+ echo $thumb->getimagesblob();
+ }
+
}
}
?>
\ No newline at end of file
diff --git a/public/index.php b/public/index.php
index 356d69f..d90660d 100644
--- a/public/index.php
+++ b/public/index.php
@@ -8,55 +8,65 @@ require_once(dirname(__FILE__)."/load.php");
try {
- $prova = new stdClass();
- $prova->mediaType = MediaModel::TYPE_YOUTUBE;
- $prova->link = "www.pene.com";
- $media = new MediaModel($prova);
- $media2= new MediaModel($prova);
-// $media->renderMedia();
+ $media = GlobalVariables::get("dao")->getFirst("MediaModel",array("id"=>"569914c30b860ea20d8b4568"));
- $news = new NotiziaModel();
+
+// $saveable = new stdClass();
+// $saveable->mediaType = MediaModel::TYPE_IMAGE;
+// $media = DaoMediaHandler::createNewFileBasedMedia($saveable, "/home/lorenzo/Scrivania/giphy.gif");
+
+ $media->renderMedia();
+
+// $prova = new stdClass();
+// $prova->mediaType = MediaModel::TYPE_YOUTUBE;
+// $prova->link = "www.pene.com";
+// $media = new MediaModel($prova);
+
+// $media2= new MediaModel($prova);
+// // $media->renderMedia();
+
+// $news = new NotiziaModel();
- GlobalVariables::get("dao")->save($news);
- GlobalVariables::get("dao")->save($media);
+// GlobalVariables::get("dao")->save($news);
+// GlobalVariables::get("dao")->save($media);
- GlobalVariables::get("dao")->save($media2);
+// GlobalVariables::get("dao")->save($media2);
- DaoMediaHandler::addMedia($news, $media);
+// DaoMediaHandler::addMedia($news, $media);
- DaoMediaHandler::addMedia($news, $media2);
+// DaoMediaHandler::addMedia($news, $media2);
+// // var_dump($news);
+
+// // echo "
";
+// // var_dump($media);
+// // echo "
";
+
+// $medias = DaoMediaHandler::getMedias($news);
+
+// // echo "medias "; PHP_EOL.var_dump($medias).PHP_EOL;
+// DaoMediaHandler::setMainMediaToModel($news, $media);
+
+// echo "
";
// var_dump($news);
-
-// echo "
";
-// var_dump($media);
-// echo "
";
-
- $medias = DaoMediaHandler::getMedias($news);
-
-// echo "medias "; PHP_EOL.var_dump($medias).PHP_EOL;
- DaoMediaHandler::setMainMediaToModel($news, $media);
-
- echo "
";
- var_dump($news);
- echo "
";
-
-
- $mainmedia = DaoMediaHandler::getMainMediaFromModel($news);
// echo "
";
-// var_dump($mainmedia);
-// echo "
";
- DaoMediaHandler::deleteMedia($news,$media);
- echo "
";
- var_dump($news);
+// $mainmedia = DaoMediaHandler::getMainMediaFromModel($news);
+// // echo "
";
- DaoMediaHandler::deleteMedia($news,$media2);
- echo "
";
- var_dump($news);
+// // var_dump($mainmedia);
+// // echo "
";
+
+// DaoMediaHandler::deleteMedia($news,$media);
+// echo "
";
+// var_dump($news);
+
+// DaoMediaHandler::deleteMedia($news,$media2);
+// echo "
";
+// var_dump($news);
// var_dump($media->id);
@@ -99,5 +109,4 @@ try {
catch (Exception $ex){
echo $ex->getMessage();
}
-
?>
\ No newline at end of file