Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

Тестирование расширений в превалидаторе

Форум для авторов расширений для phpBB. Здесь можно попросить помощи в разработке у коллег.
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB3.1.x/3.3.x | FAQ | Как задавать вопросы | Как устанавливать расширения

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16464
Стаж: 18 лет 1 месяц
Откуда: Красноярск
Благодарил (а): 533 раза
Поблагодарили: 1773 раза

Тестирование расширений в превалидаторе

Сообщение rxu »

Для расширений, разрабатываемых в репозиториях Github.
  • Заходим в учетную запись Travis, синхронизируем список своих репозиториев (если нужно), включаем нужный репозиторий.
  • Добавляем в репозиторий файл .travis.yml из прилагаемого архива.
  • Редактируем .travis.yml, находим переменную окружения EXTNAME и заменяем ее значение на имя по схеме

    Код: Выделить всё

        - EXTNAME="yourvendor/yourextension"
    например, на

    Код: Выделить всё

    rxu/FirstPostOnEveryPage
  • В composer.json вашего расширения добавляем

    Код: Выделить всё

       "require-dev": {
          "phpbb/epv": "dev-master"
       },
  • Коммитим изменения, отправляем в удаленный репо.
Всё, теперь любое изменение в репозитории будет автоматически тестироваться с помощью инструмента TravisCI в превалидаторе расширений phpBB.
Результаты можно найти по ссылке типа http://travis-ci.org/<username>/<repo> (например, http://travis-ci.org/rxu/first_post_on_every_page).
Ссылку можно также найти в списке веток вашего репозитория на Гитхабе (Branches).
Кроме того, о результате теста придет сообщение на емайл.
travis_new.zip
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Изображение
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 17 лет 4 месяца
Откуда: Калининград не Кенигсберг
Благодарил (а): 41 раз
Поблагодарили: 1716 раз

Re: Тестирование расширений в превалидаторе

Сообщение Sheer »

Ну да

Код: Выделить всё

Validation: FAILED
Fatal: 0, Error: 0, Warning: 1, Notice: 0 
The route name should start with vendor_namespace
Это легко поправимо.
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16464
Стаж: 18 лет 1 месяц
Откуда: Красноярск
Благодарил (а): 533 раза
Поблагодарили: 1773 раза

Re: Тестирование расширений в превалидаторе

Сообщение rxu »

Sheer писал(а):Error: Using addslashes on line 477 in /home/travis/build/phpBB3/acp/search_module.php
Не слышал еще о запрете использования addslashes, спрошу.
Изображение
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16464
Стаж: 18 лет 1 месяц
Откуда: Красноярск
Благодарил (а): 533 раза
Поблагодарили: 1773 раза

Re: Тестирование расширений в превалидаторе

Сообщение rxu »

Спросил. Ошибка выкидывается потому, что addslashes нельзя использовать для эскейпинга значений в SQL запросах. Т.к. правтически трудно определить, где оно использовано реально, ошибка выкидывается в любом случае, на всякий.
Но: превалидация валится не из-за этого, а из-за этого:

Код: Выделить всё

The command "sh -c "if [ '$IMAGE_ICC' != '0' ]; then travis/check-image-icc-profiles.sh $DB $TRAVIS_PHP_VERSION; fi"" exited with 1.
Пока не знаю, почему.

Добавлено спустя 4 минуты 56 секунд:
Sheer
И в travis.yml надо последнюю строку обновить, должно быть

Код: Выделить всё

- sh -c "if [ '$EPV' != '0' ] && [ '$TRAVIS_PHP_VERSION' = '5.3.3' ] && [ '$DB' = 'mysqli' ]; then phpBB/ext/$EXTNAME/vendor/bin/EPV.php run --dir='phpBB/ext/$EXTNAME/'; fi"
Изображение
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 17 лет 4 месяца
Откуда: Калининград не Кенигсберг
Благодарил (а): 41 раз
Поблагодарили: 1716 раз

Re: Тестирование расширений в превалидаторе

Сообщение Sheer »

