Старый 20.08.2009, 13:34   #1
Специалист
 
Регистрация: 11.08.2008
Сообщений: 128
Вес репутации: 139
romagromov скоро станет известен
По умолчанию Красивый вывод ссылок модулем для Joomla

Вобщем есть такая задумка, нет знаний как ее реализовать.
В одной из веток товарищ Ufaweb предлагает выводить сслыки со скриншотами сайтов, что очень похоже на контекстную рекламу бегуна и кого-то еще. На одном из сайтов я вывожу ссылки именно так, получается красиво.
Вот его код:

это
PHP код:
echo $sape->return_links
заменяем на это
PHP код:
$sape_block '';
for(
$i=0$i<count($sape->_links_page); $i++){
    
$sape_text $sape->return_links(1);
    
$sape_link preg_replace('~.*<a[^>]+href="http://([^/\s"]+)[^\s"]*"[^>]*>.*~si''$1'$sape_text);
    
$sape_block.= '<tr valign="top"><td width="202" style="border:#cccccc solid 2px; padding:2px; margin:1px"><img src="http://images.websnapr.com/?url='.$sape_link .'" width="202" height="152" alt="Изображение '.$sape_link .'" align="left" /><span style="text-transform:capitalize">'.$sape_text.'</span></td></tr>';
}
if(
$sape_block!='')
    print 
'<table>'.$sape_block.'</table>';
else print 
$sape->return_links(); 
А теперь вопрос, как сделать так, чтобы на joomla выводить ссылки модулем также?

Вот код модуля:
PHP код:
<?php
/*
(c) Andrew J. Lutsenko, http://blog.yousoft.ru, http://soft.vomske.ru
*/

// ensure this file is being included by a parent file
defined'_JEXEC' ) or die( 'Direct Access to this location is not allowed.' );
//defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' );

$sp_sape_user         trim($params->get'sp_sape_user' ));
$sp_fetch_remote_type trim($params->get'sp_fetch_remote_type' ));
$sp_charset           trim($params->get'sp_charset' ));
$sp_redirect_url      trim($params->get'sp_redirect_url' ));
$sp_show_header       trim($params->get'sp_show_header' ));
$sp_debug_mode        trim($params->get'sp_debug_mode' ));
$sp_link_count        trim($params->get'sp_link_count' ));
$moduleclass_sfx      $params->get'moduleclass_sfx' );
$sp_hide_empty          trim($params->get'sp_hide_empty' ));
$sp_show_host         trim($params->get'sp_show_host' ));
$sp_show_host_text    trim($params->get'sp_show_host_text' ));
//$sp_server= $params->get( 'sp_server' );

$out_text='';

if (!
defined('MOD_SAPE_USER')){
  unset(
$sape_option);
  switch (
$sp_fetch_remote_type) {
    case 
"1" :
      
$sape_option['fetch_remote_type']= 'file_get_contents'
    break;
    case 
"2" :
      
$sape_option['fetch_remote_type']= 'curl'
    break;
    case 
"3" :
      
$sape_option['fetch_remote_type']= 'socket'
    break;
  }
  
  switch (
$sp_charset) {
    case 
"1" :
      
$sape_option['charset']= 'CP1251'
    break;
    case 
"2" :
      
$sape_option['charset']= 'UTF-8'
    break;
  }

  if (
$sp_show_host==='1' and isset($sp_show_host_text)){
    
$sape_option['host'] = $sp_show_host_text;
  }

  if (
$sp_redirect_url==='1' and isset($_SERVER['REDIRECT_URL'])){
    
$sape_option['request_uri'] = $_SERVER['REDIRECT_URL'];
  }

  if (
$sp_redirect_url==='2' and isset($_SERVER['SCRIPT_URL'])){
    
$sape_option['request_uri'] = $_SERVER['SCRIPT_URL'];
  }

  
//getenv('REQUEST_URI')
  
if ($sp_redirect_url==='3' and !is_null(getenv('REQUEST_URI'))){
    
$sape_option['request_uri'] = getenv('REQUEST_URI');
  }

  
  global 
$mod_sape_return_links;
  global 
$mod_sape_debug_count;
  
$mod_sape_debug_count=1;
  
  if (!
file_exists($_SERVER['DOCUMENT_ROOT'].'/'.$sp_sape_user.'/sape.php')){
    
$out_text.="<h1>Внимание!!! Файл sape.php не обнаружен. Проверьте правильность установки кода Sape.</h1>";
  } else {

    
define('MOD_SAPE_USER'$sp_sape_user);
    if (!
defined('_SAPE_USER')){
        
define('_SAPE_USER'$sp_sape_user);
    }

    require_once(
$_SERVER['DOCUMENT_ROOT'].'/'._SAPE_USER.'/sape.php');

    if (isset(
$sape_option)) {
      
$mod_sape_return_links = new SAPE_client($sape_option);
    } else{
      
$mod_sape_return_links = new SAPE_client();
    }
  }

  
  }else{
  global 
$mod_sape_return_links;

  if (!isset(
$mod_sape_return_links))
  {
    if (isset(
$sape_option))
    {
        
$mod_sape_return_links = new SAPE_client($sape_option);
    } else
    {
        
$mod_sape_return_links = new SAPE_client();
    }
  }

  global 
$mod_sape_debug_count;

  if (!isset(
$mod_sape_debug_count)) $mod_sape_debug_count 1; else
  
$mod_sape_debug_count++;
}

  
  
  
  
  

