Modx Revo + Chrome + Uploadify = "Опаньки". В чём дело?

Добрый день. Столкнулся с такой проблемой. У меня есть свой сниппет, который получает _POST данные и вставляет их в базу посредством xPDO API. Но когда захожу на страницу добавления или когда нажимаю кнопку «Добавить», мне выдаёт вот такую фигню: «Опаньки...» — support.google.com/chrome/answer/95669?p=e_awsnap&rd=1, и это происходит именно в браузере Chrome. Во всех остальных браузерах всё в порядке, при чём даже в браузерах на основе Chrome (Yandex-браузер, к примеру). Но когда удаляю вызов сниппета со страницы, то всё хорошо даже в хроме.

Скажите, пожалуйста, в чём может быть дело? На странице гугла решения не нашёл, в поисковиках тоже.

Вот код сниппета:
// Сниппет Uploadify v0.01 Beta

if($callNum == '') { $callNum = '0'; } // В который раз вызываем скрипт на странице.. если один раз - не указывать.. по умолчанию стоит "0"
if($id == '') { $id = ''; }
if($uid == '') { $uid = $modx->user->get('id'); }
if($blockFiles == '') { $blockFiles = 'queue'; }
if($prefixFiles == '') { $prefixFiles = 'uploFile'; }

$hash = spl_object_hash($modx);

if(!$_SESSION['uploCallNum'] OR $_SESSION['uploCallNumHash'] != $hash) {
	$_SESSION['uploCallNum']='0';
	$_SESSION['uploCallNumHash']=$hash;
	?>
	<script src="js/uploadify/jquery.uploadify.js" type="text/javascript"></script>
	<link rel="stylesheet" type="text/css" href="js/uploadify/uploadify.css" />
	<?
}
?>
<div id="<?=$blockFiles?>"></div>
<div style="clear:both"></div>

<input id="file_upload_<?=$blockFiles?>" name="file_upload_<?=$blockFiles?>" type="file" multiple="true" />

<script type="text/javascript">
<? $timestamp = time(); ?>
$(function() {
	$('#file_upload_<?=$blockFiles?>').uploadify({
		'formData'			: {
								'id'			: '<?=$id?>',
								'uid'			: '<?=$uid?>',
								'callNum'		: '<?=$_SESSION['uploCallNum']?>',
								'prefixFiles'	: '<?=$prefixFiles?>',
								'timestamp'		: '<?=$timestamp?>',
								'token'			: '<?=md5('unique_salt' . $timestamp)?>'
		},
		'queueID'			: '<?=$blockFiles?>',
		'buttonImage'		: '/images/browse-btn.png',
		'swf'				: '/js/uploadify/uploadify.swf',
		'uploader'			: '/js/uploadify/uploadify.php',
		'removeCompleted'	: false,
		'fileSizeLimit'		: '2999999',
		'fileTypeDesc'		: 'Файлы изображений',
		'fileTypeExts'		: '*.gif; *.png; *.jpg; *.jpeg; *.JPG; *.JPE; *.jpe',
		'itemTemplate' : '\
		<div id="${fileID}" class="uploadify-queue-item">\
			<div style="padding:10px 10px 5px;">\
				<div class="cancel">\
					<a href="javascript:if(confirm(\'Уверены, что хотите удалить данный файл?\')) { $(\'#${instanceID}\').uploadify(\'cancel\', \'${fileID}\'); }">X</a>\
				</div>\
				<span class="fileName">${fileName} (${fileSize})</span><span class="data"></span>\
				<div class="">\
					<input type="hidden" name="files<?=($prefixFiles?'['.$prefixFiles.']':'')?>[${fileID}][filePath]" value="/uploads/<?=($uid?$uid.'/':'')?><?=($prefixFiles?$prefixFiles.'/':'')?><?=time()?>_${fileID}" />\
					<input type="hidden" name="files<?=($prefixFiles?'['.$prefixFiles.']':'')?>[${fileID}][fileOldName]" value="${fileName}" />\
					<input type="text" name="files<?=($prefixFiles?'['.$prefixFiles.']':'')?>[${fileID}][fileName]" value="" placeholder="Введите описание файла" />\
				</div>\
			</div>\
			<div class="uploadify-progress"><div class="uploadify-progress-bar"> </div></div>\
		</div>'
	});
});
</script>
<?
$_SESSION['uploCallNum'] = $_SESSION['uploCallNum']+1;
return '';
Пашок
13 ноября 2014, 03:27
modx.pro
3 043
0

Комментарии: 7

Виталий Киреев
13 ноября 2014, 07:14
0
Помещай «return;» в разные места сниппета и смотри с какой строки начинается такая ошибка.
    Пашок
    Пашок
    13 ноября 2014, 07:41
    0
    Спасибо! Оказалось, что проблема не в этом сниппете, а в том, где идёт вызов Uploadify… выше обновил код сниппета. Не знаете, почему хром так реагирует на JS код вызова uploadify?
    Василий Наумкин
    13 ноября 2014, 09:56
    0
    А ты в курсе, что уже есть Uploadify для MODX?

    Посмотреть в работе можно на file.modx.pro.
      Пашок
      Пашок
      13 ноября 2014, 10:00
      0
      Конечно, я его тестил даже. Но я к сожалению не нашёл в нём того, что мне нужно. А нужно мне, чтобы он привязывался к определённому префиксу + id, чтобы когда добавляем какую-то запись в таблицу, картинки загруженные с помощью uploadify привязывались к этой записи по уник. префиксу и id (этой записи). Также, если мы допустили ошибки в форме добавления какой-то записи, при перезагрузке страницы картинки загруженные пользователем сохранялись и выводились ему. Ну и при редактировании, чтобы была возможность отредактировать описание картинки и удалить её, в случае необходимости.
        Василий Наумкин
        13 ноября 2014, 10:10
        0
        То есть, вместо работы с таблицей БД готового дополнения ты предпочитаешь написать с нуля вообще всё?

        Ну, удачи, что ли.
          Пашок
          Пашок
          13 ноября 2014, 10:20
          0
          Да я уже написал, Василий. Давненько. Правда не так элегантно, как у тебя, но работает. :) Однако вот такая вот проблема всплыла… и к сожалению она не от меня зависит, почему-то… :(
            Василий Столейков
            21 февраля 2016, 09:47
            0
            Василий, можно ли будет используя твоё готовое дополнение Uploadify как-то перехватывать массив с загруженными картинками для сохранения их названий в другой таблице, кастомной.
            В документации не нашел ничего похожего и думаю — стоит ли покупать его? Получится ли как-то перехватывать пути к картинкам и записывать их в своей таблице…
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        7