rxu писал(а):addslashes нельзя использовать для эскейпинга значений в SQL запросах
Об этом я прочитал в документации по php. Но там ведь не скуль-запрос.
Но
rxu писал(а):ошибка выкидывается в любом случае
тогда понятно. Формальный подход. Значит писать свой аналог addslashes
rxu писал(а):Но: превалидация валится не из-за этого, а из-за этого:
Сейчасл не понял... Нифига.
rxu писал(а):последнюю строку обновить
Обновил, посмотрим.
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16464
Стаж: 18 лет 1 месяц
Откуда: Красноярск
Благодарил (а): 533 раза
Поблагодарили: 1773 раза

Re: Тестирование расширений в превалидаторе

Сообщение rxu »

Sheer писал(а):Значит писать свой аналог addslashes
Не обязательно, и так сойдет. Главное не использовать в запросах.
Изображение
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 17 лет 4 месяца
Откуда: Калининград не Кенигсберг
Благодарил (а): 41 раз
Поблагодарили: 1716 раз

Re: Тестирование расширений в превалидаторе

Сообщение Sheer »

rxu писал(а):и так сойдет
Да по мне-то пойдет, но валидацию не пройду, разве не?
Кстате

Код: Выделить всё

The command "sh -c "if [ '$IMAGE_ICC' != '0' ]; then travis/check-image-icc-profiles.sh $DB $TRAVIS_PHP_VERSION; fi"" exited with 1.
что означает сия абракадабра?
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16464
Стаж: 18 лет 1 месяц
Откуда: Красноярск
Благодарил (а): 533 раза
Поблагодарили: 1773 раза

Re: Тестирование расширений в превалидаторе

Сообщение rxu »

Sheer писал(а):но валидацию не пройду, разве не?
Пройдешь.
Sheer писал(а):что означает сия абракадабра?
Проверяет ICC профиль изображений, не знаю, зачем.
Изображение
Аватара пользователя
Борис Бердичевский
phpBB 3.0.0 RC1
Сообщения: 1457
Стаж: 16 лет 5 месяцев
Откуда: Израиль, Беэр-Шева
Благодарил (а): 33 раза
Поблагодарили: 61 раз

Re: Тестирование расширений в превалидаторе

Сообщение Борис Бердичевский »

Если падает валидация только на версиях php 5.5 это недопустимо, следует править?
Там довольно крутые требования к коду, пробелы лишние нельзя, ещё какая ф-ня...
Последний раз редактировалось Борис Бердичевский 16.12.2014 22:19, всего редактировалось 2 раза.
После нескольких лет общения здесь и техсопровождения форумов я наконец понял, что ничего не понимаю в phpBB!
Аватара пользователя
xisp
phpBB 3.0.0 RC7
Сообщения: 1798
Стаж: 12 лет 1 месяц
Благодарил (а): 101 раз
Поблагодарили: 91 раз
Забанен: Бессрочно

Re: Тестирование расширений в превалидаторе

Сообщение xisp »

Почему бы не править? Всё это пойдёт только в плюс коду. Зачем там мусорные пробелы, устаревающие функции и прочее? Правьте потихоньку, без фанатизма, но верно.
phpBBex
Аватара пользователя
Борис Бердичевский
phpBB 3.0.0 RC1
Сообщения: 1457
Стаж: 16 лет 5 месяцев
Откуда: Израиль, Беэр-Шева
Благодарил (а): 33 раза
Поблагодарили: 61 раз

Re: Тестирование расширений в превалидаторе

Сообщение Борис Бердичевский »

Там не старые функции. Вот, придралось оно к 292 строчке

Код: Выделить всё

288		if (!sizeof($qa->question_ids)) 
289 		{ 
290 			$error = $user->lang['CONFIRM_QUESTION_WRONG']; 
291 // Register LOG  Start --> 
292 		if ($this->config['enable_register_log']) 
293 			add_log('register', 'REGISTER_WITHOUT_CONFIRM', 'validate'); 
294 //-->Register LOG  End 
295 			$event['error'] = $error; 
296 			return; 
297 		} 
298  
299 		if (!$qa->confirm_id) 
300 		{ 
301 			$error = $user->lang['CONFIRM_QUESTION_WRONG']; 
302 		} 
303  

Код: Выделить всё

292 | ERROR | Inline control structures are not allowed

     |       | (Generic.ControlStructures.InlineControlStructure.NotAllowed)

Последний раз редактировалось Борис Бердичевский 16.12.2014 22:19, всего редактировалось 1 раз.
После нескольких лет общения здесь и техсопровождения форумов я наконец понял, что ничего не понимаю в phpBB!
deadromeo
phpBB 2.0.0
Сообщения: 237
Стаж: 13 лет 1 месяц
Благодарил (а): 12 раз
Поблагодарили: 35 раз
Забанен: Бессрочно

Re: Тестирование расширений в превалидаторе

Сообщение deadromeo »

Борис Бердичевский писал(а):if ($this->config['enable_register_log'])
Если не ошибаюсь то хотябы следующую строку взять в фигурные кавычки ибо как то не логично получается, оператор if и все такое, ИМХО конечно
Мои расширения: TopicLinks, TopicDesc, BannedUser, AllowedExt, NumPosts, PMRead, GoogleTranslator, BoardStartDate, CountDownBB, VKWigets, TimeHeader.
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 17 лет 4 месяца
Откуда: Калининград не Кенигсберг
Благодарил (а): 41 раз
Поблагодарили: 1716 раз

Re: Тестирование расширений в превалидаторе

Сообщение Sheer »

deadromeo писал(а):Если не ошибаюсь
Ошибаешься.
deadromeo писал(а):как то не логично
Логично. Но не соответствует рекомендациям по написанию кода --> Руководство по написанию программного кода .
Всегда ставьте фигурные скобки:
Это еще один случай, когда не напечатанные из-за лени два дополнительных символа ухудшают читаемость кода. Даже если тело какой-то конструкции состоит всего из одной строки, не опускайте скобки. Ни в коем случае!
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
deadromeo
phpBB 2.0.0
Сообщения: 237
Стаж: 13 лет 1 месяц
Благодарил (а): 12 раз
Поблагодарили: 35 раз
Забанен: Бессрочно

Re: Тестирование расширений в превалидаторе

Сообщение deadromeo »

Sheer писал(а):Ошибаешься.

Примем к сведенью, я то думал всегда так, фигурные скобки после if(условие), оказывается всего лишь правила написания кода, а не пунктуации его же
Мои расширения: TopicLinks, TopicDesc, BannedUser, AllowedExt, NumPosts, PMRead, GoogleTranslator, BoardStartDate, CountDownBB, VKWigets, TimeHeader.
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 17 лет 4 месяца
Откуда: Калининград не Кенигсберг
Благодарил (а): 41 раз
Поблагодарили: 1716 раз

Re: Тестирование расширений в превалидаторе

Сообщение Sheer »

deadromeo писал(а):всего лишь правила написания кода
Обратно не так.
Попробуй выполнить все эти три кода

Код: Выделить всё

<?php
$a=4;
$b = 4;
if ($b > $a);
	print "Ok<br />";
	print "B more than b";
?>

Код: Выделить всё

<?php
$a=2;
$b = 4;
if ($b > $a)
	print "Ok $a $b<br />";
	print "B less than b";
?>

Код: Выделить всё

<?php
$a=2;
$b = 4;
if ($b > $a)
{	
	print "Ok<br />";
	print "B more than b";
}
?>
И почувствуй разницу
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Аватара пользователя
Борис Бердичевский
phpBB 3.0.0 RC1
Сообщения: 1457
Стаж: 16 лет 5 месяцев
Откуда: Израиль, Беэр-Шева
Благодарил (а): 33 раза
Поблагодарили: 61 раз

Re: Тестирование расширений в превалидаторе

Сообщение Борис Бердичевский »

Да, вот теперь валидация пройдена.
После нескольких лет общения здесь и техсопровождения форумов я наконец понял, что ничего не понимаю в phpBB!

Вернуться в «Для разработчиков»