Skocz do zawartości
Zaloguj się, aby obserwować  
Spanner

[Artykuł/Tutorial] Tworzenie własnego Tasku z zadaniami (IP.Board Coding )

Polecane posty

Tytuł: Tworzenie własnego Tasku z zadaniami

Opis:

Kategoria: IP.Board Coding

Data dodania: 20.03.09, 18:18

Autor: Spanner

Tworzenie własnego taska wcale nie jest ani trudne ani bardzo skomplikowane. Jedyne co musimy wykonać, to stworzyć prosty plik php zawierający czynności do cyklicznego wykonania, oraz w ACP -> TOOLS & SETTINGS -> Task Manager ustawić odpowiedni harmonogram dla tego zadania.

Zaczniemy więc od początku i stworzymy najpierw plik php wykonujący jakieś czynności.

Struktura samego pliku jest z góry narzucona przez IP.Board, zatem nie trzeba wymyślać nic nowego. Plik taska powinien wyglądać tak:

<?php
/**
* Free Test Task
*
* @copyright Spanner & IPSBeyond.pl
* @author Spanner
*
*/


if ( ! defined( 'IN_IPB' ) )
{
print "<h1>Incorrect access</h1>You cannot access this file directly. If you have recently upgraded, make sure you upgraded all the relevant files.";
exit();
}

class task_item
{
var $ipsclass;
var $class = '';
var $root_path = '';
var $task = '';

/**
* Run task
*
*
*/
function run_task()
{
//DO SOMETHING

$this->class->unlock_task( $this->task );
}

/*-------------------------------------------------------------------------*/
// register_class
// LEAVE ALONE
/*-------------------------------------------------------------------------*/

function register_class(&$class)
{
$this->class = &$class;
$this->ipsclass =& $class->ipsclass;
$this->root_path = $this->class->root_path;
}

/*-------------------------------------------------------------------------*/
// pass_task
// LEAVE ALONE
/*-------------------------------------------------------------------------*/

function pass_task( $this_task )
{
$this->task = $this_task;
}
}
?>[/code] Oczywiście zamiast [b]//DO SOMETHING[/b] wstwawiamy nasz kod do wykonania. Najprostszym zadaniem jaki może wykonać się cyklicznie, jest zapis w logach tasków w ACP jakiegoś tekstu i nazywa się to logowaniem zdarzeń. Kod jaki należy wstawić to:
[code]$this->class->append_task_log( $this->task, "Uruchomiłem pierwszy task" );

Wiadomo jednak, że tego typu rzeczy nie są szczytem marzeń i każdy chciałby, żeby jego task wykonywał bardziej ambitne rzeczy.

Jedynym ograniczeniem w tym wypadku jest nasza wyobraźnia i umiejętności jakie posiadamy.

Plik wgrywamy do katalogu /sources/tasks/ następnie przechodzimy do ACP -> TOOLS & SETTINGS -> Task Manager. W środkowej części strony na samym dole klikamy na Add New Task i wypełniamy pola następująco:

Task Title tutaj wpisujemy nazwę naszego tasku, np. Mój pierwszy task

Task Short Description tutaj podajemy krótki opis tasku np. opisujący co robi dany task, w naszym przypadku może to być loguje uruchomienie tasku

Task PHP File To Run W tym polu należy wpisać nazwę pliku, który wgraliśmy przed chwilą do katalogu /sources/tasks/

Następna sekcja Time Options służy do ustawienia jak często ma być uruchamiane nasze zadanie.

Task Time: Minutes Tutaj ustawiamy, o której minucie ma być uruchamiane zadanie

Task Time: Hours Tutaj ustawiamy godzinę uruchamiania skryptu

Task Time: Week Day Tutaj ustawiamy, w które dni tygodnia ma być uruchamiane zadanie

Task Time: Month Day Tutaj natomiast ustawiamy którego dnia miesiąca ma być uruchamiany task

Zostały nam już tylko dwie opcje do ustawienia:

Enable Task Logging tutaj wybieramy Yes, jeśli chcemy aby nasz task logował zdarzenia w przykładowym tasku będzie to "Uruchomiłem pierwszy task"

oraz

Uruchomiłem pierwszy task Tą opcję ustawiamy na Yes jeśli chcemy by nasz task w ogóle był uruchamiany.

Po wypełnieniu i oznaczeniu wszystkich opcji klikamy na przycisk Create New Task

To wszystko tym sposobem stworzyliśmy nasze pierwsze cykliczne zadanie

Ten post został wypromowany na artykuł

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość
Temat jest zablokowany i nie można w nim pisać.
Zaloguj się, aby obserwować  

  • Kto przegląda   0 użytkowników

    Brak zalogowanych użytkowników przeglądających tę stronę.

×

Ważne informacje

Kontynuując przeglądanie strony, wyrażasz zgodę na używanie przez nas plików cookies.