Новости 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

Вышел релиз Revo PageBuilder Toolkit for YOOtheme Pro 1.6

Вышел релиз Revo PageBuilder Toolkit for YOOtheme Pro 1.6.2PageBuilder Toolkit - это специализированный плагин для конструктора страниц Yootheme Pro, содержит набор различных утилит для ускорения процесса работы и отладки макета, множественные улучшения в интерфейсе, включая поддержку dark mode, подсказки, быстрая смена разрешения в окне просмотра и много чего еще.v.1.6.2 Что нового?- Индикатор статусов: теперь не просто показывает состояние запросов, но и делает автоматические попытки их отправки при кратковременных сбоях в сети, а если это не помогло, то переводит конструктор в ручной режим, что позволяет сохранит макет и настройки темы прежде чем вы потеряете все, что было сделано с момента последнего сохранения- Подсветка ошибок в макете: плагин анализирует код страницы и может автоматически подсвечивать data атрибуты с кучей мусора, которые попадают в код страницы при копипасте из Figma в TinyMCE (пригодится для старых макетов, в текущей работе плагин сам очищает код мусора). Также есть подсветка семантических ошибок сборки - дубли h1 тега на странице и вложенных друг в друга заголовков.- Улучшена поддержка будущего релиза Yootheme Pro 5 и редактора CodeMirror 6Плагин для русскоязычных пользователей доступен в каталоге расширений SovMart и распространяется за символическую плату (100р). Разработчики Joomla расширений и партнеры автора могут получить плагин бесплатно.Для работы плагина необходим конструктор страниц Yootheme Pro.Разработчик плагина - участник нашего сообщества Александр Судьбинов (@alexrevo), член официальной группы поддержки Yootheme Pro. Страница расширенияОписание на сайте автора@joomlafeed#joomla #yootheme

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

rom_4

  • Захожу иногда
  • 87
  • 4 / 0
Здравствуйте. Почти не разбираюсь в пшп, может кто хоть направление для действия подскажет.
В общем есть у меня сайт про онлайн игры, хочу туда прикрутить генератор ников навроде как реализовано здесь:http://onlinetoplist.com/nick.htm

Нашел пшп код в свободном доступе, т.е. фри. Но автор видно подразумевает что им будут пользоваться люди знающие... :'(

Куда мне засунуть этот код и как это дело вывести для показа на сайте? Хотяб примерно пути реализации если можно. Код привожу ниже:

Код
<?php
/*************************************************************
   * Генератор ников
   * http://BrokenBrake.biz/
*************************************************************/
  mb_internal_encoding('UTF-8');
 
  $q = $_GET['q'];
  $lang = $_GET['lang'];
  $num = $_GET['num']; // prefixGen | halfGluing | bcdReplace
  $type = $_GET['type'];
 
  $ru = false;
  if ($lang == 'ru')
      $ru = true;
  if (empty($num))
      $num = 5;
  if (empty($type))
      $type = 'prefixGen';
  if (empty($q))
      $q = 'test';
 
 
