1

Тема: Replace API :)

У зв'язку з великим вигнанням українських користувачів з іга росіянських сайтів, багато хто відчуває синдром відмови, що проекціюється, в т.ч., на даний форум, у якому нам хочеться бачити заміну втраченому функціоналу (пошук реплейсян зі свого міста, звалище музики, «весела ферма» і т.д.). Але погляньмо на проблему ширше: нам потрібне повноцінне replace API, що дозволить інтегрувати replace.org.ua у свої проекти.
Звичайно, я не власник сайту й навіть не адмін, тому мої можливості як рядового користувача у втіленні цієї ідеї обмежені. Але...

Ніщо не заважає створити неофіційну replace-автентифікацію. Це може виглядати приблизно так:

  1. користувач заходить на сторонній сайт, який підтримує реплейс-автентифікацію, вводить своє replace-ім'я та надсилає запит автентифікації.

  2. сервер автентифікації отримує запит і вмикає форумного бота, що надсилає користувачеві на цьому форумі приватне повідомлення, яке містить посилання з кодом підтвердження.

  3. користувач переходить за отриманим посиланням, після чого може користуватись стороннім сайтом як підтверджений користувач. (Треба продумати, як саме відбуватиметься таке підтвердження).

(Не знаю, наскільки це практично, але мене приколює сама ідея. Найближчим часом займуся цим).

Які ще ідеї будуть у цьому напрямку?

Подякували: 0xDADA11C7, ostap34PHP, Torbins, leofun014

2

Re: Replace API :)

ще щоб повідомляло про нові теми і нові повідомлення, хто онлайн, щось аналог як на лорі "викликаю такого юзера" ...Прикрутити git, svn ... аби можна було комітити зміни і онлайн тест коду

Подякували: P.Y., ping, ostap34PHP3

3 Востаннє редагувалося iovchynnikov (20.05.2017 23:57:56)

Re: Replace API :)

Як на мене - нісенітниця :)

"Реплейс автентифікація" не буде користуватися попитом, бо користувачів тут релятивно дуже мало, аудиторія дуже спеціялізована. Навіть якщо й щось робити, то без цих ботів та смс, а звичайний OAuth.

API взагалі теж досить сумнівне. Ту немає ані якоїсь корисної інформації, ані корисних сервісів, які можна використовувати в стороннії сервісах.

Подякували: P.Y., Torbins, FakiNyan, leofun014

4

Re: Replace API :)

Ну, мене більше цікавить сама задача, ніж її практична доцільність :)

Ключовий пункт — розширити можливості форуму силами рядових користувачів (без внесення змін у безпосередньо його код) — тому й переускладнена схема підтвердження користувачів через ПП. Усе обертатиметься навколо сторонніх сервісів та користувацьких програм/скриптів, що взаємодіятимуть з форумом (поточний функціонал якого неважливий — це як сокира в супі з сокирою, харчова цінність якої особливої ролі не грає).

Подякували: ostap34PHP1

5

Re: Replace API :)

Вважаю, що надбудова без втручання в справи адміна це надзвичайно цікава річ. Я б ще хотів нових UserScript`ових шкірок та .onion адресу підняти.

Подякували: P.Y., ostap34PHP, leofun01, /KIT\4

6 Востаннє редагувалося ostap34PHP (21.05.2017 17:20:34)

Re: Replace API :)

0xDADA11C7 написав:

Вважаю, що надбудова без втручання в справи адміна це надзвичайно цікава річ. Я б ще хотів нових UserScript`ових шкірок та .onion адресу підняти.

парсер з сайтів panBB написати! :)

Подякували: P.Y.1

7

Re: Replace API :)

P.Y.
Це все дуже легко реалізувати:
- комітаєте нову фічу в PunBB
- чекаєте поки адміни оновлять двигун форуму
- ...
- Profit!

Подякували: quez, ostap34PHP, /KIT\3

8 Востаннє редагувалося ostap34PHP (30.05.2017 15:58:17)

Re: Replace API :)

то що, хтось організовує, робимо парсер?(я в ділі, php)  *HI*

9

Re: Replace API :)

ost.bregin2014 написав:

то що, хтось організовує, робимо парсер?(я в ділі, php)  *HI*

Regexp вже вивчив, чи що?

Подякували: ostap34PHP1

10 Востаннє редагувалося ostap34PHP (04.06.2017 11:50:48)

Re: Replace API :)

iovchynnikov написав:
ost.bregin2014 написав:

то що, хтось організовує, робимо парсер?(я в ділі, php)  *HI*

Regexp вже вивчив, чи що?

думав так

Прихований текст

