[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Баг при обрезке аватара
fastjust
Проблема заключается в обрезке аватаров.
Ниже на картинках(нажать на ссылку) можно увидеть проблему

1
2
3

Если закрыть глаза на эту картинку, которая накладывается поверх и нажать кнопку обрезать, то он картинку основную обрежет нормально по тому месту где стоит этот кубик с пунктиром.
А картинку которая накладывается сверху он не обрезает.

И вообще не понятно откуда она берется. Такое ощущение что скрипт подгружается два раза и накладывается сам на себя, но этого быть не может.
Обрезка аватара находится в плагине BuddyPress(соц сеть).

Просмотрел инфу по этой проблеме на русских и английских сайтах, нигде такого не встречалось.



Спустя 46 минут, 7 секунд (3.09.2011 - 04:14) Эли4ка написал(а):
может вы ставили картинка должна быть не шире?и если не сложно..код в студию..

Спустя 44 минуты, 11 секунд (3.09.2011 - 04:58) fastjust написал(а):
Код даже незнаю какой дать, потмоу как там его много)

Могу дать сайт test.paranormal-zone.ru

там сверху есть регистрация, откроется сверху окошко, нужно будет нажать регистрация(без заполнения полей) и зарегестриоваться, извините за неудобства)

Щас посматрю код.

Спустя 19 минут (3.09.2011 - 05:17) fastjust написал(а):
Получается вот этот код стоит в header.php
<script src="<?php echo site_url() ?>/wp-includes/js/jcrop/jquery.Jcrop.js"></script>
он подгружает jquery.Jcrop.js скрипт, чтобы работала обрезка аватара.

Потом есть еще один скрипт, который подгружается с плагина BuddyPress

 * bp_core_add_cropper_inline_js()
*
*
Adds the inline JS needed for the cropper to work on a per-page basis.
*
*
@package BuddyPress Core
*/
function bp_core_add_cropper_inline_js() {
global $bp;

$image = apply_filters( 'bp_inline_cropper_image', getimagesize( BP_AVATAR_UPLOAD_PATH . $bp->avatar_admin->image->dir ) );
$aspect_ratio = 1;

// Calculate Aspect Ratio
if ( (int) constant( 'BP_AVATAR_FULL_HEIGHT' ) && ( (int) constant( 'BP_AVATAR_FULL_WIDTH' ) != (int) constant( 'BP_AVATAR_FULL_HEIGHT' ) ) )
$aspect_ratio = (int) constant( 'BP_AVATAR_FULL_WIDTH' ) / (int) constant( 'BP_AVATAR_FULL_HEIGHT' );
?>

<script type="text/javascript">
jQuery(window).load( function(){
jQuery('#avatar-to-crop').Jcrop({
onChange: showPreview,
onSelect: showPreview,
onSelect: updateCoords,
aspectRatio: <?php echo $aspect_ratio ?>,
setSelect: [ 50, 50, <?php echo $image[0] / 2 ?>, <?php echo $image[1] / 2 ?> ]
});
});

function updateCoords(c) {
jQuery('#x').val(c.x);
jQuery('#y').val(c.y);
jQuery('#w').val(c.w);
jQuery('#h').val(c.h);
};

function showPreview(coords) {
if ( parseInt(coords.w) > 0 ) {
var rx = <?php echo (int) constant( 'BP_AVATAR_FULL_WIDTH' ) ?> / coords.w;
var ry = <?php echo (int) constant( 'BP_AVATAR_FULL_HEIGHT' ) ?> / coords.h;

jQuery('#avatar-crop-preview').css({
<?php if ( $image ) : ?>
width: Math.round(rx * <?php echo $image[0] ?>) + 'px',
height: Math.round(ry * <?php echo $image[1] ?>) + 'px',
<?php endif; ?>
marginLeft: '-' + Math.round(rx * coords.x) + 'px',
marginTop: '-' + Math.round(ry * coords.y) + 'px'
});
}
}

</script>

<?php
}

/**
* bp_core_add_cropper_inline_css()
*
* Adds the inline CSS needed for the cropper to work on a per-page basis.
*
*
@package BuddyPress Core
*/

