Joomla 1.5 adsmaneger 2.5 - подгонка плагина поиска под Joomla 1.5

Тема в разделе "Каталоги, конструкторы контента, управление", создана пользователем accent-rus, 19.05.2010.

  1. Offline

    accent-rus Недавно здесь

    Регистрация:
    23.07.2008
    Сообщения:
    57
    Симпатии:
    3
    Пол:
    Мужской
    Всем привет, на оф. сайте есть мамбот поиска adsmanager.searchbot
    но он не работает под джумла 1.5.х
    искал в инете и нашел статью:
    http://joomlaforum.ru/index.php/topic,71114.0.html
    автор пишет что подогнал и у него работает
    поставил - не работает

    рылся в коде, вроде все правильно... короче причину не могу найти.
    может кто уже исправил или хотя бы посмотрете на код?
    Код (PHP):
    1. $_MAMBOTS->registerFunction( 'onSearch', 'botSearchAdsManager' );
    2.  
    3. /**
    4. * AdsManager Search method
    5. *
    6. * The sql must return the following fields that are used in a common display
    7. * routine: href, title, section, created, text, browsernav
    8. * @param string Target search string
    9. * @param string mathcing option, exact|any|all
    10. * @param string ordering option, newest|oldest|popular|alpha|category
    11. */
    12. function botSearchAdsManager( $text, $phrase='', $ordering='' ) {
    13.     global $database, $my, $_MAMBOTS, $mainframe;
    14.  
    15.     // check if param query has previously been processed
    16.     if ( !isset($_MAMBOTS->_search_mambot_params['adsmanager']) ) {
    17.         // load mambot params info
    18.         $query = "SELECT params"
    19.         . "\n FROM #__plugins"
    20.         . "\n WHERE element = 'adsmanager.searchbot'"
    21.         . "\n AND folder = 'search'"
    22.         ;
    23.         $database->setQuery( $query );
    24.         $database->loadObject($mambot);
    25.  
    26.         // save query to class variable
    27.         $_MAMBOTS->_search_mambot_params['adsmanager'] = $mambot;
    28.     }
    29.  
    30.     // pull query data from class variable
    31.     $mambot = $_MAMBOTS->_search_mambot_params['adsmanager'];
    32.  
    33.     $botParams = new mosParameters( $mambot->params );
    34.  
    35.     $limit      = $botParams->def( 'search_limit', 50 );
    36.  
    37.     $nullDate   = $database->getNullDate();
    38.     $now        = _CURRENT_SERVER_TIME;
    39.  
    40.     $text = trim( $text );
    41.     if ($text == NULL) {
    42.         return array();
    43.     }
    44.    
    45.     $text = strtolower($text);
    46.  
    47.     $wheres = array();
    48.     switch ($phrase) {
    49.         case 'exact':
    50.             $wheres2    = array();
    51.             $wheres2[]  = "LOWER(a.ad_headline) LIKE '%$text%')";
    52.             $wheres2[]  = "LOWER(a.ad_text) LIKE '%$text%')";
    53.             $where      = '(' . implode( ') OR (', $wheres2 ) . ')';
    54.             break;
    55.  
    56.         case 'all':
    57.         case 'any':
    58.         default:
    59.             $words = explode( ' ', $text );
    60.             $wheres = array();
    61.             foreach ($words as $word) {
    62.                 $wheres2    = array();
    63.                 $wheres2[]  = "LOWER(a.ad_headline) LIKE '%$word%'";
    64.                 $wheres2[]  = "LOWER(a.ad_text) LIKE '%$word%'";
    65.                 $wheres[]   = implode( ' OR ', $wheres2 );
    66.             }
    67.             $where = '(' . implode( ($phrase == 'all' ? ') AND (' : ') OR ('), $wheres ) . ')';
    68.             break;
    69.     }
    70.  
    71.     $morder = '';
    72.     switch ($ordering) {
    73.         case 'oldest':
    74.             $order = 'a.date_created ASC ,a.id ASC';
    75.             break;
    76.  
    77.         case 'popular':
    78.             $order = 'a.views DESC';
    79.             break;
    80.  
    81.         case 'alpha':
    82.             $order = 'a.ad_headline ASC';
    83.             break;
    84.  
    85.         case 'category':
    86.             $order = 'b.name ASC, a.ad_headline ASC';
    87.             $morder = 'a.ad_headline ASC';
    88.             break;
    89.  
    90.         case 'newest':
    91.         default:
    92.             $order = 'a.date_created DESC , a.id DESC';
    93.             break;
    94.     }
    95.  
    96.     // search content items
    97.     $query = "SELECT a.ad_headline AS title, a.date_created AS created, a.ad_text AS text, p.id AS parentid, c.id AS catid, ".
    98.         "CONCAT( 'index.php?option=com_adsmanager&page=show_ad&adid=', a.id, '&Itemid=10' ) AS href, ".
    99.         "CONCAT_WS( '/', p.name, c.name ) AS section,'2' AS browsernav ".
    100.             "FROM #__adsmanager_ads AS a ".
    101.             "LEFT JOIN #__adsmanager_adcat AS adcat ON adcat.adid = a.id ".
    102.             "LEFT JOIN #__adsmanager_categories AS c ON adcat.catid = c.id ".
    103.             "LEFT JOIN #__adsmanager_categories AS p ON c.parent = p.id ".
    104.             "WHERE $where and c.published = 1 ".
    105.             "GROUP BY a.id ORDER BY $order";
    106.     echo $query;/**/
    107.    
    108.     $database->setQuery( $query, 0, $limit );
    109.     $list = $database->loadObjectList();
    110.    
    111.  
    112.     return $list;
    113. }
    114. ?>


    есть еще одно.
    когда вывел запрос, в запросе искомое слово выводится: �����
    то есть неправильная кодировка.
    помогите плиз
     
  2.  
  3. Offline

    accent-rus Недавно здесь

    Регистрация:
    23.07.2008
    Сообщения:
    57
    Симпатии:
    3
    Пол:
    Мужской
    я так понимаю - форум умер совсем
    :( жаль, когда то тут поддержка и помощь была реально
     

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

Загрузка...