Skocz do zawartości
"Idzie nowe..." - o zmianach i nie tylko ×
Przeniesienie zakupów z IPS Marketplace / Moving bought items from IPS Marketplace ×

ipsclass


Batman

Rekomendowane odpowiedzi

Mam pytanie w jaki sposób poruszać się przy pomocy ipsclass?

zrobiłem sobie pliczek dajmy na to a.php zrobiłem w nim klasę i w tej klasie zrobiłem różne funkcje, dodałem klasę do index.php

i za pomocą linków mogę uruchamiać funkcje, ale teraz chciałbym np. odwołać się do załadowanego skina w moim pliku z innego pliku lub z innego pliku chciałbym odwołać się do funkcji w moim pliku .

$this->ipsclass->compiled_templates['jaks_tam']->lala($dodo);

to zadziała w moim pliku ale nie zadziała już w innym

muszę jakoś podłączyć się do ipsclass ale nie wiem jak

jam_artists_button.png

Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager

Dla przykładu z ładowaniem języka:

chdir( './sources/api' );
require_once( 'api_core.php' );
$api = new api_core();
$api->api_init();

$api->ipsclass->load_language( 'lang_global' );

Albo:

$INFO = array();

require_once ROOT_PATH . 'sources/ipsclass.php';
require_once ROOT_PATH . 'conf_global.php';

$ipsclass	   = new ipsclass();
$ipsclass->vars = $INFO;

$ipsclass->init_db_connection();

$ipsclass->parse_incoming();


			$ipsclass->DB->simple_construct( array( 'select'	=> '*',
													'from'		=> 'groups'
												   ) );
			$ipsclass->DB->simple_exec();

			while( $x = $ipsclass->DB->fetch_row() )
			{
//
}

Do wyboru do koloru, w razie problemów pisz. :)

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach

zrobiłem nowy plik nazwijmy go mod.php wstawiłem go do sources/action_public w tymże pliku zrobiłem klasę nazwijmy ją modyfikacja w pliku index.php dodałem klasę modyfikacja do $choice,

następnie w pliku tym dodałem funkcję auto run w której dałem instrukcje swith i załadowałem pliki językowe oraz całą grupę skina, dalej pododawałem sobie jakieś tam funkcje .

używając odpowiedniego linku mogę sobie wywołać te funkcje, ale potrzebuję teraz wywołać z pliku np. topic.php : $this->ipsclass->compiled_templates['moja grupa skina']->nazwa_funkcji($costam);

jak wstawię taką instrukcję w topic.php wywala mi błąd ze odwołuję się do nieznanej funkcji "nazwa_funkcji" muszę mu w pliku topic.php dać linijkę z ładowaniem skina wtedy działa , ale ja już przecież załadowałem tego skina w swoim pliku

dodatkowo chciałbym się odwołać w tym(topic.php lub jakimkolwiek innym) pliku do funkcji która znajduje się w moim pliku mod.php czyli $this->ipsclass->moja klasa???->moja_funkcja() (pewnie jakoś tak)

jam_artists_button.png

Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager

Skin jeśli nie jest załadowany to należy to załadować - nie bardzo widzę sens obejścia tego.

Załadowałeś w swoim pliku, ale nie w tym, co się odwołujesz.

Ładowanie klas IP.Board najłatwiej zrobić tak:

$check = $this->ipsclass->load_class( ROOT_PATH.'sources/lib/nazwa_pliku.php', 'nazwa_klasy' );
$check ->nazwa_funkcji();

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach

DawPi ok ale w takim razie w jaki sposób w pliku topic.php mamy odwoływanie się do skinów mimo że nie są w tym pliku ładowane tylko klasa (globalna?)$ipsclass łączy to wszystko czy zatem nie należało by się podpiąć jakoś pod $ipsclass ? tak samo jak bierzesz ustawienia z tool&settings :$this->ipsclass->vars['jakiś klucz'] nawet w gołym pliku w componets_public (w klasie)i nic nie ładujesz dodajesz tylko: var $ipsclass

jam_artists_button.png

Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager

Jakże nie są ładowane:

	function topic_init( $load_modules=0 )
{
	//-----------------------------------------
	// Memory...
	//-----------------------------------------

	$_before = $this->ipsclass->memory_debug_make_flag();

	//-----------------------------------------
	// Compile the language file
	//-----------------------------------------

	$this->ipsclass->load_language('lang_topic');
	$this->ipsclass->load_language('lang_editors');
	$this->ipsclass->load_template('skin_topic');

Inaczej możesz dodać jakaś funkcję w pliku ipsclass.php i potem w dowolnym miejscu korzystać z $this->ipsclass->ta_nazwa_funkcji().

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager

Bo są ładowane w index.php wraz z innym cache:

//--------------------------------
// Start off the cache array
//--------------------------------

$ipsclass->cache_array = array_merge( $choice[ $ipsclass->input['_low_act'] ][2], array('skin_remap', 'rss_calendar', 'rss_export', 'components', 'banfilters', 'settings', 'group_cache', 'systemvars', 'skin_id_cache', 'forum_cache', 'moderators', 'stats', 'languages', 'dp23_news_cache', 'dp23_lbe_cache') );

I trochę niżej:

//===========================================================================
// Get cache...
//===========================================================================

$ipsclass->init_cache_setup();
$ipsclass->init_load_cache( $ipsclass->cache_array );

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager

Kurcze, no, jakby Ci to powiedzieć, vars to tak naprawdę właściwość klasy, a w tym przypadku tablica.

Trochu się zamieszałem do czego zmierzasz. :)

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach

ok prościej :

$this->ipsclass->member['id'] możesz użyć w każdym miejscu forum i zawsze poda ci twoje id ja chcę zrobić dokładnie to samo tylko zamiast member['id']chce mieć swoje np. lala['de']które uzyskam w swoim pliku

prościej dzisiaj nie dam rady tego wytłumaczyć :)

jam_artists_button.png

Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager

Plik: sources/ipsclass.php

Znajdź:

	var $vars			   = array( );

Dodaj poniżej:

	var $DawPi			  = array();

Znajdź:

	function initiate_ipsclass()
{

Dodaj poniżej:

$this->DawPi['jo'] = 'd*pa';

Zapisz i wyślij.

Użyj wszędzie: $this->ipsclass->DawPi['jo']; - wszędzie wyświetli 'd*pa'.

Myślę, że potrafisz to dopasować do Twojego kodu. Tutaj tylko przykład na własności typu tablicowego.

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach

dobra na świeżo :)

$this->ipsclass->print->redirect_screen

jest to funkcja która siedzi w pliku class_display.php w klasie display która to jest przypisana do print a ja bym chciał mieć

$this->ipsclass->moja klasa->moja funkcja

tak naprawdę to potrzebuję raz się odwołać z innego pliku ale na przyszłość chciałbym wiedzieć jak to zrobić :)

w index.php :

require_once ROOT_PATH   . "sources/classes/class_display.php";

i

$ipsclass->print			=  new display();
$ipsclass->print->ipsclass  =& $ipsclass;

i czy wystarczy to sklonować z nazwami własnej klasy ?

co do moda którego teraz robię mam wszystkie funkcje we własnym pliku ale muszę wyświetlić w poście 2 butony(butony odwołują się do funkcji w moim pliku przez linki) i wynik ich działania więc muszę pobrać trochę danych przemielić i wyświetlić wynik dodatkowo wpływając na wygląd całego elementu jak na razie robię to w topic.php i pewnie że działa ale wolałbym odwołać się do funkcji w moim pliku i tylko zwrócić gotowy kod do topic.php na podmiankę z np. <!--costam-->

mam nadzieję że załapiesz ;) ja idę do dentysty na kanałowe ;)

jam_artists_button.png

Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager

Dobra, na świeżo, zajrzyj do pliku index.php i jak już tego nie zrozumiesz to ja nie wiem. :)

//--------------------------------
// Load our classes
//--------------------------------

require_once ROOT_PATH   . "sources/ipsclass.php";
require_once ROOT_PATH   . "sources/classes/class_display.php";

$ipsclass->print			=  new display();
$ipsclass->print->ipsclass  =& $ipsclass;

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager

No z powietrza skrypt się nie dowie. :)

Jest sporo metod na to. Sam większość chyba przerobiłem przy tworzeniu modów. :)

Zostawiam otwarty.

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager
ok ale teraz mam problem z adresacją miałem act=klasa&imput=instrukcja&itd... i już tak nie działa

hmm mógłbym moda dać do klasy component public ,

dało by się to zrobić w niej ?

Jeśli act= to musisz plik wrzucić do folderu sources/action_public/. Jeśli chcesz act=autocom to do sources/components_public/.

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach

:) jest w action_public i act przestał działać jak w index zmieniłem przerzuca mnie na index

co do component to miałem na myśli ze mogę przenieść tam moda do klasy component public i pytam czy tam mógłbym odpalić na zasadzie z postu 18 nowa klasę skoro mówisz ze jest wiele sposobów na to

nie trzeba by wtedy edytować index.php

jam_artists_button.png

Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager

Mam wrażenie, że na nowo wynajdujemy koło i krążymy obok siebie zupełnie się nie rozumiejąc. :)

Zrób jak bozia każe. :)

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę.