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

kisBoss

  • Захожу иногда
  • 449
  • 36 / 0
  • ник Tobol
Ни у кого не было такого? Использую плагин Яндекс карт старой версии, он у меня работает на всех браузерах, кроме Internet Explorer. Ссылка http://www.tobtovar.ru/sputnikovaya-karta-tobolska. Сам плагин можно скачать здесь http://webmap-blog.ru/files/soft/plg_ymap01.zip.
Я не хочу устанавливать сам компонент Яндекс карт, так как мне не нужно добавление меток, а нужно чтобы всегда показвался один и тот же город, как сейчас. Новых плагинов с такой же настройкой я не нашел, тем более официальный сайт похоже уже этим не занимается www.yar-it.com.
Помогите настроить плагин под Internet Explorer. Может подскажите в чем проблема.
Выкладываю сами файлы:

Это  код из файла  plugin_yandexmap.php

Цитировать
<?php
   defined( '_JEXEC' ) or die( 'Restricted access' );
   
   $mainframe->registerEvent( 'onBeforeDisplayContent', 'plgContentYMap' );

   function plgContentYMap ( &$row, &$params, $page=0 )
   {
      $plugin =& JPluginHelper::getPlugin('content', 'plugin_yandexmap');
      $pluginParams = new JParameter( $plugin->params );
      
      preg_match_all('/\{ymap\s*([^}]*)}/',$row->text,$matches,PREG_OFFSET_CAPTURE);
      $html = array();
      foreach ($matches[0] as $tag_num => $tag) {
         $html[$tag_num]['content'] = YMapProcessTag($matches[1][$tag_num][0], $pluginParams);
         $html[$tag_num]['offset'] = $tag[1];
         $html[$tag_num]['length'] = strlen($tag[0]);
      }
      
/*      echo "<pre>";
      print_r($html);
      echo "</pre>";      */
//      $row->text = preg_replace('/\{ymap\}/','***',$row->text);

      $str = & $row->text;
      
      foreach (array_reverse($html) as $part) {
         $str = substr_replace($str,$part['content'],$part['offset'],$part['length']);
         }
   
   }
   
   function YMapProcessTag(& $tag_params, & $plugin_params)
   {
      static $y_map_id = 0;
      
      preg_match_all('/(\S+)\s*=\s*(\S+)/',$tag_params, $matches);
      $my_params = array();
      foreach ($matches[1] as $num=>$key)
      {
         $my_params[$key] = $matches[2][$num];
      }
      
      $doc = & JFactory::getDocument();
      
      foreach ($plugin_params->toArray() as $p_name => $p_value) {
         if (!isset($my_params[$p_name]))
            $my_params[$p_name] = $p_value;
      }
      
      if ($y_map_id === 0) {
         $doc->addScript('http://api-maps.yandex.ru/1.0/index.xml?key='.$my_params['apiKey']);
      }
      
      $my_params['mapType'] = strtolower($my_params['mapType']);
      
      switch ($my_params['mapType']) {
         case 'map':
            $map_type = 'map.setType(YMaps.MapType.MAP);';
            break;
         case 'satellite':
            $map_type = 'map.setType(YMaps.MapType.SATELLITE);';
            break;
         case 'hybrid':
            $map_type = 'map.setType(YMaps.MapType.HYBRID);';
            break;
         default:
               $map_type = '';
      }
      
      $my_params['zoomType'] = strtolower($my_params['zoomType']);
      
      switch ($my_params['zoomType']) {
         case 'large':
            $zoom_type = 'var zoomControl = new YMaps.Zoom();';
            break;
         case 'small':
            $zoom_type = 'var zoomControl = new YMaps.SmallZoom();';
            break;
         default:
            $zoom_type = '';
            break;
      }
      
      if (!empty($zoom_type)) {
         $zoom_type .= "\nmap.addControl(zoomControl);";
      }
      
      if (intval($my_params['showMapType'])) {
         $typeControl = 'var typeControl = new YMaps.TypeControl();';
         $typeControl .= 'map.addControl(typeControl);';
      } else {
         $typeControl = '';
      }

                if (intval($my_params['showToolBar'])) {
         $toolbarControl = 'var toolbarControl = new YMaps.ToolBar();';
         $toolbarControl .= 'map.addControl(toolbarControl);';
      } else {
         $toolbarControl = '';
      }
      
      if (intval($my_params['showMiniMap'])) {
         $mmControl = 'var minimapControl = new YMaps.MiniMap();';
         $mmControl .= 'map.addControl(minimapControl);';
      } else {
         $mmControl = '';
      }
      
      if (intval($my_params['scrollZoom'])) {
         $scrollZoom = 'map.enableScrollZoom();';
      } else {
         $scrollZoom = 'map.disableScrollZoom();';
      }
      
      if (intval($my_params['dblClickZoom'])) {
         $dblClickZoom = 'map.enableDblClickZoom();';
      } else {
         $dblClickZoom = 'map.disableDblClickZoom();';
      }
      
      $placemarks = '';
      for ($i = 0; $i < 2; $i++) {
         if (!isset($my_params['placemark_enabled_'.$i])) break;
         
         $placemark_enabled = $my_params['placemark_enabled_'.$i];
         if (!$placemark_enabled) continue;
         
         $placemark_lat = $my_params['placemark_lat_'.$i];
         $placemark_lon = $my_params['placemark_lon_'.$i];
         $placemark_content = $my_params['placemark_content_'.$i];
         $placemark_open = intval($my_params['placemark_open_'.$i]);
         $placemark_ballon = $my_params['placemark_ballon_'.$i];
         
         $placemarks .= 'var placemark_'.$i.' = new YMaps.Placemark(new YMaps.GeoPoint('.$placemark_lon.', '.$placemark_lat.'));';
         
         if (!empty($placemark_content))
            $placemarks .= "\n".'placemark_'.$i.'.setIconContent("'.addslashes($placemark_content).'");';
         
         $placemarks .= "\n".'map.addOverlay(placemark_'.$i.');';
         $placemarks .= "\n".'placemark_'.$i.'.setBalloonContent("'.addslashes($placemark_ballon).'");';
         
         if ($placemark_open) {
            $placemarks .= "\n".'placemark_'.$i.'.openBalloon();';
         }
      }
      
      $j_content = '
      window.addEvent(\'domready\', function() {
               var map = new YMaps.Map(document.getElementById("YMaps_'.$y_map_id.'"));
            center = new YMaps.GeoPoint('.$my_params['lon'].', '.$my_params['lat'].');
               map.setCenter(center, '.$my_params['zoom'].');
            '.$map_type.'
            '.$zoom_type.'
            '.$typeControl.'
                                '.$toolbarControl.'
            '.$mmControl.'
            '.$scrollZoom.'
            '.$dblClickZoom.'
            '.$placemarks.'
         }
      )
      ';
      
      $doc->addScriptDeclaration($j_content);
      $content = '';
      $content .= '<div id="YMaps_'.$y_map_id.'" style="width:'.$my_params['width'].'; height: '.$my_params['height'].';"></div>';
      
      $y_map_id += 1;
      return $content;
   }
