Jump to content
View in the app

A better way to browse. Learn more.

IPBMafia.ru - поддержка Invision Community, релизы, темы, плагины и приложения

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

API Форума - Некорректная работа

Featured Replies

Posted

Добрый ночи форумчане, нужна ваша помощь, уже не знаю что делать

Случилась такая проблема, создал на форуме API ключ, который позволяет выводить последние темы по пину "Популярные", все работало корректно до сегодняшнего дня, темы выводили когда создавал на форуме. Но сегодня не вывелась тема, хотя сделал все как и раньше. Перелазил куча всего, не понял в чем проблема. Начал тыкать старые темы и ставить им "Популярные", их выводит моментально без проблем.
Но есть одно но, ставлю тему допустим числа 15 Января, она выводится, 16 тоже самое. А если ставлю от 19 числа темы, то они не выводятся... Кто в крусе как пофиксить?
Скриншоты API настройки на форум
image.thumb.png.4c2be403331c79ed1673cea5ab00885f.png
image.thumb.png.8124cc429f523d7398e34b5cd08e05b8.png

 

Тестовый код который используется для вывода:
 

  $communityUrl = 'https://ссылка/api/index.php?';
  $apiKey = 'ключ';
  $request = $_GET["request"];
  $request = "/forums/topics";
  $curl = curl_init( $communityUrl .  $request );
  curl_setopt_array( $curl, array(
      CURLOPT_RETURNTRANSFER	=> TRUE,
      CURLOPT_HTTPAUTH	=> CURLAUTH_BASIC,
      CURLOPT_USERPWD	=> "{$apiKey}:",
      CURLOPT_USERAGENT	=> "MyUserAgent"
  ) );
  $response = curl_exec( $curl );
  //echo $response;
  $obj = json_decode($response,true);
  $res = '';
  $revers = array_reverse($obj['results'], true);
  $i = 0;
  foreach ($revers as $v) {
    if($i < 6 && $v['featured'] == true){
      $name = $v['title'];
      $val = $v['firstPost']['content'];
      $url = $v['url'];
      $date = $v['firstPost']['date'];
      $date = str_replace('T', ' ', $date);
      $date = str_replace('Z', '', $date);
      //echo $date;
      //$rdate = new DateTime($date);;

      if($date){
        $res .= "{$name}`{$val}`{$url}`{$date}~";
      }
      else{
        $res .= "{$name}`{$val}`{$url}` ~";
      }
      $i++;
    }
  }
  $res = substr($res, 0, -1);

  echo $res;
  return $res;

 

з.ы На сайте используется CloudFlaer, возможно мне нужно правило добавить какое либо? Хотя оно и раньше использовалось и работало корректно

  • Author
5 минут назад, Desti сказал:

А если убрать счетчик до 6 и вывести все полученные топики? Может там массив кривой прилетает в ответ?

Убирал, заменял, увеличивал, результат не дал плодов
Самое удивительное что старые темы выводятся без ошибок, моментально а вот после 18 числа примерно, уже не выводится ничего

Но еще форум стоит на VPS сервере, но там все по логам хорошо

А если не насиловать сервер такими запросами, а передать параметр featured?

  $params = array('featured' => '1');
  $curl = curl_init( $communityUrl . $request .'&'.http_build_query($params) );

Ну и убрать из тела проверку на featured.
 

 

Плюс надо проверить, что приходит в ответ в параметре page, там может быть несколько страниц.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Ответить в этой теме...

Последние посетители 0

  • No registered users viewing this page.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.