/*
function endsdel($word) // Глагольные окончания всякие
{
$ends = array(
'/тся$/u',
'/ться$/u',
'/ть$/u',
'/ся$/u',
'/аю$/u',
'/шь$/u',
'/сь$/u',
'/ют$/u',
'/и$/u');
return preg_replace($ends, '', $word);
}
*/
 
 
 
  function prefixGen($words, $ru)// Алгоритм добавления приставок
  {
      unset($words['halves1'], $words['halves2']);
      foreach ($words as $val) {
          $prefixes = 'su, do, du, de, un, pseudo, super, emo, hyper, mega, meta, nano, tera, anti, avia, porno, euro, bio, micro, uni, neo, conta, co-, in, mis, over, pre, post, re, sub';
          $end = $val;
          if ($ru) {
              $prefixes = 'недо, пере, во, вы, до, за, изо, ко, на, не, о, обо, ото, па, по, подо, пра, предо, про, разо, со, пре, при, мета, су, у, гипер, гипо, недопере, перенедо, ана, а, дека, гекто, кило, мега, гига, пета, экса, тера, микро, мини, милли, нано, пико, деци, йокто, йоби, киби, меби, гиби, теби, пеби, эксби, экс-, зеби, эрзац-, слабо, био, техно, страшно, переподвы, индо, евро, нагло, спорно, псевдо, сверх, супер, квази, лже, архи, де, анти, ультра, флудо, эмо, порно, глупо, умно, странно, обоюдо, нео, после, авиа, пай-, ебо, педо, уни, лакто, литро, нарко, вые, добро, снего, садо, абра, арабо, гидро, англо, педро, ибн-, сочно, трудо, грязно, ложно, переподвы, худо, ржачно, любо, мило, крико, синхро, психо, водо, фигня, круто, вольно, пара, паро, боле, астро, стерео, моно, сыро, мясо, нитро, зло, авто, мото, вело, кино, радио, ретро, трахо, сексо, вечно, потно, взрыво, криво, ядо, волно, фило, само, крупно, мелко, титько, жопо, гнуто, рабо, крио, аква, длинно, лаго, баго, блохо, макро, би, тетра, тупо, страхо, воро, бандито, сердито, вьюго, ветро, градо, между, токсо, токси, славно, бого, полу, полу, полу, нано, нано, лже, лже, эмо, эмо, эмо, микро, микро, псевдо, всевдо, квази, квази, нарко, евро, евро, ибн-, ибн-';
          }
          $prefixes = explode(', ', $prefixes);
          shuffle($prefixes);
          $prefix = $prefixes[0];
          $result[] = $prefix . $end;
      }
      return $result;
  }
 
 
 
  function halfGluing($words, $ru)// Алгоритм склейки половинок разных слов
  {
      shuffle($words['halves2']);
      foreach ($words['halves1'] as $key => $val) {
          $end = $words['halves2'][$key];
          $result[] = $val . $end;
      }
      return $result;
  }
 
 
  function bcdReplace($words, $ru) // Алгоритм замены согласных
  {
      unset($words['halves1'], $words['halves2']);
     
      function randl($letters)
      {
          shuffle($letters);
          return array_shift($letters);
      }
     
      function bcd($raw, $ru)
      {
          $letters = str_split('bcdfghklmnpqrstvwxz');
          if ($ru)
              $letters = explode(',', 'б,в,г,д,ж,з,к,л,м,н,р,с,ч,ш'); // Исключение некоторых букв повышает читаемость
          $temp = mb_split('1', $raw);
          foreach ($temp as $val) {
              $one = $val;
              if ($val == '0')
                  $one = randl($letters);
              $nick .= $one;
          }
          return $nick;
      }
     
      foreach ($words as $word) {
          $search = 'bcdfghklmnpqrstvwxz';
          if ($ru)
             $search = 'бвгджзклмнпрстфхцчшщ';
          $raw = preg_replace("/[$search]/u", '101', $word);
          $result[] = bcd($raw, $ru);
      }
      return $result;
  }
 
// $base = unserialize(file_get_contents("base.txt")); // Удобно для тестирования
$base = unserialize(
file_get_contents("http://pipes.yahoo.com/pipes/pipe.run?_id=2e234671cafed4492b6f560a4d9d0ddb&_render=php&int=4-12&lang=$lang&q=$q")
);
$words = $base['value']['items'];
 
 
  foreach ($words as $val) {
      $word = $val['title'];
      $justwords[] = $word;
      $lesshalf = '{' . floor(mb_strlen($word) * 0.4). '}';
      $ready = 'бвгджзклмнпрстфхцчшщbcdfghklmnpqrstvwxz';
      preg_match_all("/(^.$lesshalf.*[$ready])(.*$)/Uu", $word, $halves);
      $justwords['halves1'][] = $halves[1][0];
      $justwords['halves2'][] = $halves[2][0];
  }
 
 
  $nicknames = $type($justwords, $ru);
  shuffle($nicknames);
  $result = array_slice($nicknames, 0, $num);
  if (!empty($result)) {
      echo join(', ', $result);
  } else {
      echo 'error';
  }

Заранее спасибо всем кто откликнется. Подозреваю что сложного ничего нет, но чего-то я туплю...
*

AlexSmirnov

  • Завсегдатай
  • 1862
  • 272 / 16
  • Ищите и найдете
действительно, ничего сложного.