?>


Это файл plugin_yandexmap.xml
Цитировать
<?xml version="1.0" encoding="utf-8"?>
<install version="1.5" type="plugin" group="content" method="upgrade">
   <name>Content - Yandex Maps</name>
   <author>Evgeny Marchenko</author>
   <creationDate>February 2009</creationDate>
   <copyright>(C) 2008</copyright>
   <license>Private</license>
   <authorEmail>xengine@mail.ru</authorEmail>
   <authorUrl>freedom-ru.net</authorUrl>
   <version>0.1</version>
   <description>DESCRIPTION YMAP</description>
   <files>
      <filename plugin="plugin_yandexmap">plugin_yandexmap.php</filename>
   </files>
   <languages>
     <language tag="ru-RU">ru-RU.plg_content_plugin_yandexmap.ini</language>
   </languages>
      <params>
<!--      <param name="timeinterval" type="text" size= "4" default="500" label="Timeinterval" description="To show the map a timeinterval in ms is done to wait for the page is loaded correctly (default 500ms). Especially for IE this can prevent a fatal error." />-->
      <param name="apiKey" type="text" size= "40" default="" label="YMAP_API" description="YMAP_API_D" />
      <param name="width" type="text" size= "10" default="100%" label="YMAP_WIDTH" description="YMAP_WIDTH_D" />
      <param name="height" type="text" size= "10" default="400px" label="YMAP_HEIGHT" description="YMAP_HEIGHT_D" />
      <param name="lat" type="text" size= "15" default="57.577674" label="YMAP_LAT" description="YMAP_LAT_D" />
      <param name="lon" type="text" size= "15" default="39.831767" label="YMAP_LON" description="YMAP_LON_D" />
      <param name="zoom" type="list" size= "2" default="10" label="YMAP_ZOOM" description="YMAP_ZOOM_D">
      <option value="17">17</option>
      <option value="16">16</option>
      <option value="15">15</option>
      <option value="14">14</option>
      <option value="13">13</option>
      <option value="12">12</option>
      <option value="11">11</option>
      <option value="10">10</option>
      <option value="9">9</option>
      <option value="8">8</option>
      <option value="7">7</option>
      <option value="6">6</option>
      <option value="5">5</option>
      <option value="4">4</option>
      <option value="3">3</option>
      <option value="2">2</option>
      <option value="1">1</option>
      </param>
      <param name="zoomType" type="radio" size= "5" default="Large" label="YMAP_ZOOMTYPE" description="YMAP_ZOOMTYPE_D">
      <option value="Large">YMAP_ZOOMTYPE_N</option>
      <option value="Small">YMAP_ZOOMTYPE_S</option>
      <option value="None">YMAP_ZOOMTYPE_O</option>
      </param>