function bp_core_add_cropper_inline_css() {
global $bp;
?>

<style type="text/css">
.
jcrop-holder { float: left; margin: 0 20px 20px 0; text-align: left; }
.jcrop-vline, .jcrop-hline { font-size: 0; position: absolute; background: white top left repeat url( <?php echo BP_PLUGIN_URL ?>/bp-core/images/Jcrop.gif ); }
.jcrop-vline { height: 100%; width: 1px !important; }
.jcrop-hline { width: 100%; height: 1px !important; }
.jcrop-handle { font-size: 1px; width: 7px !important; height: 7px !important; border: 1px #eee solid; background-color: #333; *width: 9px; *height: 9px; }
.jcrop-tracker { width: 100%; height: 100%; }
.custom .jcrop-vline, .custom .jcrop-hline { background: yellow; }
.custom .jcrop-handle { border-color: black; background-color: #C7BB00; -moz-border-radius: 3px; -webkit-border-radius: 3px; }
#avatar-crop-pane { width: <?php echo BP_AVATAR_FULL_WIDTH ?>px; height: <?php echo BP_AVATAR_FULL_HEIGHT ?>px; overflow: hidden; }
#avatar-crop-submit { margin: 20px 0; }
#avatar-upload-form img, #create-group-form img, #group-settings-form img { border: none !important; }

</style>



А так же последний код, который выводится на сайте

<?php if ( 'crop-image' == bp_get_avatar_admin_step() ) : ?>

<h5><?php _e( 'Пожалуйста, обрежьте ваш новый аватар', 'buddypress' ) ?></h5>

<
img src="<?php bp_avatar_to_crop() ?>" id="avatar-to-crop" class="avatar" alt="<?php _e( 'Avatar to crop', 'buddypress' ) ?>" />

</
br>

<
div id="avatar-crop-pane">
<
img src="<?php bp_avatar_to_crop() ?>" id="avatar-crop-preview" class="avatar" alt="<?php _e( 'Avatar preview', 'buddypress' ) ?>" />
</
div>

<
input type="submit" name="avatar-crop-submit" id="avatar-crop-submit" value="<?php _e( 'Crop Image', 'buddypress' ) ?>" />

<
input type="hidden" name="image_src" id="image_src" value="<?php bp_avatar_to_crop_src() ?>" />
<
input type="hidden" id="x" name="x" />
<
input type="hidden" id="y" name="y" />
<
input type="hidden" id="w" name="w" />
<
input type="hidden" id="h" name="h" />

<?php wp_nonce_field( 'bp_avatar_cropstore' ) ?>

<?php
endif; ?>


очень надеюсь что это поможет)

Спустя 52 минуты, 31 секунда (3.09.2011 - 06:10) fastjust написал(а):
и проблема скорей всего в файле jquery.Jcrop.js

Спустя 1 час, 6 минут, 38 секунд (3.09.2011 - 07:17) inpost написал(а):
fastjust
Ну а ты сам смотрел в чём может быть дело? Может заметил ту строчку, которая неправильно обработала данные?

Спустя 10 минут, 32 секунды (3.09.2011 - 07:27) fastjust написал(а):
Я проверил весь вышеуказаный код, но он короче не как не связан с этой проблемой!

Теперь уже точно понял что какая то проблема в файле jquery.Jcrop.js

Счас пытаюсь методом "удалить, востановить" найти проблему)

Если счас не найду, то выложу код файла jquery.Jcrop.js, но он зараза длинный(

Спустя 2 часа, 41 минута, 46 секунд (3.09.2011 - 10:09) fastjust написал(а):
Короче проштудировал весь файл jquery.Jcrop.js проблему не решил, но дело явно в нем!

Кто хочет решить эту проблему за деньги?

Спустя 3 часа, 40 минут, 50 секунд (3.09.2011 - 13:50) Эли4ка написал(а):
я впервые в жизни вижу чтобы в подключаемые Js файлы ставить пхп-скрипты..конечно работать не будет..

Спустя 35 минут, 40 секунд (3.09.2011 - 14:25) neadekvat написал(а):
Цитата (Эли4ка @ 3.09.2011 - 14:50)
я впервые в жизни вижу чтобы в подключаемые Js файлы ставить пхп-скрипты

Это где ты такое увидела? оО

Спустя 15 часов, 50 минут, 11 секунд (4.09.2011 - 06:16) Эли4ка написал(а):
neadekvat
в подключаемые файлы нельзя,а которые в страницы можно..не помню..в каком-то учебнике..

Спустя 5 часов, 15 минут, 16 секунд (4.09.2011 - 11:31) neadekvat написал(а):
Цитата (Эли4ка @ 4.09.2011 - 07:16)
в подключаемые файлы нельзя,а которые в страницы можно..не помню..в каком-то учебнике..

Разве я это спросил? Где в авторском коде есть php в подключаемых файлах?

Спустя 21 час, 32 минуты, 3 секунды (5.09.2011 - 09:03) Эли4ка написал(а):
neadekvat
блин,тупанула я..думала что это js файл-а это php ..
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.