0 установить плагин, позволяющий вписывать скрипты в модули
1 создать произвольный модуль HTML
2 скопировать в него код скрипта
3 назначить модулю позицию по Вашему предпочтению
# Back the fufalo (особенно ту самую столкершу)! #
# ВАЖНО! Кайфую от удаления присланного в личку спама, почти как от любви (особенно по выходным). #
*

rom_4

  • Захожу иногда
  • 87
  • 4 / 0
действительно, ничего сложного.

0 установить плагин, позволяющий вписывать скрипты в модули
1 создать произвольный модуль HTML
2 скопировать в него код скрипта
3 назначить модулю позицию по Вашему предпочтению

0 установить плагин, позволяющий вписывать скрипты в модули

Не могли бы вы подсказать название плагина?

1 создать произвольный модуль HTML

Я так понимаю что-то вроде папки mod_mymodyl  с файлом внутри index.html где и будет находится код? или я неправильно понимаю ситуацию?
Если не так, то можно немного подробнее?
Спасибо.
*

rom_4

  • Захожу иногда
  • 87
  • 4 / 0
Видать чего то я не то писанул...никто ответить не захотел)))
*

AlexSmirnov

  • Завсегдатай
  • 1862
  • 272 / 16
  • Ищите и найдете
для включения скриптов РНР в содержание сайта (включая модули) рекомендую использовать плагин Sourcerer

# Back the fufalo (особенно ту самую столкершу)! #
# ВАЖНО! Кайфую от удаления присланного в личку спама, почти как от любви (особенно по выходным). #
*

rom_4

  • Захожу иногда
  • 87
  • 4 / 0
4webspot

Спасибо, буду пробовать освоить.
*

rom_4

  • Захожу иногда
  • 87
  • 4 / 0
Вроде разобрался что к чему ;) Долго голову ломал, а как оказалось код генератора ников где-то видно или с ошибкой или надо еще чего-то до него. Нашел сайт и там несколько кодов, так вот ни один не захотел работать. Может это и не по теме и не по профилю Joomla, но обращусь, вдруг кому не трудно будет. Сайт с кодами тут: http://bomlenta.blogspot.com/2009/07/14.html

А сами коды ниже, может можно выбрать что-то из этого и интегрировать с Joomla...

Первое:
Код
<?php
/*************************************************************
   * Генератор ников
   * http://BrokenBrake.biz/
*************************************************************/
  mb_internal_encoding('UTF-8');
 
  $q = $_GET['q'];
  $lang = $_GET['lang'];
  $num = $_GET['num']; // prefixGen | halfGluing | bcdReplace
  $type = $_GET['type'];
 
  $ru = false;
  if ($lang == 'ru')
      $ru = true;
  if (empty($num))
      $num = 5;
  if (empty($type))
      $type = 'prefixGen';
  if (empty($q))
      $q = 'test';
 
 