<!--      <param name="zoomNew" type="radio" size= "1" default="0" label="Doubleclick and Continues zoom" description="Give the use doubleclick zoom and smooth zooming?">
      <option value="1">Yes</option>
      <option value="0">No</option>
      </param>
      <param name="zoomWheel" type="radio" size= "1" default="0" label="Mousewheel zoom" description="Zoom map with mousewheel?">
      <option value="1">Yes</option>
      <option value="0">No</option>
      </param>-->
      <param name="mapType" type="radio" size= "9" default="Normal" label="YMAP_MAPTYPE" description="YMAP_MAPTYPE">
      <option value="Map">YMAP_MAPTYPE_S</option>
      <option value="Satellite">YMAP_MAPTYPE_SP</option>
      <option value="Hybrid">YMAP_MAPTYPE_G</option>
      </param>
      <param name="showMapType" type="radio" size= "1" default="1" label="YMAP_SHOWMAPTYPE" description="YMAP_SHOWMAPTYPE_D">
      <option value="1">YMAP_YES</option>
      <option value="0">YMAP_NO</option>
      </param>
                <param name="showToolBar" type="radio" size= "1" default="0" label="YMAP_SHOWTOOLBAR" description="YMAP_SHOWTOOLBAR_D">
      <option value="1">YMAP_YES</option>
      <option value="0">YMAP_NO</option>
      </param>
      <param name="showMiniMap" type="radio" size= "1" default="0" label="YMAP_SHOWMINIM" description="YMAP_SHOWMINIM_D">
      <option value="1">YMAP_YES</option>
      <option value="0">YMAP_NO</option>
      </param>
      <param name="scrollZoom" type="radio" size= "1" default="1" label="YMAP_SCROLLZOOM" description="YMAP_SCROLLZOOM_D">
         <option value="1">YMAP_YES</option>
         <option value="0">YMAP_NO</option>
      </param>
      <param name="dblClickZoom" type="radio" size= "1" default="1" label="YMAP_DBLCLIKZ" description="YMAP_DBLCLIKZ_D">
         <option value="1">YMAP_YES</option>
         <option value="0">YMAP_NO</option>
      </param>
   
      <param name="@spacer" type="spacer" default="" label="YMAP_SPASER" description="YMAP_SPASER" />
      
      <param name="placemark_enabled_0" type="radio" size= "1" default="1" label="YMAP_PLACEMARK" description="YMAP_PLACEMARK_D">
         <option value="1">YMAP_YES</option>
         <option value="0">YMAP_NO</option>
      </param>
      
      <param name="placemark_lat_0" type="text" size= "15" default="57.577674" label="YMAP_LATPL" description="YMAP_LATPL_D" />
      <param name="placemark_lon_0" type="text" size= "15" default="39.831767" label="YMAP_LONPL" description="YMAP_LONPL_D" />
      
      <param name="placemark_content_0" type="text" default="Жми сюда!" label="YMAP_TEXT" description="YMAP_TEXT_D" />
      
      <param name="placemark_open_0" type="radio" size= "1" default="1" label="YMAP_OPENM" description="YMAP_OPENM_D">
         <option value="1">YMAP_YES</option>
         <option value="0">YMAP_NO</option>
      </param>
      
      <param name="placemark_ballon_0" type="textarea" rows="3" cols="30" default="&lt;h3&gt;Привет, Joomla пользователь&lt;h3&gt;" label="YMAP_CONT" description="YMAP_CONT_D" />
      
      <param name="@spacer" type="spacer" default="" label="" description="" />
      
      <param name="placemark_enabled_1" type="radio" size= "1" default="1" label="YMAP_PLACEMARK" description="YMAP_PLACEMARK_D">
         <option value="1">YMAP_YES</option>
         <option value="0">YMAP_NO</option>
      </param>
      
      <param name="placemark_lat_1" type="text" size= "15" default="57.577674" label="YMAP_LATPL" description="YMAP_LATPL_D" />
      <param name="placemark_lon_1" type="text" size= "15" default="39.831767" label="YMAP_LONPL" description="YMAP_LONPL_D" />
      
      <param name="placemark_content_1" type="text" default="Жми сюда!" label="YMAP_TEXT" description="YMAP_TEXT_D" />
      
      <param name="placemark_open_1" type="radio" size= "1" default="1" label="YMAP_OPENM" description="YMAP_OPENM_D">
         <option value="1">YMAP_YES</option>
         <option value="0">YMAP_NO</option>
      </param>
      
      <param name="placemark_ballon_1" type="textarea" rows="3" cols="30" default="&lt;h3&gt;Привет, Joomla пользователь&lt;h3&gt;" label="YMAP_CONT" description="YMAP_CONT_D" />
   </params>