if (
$sp_debug_mode==='1' or $sp_debug_mode==='2' or $sp_debug_mode==='3'){
  if (
$sp_link_count==='0'){
    
$sp_link_count_st='Все';
  } else{
    
$sp_link_count_st=$sp_link_count;
  }
  
$out_text.="<h1>Отладка Модуль №$mod_sape_debug_count Ссылок: $sp_link_count_st</h1>";
  
$out_text.='<p align="left">Проверка серверных путей: </p>';
  
$out_text.='<hr />';
  if (isset(
$sape_option['request_uri'])) {
    
$out_text.='<p align="left">Request_uri сформирован и передается в модуль sape: <b>'.$sape_option['request_uri'].'</b></p><hr />';
  }
  if (isset(
$_SERVER['REQUEST_URI'])) {
    
$out_text.='<p align="left">$_SERVER[\'REQUEST_URI\'] сформирован: <b>'.$_SERVER['REQUEST_URI'].'</b></p><hr />';
  }
  if (isset(
$_SERVER['REDIRECT_URL'])) {
    
$out_text.='<p align="left">$_SERVER[\'REDIRECT_URL\'] сформирован: <b>'.$_SERVER['REDIRECT_URL'].'</b></p><hr />';
  }
  if (isset(
$_SERVER['SCRIPT_URL'])) {
    
$out_text.='<p align="left">$_SERVER[\'SCRIPT_URL\'] сформирован: <b>'.$_SERVER['SCRIPT_URL'].'</b></p><hr />';
  }
  if (!
is_null(getenv('REQUEST_URI'))) {
    
$out_text.='<p align="left">getenv(\'REQUEST_URI\') сформирован: <b>'.getenv('REQUEST_URI').'</b></p><hr />';
  }

  if (
$sp_debug_mode==='2' or $sp_debug_mode==='3'){
    
$sape_host='dispenser-01.sape.ru';
    
$path='/code.php?user='._SAPE_USER.'&host=' $_SERVER['HTTP_HOST'];
    
$user_agent='mod_sape Testing (http://soft.vomske.ru)';
    
$out_text.='<p align="left">Функция file_get_contents: <b>'.(function_exists('file_get_contents')==1?'Да':'Нет').'</b></p>';
    
$out_text.='<p align="left">Функция file_get_contents allow_url_fopen: <b>'.(ini_get('allow_url_fopen')==1?'Да':'Нет').'</b></p>';
    if (
function_exists('file_get_contents')==1){
      
$data = @file_get_contents('http://'.$sape_host.$path);
      
$out_text.='<p align="left">Проверка загрузки через file_get_contents: <b>'.($data?'Да':'Нет').' - '.strlen($data).'</b></p>';
    }
    
$out_text.='<hr />';

    
$out_text.='<p align="left">Функция curl_init: <b>'.(function_exists('curl_init')==1?'Да':'Нет').'</b></p>';
    if (
function_exists('curl_init')==1){
      
$data='';
      if (
$ch = @curl_init()) {
        @
curl_setopt($chCURLOPT_URL,              'http://' $sape_host $path);
        @
curl_setopt($chCURLOPT_HEADER,           false);
        @
curl_setopt($chCURLOPT_RETURNTRANSFER,   true);
        @
curl_setopt($chCURLOPT_CONNECTTIMEOUT,   30);
        @
curl_setopt($chCURLOPT_USERAGENT,        $user_agent);
        
$data = @curl_exec($ch);
        @
curl_close($ch);
      }
      
$out_text.='<p align="left">Проверка загрузки через curl_init: <b>'.($data?'Да':'Нет').' - '.strlen($data).'</b></p>';
    }
    
$out_text.='<hr />';

    
$out_text.='<p align="left">Функция fsockopen: <b>'.(function_exists('fsockopen')==1?'Да':'Нет').'</b></p>';
    if (
function_exists('fsockopen')==1){
      
$data='';
      
$buff '';
      
$fp = @fsockopen($sape_host80$errno$errstr30);
      if (
$fp) {
        @
fputs($fp"GET {$path} HTTP/1.0\r\nHost: {$sape_host}\r\n");
        @
fputs($fp"User-Agent: {$user_agent}\r\n\r\n");
        while (!@
feof($fp)) {
          
$buff .= @fgets($fp128);
        }
        @
fclose($fp);
        
$page explode("\r\n\r\n"$buff);
        
$data=$page[1];
      }
      
$out_text.='<p align="left">Проверка загрузки через fsockopen: <b>'.($data?'Да':'Нет').' - '.strlen($data).'</b></p>';
    }
    
$out_text.='<hr />';
  }
  if (
$sp_debug_mode==='3'){
    
$out_text.='<pre>';
    
$out_text.='_ENV '.print_r($_ENV,true);
    
$out_text.='_SERVER '.print_r($_SERVER,true);
    
$out_text.='</pre>';
  }

}
  unset(
$sape_option);