/*
function endsdel($word) // Глагольные окончания всякие
{
$ends = array(
'/тся$/u',
'/ться$/u',
'/ть$/u',
'/ся$/u',
'/аю$/u',
'/шь$/u',
'/сь$/u',
'/ют$/u',
'/и$/u');
return preg_replace($ends, '', $word);
}
*/
 
 
 
  function prefixGen($words, $ru)// Алгоритм добавления приставок
  {
      unset($words['halves1'], $words['halves2']);
      foreach ($words as $val) {
          $prefixes = 'su, do, du, de, un, pseudo, super, emo, hyper, mega, meta, nano, tera, anti, avia, porno, euro, bio, micro, uni, neo, conta, co-, in, mis, over, pre, post, re, sub';
          $end = $val;
          if ($ru) {
              $prefixes = 'недо, пере, во, вы, до, за, изо, ко, на, не, о, обо, ото, па, по, подо, пра, предо, про, разо, со, пре, при, мета, су, у, гипер, гипо, недопере, перенедо, ана, а, дека, гекто, кило, мега, гига, пета, экса, тера, микро, мини, милли, нано, пико, деци, йокто, йоби, киби, меби, гиби, теби, пеби, эксби, экс-, зеби, эрзац-, слабо, био, техно, страшно, переподвы, индо, евро, нагло, спорно, псевдо, сверх, супер, квази, лже, архи, де, анти, ультра, флудо, эмо, порно, глупо, умно, странно, обоюдо, нео, после, авиа, пай-, ебо, педо, уни, лакто, литро, нарко, вые, добро, снего, садо, абра, арабо, гидро, англо, педро, ибн-, сочно, трудо, грязно, ложно, переподвы, худо, ржачно, любо, мило, крико, синхро, психо, водо, фигня, круто, вольно, пара, паро, боле, астро, стерео, моно, сыро, мясо, нитро, зло, авто, мото, вело, кино, радио, ретро, трахо, сексо, вечно, потно, взрыво, криво, ядо, волно, фило, само, крупно, мелко, титько, жопо, гнуто, рабо, крио, аква, длинно, лаго, баго, блохо, макро, би, тетра, тупо, страхо, воро, бандито, сердито, вьюго, ветро, градо, между, токсо, токси, славно, бого, полу, полу, полу, нано, нано, лже, лже, эмо, эмо, эмо, микро, микро, псевдо, всевдо, квази, квази, нарко, евро, евро, ибн-, ибн-';
          }
          $prefixes = explode(', ', $prefixes);
          shuffle($prefixes);
          $prefix = $prefixes[0];
          $result[] = $prefix . $end;
      }
      return $result;
  }
 
 
 
  function halfGluing($words, $ru)// Алгоритм склейки половинок разных слов
  {
      shuffle($words['halves2']);
      foreach ($words['halves1'] as $key => $val) {
          $end = $words['halves2'][$key];
          $result[] = $val . $end;
      }
      return $result;
  }
 
 
  function bcdReplace($words, $ru) // Алгоритм замены согласных
  {
      unset($words['halves1'], $words['halves2']);
     
      function randl($letters)
      {
          shuffle($letters);
          return array_shift($letters);
      }
     
      function bcd($raw, $ru)
      {
          $letters = str_split('bcdfghklmnpqrstvwxz');
          if ($ru)
              $letters = explode(',', 'б,в,г,д,ж,з,к,л,м,н,р,с,ч,ш'); // Исключение некоторых букв повышает читаемость
          $temp = mb_split('1', $raw);
          foreach ($temp as $val) {
              $one = $val;
              if ($val == '0')
                  $one = randl($letters);
              $nick .= $one;
          }
          return $nick;
      }
     
      foreach ($words as $word) {
          $search = 'bcdfghklmnpqrstvwxz';
          if ($ru)
             $search = 'бвгджзклмнпрстфхцчшщ';
          $raw = preg_replace("/[$search]/u", '101', $word);
          $result[] = bcd($raw, $ru);
      }
      return $result;
  }
 
// $base = unserialize(file_get_contents("base.txt")); // Удобно для тестирования
$base = unserialize(
file_get_contents("http://pipes.yahoo.com/pipes/pipe.run?_id=2e234671cafed4492b6f560a4d9d0ddb&_render=php&int=4-12&lang=$lang&q=$q")
);
$words = $base['value']['items'];
 
 
  foreach ($words as $val) {
      $word = $val['title'];
      $justwords[] = $word;
      $lesshalf = '{' . floor(mb_strlen($word) * 0.4). '}';
      $ready = 'бвгджзклмнпрстфхцчшщbcdfghklmnpqrstvwxz';
      preg_match_all("/(^.$lesshalf.*[$ready])(.*$)/Uu", $word, $halves);
      $justwords['halves1'][] = $halves[1][0];
      $justwords['halves2'][] = $halves[2][0];
  }
 
 
  $nicknames = $type($justwords, $ru);
  shuffle($nicknames);
  $result = array_slice($nicknames, 0, $num);
  if (!empty($result)) {
      echo join(', ', $result);
  } else {
      echo 'error';
  }

Вариант 2 PHP-код генератора ников из латинского алфавита:
Код
<?php
/*************************************************
   http://BrokenBrake.biz/
   http://pipes.yahoo.com/exp30/wordsfetcher
*************************************************/

$q = $_GET['q'];
$min = $_GET['min'];
$max = $_GET['max'];

$words = unserialize(
file_get_contents("http://pipes.yahoo.com/pipes/pipe.run?_id=UgbtTtN23hGx5Yj4U1y0Jw&_render=php&int=$min-$max&lang=en&q=$q")
);

$words = $words['value']['items'];
shuffle($words); $item= array_shift($words);

