Code Duplication    Length = 56-56 lines in 5 locations

lib/elFinderVolumeBox.class.php 1 location

@@ 1048-1103 (lines=56) @@
1045
     * @author Dmitry (dio) Levashov
1046
     * @author Naoki Sawada
1047
     **/
1048
    protected function createTmb($path, $stat)
1049
    {
1050
        if (! $stat || ! $this->canCreateTmb($path, $stat)) {
1051
            return false;
1052
        }
1053
1054
        $name = $this->tmbname($stat);
1055
        $tmb = $this->tmbPath.DIRECTORY_SEPARATOR.$name;
1056
1057
        // copy image into tmbPath so some drivers does not store files on local fs
1058
        if (! $data = $this->_bd_getThumbnail($path)) {
1059
            return false;
1060
        }
1061
        if (! file_put_contents($tmb, $data)) {
1062
            return false;
1063
        }
1064
1065
        $result = false;
1066
1067
        $tmbSize = $this->tmbSize;
1068
1069
        if (($s = getimagesize($tmb)) == false) {
1070
            return false;
1071
        }
1072
1073
        /* If image smaller or equal thumbnail size - just fitting to thumbnail square */
1074
        if ($s[0] <= $tmbSize && $s[1] <= $tmbSize) {
1075
            $result = $this->imgSquareFit($tmb, $tmbSize, $tmbSize, 'center', 'middle', $this->options['tmbBgColor'], 'png');
1076
        } else {
1077
            if ($this->options['tmbCrop']) {
1078
1079
                /* Resize and crop if image bigger than thumbnail */
1080
                if (! (($s[0] > $tmbSize && $s[1] <= $tmbSize) || ($s[0] <= $tmbSize && $s[1] > $tmbSize)) || ($s[0] > $tmbSize && $s[1] > $tmbSize)) {
1081
                    $result = $this->imgResize($tmb, $tmbSize, $tmbSize, true, false, 'png');
1082
                }
1083
1084
                if (($s = getimagesize($tmb)) != false) {
1085
                    $x = $s[0] > $tmbSize ? intval(($s[0] - $tmbSize) / 2) : 0;
1086
                    $y = $s[1] > $tmbSize ? intval(($s[1] - $tmbSize) / 2) : 0;
1087
                    $result = $this->imgCrop($tmb, $tmbSize, $tmbSize, $x, $y, 'png');
1088
                }
1089
            } else {
1090
                $result = $this->imgResize($tmb, $tmbSize, $tmbSize, true, true, 'png');
1091
            }
1092
1093
            $result = $this->imgSquareFit($tmb, $tmbSize, $tmbSize, 'center', 'middle', $this->options['tmbBgColor'], 'png');
1094
        }
1095
1096
        if (! $result) {
1097
            unlink($tmb);
1098
1099
            return false;
1100
        }
1101
1102
        return $name;
1103
    }
1104
1105
    /**
1106
     * Return thumbnail file name for required file.

lib/elFinderVolumeDropbox.class.php 1 location

@@ 791-846 (lines=56) @@
788
     * @author Dmitry (dio) Levashov
789
     * @author Naoki Sawada
790
     */
791
    protected function createTmb($path, $stat)
792
    {
793
        if (! $stat || ! $this->canCreateTmb($path, $stat)) {
794
            return false;
795
        }
796
797
        $name = $this->tmbname($stat);
798
        $tmb = $this->tmbPath.DIRECTORY_SEPARATOR.$name;
799
800
        // copy image into tmbPath so some drivers does not store files on local fs
801
        if (! $data = $this->getThumbnail($path, $this->options['getTmbSize'])) {
802
            return false;
803
        }
804
        if (! file_put_contents($tmb, $data)) {
805
            return false;
806
        }
807
808
        $result = false;
809
810
        $tmbSize = $this->tmbSize;
811
812
        if (($s = getimagesize($tmb)) == false) {
813
            return false;
814
        }
815
816
        /* If image smaller or equal thumbnail size - just fitting to thumbnail square */
817
        if ($s[0] <= $tmbSize && $s[1] <= $tmbSize) {
818
            $result = $this->imgSquareFit($tmb, $tmbSize, $tmbSize, 'center', 'middle', $this->options['tmbBgColor'], 'png');
819
        } else {
820
            if ($this->options['tmbCrop']) {
821
822
                /* Resize and crop if image bigger than thumbnail */
823
                if (! (($s[0] > $tmbSize && $s[1] <= $tmbSize) || ($s[0] <= $tmbSize && $s[1] > $tmbSize)) || ($s[0] > $tmbSize && $s[1] > $tmbSize)) {
824
                    $result = $this->imgResize($tmb, $tmbSize, $tmbSize, true, false, 'png');
825
                }
826
827
                if (($s = getimagesize($tmb)) != false) {
828
                    $x = $s[0] > $tmbSize ? intval(($s[0] - $tmbSize) / 2) : 0;
829
                    $y = $s[1] > $tmbSize ? intval(($s[1] - $tmbSize) / 2) : 0;
830
                    $result = $this->imgCrop($tmb, $tmbSize, $tmbSize, $x, $y, 'png');
831
                }
832
            } else {
833
                $result = $this->imgResize($tmb, $tmbSize, $tmbSize, true, true, 'png');
834
            }
835
836
            $result = $this->imgSquareFit($tmb, $tmbSize, $tmbSize, 'center', 'middle', $this->options['tmbBgColor'], 'png');
837
        }
838
839
        if (! $result) {
840
            unlink($tmb);
841
842
            return false;
843
        }
844
845
        return $name;
846
    }
