Пример #1
0
function gnavi_exeResize($lid, $fileNo, $ext, $w, $h, $makethumbs)
{
    global $photos_dir, $gnavi_normal_exts, $thumbs_dir, $gnavi_makethumb, $table_photos, $xoopsDB;
    global $gnavi_width, $gnavi_height;
    global $resize, $forceredo;
    $file = $fileNo ? $lid . "_" . $fileNo : $lid;
    $res_x = "res_x" . ($fileNo ? $fileNo : '');
    $res_y = "res_y" . ($fileNo ? $fileNo : '');
    if (!$ext) {
        printf(_MD_A_GNAVI_FMT_CHECKING, "{$file}");
        echo _MD_A_GNAVI_MB_SKIPPED . "<br />\n";
        return;
    }
    printf(_MD_A_GNAVI_FMT_CHECKING, "{$file}.{$ext}");
    if (!is_readable("{$photos_dir}/{$file}.{$ext}")) {
        echo _MD_A_GNAVI_MB_PHOTONOTEXISTS . " &nbsp; ";
        echo _MD_A_GNAVI_MB_SKIPPED . "<br />\n";
        return;
    }
    // Check if the file is normal image
    if (!in_array(strtolower($ext), $gnavi_normal_exts)) {
        echo _MD_A_GNAVI_MB_SKIPPED . "<br />\n";
        return;
    }
    // Size of main photo
    list($true_w, $true_h) = getimagesize("{$photos_dir}/{$file}.{$ext}");
    echo "{$true_w}x{$true_h} .. ";
    // Check and resize the main photo if necessary
    if ($resize && ($true_w > $gnavi_width || $true_h > $gnavi_height)) {
        $tmp_path = "{$photos_dir}/gnavi_tmp_photo";
        @unlink($tmp_path);
        rename("{$photos_dir}/{$file}.{$ext}", $tmp_path);
        gnavi_modify_photo($tmp_path, "{$photos_dir}/{$file}.{$ext}");
        @unlink($tmp_path);
        echo _MD_A_GNAVI_MB_PHOTORESIZED . "&nbsp;";
        list($true_w, $true_h) = getimagesize("{$photos_dir}/{$file}.{$ext}");
    } else {
        echo _MD_A_GNAVI_MB_SKIPPED . " &nbsp; ";
    }
    // Check and repair record of the photo if necessary
    if ($true_w != $w || $true_h != $h) {
        $xoopsDB->query("UPDATE {$table_photos} SET {$res_x}={$true_w}, {$res_y}={$true_h} WHERE lid={$lid}") or die("DB error: UPDATE photo table.");
        echo "->&nbsp;{$true_w}x{$true_h}&nbsp;" . _MD_A_GNAVI_MB_SIZEREPAIRED . " &nbsp; ";
    }
    if ($makethumbs) {
        // Create Thumbs
        if (is_readable("{$thumbs_dir}/{$file}.{$ext}")) {
            list($thumb_w, $thumb_h) = getimagesize("{$thumbs_dir}/{$file}.{$ext}");
            echo "{$thumb_w}x{$thumb_h} ... ";
            if ($forceredo) {
                $retcode = gnavi_create_thumb("{$photos_dir}/{$file}.{$ext}", $file, $ext);
            } else {
                $retcode = 3;
            }
        } else {
            if ($gnavi_makethumb) {
                $retcode = gnavi_create_thumb("{$photos_dir}/{$file}.{$ext}", $file, $ext);
            } else {
                $retcode = 3;
            }
        }
        switch ($retcode) {
            case 0:
                echo _MD_A_GNAVI_MB_FAILEDREADING;
                break;
            case 1:
                echo _MD_A_GNAVI_MB_CREATEDTHUMBS;
                break;
            case 2:
                echo _MD_A_GNAVI_MB_BIGTHUMBS;
                break;
            case 3:
                echo _MD_A_GNAVI_MB_SKIPPED;
                break;
        }
    }
    echo "<br />\n";
    return;
}
Пример #2
0
     $ext = $p_ext;
 }
 if ($ext1) {
     gnavi_modify_photo("{$photos_dir}/{$tmp_name1}", $photos_dir . "/" . $lid . "_1." . $ext1);
     if (in_array(strtolower($ext1), $gnavi_normal_exts)) {
         if (!gnavi_create_thumb($photos_dir . "/" . $lid . "_1." . $ext1, $lid . "_1", $ext1)) {
             $xoopsDB->query("DELETE FROM {$table_photos} WHERE lid={$lid}");
             redirect_header('index.php?page=submit' . ($lid ? '&lid=' . $lid : ''), 2, _MD_GNAV_MSG_FILEREADERROR);
             exit;
         }
     }
 } else {
     $ext1 = $p_ext1;
 }
 if ($ext2) {
     gnavi_modify_photo("{$photos_dir}/{$tmp_name2}", $photos_dir . "/" . $lid . "_2." . $ext2);
     if (in_array(strtolower($ext2), $gnavi_normal_exts)) {
         if (!gnavi_create_thumb($photos_dir . "/" . $lid . "_2." . $ext2, $lid . "_2", $ext2)) {
             $xoopsDB->query("DELETE FROM {$table_photos} WHERE lid={$lid}");
             redirect_header('index.php?page=submit' . ($lid ? '&lid=' . $lid : ''), 2, _MD_GNAV_MSG_FILEREADERROR);
             exit;
         }
     }
 } else {
     $ext2 = $p_ext2;
 }
 //get size
 $resx = 0;
 $resx1 = 0;
 $resx2 = 0;
 $resy = 0;
