форум vBSupport.ru > vBulletin > Old vB versions (3.0.x & 2.x.x) > vBulletin 3.7.x > Hacks, mods and scripts [3.7.x]
  • »
VBsupport перешел с домена .ORG на родной .RU Ура! Пожалуйста, обновите свои закладки - VBsupport.ru
 
 
 
 
Gostemilov
Специалист
Default Нужна интеграция VbaCMPS и GARS
0

На орге есть соответствующая тема, и хак есть, но все это под Vbulletin версии аж 3.0 (2005 год) и тема давно умерла

Хак в аттаче

Или кто-нибудь подскажет, что надо править к коде модуля, чтоб он заработал под 3.7?

PHP Code:
<?php
// +=========================================================================+
// || Latest Geek Article v. 1.2 for vBadvanced CMPS
// || Instructions:
// || Upload into your modules folder
// || Demo: ???????????
// || My email: geek@thenailgeek.com
// || My telephone number: 555-5555 give me a buzz.
// || File last updated now
// || Seriously, thanks must go to the vBadvanced crew for a kick ass portal/module system
// || Based on the Ltest topics module from vBadvanced CMPS
// + ========================================================================+
// ######################### Latest Geek Articles #########################

if ($vba_options['portal_geek_articles_maxarticles'])
{

        
$inforums '';


    if (
$vba_options['portal_geek_articles_forumids'])
    {
        if (!empty(
$fperms))
        {
            
$inforums = array();
            
$threadsforums explode(','$vba_options['portal_geek_articles_forumids']);
            foreach (
$threadsforums AS $tforum)
            {
                if (!
in_array($tforum$fperms))
                {
                    
$inforums[] = $tforum;
                }
            }
            if (!empty(
$inforums))
            {
                
$inforums implode(','$inforums);
            }
        }
        else
        {
            
$inforums $vba_options['portal_geek_articles_forumids'];
        }
        if (
$inforums)
        {
            
$inforums 'AND thread.forumid IN (' $inforums ')';
        }
    }


    
$foruminfo['allowratings'] = $vba_options['portal_geek_articles_showrating'];

    
$show['createdate'] = $vba_options['portal_geek_articles_createdate'];
    
$show['lastpost'] = $vba_options['portal_geek_articles_showlastpost'];

    if (
$vba_options['portal_geek_articles_from_lastcomment']==1){
        
$sortmeby="lastpost";
    }else{
        
$sortmeby="thread.dateline";
    }

    if (
$vba_options['portal_geek_articles_showsubscribed'] AND $bbuserinfo['userid'])
    {
        
$query['subfields'] = ', NOT ISNULL(subscribethread.subscribethreadid) AS subscribed';
        
$query['subjoin'] = 'LEFT JOIN ' TABLE_PREFIX 'subscribethread AS subscribethread ON (subscribethread.threadid = thread.threadid AND subscribethread.userid = ' $bbuserinfo['userid'] . ')';
    }

    if (
$vba_options['portal_geek_articles_showpreview'] AND $vboptions['threadpreview'])
    {
        
$query['previewfields'] = ', post.pagetext AS preview';
        
$query['previewjoin'] = 'LEFT JOIN ' TABLE_PREFIX 'post AS post ON (post.postid = thread.firstpostid)';
    }

    if (
$vba_options['portal_geek_articles_showforum'])
    {
        
$query['forumfields'] = ',thread.forumid, forum.title AS forumtitle';
        
$query['forumjoin'] = 'LEFT JOIN ' TABLE_PREFIX 'forum AS forum ON (thread.forumid = forum.forumid)';
    }

    if (
$vba_options['portal_geek_articles_showicon'])
    {
        
$query['iconfields'] = ', thread.iconid AS threadiconid, iconpath AS threadiconpath';
        
$query['iconjoin'] = 'LEFT JOIN ' TABLE_PREFIX 'icon USING (iconid)';
    }

  
$threads $DB_site->query("
          SELECT            " 
iif($vba_options['portal_geek_articles_showrating'], 'IF(votenum >= ' $vboptions['showvotes'] . ', votenum, 0) AS votenum, IF(votenum >= ' $vboptions['showvotes'] . ' AND votenum != 0, votetotal / votenum, 0) AS voteavg,') . "
          thread.threadid, thread.title, thread.replycount, postusername, postuserid, thread.dateline AS postdateline, IF(views <= thread.replycount, thread.replycount+1, views) AS views, thread.lastposter, thread.lastpost, pollid
          
$query[iconfields]
            
$query[forumfields]
            
$query[previewfields]
            
$query[subfields]
            FROM " 
TABLE_PREFIX "thread as thread
            
$query[iconjoin]
            
$query[forumjoin]
            
$query[previewjoin]
            
$deljoin
            
$query[subjoin]
            WHERE open <> '10' AND thread.visible = 1 
$inforums $notdeleted
            ORDER BY 
$sortmeby DESC
            LIMIT 
$vba_options[portal_geek_articles_maxarticles]
    "
);

  while (
$thread $DB_site->fetch_array($threads))
  {
        if (
strlen($thread['title']) > $vba_options['portal_geek_articles_maxchars'] AND $vba_options['portal_geek_articles_maxchars'])
        {
            
$thread['title'] = fetch_trimmed_title($thread['title'], $vba_options['portal_geek_articles_maxchars']);
        }

        
$thread process_thread_array($thread''$vba_options['portal_geek_articles_showicon']);

        
$getbgrow exec_switch_bg();

        eval(
'$threadbits .= "' fetch_template('adv_portal_latestgeekarticlebits') . '";');
     }

    eval(
'$home[$mods[\'modid\']][\'content\'] = "' fetch_template('adv_portal_latestgeekarticles') . '";');

  
$DB_site->free_result($threads);
  unset(
$thread$threadbits$foruminfo$query$inforums);
}

?>
Заранее благодарен
Attached Files
File Type: zip latestgeekarticles_v1-3.zip (12.1 KB, 5 views)
Bot
Yandex Bot Yandex Bot is online now
 
Join Date: 05.05.2005
Реклама на форуме А что у нас тут интересного? =)
 
 
kerk
k0t
 
kerk's Avatar
Default
1

для начала заменить все встречающиеся в коде:
$DB_site на $vbulletin->db
потом
query на query_read(write) в зависимости от того, что делает запрос - чтение или запись
 
 
Gostemilov
Специалист
Default
0

Не помогло. По-пержнему ничего не выводит, при предварительном просмотре из админки дает просто заголовок с названием модуля и больше ничего
 
 
kerk
k0t
 
kerk's Avatar
Default
0

значит нужно более глубокое изучение и правка скрипта =)
 
 
Gostemilov
Специалист
Default
0

Почти сделал! Остался глюк, который надо убить! Нужна помощь, а то совсем затупил.

В файл /forum/modules/news.php после

PHP Code:
                    $news['message'] .= '...' construct_phrase($vbphrase['read_more'], $vbulletin->options['bburl'], $news['threadid'], $vbulletin->session->vars['sessionurl']);
                } 
вставляется

PHP Code:
// GARS modification
 
                
$geek = array();
                
$getgeek $db->query_read("SELECT header_image FROM " TABLE_PREFIX "gars WHERE threadid=" .$news['threadid'] . "");
 
                while (
$geeksql $db->fetch_array($getgeek)) {
                    
$geek[] = $geeksql['header_image'];
                }
    
// / GARS modification 
затем в шаблон adv_portal_newsbits вставляется

PHP Code:
<if condition="$geek[0]">
<
img align="$stylevar[left]src="/forum/$geek[0]alt="" style="padding:6px" alt="" border="0"/>
<else />
<
img align="$stylevar[left]style="padding:6px" alt="" border="0" src="$news[avatarpath]title="$news[postusername]'s $vbphrase[avatar]/>
</if> 
у меня, во всяком случае, работает. Но!

На главную выводятся новости не только из GARS, а и из обычных разделов форума, где, естественно, header image отсутствует как явление.

КАК поставить условие, чтобы header image из GARS выводилось только в том случае, если оно существует? То есть не пуста переменная $geek - выводим, нет там ничего - даже и не пытаемся вывести????

Очень рассчитываю на помощь!
 
 
rokfellersha
Продвинутый
Default Рабочий модуль GARS_CMPS
4

Если оказался полезен нажмите спасибо

garsvbacmps.zip
 


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off




All times are GMT +4. The time now is 11:12 PM.


Powered by vBulletin® Version 3.0.12
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Loading...