Posted By

Stutzer on 04/02/09


Tagged

sape xoops


Versions (?)

Sape and xoops integration


 / Published in: PHP
 

URL: xoops_and_sape

  1. <?
  2. /* =====================================
  3.  * Мануал по интеграции SAPE и CMS XOOPS
  4.  * =====================================
  5.  *
  6.  * Шаг 1
  7.  * =====
  8.  * дописать в конец файла mainfile.php следующий код
  9.  *
  10.  */
  11.  
  12. define('_SAPE_USER', '0123456789abcde0123456789abcde01');
  13. require_once(XOOPS_ROOT_PATH.'/'._SAPE_USER.'/sape.php');
  14.  
  15. // Жесткое указание некоторых параметров для корректной работы скрипта при использовании mod_rewrite (ShotURLs и пр.)
  16. $o['host']= "domainname.com";
  17. if (isset($GLOBALS['REQUEST_URI'])) : $o['request_uri'] = $GLOBALS['REQUEST_URI']; endif;
  18. // Инициализация
  19. $sape = new SAPE_client($o);
  20. // Получение ссылок в виде строки
  21. $links = $sape->return_links();
  22. // Разпарсивание ссылок в массив
  23. $links_split = '<split/>'; // Разделитель ссылок, заданный в системе Sape
  24. $links_site_split = '<div class="link_sep">* * *</div>'; // Разделитель ссылок, который будет выводиться на сайте
  25. // Обработка полученной строки со ссылками
  26. if ( substr($links,0,4) != '<!--' ) { // если для страницы проданы ссылки
  27. $sapelinks['checkcode'] = '<!--none-->';
  28. $sapelinks['links'] = explode($links_split, $links); // Разбиваем строку в массив
  29. } else {
  30. $sapelinks['checkcode'] = $links; // возвращает checkcode
  31. $sapelinks['links'] = array(); // и пустой массив
  32. }
  33. // Разделение ссылок на несколько (2) блоков
  34. for ($i=0; $i<count($sapelinks['links']); $i++) {
  35. if ($i % 2 == 0) {
  36. $sapelinks['block1'][] = $sapelinks['links'][$i];
  37. } else {
  38. $sapelinks['block2'][] = $sapelinks['links'][$i];
  39. }
  40. }
  41.  
  42. $sapelinks['block1'] = implode($links_site_split, $sapelinks['block1']); // Преобразование массива в строку для первого блока
  43. $sapelinks['block2'] = implode($links_site_split, $sapelinks['block2']); // Преобразование массива в строку для второго блока
  44.  
  45. // Передача блоков со ссылками в глобальную переменную
  46. $GLOBALS['sapelinks'] = $sapelinks;
  47.  
  48.  
  49.  
  50. /* Шаг 2.
  51.  * ==================
  52.  * создать в админке блоки с типом содержимого «PHP-код»
  53.  * со слебующем кодом
  54.  */
  55.  
  56. echo $GLOBALS['sapelinks']['checkcode'];
  57. echo $GLOBALS['sapelinks']['block1']; // для второго блока заменить на block2
  58.  
  59. ?>

Report this snippet  

You need to login to post a comment.