2012-05-18 2 views
0

Есть ли какой-либо плагин для joomla 2.5 для встраивания кода из репозитория github. Для wordpress есть плагин для достижения того же (http://wordpress.org/extend/plugins/github-code-viewer-2/). Я хотел бы включать в себя код из моего репозитория GitHub в мои Joomla/k2 статей, используя что-то вродеПлагин Joomla для отображения github-кода в статьях

{github url='https://github.com/jamescarr/spring-integration/blob/master/spring-integration-file/src/main/java/org/springframework/integration/file/filters/AbstractFileListFilter.java'} 

Глядя на в.ч. плагин я думал написать свой собственный Joomla плагин, но WP плагин использует * wp_remote_fopen * и я не нашел такую ​​же функцию в joomla и прочитал некоторые статьи об уязвимостях, используя такие функции remote_open. Вот что WP плагин делает

function getGitHubFile($url, $ttl = null){ 
     self::__loadCache($url, $ttl); 

     if (isset(self::$cache[$url])) { 
      $code = self::$cache[$url]; 
     } else { 
      $code = wp_remote_fopen($url . '?raw=true'); 
      if ($code == '') { 
       return 'You need cURL installed to use GitHub_Code_Viewer'; 
      } 
      $code = str_replace('<', '&lt;', $code); 
      self::__setCache($url, $code); 
     } 

     return $code; 
    } 
+1

Метод wp_remote_fopen Wordpress эквивалентен использованию cURL в Joomla. Посмотрите на php.net для получения информации о том, как это использовать. Если cURL отключен на сервере, попробуйте с помощью функции fopen() или file_get_contents(); – Stilero

+0

У нас есть joomla api для того же, а не с помощью php api? – springpress

+0

Не то, чтобы я знал. Классы JFile предназначены только для локальных файлов. – Stilero

ответ

0

Вы можете попробовать с http://darcyclarke.me/dev/repojs/ мне удалось включить его в Группах статьи (путем включения яваскрипта кода непосредственно на странице), так что можно просмотрите репозиторий github из статьи joomla.

1

EDIT: Я исправил проблемы, упомянутые ниже &published a new plugin on github for Joomla 2.5 & 3.0 - плагин автор должен обновлять JED в ближайшее время.


Существует Github Repo плагин для Joomla 2.5 который использует repojs упоминаемый @ Жан-Мари Фавр.

Чтобы получить эту работу на Joomla 3 вам нужно отредактировать githubrepo.php & изменение:

if (version_compare(JVERSION, '3.0', '<') == 1) { 
     if($jquery){ 
       $document->addScript('//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js'); 
     } 
    } else { 
     JHtml::_('jquery.framework'); 
    } 

Чтобы просто JHtml::_('jquery.framework');

В зависимости от настроек вашего сервера вы также можете увидеть следующие ошибки в firebug :

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://raw.github.com/darcyclarke/Repo.js/master/fonts/repo.woff. 
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://raw.github.com/darcyclarke/Repo.js/master/fonts/repo.ttf. 

Enabling Cross Domain Requests не работал для меня, поэтому я исправил их, загрузив все шрифты в repo.js на мой веб-сервер & редактируя 4 пути в repo.js.