Opis:
Kategoria: IP.Board Coding
Data dodania: 20.03.09, 18:18
Autor: Spanner
Cytuj
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:
Oczywiście zamiast //DO SOMETHING 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:
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
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;
}
}
?>
Oczywiście zamiast //DO SOMETHING 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:
$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ł




