░░█▀░░░░░░░░░░░▀▀███████░░░░
░░█▌░░░░░░░░░░░░░░░▀██████░░░
░█▌░░░░░░░░░░░░░░░░███████▌░░
░█░░░░░░░░░░░░░░░░░████████░░
▐▌░░░░░░░░░░░░░░░░░▀██████▌░░
░▌▄███▌░░░░▀████▄░░░░▀████▌░░
▐▀▀▄█▄░▌░░░▄██▄▄▄▀░░░░████▄▄░
▐░▀░░═▐░░░░░░══░░▀░░░░▐▀░▄▀▌▌
▐░░░░░▌░░░░░░░░░░░░░░░▀░▀░░▌▌
▐░░░▄▀░░░▀░▌░░░░░░░░░░░░▌█░▌▌
░▌░░▀▀▄▄▀▀▄▌▌░░░░░░░░░░▐░▀▐▐░
░▌░░▌░▄▄▄▄░░░▌░░░░░░░░▐░░▀▐░░
░█░▐▄██████▄░▐░░░░░░░░█▀▄▄▀░░
░▐░▌▌░░░░░░▀▀▄▐░░░░░░█▌░░░░░░
░░█░░▄▀▀▀▀▄░▄═╝▄░░░▄▀░▌░░░░░░
░░░▌▐░░░░░░▌░▀▀░░▄▀░░▐░░░░░░░
░░░▀▄░░░░░░░░░▄▀▀░░░░█░░░░░░░
░░░▄█▄▄▄▄▄▄▄▀▀░░░░░░░▌▌░░░░░░
░░▄▀▌▀▌░░░░░░░░░░░░░▄▀▀▄░░░░░
▄▀░░▌░▀▄░░░░░░░░░░▄▀░░▌░▀▄░░░
░░░░▌█▄▄▀▄░░░░░░▄▀░░░░▌░░░▌▄▄
░░░▄▐██████▄▄░▄▀░░▄▄▄▄▌░░░░▄░
░░▄▌████████▄▄▄███████▌░░░░░▄
░▄▀░██████████████████▌▀▄░░░░
▀░░░█████▀▀░░░▀███████░░░▀▄░░
░░░░▐█▀░░░▐░░░░░▀████▌░░░░▀▄░
░░░░░░▌░░░▐░░░░▐░░▀▀█░░░░░░░▀
░░░░░░▐░░░░▌░░░▐░░░░░▌░░░░░░░
░╔╗║░╔═╗░═╦═░░░░░╔╗░░╔═╗░╦═╗░
░║║║░║░║░░║░░░░░░╠╩╗░╠═╣░║░║░
░║╚╝░╚═╝░░║░░░░░░╚═╝░║░║░╩═╝░

Подякували: P.Y.1

11

Re: Replace API :)

ost.bregin2014 написав:

то що, хтось організовує, робимо парсер?(я в ділі, php)  *HI*

