Joomla 1.0 Fireboard discussbot для sobi2 добил

Тема в разделе "SOBI", создана пользователем infoman, 30.09.2008.

  1. infoman
    Offline

    infoman Пользователь

    Регистрация:
    28.08.2007
    Сообщения:
    581
    Симпатии:
    12
    Пол:
    Мужской
    Модификация мамбота Fireboard discussbot для компонента sobi2 : суть модификации в том чтобы заставить мамбот обрабатывать данные из шаблона соби также как если бы бот обрабатывал данные из com_content для этого вам необходимо внести изменения в 3 файла :

    Код (CODE):
    1. in \components\com_fireboard\template\default\post.php (условие если запрос пришел из  компонента sobi2 то меняем url):
    2.  
    3. $parentid = 0;
    4. $replyto = (int)$replyto;
    5. $setFocus = 0;
    6. $resubject = base64_decode(strtr($resubject, "()", "+/"));
    7. $resubject = str_replace("%20", " ", $resubject);
    8. $resubject = preg_replace('/%32/', '&', $resubject);
    9. $resubject = preg_replace('/%33/', ';', $resubject);
    10. $resubject = preg_replace("/\'/", ''', $resubject);
    11. $resubject = preg_replace("/\"/", '"', $resubject);
    12. $fromBot = 1;
    13. $authorName = htmlspecialchars($my_name);
    14. $rowid = mosGetParam($_REQUEST, 'rowid', 0);
    15. $rowItemid = mosGetParam($_REQUEST, 'rowItemid', 0);
    16. $comp = mosGetParam($_REQUEST, 'comp', 0);
    17. if ($rowItemid) {
    18. if (empty($comp)){
    19. $contentURL = sefRelToAbs('index.php?option=com_content&task=view&Itemid=' . $rowItemid . '&id=' . $rowid);
    20. }else{
    21. $contentURL = sefRelToAbs('index.php?option=com_sobi2&sobi2Task=sobi2Details&sobi2Id=' . $rowid . '&Itemid=' . $rowItemid);
    22. }
    23.  
    24. in \components\com_sobi2\templates\default\sobi2.details.tmpl.php здесь добавляем параметры необходимые для инициализации бота:
    25.  
    26. <?php
    27. /////to mambot fb_db :)
    28. global $_MAMBOTS;
    29. $_MAMBOTS->loadBotGroup( 'content' );
    30. $fakeRow = "";
    31. $fakeRow->id=$sobi2Id;
    32. $fakeRow->title =$mySobi->title;
    33. $fakeRow->title_alias =$mySobi->title;
    34. $fakeRow->introtext ="/{///mos_fb_discuss:2///}/".$fieldsFormatted['field_description'];
    35. $fakeRow->sectionid ="1";
    36. $fakeRow->catid ="1";
    37. $fakeRow->created_by ="62";
    38. $fakeRow->author ="Administrator";
    39. $fakeRow->usertype ="Super Administrator";
    40. $fakeRow->text ="{////mos_fb_discuss:2///}"; (убрать ///)
    41. $fakeRow->component ="sobi2";
    42. /////////params
    43. $fakeParams = new mosParameters('');
    44. $fake = new stdClass();
    45. $fake->intro_only = "0";
    46. $fakePage = "0";
    47. $results = $_MAMBOTS->trigger( 'onPrepareContent', array( &$fakeRow, &$fakeParams, $fakePage ), true );
    48.  
    49. $results = $_MAMBOTS->trigger( 'onAfterDisplayContent', array( &$fakeRow, &$fakeParams, $fakePage ) );
    50. echo trim( implode( "\n", $results ) );
    51. ?>
    52.  
    53. in mambots\content\fbdiscussbot.php здесь вносим несколько изменений ищите строки:
    54.  
    55. 741 строка - если это sobi2 то меняем url
    56.  
    57.        if (FBDB_JOOMLA_1_0_X) {
    58.             // $prefix = sefRelToAbs('index.php?option=com_content&task=view&id=' . $row->id . '&Itemid=' . ($rowItemid?$rowItemid:1));
    59.             if (empty($row->component)){
    60.             $prefix = $mosConfig_live_site . 'index.php?option=com_content&task=view&id=' . $row->id . '&Itemid=' . ($rowItemid?$rowItemid:1);
    61.             }
    62.             else{
    63.             /////for sobi2
    64.             $prefix = $mosConfig_live_site . 'index.php?option=com_sobi2&sobi2Task=sobi2Details&sobi2Id=' . $row->id . '&Itemid=' . ($rowItemid?$rowItemid:1);
    65.             }
    66.         } else {
    67.             // $prefix = sefRelToAbs('index.php?option=com_content&view=article&id=' . $row->id . '&catid=' . $row->catid . '&Itemid=' . ($rowItemid?$rowItemid:1));
    68.             if (empty($row->component)){
    69.             $prefix = $mosConfig_live_site . 'index.php?option=com_content&view=article&id=' . $row->id . '&catid=' . $row->catid . '&Itemid=' . ($rowItemid?$rowItemid:1);
    70.             }///for sobi2
    71.             else{
    72.             $prefix = $mosConfig_live_site . 'index.php?option=com_sobi2&sobi2Task=sobi2Details&sobi2Id=' . $row->id . '&catid=' . $row->catid . '&Itemid=' . ($rowItemid?$rowItemid:1);
    73.             }
    74.         }
    75.        
    76. 111 строка добовляем правило && $option != "com_sobi2
    77.  
    78. function fbdbIncludeIntegrationFile() {
    79.     global $mosConfig_absolute_path, $botCopyContent;
    80.    
    81.     $path = $mosConfig_absolute_path.'/'.(FBDB_JOOMLA_1_0_X ? "mambots" : "plugins").'/content/fbdiscussbot/integration/';
    82.     $option = fbdbCheck($_REQUEST['option']);
    83.     if ($option && $option != "com_content" && $option != "com_sobi2" ) {
    84.    
    85. 857 строка добавляем параметр &comp=".$row->component
    86.     // If there is no result from the first query let the link open a new reply possibility
    87.     $showlink = "";
    88.     echo $showlink;
    89.     if ($resultid == ""){
    90.         $showlink = sefRelToAbs("index.php?option=com_fireboard&Itemid=" . $Itemid
    91.                                 . "&func=post&do=newFromBot&resubject=".strtr(base64_encode($row->title), "+/", "()")."&catid=".$catid
    92.                                 . "&rowid=".$row->id."&rowItemid=".$rowItemid."&comp=".$row->component );


    скачать скриншоты как это работает можно тут Fireboard discussbot для sobi2
    вобщем кто смыслит в php разберётся что где править:X
     
  2.  
  3. Offline

    bilep Недавно здесь

    Регистрация:
    26.02.2009
    Сообщения:
    1
    Симпатии:
    0
    А не подскажете как реализовать подобное для joomla 1.5 !?
     

Поделиться этой страницей

Загрузка...