Commit e23e10f18d9fe65163196a5aeae1df7c5cedd8e9

Authored by Charl Joseph Mert
1 parent 3fa93d74

Brand server without requiring access to FS

PT: 1243391

Changed GD Methods to accept extention for type. Fixes image/x-png and similar mime type issues from rendering as unsupported.

Updated by: Charl Joseph Mert
plugins/ktcore/admin/manageBranding.php
@@ -231,7 +231,7 @@ class ManageBrandDispatcher extends KTAdminDispatcher { @@ -231,7 +231,7 @@ class ManageBrandDispatcher extends KTAdminDispatcher {
231 231
232 $logoFile = 'var'.DIRECTORY_SEPARATOR.'branding'.DIRECTORY_SEPARATOR.'logo'.DIRECTORY_SEPARATOR.$logoFileName; 232 $logoFile = 'var'.DIRECTORY_SEPARATOR.'branding'.DIRECTORY_SEPARATOR.'logo'.DIRECTORY_SEPARATOR.$logoFileName;
233 $ext = end(explode('.', end(explode(DIRECTORY_SEPARATOR, $logoFile)))); 233 $ext = end(explode('.', end(explode(DIRECTORY_SEPARATOR, $logoFile))));
234 - $type = $this->getMime($ext); 234 + $type = $ext;
235 235
236 $imageWidth = $this->getImageWidth($logoFile, $type); 236 $imageWidth = $this->getImageWidth($logoFile, $type);
237 $imageHeight = $this->getImageHeight($logoFile, $type); 237 $imageHeight = $this->getImageHeight($logoFile, $type);
@@ -398,7 +398,9 @@ class ManageBrandDispatcher extends KTAdminDispatcher { @@ -398,7 +398,9 @@ class ManageBrandDispatcher extends KTAdminDispatcher {
398 $this->errorRedirectToMain("The file you tried to upload is not supported."); 398 $this->errorRedirectToMain("The file you tried to upload is not supported.");
399 } 399 }
400 } 400 }
401 - 401 +
  402 + $type = $ext; //GD Methods changed to accept extention as type
  403 +