847
848
    /**
849
     * Return thumbnail file name for required file.

lib/elFinderVolumeDropbox2.class.php 1 location

@@ 794-849 (lines=56) @@
791
     *
792
     * @author Naoki Sawada
793
     **/
794
    protected function createTmb($path, $stat)
795
    {
796
        if (! $stat || ! $this->canCreateTmb($path, $stat)) {
797
            return false;
798
        }
799
800
        $name = $this->tmbname($stat);
801
        $tmb = $this->tmbPath.DIRECTORY_SEPARATOR.$name;
802
803
        // copy image into tmbPath so some drivers does not store files on local fs
804
        if (! $data = $this->_db_getThumbnail($path)) {
805
            return false;
806
        }
807
        if (! file_put_contents($tmb, $data)) {
808
            return false;
809
        }
810
811
        $result = false;
812
813
        $tmbSize = $this->tmbSize;
814
815
        if (($s = getimagesize($tmb)) == false) {
816
            return false;
817
        }
818
819
        /* If image smaller or equal thumbnail size - just fitting to thumbnail square */
820
        if ($s[0] <= $tmbSize && $s[1] <= $tmbSize) {
821
            $result = $this->imgSquareFit($tmb, $tmbSize, $tmbSize, 'center', 'middle', $this->options['tmbBgColor'], 'png');
822
        } else {
823
            if ($this->options['tmbCrop']) {
824
825
                /* Resize and crop if image bigger than thumbnail */
826
                if (! (($s[0] > $tmbSize && $s[1] <= $tmbSize) || ($s[0] <= $tmbSize && $s[1] > $tmbSize)) || ($s[0] > $tmbSize && $s[1] > $tmbSize)) {
827
                    $result = $this->imgResize($tmb, $tmbSize, $tmbSize, true, false, 'png');
828
                }
829
830
                if (($s = getimagesize($tmb)) != false) {
831
                    $x = $s[0] > $tmbSize ? intval(($s[0] - $tmbSize) / 2) : 0;
832
                    $y = $s[1] > $tmbSize ? intval(($s[1] - $tmbSize) / 2) : 0;
833
                    $result = $this->imgCrop($tmb, $tmbSize, $tmbSize, $x, $y, 'png');
834
                }
835
            } else {
836
                $result = $this->imgResize($tmb, $tmbSize, $tmbSize, true, true, 'png');
837
            }
838
839
            $result = $this->imgSquareFit($tmb, $tmbSize, $tmbSize, 'center', 'middle', $this->options['tmbBgColor'], 'png');
840
        }
841
842
        if (! $result) {
843
            unlink($tmb);
844
845
            return false;
846
        }
847
848
        return $name;
849
    }
850
851
    /**
852
     * Return thumbnail file name for required file.

lib/elFinderVolumeGoogleDrive.class.php 1 location

@@ 1214-1269 (lines=56) @@
1211
     * @author Dmitry (dio) Levashov
1212
     * @author Naoki Sawada
1213
     **/
1214
    protected function createTmb($path, $stat)