if (
defined('MOD_SAPE_USER')){
    if (
$sp_link_count==='0'){
        
$echo_link=$mod_sape_return_links->return_links(); 
    } else{
        
$echo_link=$mod_sape_return_links->return_links($sp_link_count); 
    }
}

if ((
$sp_hide_empty==='1') and preg_match("/^<!--.+-->$/",$echo_link)){
  
$echo_link='';
}

if (
$sp_charset===1){
  
$out_text=iconv('utf-8''cp1251'$out_text);
}

if (
$sp_show_header==='1'){
  if (
preg_match("/^<!--.+-->$/",$echo_link) or trim($echo_link)===''){
    
$out_text.=$echo_link;    
  } else{
    
$out_text.='<table cellpadding="0" cellspacing="0" class="moduletable'.$moduleclass_sfx.'"><tr><th valign="top">'.$module->title.'</th></tr>';
    
$out_text.='<tr><td>'.$echo_link.'</tr></td></table>';    
  }
}
else
{
  
$out_text.=$echo_link;    
}

echo 
$out_text;
?>
не могу понять куда его воткнуть...
romagromov вне форума   Ответить с цитированием
Старый 20.08.2009, 13:41   #2
Шмыга
 
Аватар для Sergeixp
 
Регистрация: 25.10.2007
Сообщений: 1,025
Вес репутации: 176
Sergeixp - просто великолепная личностьSergeixp - просто великолепная личностьSergeixp - просто великолепная личностьSergeixp - просто великолепная личностьSergeixp - просто великолепная личностьSergeixp - просто великолепная личностьSergeixp - просто великолепная личностьSergeixp - просто великолепная личность
По умолчанию

Поидее можно и без модуля, прямо в шаблон..
__________________
Сапа рулит!
Sergeixp вне форума   Ответить с цитированием
Старый 20.08.2009, 13:41   #3
Добрый модератор
 
Аватар для zhegloff
 
Регистрация: 09.07.2007
Адрес: глобус Украины
Сообщений: 27,604
Вес репутации: 970
zhegloff - прекрасное будущееzhegloff - прекрасное будущееzhegloff - прекрасное будущееzhegloff - прекрасное будущееzhegloff - прекрасное будущееzhegloff - прекрасное будущееzhegloff - прекрасное будущееzhegloff - прекрасное будущееzhegloff - прекрасное будущееzhegloff - прекрасное будущееzhegloff - прекрасное будущее
По умолчанию

Цитата:
Сообщение от romagromov Посмотреть сообщение
А теперь вопрос, как сделать так, чтобы на joomla выводить ссылки модулем также?
вставить тот же код в жумлу.
__________________
Установка кода сапы от $9.95. Пишите в личку.
Правильный хостинг.
В личке бесплатно не отвечаю обычно.
zhegloff вне форума   Ответить с цитированием
Старый 20.08.2009, 14:03   #4
Специалист
 
