Tworzenie modułów Wymagania aplikacji Tworzenie modułów Utworzenie katalogu z nazwą modułu oraz wersją (np. blog1) w katalogu modules Utworzenie potrzebnych katalogów takich jak config controllers helpers libraries models views W zależności od tego jaka jest rola modułu niektóre katalogi są zbędne. Utworzenie kontrolera (jeżeli wymagane) Nazwa pliku z kontrolerem powinna byc taka sam jak nazwa katalogu (np. blog1) - nazwa modułu oraz jego wersja. Nazwa klasy kontrolera powinna byc taka sama jak nazwa pliku, ale zaczynająca się dużą litera oraz rozszerzona o _Controller (np. Blog1_Controller) Utworzenie modeli (jeżeli wymagane) W panelu administracyjnym po zalogowaniu jako superadmin należy przejśc na podstronę module/add i uzupełnić formularz. Architektura aplikacji controllers conf front group lang layout menu module news page perm search
site task translate user helpers config_db Ustawienia konfiguracyjne przechowywane w bazie danych item Pobieranie konkretnego ustawienia. Metoda przyjmuje 1 parametr - string. Grupa i nazwa ustawienia oddzielone kropką. config_db::item('blog.img_widht') design Pomoc w wyświetlaniu różnego rodzaju kodów html. msg_success Wyświetlenie tagu div z klasą msg_success design::msg_success('string') design::msg_success(translate::get('blog.add_ok')) msg_fail Wyświetlenie tagu div z klasą msg_fail design::msg_fail('string') design::msg_fail(translate::get('blog.add_notok')) button_add Wyświetlenie linku z obrazkiem windows_add.png design::button_add('url', 'label') design::button_add(url::site('blog/item_add'), 'Add item') button_edit Wyświetlenie linku z obrazkiem windows_edit.png design::button_edit(url::site('blog/item_edit'), 'Edit item') module Pomocnik do modułów exists Sprawdzenie czy dana strona ma dostęp do modułu. Jeśli tak zwraca TRUE, jęsli nie zwraca FALSE. module::exists('rating') MY_date Pomocnik do generowania dat różnych formatów. make Wyświetla date w formacie dd mm YYYY (miesiąc w formacie tekstu skróconego). Pobiera date w formacie Y-m-d H:i:s date::make('2008-07-06 12:15:10') make_month Wyświetla date w formacie mm (miesiąc w formacie tekstu skróconego). Pobiera date w formacie Y-m-d H:i:s date::make('2008-07-06 12:15:10')
MY_url Pomocnik do generowania URL różnych formatów. base_layout Zwraca URL do layoutu url::base_layout() overview Pomocnik do podstrony admin/overview. status_url Zwraca URL do zmiany statusu overview::status_url('blog_post', 2, 0) overview::status_url('blog_post', 2, 1) edit_url Zwraca URL do edycji obiektu overview::edit_url('blog_post', 2) del_url Zwraca URL do usuwania obiektu overview::del_url('blog_post', 2) page_image Pomocnik do kontrolera page - do wyswietlania obrazkow. show Zwraca tag img dla dużego obrazka page_image::show('img005.jpg', array('alt'=>'image show_min Zwraca tag img dla miniaturki obrazka page_image::show_min('img005.jpg', array('alt'=>'image show_med Zwraca tag img dla średniego obrazka page_image::show_med('img005.jpg', array('alt'=>'image pdf Zwraca tag img z relatywną ścieżką do obrazka (wykorzystywane w generowaniu pdf) page_image::show_pdf('img005.jpg', array('alt'=>'image url Zwraca URL do dużego obrazka page_image::show_url('img005.jpg') translate Pomocnik do tłumaczeń treści strony. hooks get Pobieranie tekstu dla określonej grupy i nazwy (group.name) translate::get('blog.add_ok') start Przygotowanie środowiska. Sprawdzenie czy strona z pobranym adresem url::site() istnieje w bazie danych (tabela site). Jeżeli nie istineje wyświetla komunikat Kohana::show_404(url::site()); że dana strona nie istnieje. Następnie pobierana jest konfiguracja dla danej strony (kolumny z tabeli site). Następnie pobierane są dane odnośnie
libraries layoutu dla strony. Następnie pobierane są dane odnośnie modułów przypisanych do danej strony, zapisywana jest ścieżka routingu. Config_Site instance call Magiczna metoda wywolywania metod konfiguracji echo $this->config_site->menu_top() get Magiczna metoda pobierania wartosci konfiguracji echo this->config_site->new_key set Magiczna metoda ustawiania wartosci konfiguracji $this->config_site->new_key = 'new value' set Ustawienie jakiejs nowej wartosci w konfiguracji $this->config_site->set('new_key', 'new value') item Pobranie wartosci konfiguracji $this->config_site->item('new_key') Design_lib menu1 Zwraca widok menu/menu1 z podanymi w parametrze pozycjami (items) menu_main_site_news Zwraca widok menu/main_site_news z pobranymi newsami ze strony glownej (microcms.nl) main_task Zwraca widok menu/task_view z pobranymi zadaniami dla danej strony Front_lib Biblioteka ktora pozwala w latwy sposob pobrac wiersze ktore flage 'front' oraz 'status' maja ustawiona na 1 oraz sa przypisane do danej strony. call Magiczna metoda ktora pozwala ustawic inne parametry tworzac w ten sposob dodatkowe warunki do zapytania. get_all Pobranie wiecej niz 1 wiersz z tabeli get_one Pobranie tylko jednego wiersza z tabeli Media_lib Obiekt utworzony w konstruktorze głównego kontrolera. Ta biblioteka sluzy do prostego dodawania plikow css, js, rss oraz skryptow js do widoku glownego lub innych.
instance add_feed Dodanie do tablicy feed. Metoda przyjmuje 2 parametry url (string) i title(string) $this->media_lib->add_feed(url::site('calendar/feed/'. $calendar->idcalendar), translate::get('calendar.naglowek')); add_file Dodanie sciezki do pliku JS do tablicy plikow JS $this->media_lib->add_file(url::base_layout().'/js/change_di.js') add_css_file Dodanie sciezki do pliku CSS do tablicy plikow CSS $this->media_lib->add_file(url::base_layout().'/css/di.css') add_script_onload Dodanie do tablicy skryptu JS po zaladowaniu strony (onload) $this->media_lib->add_script_onload('alert("ok")') add_script Dodanie do tablicy skryptu JS $this->media_lib->add_script('alert("ok")') get_file Pobranie tablicy plikow JS $this->media_lib->get_file() get_feed Pobranie tablicy feed $this->media_lib->get_feed() get_css_file Pobranie tablicy plikow CSS $this->media_lib->get_css_file() get_script Pobranie tablicy skryptow $this->media_lib->get_script() get_script_onload Pobranie tablicy skryptow wykonywanych po calkowitym zaladowaniu strony $this->media_lib->get_script_onload() MY_Controller _check_global_perm Sprawdzenie uprawnień dostępu do danej podstrony. Uprawnienia pobierane są z bazy - tabela perm. Jeżeli nie ma dostepu wyświetlany jest komunikat i aplikacja jest wyłączana (shutdown). Metoda używana tylko w konstruktorze głównego kontrolera (cel - porządek w konstruktorze, mniej kodu w konstruktorze, przejrzystość). _set_title Obiekt utworzony w konstruktorze głównego kontrolera. Ustawienie tytułu (tag title w head) dla danej podstrony. $this->_set_title('page add'); _load_menu Pobranie menu z bazy (tabela menu) przypisanych do danej strony (site) i dodanie ich do głównego widoku (index_view). Metoda używana tylko w konstruktorze głównego kontrolera (cel - porządek w konstruktorze, mniej kodu w konstruktorze, przejrzystość). _set_lang Ustawienie języka w jakim ma być wyświetlana strona. Pobrane są wszystkie języki i sprawdzane które języki
są przypisane do danej strony. Sprawdzanie czy jest już ustawiona sesja z językiem. Metoda używana tylko w konstruktorze głównego kontrolera (cel - porządek w konstruktorze, mniej kodu w konstruktorze, przejrzystość). MY_Model set_idsite get_idsite MY_View set_parse render parse _change Pathway_lib Obiekt utworzony w konstruktorze głównego kontrolera. Biblioteka do tworzenia i wyświetlania ścieżek nawigacji (pathway, breadcrump). add Dodanie nowej pozycji w ścieżce $this->pathway->add(url::site('admin'), translate::get('main.dashboard')); render Wygenerowanie i zwrócenie kodu html echo $this->pathway->render(); User_lib Obiekt utworzony w konstruktorze głównego kontrolera. grupa - wprowadzona ręcznie przez administratora typ grupy - z góry narzucony podział na grupy 1 - superadmin 2 - admin 3 - subadmin 4 - własna instance has_group Sprawdzenie czy użytkownik należy do grupy $this->user_lib->has_group(12) $this->user_lib->has_group(array(1,7,12)) has_type_group Sprawdzenie czy użytkownik należy do typu grupy
$this->user_lib->has_type_group(1) $this->user_lib->has_type_group(array(1,2,3))