Я казав не про парсер, а про UserScript`s

Подякували: ostap34PHP, leofun012

12 Востаннє редагувалося P.Y. (03.06.2017 07:44:06)

Re: Replace API :)

Torbins написав:

P.Y.
Це все дуже легко реалізувати:
- комітаєте нову фічу в PunBB
- чекаєте поки адміни оновлять двигун форуму
- ...
- Profit!

ІМНО, це незовсім те, що нам підходить. Пропоновані тут фічі логічніше було б не інтегрувати в основний код двигуна, а реалізувати в вигляді плагінів (які адмін, при бажанні, також може підключити).

Подякували: ostap34PHP1

13

Re: Replace API :)

ost.bregin2014 написав:
iovchynnikov написав:
ost.bregin2014 написав:

то що, хтось організовує, робимо парсер?(я в ділі, php)  *HI*

Regexp вже вивчив, чи що?

думав так

Я вже почав на python'і (з точки зору інтеграції в двигун погано, знаю, і якщо справа дійде до цього, доведеться переписувати на php. Утім, початковий задум був у розширенні функціоналу, не турбуючи адмінів форуму — тобто, очікується, що це буде окремий сервіс (чи сервіси) на іншому сервері і в іншому домені, що звертатиметься до форуму. Якщо так, прив'язка до php стає необов'язковою) — використовую стандартний модуль для роботи з xml. У найпростіших випадках (коли не треба розбирати всю структуру документа) обходжусь регексами.

Подякували: ostap34PHP1

14

Re: Replace API :)

P.Y. написав:

... Пропоновані тут фічі логічніше було б не інтегрувати в основний код двигуна, а реалізувати в вигляді плагінів (які адмін, при бажанні, також може підключити).

А механізм плагінів у PunBB є? І на скільки він підходить вашим задачам? Якщо усе є, то пишете плагін, викладаєте тут для рев'ю. І потім чекаєте Реплейса.

Подякували: ostap34PHP, P.Y.2

15

Re: Replace API :)

А механізм плагінів у PunBB є?

Так, є.

І потім чекаєте Реплейса.

Складний момент. Я просто не знаю, чи має пан Реплейс достатньо часу для експериментів з плагінами, і чи є такі повноваження в інших адмінів.

Подякували: ostap34PHP1

16 Востаннє редагувалося ostap34PHP (04.06.2017 12:03:02)

Re: Replace API :)

то коли цей стартап почнеться?
P.S чекаю, в розквіті сил

Прихований текст

─────────────────────────────▄██▄
─────────────────────────────▀███
────────────────────────────────█
───────────────▄▄▄▄▄────────────█
──────────────▀▄────▀▄──────────█
──────────▄▀▀▀▄─█▄▄▄▄█▄▄─▄▀▀▀▄──█
─────────█──▄──█────────█───▄─█─█
─────────▀▄───▄▀────────▀▄───▄▀─█
──────────█▀▀▀────────────▀▀▀─█─█
──────────█───────────────────█─█
▄▀▄▄▀▄────█──▄█▀█▀█▀█▀█▀█▄────█─█
█▒▒▒▒█────█──█████████████▄───█─█
█▒▒▒▒█────█──██████████████▄──█─█
█▒▒▒▒█────█───██████████████▄─█─█
█▒▒▒▒█────█────██████████████─█─█
█▒▒▒▒█────█───██████████████▀─█─█
█▒▒▒▒█───██───██████████████──█─█
▀████▀──██▀█──█████████████▀──█▄█
──██───██──▀█──█▄█▄█▄█▄█▄█▀──▄█▀
──██──██────▀█─────────────▄▀▓█
──██─██──────▀█▀▄▄▄▄▄▄▄▄▄▀▀▓▓▓█
──████────────█▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓█
──███─────────█▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓█
──██──────────█▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓█
──██──────────█▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓█
──██─────────▐█▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓█
──██────────▐█▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓█
──██───────▐█▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓█▌
──██──────▐█▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓█▌
──██─────▐█▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓█▌
──██────▐█▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓█▌

17 Востаннє редагувалося ostap34PHP (04.06.2017 12:08:32)

Re: Replace API :)

0xDADA11C7 написав:
ost.bregin2014 написав:

то що, хтось організовує, робимо парсер?(я в ділі, php)  *HI*

Я казав не про парсер, а про UserScript`s

а для парсера, щоб зчитувати інфу є цікава штука, можна її використати...

Подякували: leofun011

18

Re: Replace API :)

Зробив з цікавості..
http://replace.movacode.net/
Віддасть JSON з id, name, url - тем не реплейсі, створеих сьогодні.

Ну і код.

<?php

header('Content-Type: application/json');

$result = [];

$replaceData = file_get_contents('http://replace.org.ua/search/recent/');

preg_match_all('|topic/(\d+)/|iS', $replaceData, $outData);

foreach($outData[1] as $key => $value) {

$replaceToday = file_get_contents('http://replace.org.ua/topic/' . $value . '/');

preg_match('|post/(\d+)/|iS', $replaceToday, $outTodayData);

$firstPost = $outTodayData[1];

preg_match('|/' . $firstPost . '/#p' . $firstPost . '">(.*)</a>|', $replaceToday, $outToday);

if(mb_strstr($outToday[1], 'Сьогодні')){

    preg_match('|<a property="v:title" rel="v:url" href="http://replace.org.ua/topic/' . $value . '/">(.*)</a>|', $replaceToday, $themeName);

    $result[] = ['id' => $value, 'name' => $themeName[1], 'url' => 'http://replace.org.ua/topic/' . $value . '/'];

}

}

echo json_encode($result);
Подякували: 0xDADA11C7, ostap34PHP, raxp, P.Y., leofun015

19

Re: Replace API :)

На майбутнє (щоб не забути).

Додаткова інформація про користувача (доступна на окремій сторінці чи через юзерскрипт, що вставляє додаткові поля під аватаркою біля повідомлень на форумі):
— «Рейтинг кодера» (відсоток повідомлень користувача, що містять тег code). Виводиться у форматі «Не кодер» (жодного повідомлення з кодом), «0% кодер» (якщо кодерських повідомлень менше 0,5%), «1% кодер», ..., «100% кодер».
— «Статті». Якщо користувач створив мінімум одну тему в підрозділах «Статті», з'являється поле «Статті: n» (де n — їх кількість). Поле клікабельне й веде на сторінку пошуку статей, створених даним користувачем.

Очевидно, для реалізації цих фіч зовнішніми засобами, доведеться створити пошукового робота, що індексуватиме потрібні сторінки форуму й оновлюватиме інформацію в міру появи на форумі нових повідомлень.

Подякували: LoganRoss, ostap34PHP2