Регистрация: 11.08.2008
Сообщений: 128
Вес репутации: 139
romagromov скоро станет известен
По умолчанию

Цитата:
Сообщение от Sergeixp Посмотреть сообщение
Поидее можно и без модуля, прямо в шаблон..
Нужно именно в модуль... Это же очень удобно, включил модуль, и готово, чем лазить по шаблонам. Особенно если сайтов много.


Цитата:
Сообщение от zhegloff Посмотреть сообщение
вставить тот же код в жумлу.
Это понятно. Я предоставил код модуля. А куда именно вставлять?
Дело в том, что в коде нет такой строчки echo $sape->return_links;
Я так понимаю там какие-то переменные объявлены и все такое...
Кто-то знает как это реализовать? Куда вставлять?
romagromov вне форума   Ответить с цитированием
Старый 20.08.2009, 14:05   #5
Добрый модератор
 
Аватар для zhegloff
 
Регистрация: 09.07.2007
Адрес: глобус Украины
Сообщений: 27,604
Вес репутации: 970
zhegloff - прекрасное будущееzhegloff - прекрасное будущееzhegloff - прекрасное будущееzhegloff - прекрасное будущееzhegloff - прекрасное будущееzhegloff - прекрасное будущееzhegloff - прекрасное будущееzhegloff - прекрасное будущееzhegloff - прекрасное будущееzhegloff - прекрасное будущееzhegloff - прекрасное будущее
По умолчанию

Цитата:
Сообщение от romagromov Посмотреть сообщение
Это понятно. Я предоставил код модуля. А куда именно вставлять?
Дело в том, что в коде нет такой строчки echo $sape->return_links;
Я так понимаю там какие-то переменные объявлены и все такое...
Кто-то знает как это реализовать?
1. Выкинуть к чертям модуль.
2. Поставить код уфавеба по-человечески в шаблон.
__________________
Установка кода сапы от $9.95. Пишите в личку.
Правильный хостинг.
В личке бесплатно не отвечаю обычно.
zhegloff вне форума   Ответить с цитированием
Старый 20.08.2009, 14:17   #6
Эксперт
 
Регистрация: 13.05.2008
Сообщений: 7,498
Вес репутации: 331
Апокалипсис - прекрасное будущееАпокалипсис - прекрасное будущееАпокалипсис - прекрасное будущееАпокалипсис - прекрасное будущееАпокалипсис - прекрасное будущееАпокалипсис - прекрасное будущееАпокалипсис - прекрасное будущееАпокалипсис - прекрасное будущееАпокалипсис - прекрасное будущееАпокалипсис - прекрасное будущееАпокалипсис - прекрасное будущее
По умолчанию

Встрою в модуль за 15 WMZ
Апокалипсис вне форума   Ответить с цитированием
Старый 20.08.2009, 14:22   #7
Специалист
 
Регистрация: 11.08.2008
Сообщений: 128
Вес репутации: 139
romagromov скоро станет известен
По умолчанию

Цитата:
Сообщение от zhegloff Посмотреть сообщение
1. Выкинуть к чертям модуль.
2. Поставить код уфавеба по-человечески в шаблон.
Дело в том, что используя модуль, очень удобно разносить ссылки по странице просто копирую его в админке, плюс ко всему удобно применять к модулю стили. И еще в его настройках есть функция: если
ссылок нет - модуль не выводить, что тоже очень удобно и красиво.

Цитата:
Сообщение от Апокалипсис Посмотреть сообщение
Встрою в модуль за 15 WMZ
Могу дать только 5...
romagromov вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Кто использовал красивый скрипт Carousel Component? Нужна помощь! Gevak Разработка и сопровождение сайтов 2 07.07.2009 19:29
продаю красивый домен LGeorge Деловое сотрудничество 11 13.04.2009 20:19
Проблемы с модулем для Joomla dram Вопросы от новичков 5 09.04.2009 17:47
Как сделать красивый вывод ссылок dram Вопросы от новичков 7 20.10.2008 16:44
Joomla - дубли ссылок uaix Вопросы от новичков 0 25.08.2008 12:09


Часовой пояс GMT +3, время: 10:51.