ROZWIĄZANY: Stworzenie własnego 'taska'
Rozpoczęty przez Dr R.I.P, 08 lut 2009 23:02
23 odpowiedzi w tym temacie
#2
Napisano 08 luty 2009 - 23:06
Można, dlaczego nie? W czym Ci mam pomóc?
intermedia - profesjonalne rozwiązania Invision Power Board
#4
Napisano 08 luty 2009 - 23:24
Jeśli nie masz pojęcia o .php, SQL to przecież tego sam nie zrobisz.
intermedia - profesjonalne rozwiązania Invision Power Board
#6
Napisano 08 luty 2009 - 23:29
Jestem w stanie pomóc, ale nie wyręczać.
intermedia - profesjonalne rozwiązania Invision Power Board
#8
Napisano 08 luty 2009 - 23:37
Po pierwsze to przenoszę. 
Szablon taska:
W miejsce:
Wstawiasz swój kod, zapisujesz np. pod nazwą riptask.php i potem w ACP dodajesz nowe zadanie w sekcji zarządzania taskami.
W sumie to wszystko masz podane.
Szablon taska:
<?php
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 $class = "";
var $root_path = "";
var $task = "";
/*-------------------------------------------------------------------------*/
// Our 'auto_run' function
// ADD CODE HERE
/*-------------------------------------------------------------------------*/
function run_task()
{
//TYLKO TUTAJ ŁADUJESZ SWOJ KOD. NIC INNEGO NIE ZMIENIASZ.
//-----------------------------------------
// Unlock Task: DO NOT MODIFY!
//-----------------------------------------
$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;
}
}
?>
W miejsce:
//TYLKO TUTAJ ŁADUJESZ SWOJ KOD. NIC INNEGO NIE ZMIENIASZ.
Wstawiasz swój kod, zapisujesz np. pod nazwą riptask.php i potem w ACP dodajesz nowe zadanie w sekcji zarządzania taskami.
W sumie to wszystko masz podane.
intermedia - profesjonalne rozwiązania Invision Power Board
#10
Napisano 08 luty 2009 - 23:39
Np. to zapytanie.
intermedia - profesjonalne rozwiązania Invision Power Board
#11
Napisano 09 luty 2009 - 13:34
A więc tak wczoraj zrobiłem takiego (nic specjalnego)
Niestety przy ustawieniach pokazanych na screenie nie wykonuje tych zapytań w bazie danych. Gdzie popełniłem błąd ;>?
CODE-BOX
<?php
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 $class = "";
var $root_path = "";
var $task = "";
/*-------------------------------------------------------------------------*/
// Our 'auto_run' function
// ADD CODE HERE
/*-------------------------------------------------------------------------*/
function run_task()
{
UPDATE ibf_topics SET title = REPLACE(title, '[RS]', '') WHERE title LIKE '%[RS]%';
UPDATE ibf_topics SET title = REPLACE(title, '[rs]', '') WHERE title LIKE '%[rs]%';
//TYLKO TUTAJ ŁADUJESZ SWOJ KOD. NIC INNEGO NIE ZMIENIASZ.
//-----------------------------------------
// Unlock Task: DO NOT MODIFY!
//-----------------------------------------
$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;
}
}
?>
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 $class = "";
var $root_path = "";
var $task = "";
/*-------------------------------------------------------------------------*/
// Our 'auto_run' function
// ADD CODE HERE
/*-------------------------------------------------------------------------*/
function run_task()
{
UPDATE ibf_topics SET title = REPLACE(title, '[RS]', '') WHERE title LIKE '%[RS]%';
UPDATE ibf_topics SET title = REPLACE(title, '[rs]', '') WHERE title LIKE '%[rs]%';
//TYLKO TUTAJ ŁADUJESZ SWOJ KOD. NIC INNEGO NIE ZMIENIASZ.
//-----------------------------------------
// Unlock Task: DO NOT MODIFY!
//-----------------------------------------
$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;
}
}
?>
Niestety przy ustawieniach pokazanych na screenie nie wykonuje tych zapytań w bazie danych. Gdzie popełniłem błąd ;>?
Załączone pliki
#12
Napisano 09 luty 2009 - 13:45
Ten wstawiony kod.. Jest niepoprawny. W sumie to przy nazwie tasku na liście powinna być kłódka - zablokowanie niepoprawnego taska.
Musisz użyć formy zapytań używanych w IP.Board - zalecam lekturkę jakiegoś pliku, choćby sources/action_public/topics.php - tam pełno kodu dotyczącego zapytań do bazy danych.
Musisz użyć formy zapytań używanych w IP.Board - zalecam lekturkę jakiegoś pliku, choćby sources/action_public/topics.php - tam pełno kodu dotyczącego zapytań do bazy danych.
intermedia - profesjonalne rozwiązania Invision Power Board
#13
Napisano 11 listopad 2009 - 00:20
Odkopuje swój stary temat, ponieważ totalnie nie wiem jak to zrobić 
Stworzyłem coś takiego (dodałem tam gdzie kazałeś)
Pewnie jest tutaj dużo błędów, starałem się czytać w action public wspierając się manualem php (php.net.pl), lecz nie działa.
BTW. chyba w końcu czas na jakiś kurs php z allegro
Stworzyłem coś takiego (dodałem tam gdzie kazałeś)
$this->ipsclass->DB->simple_construct( array( 'update' => 'topics', 'set' => 'title =', 'REPLECE' => (title, '[RS]', ''), 'where' => 'title', 'LIKE' => '%[RS]%') ); $this->ipsclass->DB->simple_exec();
Pewnie jest tutaj dużo błędów, starałem się czytać w action public wspierając się manualem php (php.net.pl), lecz nie działa.
BTW. chyba w końcu czas na jakiś kurs php z allegro
Użytkownik Dr R.I.P edytował ten post 11 listopad 2009 - 00:21
#14
Napisano 11 listopad 2009 - 00:36
Raz, że nie REPLECE tylko REPLACE, a dwa to czy dodałeś task w ACP czy tylko stworzyłeś ten plik?
intermedia - profesjonalne rozwiązania Invision Power Board
Użytkownicy przeglądający ten temat: 1
0 użytkowników, 1 gości, 0 anonimowych


Temat jest zamknięty