402 $logoFileName = 'logo_tmp_'.md5(Date('ymd-hms')).'.'.$ext; //Fighting the browser cache here 404 $logoFileName = 'logo_tmp_'.md5(Date('ymd-hms')).'.'.$ext; //Fighting the browser cache here
403 $logoFile = $logoDir.DIRECTORY_SEPARATOR.$logoFileName; 405 $logoFile = $logoDir.DIRECTORY_SEPARATOR.$logoFileName;
404 406
@@ -439,6 +441,9 @@ class ManageBrandDispatcher extends KTAdminDispatcher { @@ -439,6 +441,9 @@ class ManageBrandDispatcher extends KTAdminDispatcher {
439 441
440 $logoFileNameCropped = 'logo_tmp_cropped_'.md5(Date('ymd-hms')).'.'.$ext; //Fighting the browser cache here 442 $logoFileNameCropped = 'logo_tmp_cropped_'.md5(Date('ymd-hms')).'.'.$ext; //Fighting the browser cache here
441 $logoFileCropped = $logoDir.DIRECTORY_SEPARATOR.$logoFileNameCropped; 443 $logoFileCropped = $logoDir.DIRECTORY_SEPARATOR.$logoFileNameCropped;
  444 +
  445 + $default->log->info($logoFileStretched);
  446 + $default->log->info($logoFileCropped);
442 447
443 //Creating stretched image 448 //Creating stretched image
444 $res = $this->scaleImage($logoFile, $logoFileStretched, $this->maxLogoWidth, $this->maxLogoHeight, $type, false, false); 449 $res = $this->scaleImage($logoFile, $logoFileStretched, $this->maxLogoWidth, $this->maxLogoHeight, $type, false, false);
@@ -510,6 +515,8 @@ class ManageBrandDispatcher extends KTAdminDispatcher { @@ -510,6 +515,8 @@ class ManageBrandDispatcher extends KTAdminDispatcher {
510 return 'jfif-tbnl'; 515 return 'jfif-tbnl';
511 case 'image/png': 516 case 'image/png':
512 return 'png'; 517 return 'png';
  518 + case 'image/x-png':
  519 + return 'png';
513 case 'image/jpeg': 520 case 'image/jpeg':
514 return 'jpe'; 521 return 'jpe';
515 case 'image/jpeg': 522 case 'image/jpeg':
@@ -542,7 +549,7 @@ class ManageBrandDispatcher extends KTAdminDispatcher { @@ -542,7 +549,7 @@ class ManageBrandDispatcher extends KTAdminDispatcher {
542 * - Supported images are jpeg, png and gif 549 * - Supported images are jpeg, png and gif
543 * 550 *
544 */ 551 */
545 - public function scaleImage( $origFile, $destFile, $width, $height, $type = 'image/jpeg', $scaleUp = false, $keepProportion = true) { 552 + public function scaleImage( $origFile, $destFile, $width, $height, $type = 'jpg', $scaleUp = false, $keepProportion = true) {
546 global $default; 553 global $default;
547 554
548 //Requires the GD library if not exit gracefully 555 //Requires the GD library if not exit gracefully
@@ -552,21 +559,18 @@ class ManageBrandDispatcher extends KTAdminDispatcher { @@ -552,21 +559,18 @@ class ManageBrandDispatcher extends KTAdminDispatcher {
552 } 559 }
553 560
554 switch($type) { 561 switch($type) {
555 - case 'image/jpeg':  
556 - $orig = imagecreatefromjpeg($origFile);  
557 - break;  
558 - case 'image/pjpeg': 562 + case 'jpg':
559 $orig = imagecreatefromjpeg($origFile); 563 $orig = imagecreatefromjpeg($origFile);
560 break; 564 break;
561 - case 'image/png': 565 + case 'png':
562 $orig = imagecreatefrompng($origFile); 566 $orig = imagecreatefrompng($origFile);
563 break; 567 break;
564 - case 'image/gif': 568 + case 'gif':
565 $orig = imagecreatefromgif($origFile); 569 $orig = imagecreatefromgif($origFile);
566 break; 570 break;
567 default: 571 default:
568 //Handle Error 572 //Handle Error
569 - $default->log->error("Tried to scale an unsupported file type: $type"); 573 + $default->log->error("Tried to crop an unsupported file type: $type");
570 return false; 574 return false;
571 } 575 }
572 576
@@ -600,21 +604,18 @@ class ManageBrandDispatcher extends KTAdminDispatcher { @@ -600,21 +604,18 @@ class ManageBrandDispatcher extends KTAdminDispatcher {
600 imagecopyresampled($image, $orig, 0, 0, 0, 0, $image_x, $image_y, $orig_x, $orig_y); 604 imagecopyresampled($image, $orig, 0, 0, 0, 0, $image_x, $image_y, $orig_x, $orig_y);
601 605
602 switch($type) { 606 switch($type) {
603 - case 'image/jpeg':  
604 - imagejpeg($image, $destFile);  
605 - break;  
606 - case 'image/pjpeg': 607 + case 'jpg':
607 imagejpeg($image, $destFile); 608 imagejpeg($image, $destFile);
608 break; 609 break;
609 - case 'image/png': 610 + case 'png':
610 imagepng($image, $destFile); 611 imagepng($image, $destFile);
611 break; 612 break;
612 - case 'image/gif': 613 + case 'gif':
613 imagegif($image, $destFile); 614 imagegif($image, $destFile);
614 break; 615 break;
615 default: 616 default:
616 //Handle Error 617 //Handle Error
617 - $default->log->error("Tried to scale an unsupported file type: $type"); 618 + $default->log->error("Tried to crop an unsupported file type: $type");
618 return false; 619 return false;
619 } 620 }
620 621
@@ -700,24 +701,22 @@ class ManageBrandDispatcher extends KTAdminDispatcher { @@ -700,24 +701,22 @@ class ManageBrandDispatcher extends KTAdminDispatcher {
700 } 701 }
701 702
702 switch($type) { 703 switch($type) {
703 - case 'image/jpeg':  
704 - $orig = imagecreatefromjpeg($origFile);  
705 - break;  
706 - case 'image/pjpeg': 704 + case 'jpg':
707 $orig = imagecreatefromjpeg($origFile); 705 $orig = imagecreatefromjpeg($origFile);
708 break; 706 break;
709 - case 'image/png': 707 + case 'png':
710 $orig = imagecreatefrompng($origFile); 708 $orig = imagecreatefrompng($origFile);
711 break; 709 break;
712 - case 'image/gif': 710 + case 'gif':
713 $orig = imagecreatefromgif($origFile); 711 $orig = imagecreatefromgif($origFile);
714 break; 712 break;
715 default: 713 default:
716 //Handle Error 714 //Handle Error
717 - $default->log->error("Tried to determine crop for an unsupported file type: $type"); 715 + $default->log->error("Tried to crop an unsupported file type: $type");
718 return false; 716 return false;
719 } 717 }
720 718
  719 +
721 if($orig) { 720 if($orig) {
722 /* 721 /*
723 * calculate the size of the new image. 722 * calculate the size of the new image.
@@ -753,21 +752,18 @@ class ManageBrandDispatcher extends KTAdminDispatcher { @@ -753,21 +752,18 @@ class ManageBrandDispatcher extends KTAdminDispatcher {
753 } 752 }
754 753
755 switch($type) { 754 switch($type) {
756 - case 'image/jpeg':  
757 - $orig = imagecreatefromjpeg($origFile);  
758 - break;  
759 - case 'image/pjpeg': 755 + case 'jpg':
760 $orig = imagecreatefromjpeg($origFile); 756 $orig = imagecreatefromjpeg($origFile);
761 break; 757 break;
762 - case 'image/png': 758 + case 'png':
763 $orig = imagecreatefrompng($origFile); 759 $orig = imagecreatefrompng($origFile);
764 break; 760 break;
765 - case 'image/gif': 761 + case 'gif':
766 $orig = imagecreatefromgif($origFile); 762 $orig = imagecreatefromgif($origFile);
767 break; 763 break;
768 default: 764 default:
769 //Handle Error 765 //Handle Error
770 - $default->log->error("Tried to determine crop for an unsupported file type: $type"); 766 + $default->log->error("Tried to crop an unsupported file type: $type");
771 return false; 767 return false;
772 } 768 }
773 769
@@ -802,21 +798,18 @@ class ManageBrandDispatcher extends KTAdminDispatcher { @@ -802,21 +798,18 @@ class ManageBrandDispatcher extends KTAdminDispatcher {
802 } 798 }
803 799
804 switch($type) { 800 switch($type) {
805 - case 'image/jpeg':  
806 - $orig = imagecreatefromjpeg($origFile);  
807 - break;  
808 - case 'image/pjpeg': 801 + case 'jpg':
809 $orig = imagecreatefromjpeg($origFile); 802 $orig = imagecreatefromjpeg($origFile);
810 break; 803 break;
811 - case 'image/png': 804 + case 'png':
812 $orig = imagecreatefrompng($origFile); 805 $orig = imagecreatefrompng($origFile);
813 break; 806 break;
814 - case 'image/gif': 807 + case 'gif':
815 $orig = imagecreatefromgif($origFile); 808 $orig = imagecreatefromgif($origFile);
816 break; 809 break;
817 default: 810 default:
818 //Handle Error 811 //Handle Error
819 - $default->log->error("Tried to determine crop for an unsupported file type: $type"); 812 + $default->log->error("Tried to crop an unsupported file type: $type");
820 return false; 813 return false;
821 } 814 }
822 815
@@ -842,7 +835,7 @@ class ManageBrandDispatcher extends KTAdminDispatcher { @@ -842,7 +835,7 @@ class ManageBrandDispatcher extends KTAdminDispatcher {
842 * - Supported images are jpeg, png and gif 835 * - Supported images are jpeg, png and gif
843 * 836 *
844 */ 837 */
845 - public function cropImage( $origFile, $destFile, $x1, $y1, $x2, $y2, $type = 'image/jpeg', $scaleUp = true) { 838 + public function cropImage( $origFile, $destFile, $x1, $y1, $x2, $y2, $type = 'jpg', $scaleUp = true) {
846 global $default; 839 global $default;
847 840
848 $width = $x2 - $x1; 841 $width = $x2 - $x1;
@@ -855,16 +848,13 @@ class ManageBrandDispatcher extends KTAdminDispatcher { @@ -855,16 +848,13 @@ class ManageBrandDispatcher extends KTAdminDispatcher {
855 } 848 }
856 849
857 switch($type) { 850 switch($type) {
858 - case 'image/jpeg':  
859 - $orig = imagecreatefromjpeg($origFile);  
860 - break;  
861 - case 'image/pjpeg': 851 + case 'jpg':
862 $orig = imagecreatefromjpeg($origFile); 852 $orig = imagecreatefromjpeg($origFile);
863 break; 853 break;
864 - case 'image/png': 854 + case 'png':
865 $orig = imagecreatefrompng($origFile); 855 $orig = imagecreatefrompng($origFile);
866 break; 856 break;
867 - case 'image/gif': 857 + case 'gif':
868 $orig = imagecreatefromgif($origFile); 858 $orig = imagecreatefromgif($origFile);
869 break; 859 break;
870 default: 860 default:
@@ -885,16 +875,13 @@ class ManageBrandDispatcher extends KTAdminDispatcher { @@ -885,16 +875,13 @@ class ManageBrandDispatcher extends KTAdminDispatcher {
885 //imagecopyresized($canvas, $piece, 0,0, $cropLeft, $cropHeight,$newwidth, $newheight, $width, $height); 875 //imagecopyresized($canvas, $piece, 0,0, $cropLeft, $cropHeight,$newwidth, $newheight, $width, $height);
886 876
887 switch($type) { 877 switch($type) {
888 - case 'image/jpeg':  
889 - imagejpeg($image, $destFile);  
890 - break;  
891 - case 'image/pjpeg': 878 + case 'jpg':
892 imagejpeg($image, $destFile); 879 imagejpeg($image, $destFile);
893 break; 880 break;
894 - case 'image/png': 881 + case 'png':
895 imagepng($image, $destFile); 882 imagepng($image, $destFile);
896 break; 883 break;
897 - case 'image/gif': 884 + case 'gif':
898 imagegif($image, $destFile); 885 imagegif($image, $destFile);
899 break; 886 break;
900 default: 887 default: