Новости 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 Гость просматривают эту тему.
  • 1 Ответов
  • 1600 Просмотров
*

Alepri

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Проблема у меня такая: я плохо знаю PHP.  :(

У меня есть компонент,  в котором пользователь может добавить URL вебсайта в случае, если еще такого URL не существует в БД.
В админке есть таблица компонента, в которой прописывается новый добавленный URL и с какого IP адреса он был добавлен. Так как этим компонентом, на моем сайте, могут пользоваться только зарегистрированные пользователи, мне необходимо знать, кто выполнил добавление нового URL, т.е. username и желательно e-mail (подобно как указывается в таблице User Manager) и прописывался в таблице моего компонента.

Просмотрев код компонента, я нашел следующее:
 
Построение таблицы в панели администратора: favic_style.php

Код
<?php
defined('_JEXEC') or die();
class Tablefavic_style extends JTable
{
  var $id =null; // int(11) NOT NULL auto_increment,
  var $ip = ''; // varchar(255) NOT NULL default ''
  var $url = ''; // varchar(255) NOT NULL default ''
 
       
  function __construct(&$db)
  {
  parent::__construct( '#__favic_style', 'id', $db );
  }
}

Я добавил еще одну строку:  (не знаю правильно ли значение varchar(255) NOT NULL default)

Код
var $username = '';	// varchar(255) NOT NULL default ''

В следующем файле я нашел функции для таблицы: photo.php

Код
JTable::addIncludePath(JPATH_COMPONENT_ADMINISTRATOR . DS . 'tables');
//create an instance of TableName class
$row = &JTable::getInstance('favic_style', 'table');
//use $row to make changes on Table999, these changes is maped to #__999
/* var $id =null; // int(11) NOT NULL auto_increment,
            var $ip = ''; // varchar(255) NOT NULL default ''
            var $url = ''; // varchar(255) NOT NULL default ''
            */

Здесь тоже добавил:
Код
var $username = '';	// varchar(255) NOT NULL default ''
Далее следует:
Код
$row->title 	= $title;
$row->ip = $this->getClientIp();
$row->url = $icon_link_url;
Добавляю: 
Код
$row->username    = $getUsername;

Дальше идут функции:

Код
	/**
*  valid URL
*
* @param string $str
* @return bool
*/
function isExistUrl($str) {
// $str = $this->standardizeUrl($str);
$db = JFactory::getDBO();
$query = 'SELECT COUNT(*)'
. ' FROM #__favic_style'
. ' WHERE `url`='.$db->quote($str)
;
$db->setQuery($query);
$isExist = $db->loadResult();

return ($isExist)? true : false;
}

function getClientIp() {
global $_SERVER;

if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$forwarded_ip_array = explode(',',$_SERVER['HTTP_X_FORWARDED_FOR']);
$client_ip = $forwarded_ip_array[count($forwarded_ip_array) - 1];
} else {
$client_ip = $_SERVER['REMOTE_ADDR'];
}
return $client_ip;
}

Здесь я попробовал задать функцию так:

Код
		function getUsername() {
$user = JFactory::getUser();
return $user->get('username');
}

После установки компонента в таблице есть раздел username. Я пробую добавлять URL, как зарегистрированный пользователь, но имя в таблице не прописалось.

Если кто разбирается в PHP,  помогите пожалуйста.  ^-^


*

Alepri

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Может, хотя-бы, кто нибудь посоветует, где мне обратиться с таким вопросом?  !
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Яндекс карты. Добавить &amp;quot;чтобы переместить карту проведите по ней двумя пальцами&amp;quot;

Автор safronoff343

Ответов: 1
Просмотров: 26587
Последний ответ 14.05.2025, 07:18:54
от Lemonez
Нужно ли такое расширение как оплата при самовывозе

Автор kkmspb

Ответов: 0
Просмотров: 1655
Последний ответ 30.08.2024, 08:06:23
от kkmspb
Формирование ссылок для компонента Joomla Tags

Автор stepan39

Ответов: 6
Просмотров: 3968
Последний ответ 05.02.2023, 15:22:13
от tweenpix
URL компонента меток

Автор tweenpix

Ответов: 0
Просмотров: 2112
Последний ответ 04.02.2023, 11:08:54
от tweenpix
Как добавить аддоны shortcode ultimate в sp page builder?

Автор chen

Ответов: 0
Просмотров: 3325
Последний ответ 23.07.2022, 10:16:40
от chen