Поскольку работаю в организации, ведающей собственной корпоративной сетью, в которой размещен корпоративный сайт, то приходится решать вопросы доступа сервера сайта к интернету через Proxy-сервер (чтобы меньше ручками обновлять). И в который раз пришлось решать проблему автоматической проверки версии и обновления расширений от известной команды разработчиков NoNumber! с использованием их NoNumber! Extension Manager.
Для работы NoNumber! Extension Manager через прокси-сервер необходимо внести следующие коррективы.
В файле administrator/components/com_nonumbermanager/models/model.php , отвечающем за скачивание обновлений, заменить:
CURLOPT_RETURNTRANSFER => true
на
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
CURLOPT_PROXY => 'Сетевой адрес прокси:Порт',
CURLOPT_PROXYUSERPWD => 'логин:пароль'
После:
JFile::write( $target, $content );
Добавить:
JFile::copy(JPATH_PLUGINS.DS.'system'.DS.'nonumberelements'.DS.'helper.php', JPATH_PLUGINS.DS.'system'.DS.'nonumberelements'.DS.'helper_.php');
}
if ( JFile::exists( JPATH_PLUGINS.DS.'system'.DS.'nonumberelements'.DS.'helpers'.DS.'licenses.php' ) ) {
JFile::copy( JPATH_PLUGINS.DS.'system'.DS.'nonumberelements'.DS.'helpers'.DS.'licenses.php', JPATH_PLUGINS.DS.'system'.DS.'nonumberelements'.DS.'helpers'.DS.'licenses_.php');
}
JFile::copy( JPATH_ADMINISTRATOR.DS.'components'.DS.'com_nonumbermanager'.DS.'models'.DS.'model.php', JPATH_ADMINISTRATOR.DS.'components'.DS.'com_nonumbermanager'.DS.'models'.DS.'model_.php');
А перед:
Добавить:
sleep(20);
JFile::move( JPATH_PLUGINS.DS.'system'.DS.'nonumberelements'.DS.'helper_.php', JPATH_PLUGINS.DS.'system'.DS.'nonumberelements'.DS.'helper.php');
JFile::move( JPATH_PLUGINS.DS.'system'.DS.'nonumberelements'.DS.'helpers'.DS.'licenses_.php', JPATH_PLUGINS.DS.'system'.DS.'nonumberelements'.DS.'helpers'.DS.'licenses.php');
JFile::move( JPATH_ADMINISTRATOR.DS.'components'.DS.'com_nonumbermanager'.DS.'models'.DS.'model_.php', JPATH_ADMINISTRATOR.DS.'components'.DS.'com_nonumbermanager'.DS.'models'.DS.'model.php');
Теперь переходим к файлу проверки версий plugins\system\nonumberelements\helper.php и меняем:
curl_setopt( $ch, CURLOPT_USERAGENT, 'some crazy browser' );
на
curl_setopt( $ch, CURLOPT_USERAGENT, 'some crazy browser' );
curl_setopt( $ch, CURLOPT_PROXY, 'сетевой адрес прокси:порт' );
curl_setopt( $ch, CURLOPT_PROXYUSERPWD, 'логин:пароль');
Ну и до кучи, так сказать, поправим файл plugins\system\nonumberelements\helpers\licenses.php (не знаю за что отвечающий, но полагаю, что нужный), а именно заменим:
CURLOPT_USERAGENT => "some crazy browser"
на
CURLOPT_USERAGENT => "some crazy browser",
CURLOPT_PROXY => 'сетевой адрес прокси:порт',
CURLOPT_PROXYUSERPWD => 'логин:пароль'
Comments
RSS feed for comments to this post