</install>
Если помог - поставте "плюс". Вам ничего не стоит, а мне приятно.
*

kisBoss

  • Захожу иногда
  • 449
  • 36 / 0
  • ник Tobol
Может кто-нибудь посоветует подобный плагин, только без компонента.
Если помог - поставте "плюс". Вам ничего не стоит, а мне приятно.
*

skai

  • Завсегдатай
  • 1198
  • 153 / 1
  • skaiseo
зачем вам плагин??   -  http://api.yandex.ru/maps/
Наполнение вашего сайта - 1т.р. стр. (текст, изображения, мета, перелинковка). Гарантия высокого ранжирования. SEO консультация в подарок.
----------------------------------------------------------------------------------------------
*

kisBoss

  • Захожу иногда
  • 449
  • 36 / 0
  • ник Tobol
Почему то проблема исчезла после оптимизации базы данных.
Если помог - поставте "плюс". Вам ничего не стоит, а мне приятно.
*

skai

  • Завсегдатай
  • 1198
  • 153 / 1
  • skaiseo
и всё таки.. нафига использовать плагин когда есть http://api.yandex.ru/maps/  ..или вы простых путей не ищете ))
Наполнение вашего сайта - 1т.р. стр. (текст, изображения, мета, перелинковка). Гарантия высокого ранжирования. SEO консультация в подарок.
----------------------------------------------------------------------------------------------
*

kisBoss

  • Захожу иногда
  • 449
  • 36 / 0
  • ник Tobol
Выше я писал, что проблема ушла из-за оптимизации баз - я ошибся. проблема осталась. Оказывается карта появляется на Internet Explorer только когда у меня в антивирусе Касперском включена функция "Антибаннер". Вы с таким не сталкивались? Мне кажется это чушь какая-то. Включил плагин
Mootools Upgrade и проблема моя исчезла.
А плагином пользуюсь потому что не знаю как настроить карту по коду, чтобы там не было ничего лишнего, только то, что мне нужно.
« Последнее редактирование: 26.04.2011, 20:15:53 от kisBoss »
Если помог - поставте "плюс". Вам ничего не стоит, а мне приятно.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Плагин "Русская типографика"

Автор Physicist

Ответов: 261
Просмотров: 158489
Последний ответ 13.03.2025, 20:06:50
от Olg
Мастерю плагин для админки - оплата налом или по карте при самовывозе

Автор kkmspb

Ответов: 0
Просмотров: 1649
Последний ответ 27.08.2024, 15:39:37
от kkmspb
Плагин LVSpoiler - спойлеры с динамической загрузкой изображений

Автор Arkadiy

Ответов: 449
Просмотров: 104569
Последний ответ 20.04.2024, 21:10:33
от Beer
Модуль «Image Show gk4», не отображается ни картинка, ни текст

Автор kaasin

Ответов: 1
Просмотров: 3959
Последний ответ 13.05.2023, 15:42:15
от anastasya96
Плагин StopKids для маркировки сайта знаком 18+ для Joomla 1.5-3.x

Автор ecolora

Ответов: 40
Просмотров: 23441
Последний ответ 19.03.2023, 18:55:08
от ecolora