$word = $item['title'];

$letters = 'bcdfghklmnpqrstvwxz';
$rand = str_split($letters);
shuffle($rand); $randletters = join('', $rand);

$nick = strtr($word, $letters, $randletters);

echo $nick;

Вариант 3 Генератор ников на русском:
Код
<?php
/*************************************************
   http://BrokenBrake.biz/
   http://pipes.yahoo.com/exp30/wordsfetcher
   Вариант генерации русских читаемых ников
*************************************************/

$q = $_GET['q'];
$lang = $_GET['lang'];
$min = $_GET['min'];
$max = $_GET['max'];

$words = unserialize(
file_get_contents("http://pipes.yahoo.com/pipes/pipe.run?_id=UgbtTtN23hGx5Yj4U1y0Jw&_render=php&int=$min-$max&lang=$lang&q=$q")
);

$words = $words['value']['items'];
shuffle($words); $item= array_shift($words);

$word = $item['title'];

if ($lang == 'ru')
{
function randl()
{
$letters = explode(',', 'б,в,г,д,ж,з,к,л,м,н,п,р,с,т,ф,х,ц,ч,ш,щ');
shuffle($letters);
return array_shift($letters);
}
$word = preg_replace("/[бвгджзклмнпрстфхцчшщ]/u", 'xzx', $word);
$temp = mb_split('x', $word);

foreach ($temp as $val)
{
$one = $val;
if ($val == 'z') $one = randl();
$nick .= $one;
}
}
else
{
$letters = 'bcdfghklmnpqrstvwxz';
$rand = str_split($letters);
shuffle($rand); $randletters = join('', $rand);
$nick = strtr($word, $letters, $randletters);
}

echo $nick;

Пробовал в конце добавлять ?> но как-то не помогает, пшп практически не знаю. Помогите решить этот вопрос. Прогуглил уже не знаю сколько и чего...
*

rom_4

  • Захожу иногда
  • 87
  • 4 / 0
Интересный эффект вчера выявил при использовании плагина Sourcerer на Joomla 1.5. Буквально гуглил на днях эту тему, так по нету ничего похожего не описывается.

Короче дополнительный эффект от использования плагина Sourcerer заключается в том, что с его помощью можно выделять цветом (и не только) какой либо пункт в меню, используя его теги    {source}  {/source}
Например мне нужно выделить пункт меню "Генератор Ников" красным цветом и жирным начертанием. Я в том месте где задается название для пункта меню (он же Заголовок), прописываю:
{source}<b><font color="#FF0000"> Генератор Ников </font></b>{/source}
Готово! Ваша менюшка красненькая :)
(модераторы: может вынести этот рецепт куда-нибудь на видное место, а то здесь затеряется?)

P.S. Оказывается у этого рецепта есть побочный эффект. Меню сайта где использован этот параметр, некорректно работают в IE,не отображает открываемую страницу,  поэтому для кого важны все пользователи то придется отказаться от этой штуки.

 !  ! А теперь еще раз спрошу: если никто не может помочь мне с кодом по генератору ников, может у кого на компе завалялся другой готовый код Генератора ников для вставки на страницу сайта? Заранее спасибо всем кто откликнется.
« Последнее редактирование: 27.07.2010, 16:28:34 от rom_4 »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Компонент Commedia (неизвестный конфликт на сайте)

Автор Методист

Ответов: 2
Просмотров: 3661
Последний ответ 06.11.2022, 07:25:57
от ecolora
Модуль IPrice Popup News - всплывающая новость на сайте

Автор radius

Ответов: 3
Просмотров: 1596
Последний ответ 18.08.2019, 15:04:13
от radius
JCH Optimize на сайте - не открыть админку плагина: временно недоступна или перемещена на новый веб-

Автор Beer

Ответов: 7
Просмотров: 2033
Последний ответ 17.10.2016, 21:35:47
от Beer
Модуль«Кто на сайте»

Автор Doctor Death

Ответов: 0
Просмотров: 1019
Последний ответ 23.04.2016, 23:34:39
от Doctor Death
Новости на сайте выводятся с задержкой

Автор andriy1980

Ответов: 4
Просмотров: 1405
Последний ответ 24.11.2015, 08:46:59
от Alex GOOD