Пример #3
0
function gnavi_submit_uploader_pre($field, $preview_name, $del_photo, $guard_name)
{
    global $gnavi_canresize, $photos_dir, $array_allowed_mimetypes, $gnavi_fsize, $gnavi_width, $gnavi_height, $array_allowed_exts;
    if (is_readable($_FILES[$field]['tmp_name'])) {
        // new preview
        if ($preview_name != '') {
            if ($guard_name != $preview_name) {
                @unlink("{$photos_dir}/{$preview_name}");
            }
        }
        if ($gnavi_canresize) {
            $uploader = new MyXoopsMediaUploader($photos_dir, $array_allowed_mimetypes, $gnavi_fsize, null, null, $array_allowed_exts);
        } else {
            $uploader = new MyXoopsMediaUploader($photos_dir, $array_allowed_mimetypes, $gnavi_fsize, $gnavi_width, $gnavi_height, $array_allowed_exts);
        }
        $uploader->setPrefix('tmp_');
        if ($uploader->fetchMedia($field) && $uploader->upload()) {
            $tmp_name = $uploader->getSavedFileName();
            $preview_name = str_replace('tmp_', 'tmp_prev_', $tmp_name);
            gnavi_modify_photo("{$photos_dir}/{$tmp_name}", "{$photos_dir}/{$preview_name}");
        } else {
            @unlink($uploader->getSavedDestination());
            $preview_name = '';
        }
    } else {
        if ($preview_name != '' && is_readable("{$photos_dir}/{$preview_name}")) {
            if ($del_photo == 1) {
                if ($guard_name != $preview_name) {
                    @unlink("{$photos_dir}/{$preview_name}");
                }
                $preview_name = '';
            }
        } else {
            $preview_name = '';
        }
    }
    return $preview_name;
}
Пример #4
0
 if ($ext) {
     gnavi_modify_photo("{$photos_dir}/{$tmp_name}", "{$icon_dir}/{$icd}.{$ext}");
     $dim = GetImageSize("{$icon_dir}/{$icd}.{$ext}");
     if ($dim) {
         $x = $dim[0];
         $y = $dim[1];
     }
     $Anchor_x = $x / 2;
     $Anchor_y = $y;
     $infoWindowAnchor_x = $x / 2;
     $infoWindowAnchor_y = 3;
 } else {
     $ext = $p_ext;
 }
 if ($shadow_ext) {
     gnavi_modify_photo("{$photos_dir}/{$tmp_name1}", $icon_dir . "/" . $icd . "_s." . $shadow_ext);
 } else {
     $shadow_ext = $p_shadow_ext;
 }
 $x = 0;
 $y = 0;
 $shadow_x = 0;
 $shadow_y = 0;
 if ($ext) {
     $dim = GetImageSize("{$icon_dir}/{$icd}.{$ext}");
     if ($dim) {
         $x = $dim[0];
         $y = $dim[1];
     }
 }
 if ($shadow_ext) {