Forum dla administratorów stron WWW i developerów

Witaj!

AdminZone.pl to miejsce w którym możesz dowiedzieć się jak szybko i skutecznie wypromować swoją stronę WWW, zachęcić użytkowników do wypowiadania się i aktywnego udziału w życiu takiej strony.
Dołącz do naszej społeczności aby w pełni korzystać z usług oferowanych przez AdminZone.pl
Zaloguj się
lub
Zarejestruj się
 
Awatar użytkownika
marqku
Użytkownik
Posty: 55
Rejestracja: 15 paź 2013, 17:30
Lokalizacja: Poland/France

Modyfikacja do SMF 2 - posty na flakera

Autor tematu

04 lis 2013, 16:28

Szukam rozwiązania,ktore pozwoli w SMF 2 wysyłać posty na flakera,wiecie takie cos z Social,
na forum SMF temat echo,nie tylko moj.


 
Awatar użytkownika
Macsch15
Administrator
Posty: 1968
Rejestracja: 10 sie 2012, 16:12
Lokalizacja: Polska
Kontaktowanie:

Re: Modyfikacja do SMF 2 - posty na flakera

04 lis 2013, 16:35

Nie widzę gotowej, prawdopodobnie będzie trzeba dopisać własną z użyciem API http://blog.flaker.pl/api-dodawanie-tresci/index.html przy akcji wysyłania posta (co nie powinno być trudne, informacje są klarowne).

Plik Sources\Subs-Post.php
function createPost(&$msgOptions, &$topicOptions, &$posterOptions)
{


Jeżeli chodzi o API, może być taki request:
$context = stream_context_create([
    'http' => [
        'header' => 'Content-type: application/x-www-form-urlencoded; Authorization: Basic ' . base64_encode('login:haslo'),
        'content' => http_build_query([
            'text' => 'tekst...',
            'link' => 'link do tematu/postu'
        ]),
        'timeout' => 0.5,
        'ignore_errors' => true
    
]
]);

file_get_contents('http://api.flaker.pl/api/type:submit', false, $context);


Dodajesz go przed (albo po) insertem zapisującym post w bazie, zamieniając 'tekst...' na zmienną od zawartości posta jak i 'link do tematu/postu' na zmienną która zawiera pełny adres do tematu.

Przykładowo:
$context = stream_context_create([
    'http' => [
        'header' => 'Content-type: application/x-www-form-urlencoded; Authorization: Basic ' . base64_encode('login:haslo'),
        'content' => http_build_query([
            'text' => $msgOptions['body'],
            'link' => $scripturl . '?topic=' . $topicOptions['id']
        ]),
        'timeout' => 0.5,
        'ignore_errors' => true
    
]
]);

file_get_contents('http://api.flaker.pl/api/type:submit', false, $context);


(Musisz dodać $scripturl do zmiennych globalnych)

Jeżeli masz jakieś pytanie, wal.

Powodzenia.


 
Awatar użytkownika
marqku
Użytkownik
Posty: 55
Rejestracja: 15 paź 2013, 17:30
Lokalizacja: Poland/France

Re: Modyfikacja do SMF 2 - posty na flakera

Autor tematu

05 lis 2013, 5:00

Nom mam pytanie :)
Mozesz zrobic pelny kod ?
:)


 
 
Awatar użytkownika
marqku
Użytkownik
Posty: 55
Rejestracja: 15 paź 2013, 17:30
Lokalizacja: Poland/France

Re: Modyfikacja do SMF 2 - posty na flakera

Autor tematu

05 lis 2013, 14:18

Macsch15,ponawiam prosbe,szczegoly jak co to moze na PW



kaaleth jakbym chciala to bym napisala,a ty omijaj to co ::Ja:: pisze na tym forum.
nie dyskutuje z takimi jak hm... ty ,w necie i w realu.
juz dales popis swojej inteigencji,ale to Admin usunął.
I nie tobie decydowac co i gdzie kto ma pisac..wiec nie wyreczaj Admina
Zegnam


 
Awatar użytkownika
Macsch15
Administrator
Posty: 1968
Rejestracja: 10 sie 2012, 16:12
Lokalizacja: Polska
Kontaktowanie:

Re: Modyfikacja do SMF 2 - posty na flakera

05 lis 2013, 15:24

Nie korzystam z SMF więc przetestować musisz sama.

Plik Sources\Subs-Post.php

Znajdź:
function createPost(&$msgOptions, &$topicOptions, &$posterOptions)
{
    global $user_info, $txt, $modSettings, $smcFunc, $context;


Zamień na:
function createPost(&$msgOptions, &$topicOptions, &$posterOptions)
{
    global $user_info, $txt, $modSettings, $smcFunc, $context, $scripturl;


Znajdź:
    // Insert a new topic (if the topicID was left empty.)
    if ($new_topic)
    {
        $smcFunc['db_insert']('',
            '{db_prefix}topics',
            array(
                'id_board' => 'int', 'id_member_started' => 'int', 'id_member_updated' => 'int', 'id_first_msg' => 'int',
                'id_last_msg' => 'int', 'locked' => 'int', 'is_sticky' => 'int', 'num_views' => 'int',
                'id_poll' => 'int', 'unapproved_posts' => 'int', 'approved' => 'int',
            ),
            array(
                $topicOptions['board'], $posterOptions['id'], $posterOptions['id'], $msgOptions['id'],
                $msgOptions['id'], $topicOptions['lock_mode'] === null ? 0 : $topicOptions['lock_mode'], $topicOptions['sticky_mode'] === null ? 0 : $topicOptions['sticky_mode'], 0,
                $topicOptions['poll'] === null ? 0 : $topicOptions['poll'], $msgOptions['approved'] ? 0 : 1, $msgOptions['approved'],
            ),
            array('id_topic')
        );
        $topicOptions['id'] = $smcFunc['db_insert_id']('{db_prefix}topics', 'id_topic');


Dodaj POD:

        $context = stream_context_create([
            'http' => [
                'header' => 'Content-type: application/x-www-form-urlencoded; Authorization: Basic ' . base64_encode('login:haslo'),
                'content' => http_build_query([
                    'text' => $msgOptions['body'],
                    'link' => $scripturl . '?topic=' . $topicOptions['id']
                ]),
                'timeout' => 0.5,
                'ignore_errors' => true
            
]
        ]);

        file_get_contents('http://api.flaker.pl/api/type:submit', false, $context);


Pamiętaj aby zmienić:
base64_encode('login:haslo')


Jeżeli nie działa, musisz pokombinować z innym miejscem dla tego kodu.

Na własne dane logowania do flakera.

PS: marqku, kaaleth - dajcie sobie na luz bo skończy się to rozlewem krwi.


Kto jest online

Użytkownicy przeglądający to forum: Google [Bot] i 20 gości