1215
    {
1216
        if (! $stat || ! $this->canCreateTmb($path, $stat)) {
1217
            return false;
1218
        }
1219
1220
        $name = $this->tmbname($stat);
1221
        $tmb = $this->tmbPath.DIRECTORY_SEPARATOR.$name;
1222
1223
        // copy image into tmbPath so some drivers does not store files on local fs
1224
        if (! $data = $this->_gd_getThumbnail($path)) {
1225
            return false;
1226
        }
1227
        if (! file_put_contents($tmb, $data)) {
1228
            return false;
1229
        }
1230
1231
        $result = false;
1232
1233
        $tmbSize = $this->tmbSize;
1234
1235
        if (($s = getimagesize($tmb)) == false) {
1236
            return false;
1237
        }
1238
1239
        /* If image smaller or equal thumbnail size - just fitting to thumbnail square */
1240
        if ($s[0] <= $tmbSize && $s[1] <= $tmbSize) {
1241
            $result = $this->imgSquareFit($tmb, $tmbSize, $tmbSize, 'center', 'middle', $this->options['tmbBgColor'], 'png');
1242
        } else {
1243
            if ($this->options['tmbCrop']) {
1244
1245
                /* Resize and crop if image bigger than thumbnail */
1246
                if (! (($s[0] > $tmbSize && $s[1] <= $tmbSize) || ($s[0] <= $tmbSize && $s[1] > $tmbSize)) || ($s[0] > $tmbSize && $s[1] > $tmbSize)) {
1247
                    $result = $this->imgResize($tmb, $tmbSize, $tmbSize, true, false, 'png');
1248
                }
1249
1250
                if (($s = getimagesize($tmb)) != false) {
1251
                    $x = $s[0] > $tmbSize ? intval(($s[0] - $tmbSize) / 2) : 0;
1252
                    $y = $s[1] > $tmbSize ? intval(($s[1] - $tmbSize) / 2) : 0;
1253
                    $result = $this->imgCrop($tmb, $tmbSize, $tmbSize, $x, $y, 'png');
1254
                }
1255
            } else {
1256
                $result = $this->imgResize($tmb, $tmbSize, $tmbSize, true, true, 'png');
1257
            }
1258
1259
            $result = $this->imgSquareFit($tmb, $tmbSize, $tmbSize, 'center', 'middle', $this->options['tmbBgColor'], 'png');
1260
        }
1261
1262
        if (! $result) {
1263
            unlink($tmb);
1264
1265
            return false;
1266
        }
1267
1268
        return $name;
1269
    }
1270
1271
    /**
1272
     * Return thumbnail file name for required file.

lib/elFinderVolumeOneDrive.class.php 1 location

@@ 984-1039 (lines=56) @@
981
     * @author Dmitry (dio) Levashov
982
     * @author Naoki Sawada
983
     **/
984
    protected function createTmb($path, $stat)
985
    {
986
        if (! $stat || ! $this->canCreateTmb($path, $stat)) {
987
            return false;
988
        }
989
990
        $name = $this->tmbname($stat);
991
        $tmb = $this->tmbPath.DIRECTORY_SEPARATOR.$name;
992
993
        // copy image into tmbPath so some drivers does not store files on local fs
994
        if (! $data = $this->_od_getThumbnail($path)) {
995
            return false;
996
        }
997
        if (! file_put_contents($tmb, $data)) {
998
            return false;
999
        }
1000
1001
        $result = false;
1002
1003
        $tmbSize = $this->tmbSize;
1004
1005
        if (($s = getimagesize($tmb)) == false) {
1006
            return false;
1007
        }
1008
1009
        /* If image smaller or equal thumbnail size - just fitting to thumbnail square */
1010
        if ($s[0] <= $tmbSize && $s[1] <= $tmbSize) {
1011
            $result = $this->imgSquareFit($tmb, $tmbSize, $tmbSize, 'center', 'middle', $this->options['tmbBgColor'], 'png');
1012
        } else {
1013
            if ($this->options['tmbCrop']) {
1014
1015
                /* Resize and crop if image bigger than thumbnail */
1016
                if (! (($s[0] > $tmbSize && $s[1] <= $tmbSize) || ($s[0] <= $tmbSize && $s[1] > $tmbSize)) || ($s[0] > $tmbSize && $s[1] > $tmbSize)) {
1017
                    $result = $this->imgResize($tmb, $tmbSize, $tmbSize, true, false, 'png');
1018
                }
1019
1020
                if (($s = getimagesize($tmb)) != false) {
1021
                    $x = $s[0] > $tmbSize ? intval(($s[0] - $tmbSize) / 2) : 0;
1022
                    $y = $s[1] > $tmbSize ? intval(($s[1] - $tmbSize) / 2) : 0;
1023
                    $result = $this->imgCrop($tmb, $tmbSize, $tmbSize, $x, $y, 'png');
1024
                }
1025
            } else {
1026
                $result = $this->imgResize($tmb, $tmbSize, $tmbSize, true, true, 'png');
1027
            }
1028
1029
            $result = $this->imgSquareFit($tmb, $tmbSize, $tmbSize, 'center', 'middle', $this->options['tmbBgColor'], 'png');
1030
        }
1031
1032
        if (! $result) {
1033
            unlink($tmb);
1034
1035
            return false;
1036
        }
1037
1038
        return $name;
1039
    }
1040
1041
    /**
1042
     * Return thumbnail file name for required file.