first commit

This commit is contained in:
2026-04-30 14:38:11 +02:00
commit e22bbde336
1994 changed files with 613950 additions and 0 deletions

23
.htaccess Normal file
View File

@@ -0,0 +1,23 @@
# Turn on URL rewriting
RewriteEngine On
# Installation directory
RewriteBase /
# Protect application and system files from being viewed
RewriteRule ^(application|modules|system) - [F,L]
#stare strony przekierowanie
RewriteCond %{REQUEST_URI} /urzadzenia-uslugowe-i-produkcyjne-monochromatyczne
RewriteRule .* http://%{HTTP_HOST}/urzadzenia-uslugowe-monochromatyczne [R=301,L]
RewriteCond %{REQUEST_URI} /urzadzenia-uslugowe-i-produkcyjne-kolorowe
RewriteRule .* http://%{HTTP_HOST}/urzadzenia-uslugowe-kolorowe [R=301,L]
# Allow any files or directories that exist to be displayed directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# Rewrite all other URLs to index.php/URL
RewriteRule ^(.+)$ index.php?kohana_uri=$1 [L]

17
.vscode/ftp-kr.json vendored Normal file
View File

@@ -0,0 +1,17 @@
{
"host": "host420804.hostido.net.pl",
"username": "www@centrumcopy.com.pl",
"password": "JHycfrHnyEAYsJHtR26C",
"remotePath": "/public_html",
"protocol": "ftp",
"port": 0,
"fileNameEncoding": "utf8",
"autoUpload": true,
"autoDelete": false,
"autoDownload": false,
"ignoreRemoteModification": true,
"ignore": [
".git",
"/.vscode"
]
}

12
.vscode/sftp.json vendored Normal file
View File

@@ -0,0 +1,12 @@
{
"name": "host420804.hostido.net.pl",
"host": "host420804.hostido.net.pl",
"protocol": "ftp",
"port": 21,
"username": "www@centrumcopy.com.pl",
"password": "JHycfrHnyEAYsJHtR26C",
"remotePath": "/public_html",
"uploadOnSave": false,
"useTempFile": false,
"openSsh": false
}

View File

@@ -0,0 +1 @@
a:6:{s:6:"locale";a:2:{s:8:"language";a:2:{i:0;s:5:"pl_PL";i:1;s:13:"Polish_Poland";}s:8:"timezone";s:0:"";}s:6:"routes";a:12:{s:8:"_default";s:19:"front/page/homepage";s:13:"install/*(.*)";s:10:"install/$1";s:5:"admin";s:14:"admin/welcome/";s:11:"admin/login";s:16:"admin/user/login";s:12:"admin/logout";s:17:"admin/user/logout";s:14:"admin/password";s:19:"admin/user/password";s:15:"admin/page/(.*)";s:18:"admin/page/edit/$1";s:10:"admin/(.*)";s:8:"admin/$1";s:7:"kontakt";s:18:"front/page/contact";s:13:"galeria/?(.*)";s:16:"front/gallery/$1";s:17:"aktualnosci/?(.*)";s:13:"front/news/$1";s:4:"(.+)";s:13:"front/page/$1";}s:7:"session";a:8:{s:6:"driver";s:6:"native";s:7:"storage";s:0:"";s:4:"name";s:15:"Frisson_session";s:8:"validate";a:1:{i:0;s:10:"user_agent";}s:10:"encryption";b:0;s:10:"expiration";i:1800;s:10:"regenerate";i:0;s:14:"gc_probability";i:2;}s:6:"cookie";a:5:{s:6:"domain";s:18:"centrumcopy.com.pl";s:4:"path";s:1:"/";s:6:"expire";i:0;s:6:"secure";b:0;s:8:"httponly";b:0;}s:11:"application";a:9:{s:5:"title";s:36:"Centrum Copy - Kserokopiarki Develop";s:16:"meta_description";s:100:"Kserokopiarki Develop, ul. Okulickiego 9, 35-222 Rzeszów, tel. 17 863 53 91, tel./fax. 17 863 65 10";s:13:"meta_keywords";s:58:"kserokopiarki, develop, powielacze cyfrowe, riso, rzeszów";s:6:"domain";s:18:"centrumcopy.com.pl";s:5:"email";s:0:"";s:10:"email_name";s:0:"";s:16:"google_analytics";s:0:"";s:5:"gmaps";a:2:{s:6:"center";a:3:{s:3:"lat";s:10:"50.0491231";s:3:"lon";s:10:"21.9869502";s:4:"zoom";i:14;}s:6:"marker";a:4:{s:3:"lat";s:10:"50.0491231";s:3:"lon";s:10:"21.9869502";s:4:"html";s:70:"<strong>Centrum Copy</strong><p>35-222 Rzeszów, ul. Okulickiego 9</p>";s:5:"title";s:36:""35-222 Rzeszów, ul. Okulickiego 9"";}}s:8:"menu_nav";a:12:{s:8:"o-firmie";a:2:{i:0;s:8:"o-firmie";i:1;s:8:"O firmie";}s:8:"promocje";a:2:{i:0;s:8:"promocje";i:1;s:8:"Promocje";}s:18:"urzadzenia-biurowe";a:3:{i:0;N;i:1;s:19:"Urządzenia biurowe";i:2;a:4:{s:27:"urzadzenia-biurowe-kolorowe";a:2:{i:0;s:27:"urzadzenia-biurowe-kolorowe";i:1;s:11:"kolorowe A4";}s:30:"urzadzenia-biurowe-kolorowe-a3";a:2:{i:0;s:30:"urzadzenia-biurowe-kolorowe-a3";i:1;s:11:"kolorowe A3";}s:35:"urzadzenia-biurowe-monochromatyczne";a:2:{i:0;s:35:"urzadzenia-biurowe-monochromatyczne";i:1;s:19:"monochromatyczne A4";}s:38:"urzadzenia-biurowe-monochromatyczne-a3";a:2:{i:0;s:38:"urzadzenia-biurowe-monochromatyczne-a3";i:1;s:19:"monochromatyczne A3";}}}s:8:"drukarki";a:3:{i:0;N;i:1;s:8:"Drukarki";i:2;a:2:{s:25:"drukarki-monochromatyczne";a:2:{i:0;s:25:"drukarki-monochromatyczne";i:1;s:16:"monochromatyczne";}s:17:"drukarki-kolorowe";a:2:{i:0;s:17:"drukarki-kolorowe";i:1;s:8:"kolorowe";}}}s:20:"rozwiazania-software";a:3:{i:0;N;i:1;s:34:"Rozwiązania programowe (software)";i:2;a:2:{s:19:"zarzadzanie-drukiem";a:2:{i:0;s:19:"zarzadzanie-drukiem";i:1;s:27:"system zarządzania drukiem";}s:35:"skanownaie-dokumentow-i-dystrybucja";a:2:{i:0;s:35:"skanownaie-dokumentow-i-dystrybucja";i:1;s:36:"skanowanie dokumentów i dystrybucja";}}}s:23:"powielacze-cyfrowe-riso";a:3:{i:0;N;i:1;s:23:"Powielacze cyfrowe RISO";i:2;a:4:{s:37:"powielacze-cyfrowe-riso-dlaczego-riso";a:2:{i:0;s:37:"powielacze-cyfrowe-riso-dlaczego-riso";i:1;s:14:"dlaczego RISO?";}s:39:"powielacze-cyfrowe-riso-urzadzenia-nowe";a:2:{i:0;s:39:"powielacze-cyfrowe-riso-urzadzenia-nowe";i:1;s:16:"urządzenia nowe";}s:37:"powielacze-cyfrowe-riso-urzadzenia-a2";a:2:{i:0;s:37:"powielacze-cyfrowe-riso-urzadzenia-a2";i:1;s:14:"urządzenia A2";}s:47:"powielacze-cyfrowe-riso-urzadzenia-poleasingowe";a:2:{i:0;s:47:"powielacze-cyfrowe-riso-urzadzenia-poleasingowe";i:1;s:24:"urządzenia poleasingowe";}}}s:29:"pelnokolorowe-urzadzenia-riso";a:3:{i:0;N;i:1;s:47:"Pełnokolorowe urządzenia Inkjet Riso ComColor";i:2;a:3:{s:25:"dlaczego-atramentowe-riso";a:2:{i:0;s:25:"dlaczego-atramentowe-riso";i:1;s:23:"Dlaczego Riso ComColor?";}s:34:"pelnokolorowe-urzadzenia-riso-nowe";a:2:{i:0;s:34:"pelnokolorowe-urzadzenia-riso-nowe";i:1;s:16:"Urządzenia nowe";}s:42:"pelnokolorowe-urzadzenia-riso-poleasingowe";a:2:{i:0;s:42:"pelnokolorowe-urzadzenia-riso-poleasingowe";i:1;s:24:"Urządzenia poleasingowe";}}}s:7:"plotery";a:2:{i:0;s:7:"plotery";i:1;s:17:"Plotery i skanery";}s:12:"finansowanie";a:2:{i:0;s:12:"finansowanie";i:1;s:12:"Finansowanie";}s:6:"serwis";a:2:{i:0;s:6:"serwis";i:1;s:6:"Serwis";}s:6:"uslugi";a:2:{i:0;s:6:"uslugi";i:1;s:7:"Usługi";}s:7:"kontakt";a:2:{i:0;s:7:"kontakt";i:1;s:7:"Kontakt";}}}s:8:"tiny_mce";a:2:{s:15:"public_html_dir";s:56:"/home/host420804/domains/centrumcopy.com.pl/public_html/";s:11:"upload_dirs";a:3:{s:13:"uploads/image";s:5:"image";s:12:"uploads/file";s:4:"file";s:13:"uploads/media";s:5:"media";}}}

View File

@@ -0,0 +1 @@
a:31:{s:17:"config/locale.php";a:2:{i:0;s:80:"/home/host420804/domains/centrumcopy.com.pl/public_html/system/config/locale.php";i:1;s:85:"/home/host420804/domains/centrumcopy.com.pl/public_html/application/config/locale.php";}s:20:"libraries/Router.php";s:83:"/home/host420804/domains/centrumcopy.com.pl/public_html/system/libraries/Router.php";s:23:"libraries/MY_Router.php";b:0;s:17:"config/routes.php";a:2:{i:0;s:80:"/home/host420804/domains/centrumcopy.com.pl/public_html/system/config/routes.php";i:1;s:85:"/home/host420804/domains/centrumcopy.com.pl/public_html/application/config/routes.php";}s:16:"helpers/html.php";s:79:"/home/host420804/domains/centrumcopy.com.pl/public_html/system/helpers/html.php";s:19:"helpers/MY_html.php";s:87:"/home/host420804/domains/centrumcopy.com.pl/public_html/application/helpers/MY_html.php";s:26:"controllers/base_admin.php";s:94:"/home/host420804/domains/centrumcopy.com.pl/public_html/application/controllers/base_admin.php";s:24:"libraries/Controller.php";s:87:"/home/host420804/domains/centrumcopy.com.pl/public_html/system/libraries/Controller.php";s:27:"libraries/MY_Controller.php";b:0;s:40:"controllers/MY_Base_Admin_Controller.php";b:0;s:17:"libraries/URI.php";s:80:"/home/host420804/domains/centrumcopy.com.pl/public_html/system/libraries/URI.php";s:20:"libraries/MY_URI.php";b:0;s:19:"libraries/Input.php";s:82:"/home/host420804/domains/centrumcopy.com.pl/public_html/system/libraries/Input.php";s:22:"libraries/MY_Input.php";b:0;s:18:"libraries/View.php";s:81:"/home/host420804/domains/centrumcopy.com.pl/public_html/system/libraries/View.php";s:21:"libraries/MY_View.php";b:0;s:22:"views/admin_layout.php";s:90:"/home/host420804/domains/centrumcopy.com.pl/public_html/application/views/admin_layout.php";s:21:"libraries/Session.php";s:84:"/home/host420804/domains/centrumcopy.com.pl/public_html/system/libraries/Session.php";s:24:"libraries/MY_Session.php";b:0;s:18:"config/session.php";a:2:{i:0;s:81:"/home/host420804/domains/centrumcopy.com.pl/public_html/system/config/session.php";i:1;s:86:"/home/host420804/domains/centrumcopy.com.pl/public_html/application/config/session.php";}s:17:"config/cookie.php";a:2:{i:0;s:80:"/home/host420804/domains/centrumcopy.com.pl/public_html/system/config/cookie.php";i:1;s:85:"/home/host420804/domains/centrumcopy.com.pl/public_html/application/config/cookie.php";}s:18:"helpers/cookie.php";s:81:"/home/host420804/domains/centrumcopy.com.pl/public_html/system/helpers/cookie.php";s:21:"helpers/MY_cookie.php";b:0;s:22:"config/application.php";a:1:{i:0;s:90:"/home/host420804/domains/centrumcopy.com.pl/public_html/application/config/application.php";}s:19:"config/tiny_mce.php";a:1:{i:0;s:87:"/home/host420804/domains/centrumcopy.com.pl/public_html/application/config/tiny_mce.php";}s:21:"i18n/pl_PL/errors.php";a:1:{i:0;s:84:"/home/host420804/domains/centrumcopy.com.pl/public_html/system/i18n/pl_PL/errors.php";}s:19:"i18n/pl_PL/core.php";a:1:{i:0;s:82:"/home/host420804/domains/centrumcopy.com.pl/public_html/system/i18n/pl_PL/core.php";}s:15:"helpers/url.php";s:78:"/home/host420804/domains/centrumcopy.com.pl/public_html/system/helpers/url.php";s:18:"helpers/MY_url.php";b:0;s:31:"views/kohana_error_disabled.php";s:94:"/home/host420804/domains/centrumcopy.com.pl/public_html/system/views/kohana_error_disabled.php";s:23:"views/kohana_errors.css";s:86:"/home/host420804/domains/centrumcopy.com.pl/public_html/system/views/kohana_errors.css";}

1
application/cache/kohana_language vendored Normal file
View File

@@ -0,0 +1 @@
a:1:{s:5:"pl_PL";a:2:{s:6:"errors";a:11:{i:42;a:3:{i:0;i:1;i:1;s:16:"Błąd aplikacji";i:2;s:68:"Proszę sprawdzić w dokumentacji Kohana informacje o tym błędzie.";}i:43;a:3:{i:0;i:1;i:1;s:21:"Strony nie znaleziono";i:2;s:90:"Nie znaleziono wybranej strony. Mogła zostać przeniesiona, usunięta lub zarchiwizowana.";}i:44;a:3:{i:0;i:1;i:1;s:18:"Błąd Bazy Danych";i:2;s:119:"W bazie danych wystąpił błąd podczas próby wywołania zapytania. Proszę zapoznać się z opisem błędu poniżej.";}i:4096;a:3:{i:0;i:1;i:1;s:20:"Nieoczekiwany błąd";i:2;s:143:"Wystąpił błąd który uniemożliwił załadowanie strony. Jeśli problem się utrzymuje prosimy skontaktować się z administratorem strony.";}i:1;a:3:{i:0;i:1;i:1;s:16:"Błąd krytyczny";i:2;s:0:"";}i:256;a:3:{i:0;i:1;i:1;s:16:"Błąd krytyczny";i:2;s:0:"";}i:4;a:3:{i:0;i:1;i:1;s:15:"Błąd składni";i:2;s:0:"";}i:2;a:3:{i:0;i:1;i:1;s:12:"Ostrzeżenie";i:2;s:0:"";}i:512;a:3:{i:0;i:1;i:1;s:12:"Ostrzeżenie";i:2;s:0:"";}i:2048;a:3:{i:0;i:2;i:1;s:24:"Błąd ścisłej notacji";i:2;s:0:"";}i:8;a:3:{i:0;i:2;i:1;s:16:"Błąd wykonania";i:2;s:0:"";}}s:4:"core";a:25:{s:21:"there_can_be_only_one";s:75:"Na jedno wywołanie strony można powołać tylko jedną instancję Kohany.";s:18:"uncaught_exception";s:43:"Nieobsługiwany %s: %s w pliku %s w lini %s";s:14:"invalid_method";s:40:"Nieprawidłowa metoda %s wywołana w %s.";s:16:"invalid_property";s:43:"Właściwość %s w klasie %s nie istnieje.";s:18:"log_dir_unwritable";s:82:"Katalog zapisu dziennika w konfiguracji, wskazuje na położenie tylko do odczytu.";s:18:"resource_not_found";s:46:"Żądany %s, %s, Nie może zostać znaleziony.";s:16:"invalid_filetype";s:80:"Żądany typ pliku, .%s, w konfiguracji widoków nie jest podany jako dozwolony.";s:17:"view_set_filename";s:58:"Musisz podać plik widoku przed wywołaniem funkcji render";s:16:"no_default_route";s:64:"Proszę ustawić domyślny adres wywołania w config/routes.php.";s:13:"no_controller";s:78:"Kohana nie była w stanie określić kontrolera obsługującego wywołanie: %s";s:14:"page_not_found";s:51:"Wywołana strona, %s, nie może zostać znaleziona.";s:12:"stats_footer";s:121:"Czas wywołania: {execution_time} sekund, użyto {memory_usage} MB pamięci. Wygenerowano przez Kohana v{kohana_version}.";s:15:"error_file_line";s:34:"<tt>%s <strong>[%s]:</strong></tt>";s:11:"stack_trace";s:25:"Zrzut stosu (Stack Trace)";s:13:"generic_error";s:32:"Nie można zakończyć żądania";s:15:"errors_disabled";s:83:"Przejdź na <a href="%s">stronę główną</a> lub <a href="%s">spróbuj znowu</a>.";s:17:"driver_implements";s:74:"Sterownik %s dla biblioteki %s musi posiadać implementację interfejsu %s";s:16:"driver_not_found";s:46:"Nie znaleziono sterownika %s dla biblioteki %s";s:6:"config";s:19:"plik konfiguracyjny";s:10:"controller";s:9:"kontroler";s:6:"helper";s:8:"pomocnik";s:7:"library";s:10:"biblioteka";s:6:"driver";s:9:"sterownik";s:5:"model";s:5:"model";s:4:"view";s:5:"widok";}}}

View File

@@ -0,0 +1,78 @@
<?php defined('SYSPATH') OR die('No direct access allowed.');
$config['title'] = 'Centrum Copy - Kserokopiarki Develop';
$config['meta_description'] = 'Kserokopiarki Develop, ul. Okulickiego 9, 35-222 Rzeszów, tel. 17 863 53 91, tel./fax. 17 863 65 10';
$config['meta_keywords'] = 'kserokopiarki, develop, powielacze cyfrowe, riso, rzeszów';
$config['domain'] = 'centrumcopy.com.pl';
$config['email'] = '';
$config['email_name'] = '';
$config['google_analytics'] = '';
$config['gmaps'] = array(
'center' => array(
'lat' => '50.0491231',
'lon' => '21.9869502',
'zoom' => 14
),
'marker' => array(
'lat' => '50.0491231',
'lon' => '21.9869502',
'html' => '<strong>Centrum Copy</strong><p>35-222 Rzeszów, ul. Okulickiego 9</p>',
'title' => '"35-222 Rzeszów, ul. Okulickiego 9"'
),
);
$config['menu_nav'] = array(
'o-firmie' => array('o-firmie', 'O firmie',),
'powielacze-cyfrowe-riso' => array(null, 'Powielacze cyfrowe RISO', array(
'powielacze-cyfrowe-riso-dlaczego-riso' => array('powielacze-cyfrowe-riso-dlaczego-riso', 'dlaczego RISO?'),
'powielacze-cyfrowe-riso-urzadzenia-nowe' => array('powielacze-cyfrowe-riso-urzadzenia-nowe', 'urządzenia nowe'),
'powielacze-cyfrowe-riso-urzadzenia-a2' => array('powielacze-cyfrowe-riso-urzadzenia-a2', 'urządzenia A2'),
'powielacze-cyfrowe-riso-urzadzenia-poleasingowe' => array('powielacze-cyfrowe-riso-urzadzenia-poleasingowe', 'urządzenia poleasingowe'),
)
),
'pelnokolorowe-urzadzenia-riso' => array(null, 'Pełnokolorowe urządzenia Inkjet Riso ComColor', array(
'dlaczego-atramentowe-riso' => array('dlaczego-atramentowe-riso', 'Dlaczego Riso ComColor?'),
'pelnokolorowe-urzadzenia-riso-nowe' => array('pelnokolorowe-urzadzenia-riso-nowe', 'Urządzenia nowe'),
'pelnokolorowe-urzadzenia-riso-poleasingowe' => array('pelnokolorowe-urzadzenia-riso-poleasingowe', 'Urządzenia poleasingowe'),
)
),
'promocje' => array('promocje', 'Promocje',),
'urzadzenia-biurowe' => array(null, 'Urządzenia biurowe', array(
'urzadzenia-biurowe-kolorowe' => array('urzadzenia-biurowe-kolorowe', 'kolorowe A4'),
'urzadzenia-biurowe-kolorowe-a3' => array('urzadzenia-biurowe-kolorowe-a3', 'kolorowe A3'),
'urzadzenia-biurowe-monochromatyczne' => array('urzadzenia-biurowe-monochromatyczne', 'monochromatyczne A4'),
'urzadzenia-biurowe-monochromatyczne-a3' => array('urzadzenia-biurowe-monochromatyczne-a3', 'monochromatyczne A3')
)
),
// 'urzadzenia-uslugowe' => array(null, 'Urządzenia usługowe', array(
// 'urzadzenia-uslugowe-monochromatyczne' => array('urzadzenia-uslugowe-monochromatyczne', 'monochromatyczne'),
// 'urzadzenia-uslugowe-kolorowe' => array('urzadzenia-uslugowe-kolorowe', 'kolorowe'),
// )
// ),
// 'urzadzenia-produkcyjne' => array(null, 'Urządzenia produkcyjne', array(
// 'urzadzenia-produkcyjne-monochromatyczne' => array('urzadzenia-produkcyjne-monochromatyczne', 'monochromatyczne'),
// 'urzadzenia-produkcyjne-kolorowe' => array('urzadzenia-produkcyjne-kolorowe', 'kolorowe'),
// )
// ),
// 'drukarki' => array(null, 'Drukarki', array(
// 'drukarki-monochromatyczne' => array('drukarki-monochromatyczne', 'monochromatyczne'),
// 'drukarki-kolorowe' => array('drukarki-kolorowe', 'kolorowe'),
// )
// ),
// 'rozwiazania-software' => array(null, 'Rozwiązania programowe (software)', array(
// 'zarzadzanie-drukiem' => array( 'zarzadzanie-drukiem', 'system zarządzania drukiem' ),
// // 'rozwiazania-dla-jednostek-medycznych' => array('rozwiazania-dla-jednostek-medycznych', 'rozwiązania dla jednostek medycznych' ),
// 'skanownaie-dokumentow-i-dystrybucja' => array('skanownaie-dokumentow-i-dystrybucja', 'skanowanie dokumentów i dystrybucja' )
// )
// ),
'plotery' => array('plotery', 'Plotery i skanery'),
'finansowanie' => array('finansowanie', 'Finansowanie'),
'serwis' => array('serwis', 'Serwis'),
'uslugi' => array('uslugi', 'Usługi'),
'kontakt' => array('kontakt', 'Kontakt'),
);

View File

@@ -0,0 +1,108 @@
<?php defined('SYSPATH') OR die('No direct access allowed.');
/**
* Base path of the web site. If this includes a domain, eg: localhost/kohana/
* then a full URL will be used, eg: http://localhost/kohana/. If it only includes
* the path, and a site_protocol is specified, the domain will be auto-detected.
*/
$config['site_domain'] = 'centrumcopy.com.pl';
/**
* Force a default protocol to be used by the site. If no site_protocol is
* specified, then the current protocol is used, or when possible, only an
* absolute path (with no protocol/domain) is used.
*/
$config['site_protocol'] = '';
/**
* Name of the front controller for this application. Default: index.php
*
* This can be removed by using URL rewriting.
*/
#$config['index_page'] = 'index.php';
/**
* Fake file extension that will be added to all generated URLs. Example: .html
*/
$config['url_suffix'] = '';
/**
* Length of time of the internal cache in seconds. 0 or FALSE means no caching.
* The internal cache stores file paths and config entries across requests and
* can give significant speed improvements at the expense of delayed updating.
*/
$config['internal_cache'] = 30;
/**
* Enable or disable gzip output compression. This can dramatically decrease
* server bandwidth usage, at the cost of slightly higher CPU usage. Set to
* the compression level (1-9) that you want to use, or FALSE to disable.
*
* Do not enable this option if you are using output compression in php.ini!
*/
$config['output_compression'] = TRUE;
/**
* Enable or disable global XSS filtering of GET, POST, and SERVER data. This
* option also accepts a string to specify a specific XSS filtering tool.
*/
$config['global_xss_filtering'] = true;
/**
* Enable or disable hooks. Setting this option to TRUE will enable
* all hooks. By using an array of hook filenames, you can control
* which hooks are enabled. Setting this option to FALSE disables hooks.
*/
$config['enable_hooks'] = FALSE;
/**
* Log thresholds:
* 0 - Disable logging
* 1 - Errors and exceptions
* 2 - Warnings
* 3 - Notices
* 4 - Debugging
*/
$config['log_threshold'] = 1;
/**
* Message logging directory.
*/
$config['log_directory'] = APPPATH.'logs';
/**
* Enable or disable displaying of Kohana error pages. This will not affect
* logging. Turning this off will disable ALL error pages.
*/
$config['display_errors'] = false;
/**
* Enable or disable statistics in the final output. Stats are replaced via
* specific strings, such as {execution_time}.
*
* @see http://docs.kohanaphp.com/general/configuration
*/
$config['render_stats'] = TRUE;
/**
* Filename prefixed used to determine extensions. For example, an
* extension to the Controller class would be named MY_Controller.php.
*/
$config['extension_prefix'] = 'MY_';
/**
* Additional resource paths, or "modules". Each path can either be absolute
* or relative to the docroot. Modules can include any resource that can exist
* in your application directory, configuration files, controllers, views, etc.
*/
$config['modules'] = array
(
// MODPATH.'auth', // Authentication
// MODPATH.'forge', // Form generation
// MODPATH.'kodoc', // Self-generating documentation
// MODPATH.'media', // Media caching and compression
MODPATH.'gmaps', // Google Maps integration
// MODPATH.'archive', // Archive utility
// MODPATH.'payment', // Online payments
// MODPATH.'unit_test', // Unit testing
// MODPATH.'object_db', // New OOP Database library (testing only!)
);

View File

@@ -0,0 +1,32 @@
<?php defined('SYSPATH') OR die('No direct access allowed.');
/**
* @package Core
*
* Domain, to restrict the cookie to a specific website domain. For security,
* you are encouraged to set this option. An empty setting allows the cookie
* to be read by any website domain.
*/
$config['domain'] = 'centrumcopy.com.pl';
/**
* Restrict cookies to a specific path, typically the installation directory.
*/
$config['path'] = '/';
/**
* Lifetime of the cookie. A setting of 0 makes the cookie active until the
* users browser is closed or the cookie is deleted.
*/
$config['expire'] = 0;
/**
* Enable this option to only allow the cookie to be read when using the a
* secure protocol.
*/
$config['secure'] = FALSE;
/**
* Enable this option to disable the cookie from being accessed when using a
* secure protocol. This option is only available in PHP 5.2 and above.
*/
$config['httponly'] = FALSE;

View File

@@ -0,0 +1,45 @@
<?php defined('SYSPATH') OR die('No direct access allowed.');
/**
* @package Database
*
* Database connection settings, defined as arrays, or "groups". If no group
* name is used when loading the database library, the group named "default"
* will be used.
*
* Each group can be connected to independently, and multiple groups can be
* connected at once.
*
* Group Options:
* benchmark - Enable or disable database benchmarking
* persistent - Enable or disable a persistent connection
* connection - Array of connection specific parameters; alternatively,
* you can use a DSN though it is not as fast and certain
* characters could create problems (like an '@' character
* in a password):
* 'connection' => 'mysql://dbuser:secret@localhost/kohana'
* character_set - Database character set
* table_prefix - Database table prefix
* object - Enable or disable object results
* cache - Enable or disable query caching
* escape - Enable automatic query builder escaping
*/
$config['default'] = array
(
'benchmark' => TRUE,
'persistent' => FALSE,
'connection' => array
(
'type' => 'mysqli',
'user' => 'host420804_db',
'pass' => 'VanMzwjUn85ySRyR',
'host' => 'localhost',
'port' => FALSE,
'socket' => FALSE,
'database' => 'host420804_db'
),
'character_set' => 'utf8',
'table_prefix' => '',
'object' => TRUE,
'cache' => FALSE,
'escape' => TRUE
);

View File

@@ -0,0 +1,55 @@
<?php defined('SYSPATH') or die('No direct script access.');
/*
* If true, the debug toolbar will be automagically displayed
* NOTE: if IN_PRODUCTION is set to TRUE, the toolbar will
* not automatically render, even if auto_render is TRUE
*/
$config['auto_render'] = TRUE;
/*
* If true, the toolbar will default to the minimized position
*/
$config['minimized'] = FALSE;
/*
* Location of icon images
* relative to your site_domain
*/
$config['icon_path'] = 'images/debug_toolbar';
/*
* List config files you would like to exclude
* from showing in the toolbar (without extension).
* Alternatively, set to true to stop all
* config files from showing.
*/
$config['skip_configs'] = array('database', 'encryption');
/*
* Log toolbar data to FirePHP
*/
$config['firephp_enabled'] = TRUE;
/*
* Enable or disable specific panels
*/
$config['panels'] = array(
'benchmarks' => TRUE,
'database' => TRUE,
'vars_and_config' => TRUE,
'logs' => TRUE,
'ajax' => TRUE,
'files' => TRUE
);
/*
* Toolbar alignment
* options: right, left, center
*/
$config['align'] = 'right';
/*
* Secret Key
*/
$config['secret_key'] = FALSE;

View File

@@ -0,0 +1,23 @@
<?php defined('SYSPATH') OR die('No direct access allowed.');
/**
* SwiftMailer driver, used with the email helper.
*
* @see http://www.swiftmailer.org/wikidocs/v3/connections/nativemail
* @see http://www.swiftmailer.org/wikidocs/v3/connections/sendmail
* @see http://www.swiftmailer.org/wikidocs/v3/connections/smtp
*
* Valid drivers are: native, sendmail, smtp
*/
$config['driver'] = 'native';
/**
* To use secure connections with SMTP, set "port" to 465 instead of 25.
* To enable TLS, set "encryption" to "tls".
*
* Driver options:
* @param null native: no options
* @param string sendmail: executable path, with -bs or equivalent attached
* @param array smtp: hostname, (username), (password), (port), (auth), (encryption)
*/
$config['options'] = NULL;

View File

@@ -0,0 +1,15 @@
<?php defined('SYSPATH') OR die('No direct access allowed.');
/**
* You should set your own API key in application/config/gmaps.php
* This API key is usable for http://localhost/*
*/
$config['api_key'] = 'ABQIAAAAr-Ryn_rBPNdbGZMj6ol1UBRilJROL6iQId9Ow3y7N7_ES742DBQLKgFvbUSVpr9097tywJ-Q2Aq5oA';
/**
* Using a localised google domain gives more accurated results on geolocation
* For example, searches for "Toledo" will return different results within the domain of Spain (http://maps.google.es)
* specified by a country code of "es" than within the default domain within the United States (http://maps.google.com).
*/
$config['api_domain'] = 'google.pl';

View File

@@ -0,0 +1,16 @@
<?php defined('SYSPATH') OR die('No direct access allowed.');
/**
* @package Core
*
* Default language locale name(s).
* First item must be a valid i18n directory name, subsequent items are alternative locales
* for OS's that don't support the first (e.g. Windows). The first valid locale in the array will be used.
* @see http://php.net/setlocale
*/
$config['language'] = array('pl_PL', 'Polish_Poland');
/**
* Locale timezone. Defaults to use the server timezone.
* @see http://php.net/timezones
*/
$config['timezone'] = '';

View File

@@ -0,0 +1,25 @@
<?php defined('SYSPATH') OR die('No direct access allowed.');
/**
* @package Pagination
*
* Pagination configuration is defined in groups which allows you to easily switch
* between different pagination settings for different website sections.
* Note: all groups inherit and overwrite the default group.
*
* Group Options:
* directory - Views folder in which your pagination style templates reside
* style - Pagination style template (matches view filename)
* uri_segment - URI segment (int or 'label') in which the current page number can be found
* query_string - Alternative to uri_segment: query string key that contains the page number
* items_per_page - Number of items to display per page
* auto_hide - Automatically hides pagination for single pages
*/
$config['default'] = array
(
'directory' => 'pagination',
'style' => 'custom',
'uri_segment' => 3,
'query_string' => 's',
'items_per_page' => 5,
'auto_hide' => true,
);

View File

@@ -0,0 +1,24 @@
<?php defined('SYSPATH') OR die('No direct access allowed.');
/**
* @package Core
*
* Sets the default route to "welcome"
*/
$config['_default'] = 'front/page/homepage';
$config['install/*(.*)'] = 'install/$1';
# admin
$config['admin'] = 'admin/welcome/';
$config['admin/login'] = 'admin/user/login';
$config['admin/logout'] = 'admin/user/logout';
$config['admin/password'] = 'admin/user/password';
$config['admin/page/(.*)'] = 'admin/page/edit/$1';
$config['admin/(.*)'] = 'admin/$1';
#front
$config['kontakt'] = 'front/page/contact';
$config['galeria/?(.*)'] = 'front/gallery/$1';
$config['aktualnosci/?(.*)'] = 'front/news/$1';
$config['(.+)'] = 'front/page/$1';

View File

@@ -0,0 +1,47 @@
<?php defined('SYSPATH') OR die('No direct access allowed.');
/**
* @package Session
*
* Session driver name.
*/
$config['driver'] = 'native';
/**
* Session storage parameter, used by drivers.
*/
$config['storage'] = '';
/**
* Session name.
* It must contain only alphanumeric characters and underscores. At least one letter must be present.
*/
$config['name'] = 'Frisson_session';
/**
* Session parameters to validate: user_agent, ip_address, expiration.
*/
$config['validate'] = array('user_agent');
/**
* Enable or disable session encryption.
* Note: this has no effect on the native session driver.
* Note: the cookie driver always encrypts session data. Set to TRUE for stronger encryption.
*/
$config['encryption'] = FALSE;
/**
* Session lifetime. Number of seconds that each session will last.
* A value of 0 will keep the session active until the browser is closed (with a limit of 24h).
*/
$config['expiration'] = 1800;
/**
* Number of page loads before the session id is regenerated.
* A value of 0 will disable automatic session id regeneration.
*/
$config['regenerate'] = 0;
/**
* Percentage probability that the gc (garbage collection) routine is started.
*/
$config['gc_probability'] = 2;

View File

@@ -0,0 +1,8 @@
<?php defined('SYSPATH') OR die('No direct access allowed.');
$config['public_html_dir'] = getcwd() .'/';
$config['upload_dirs'] = array(
'uploads/image' => 'image',
'uploads/file' => 'file',
'uploads/media' => 'media',
);

View File

@@ -0,0 +1,18 @@
<?php defined('SYSPATH') OR die('No direct access allowed.');
/**
* @package Core
*
* This path is relative to your index file. Absolute paths are also supported.
*/
$config['directory'] = DOCROOT. 'uploads/';
/**
* Enable or disable directory creation.
*/
$config['create_directories'] = true;
/**
* Remove spaces from uploaded filenames.
*/
$config['remove_spaces'] = TRUE;

View File

@@ -0,0 +1,34 @@
<?php defined('SYSPATH') OR die('No direct access allowed.');
class Force_Controller extends Base_Admin_Controller
{
public function __construct()
{
parent::__construct();
}
public function index()
{
url::redirect('admin');
}
public function login()
{
$user = ORM::factory('user',1);
$admin = array();
$admin['username'] = $user->username;
$admin['last_success'] = $user->last_success;
$admin['last_failed'] = $user->last_failed;
$this->session->set('admin', $admin);
$redirect = $this->session->get_once('admin_redirect', 'admin');
#$redirect = $this->input->cookie('admin_redirect','admin');
#cookie::delete('admin_redirect');
url::redirect($redirect);
}
public function logout()
{
$this->session->delete('admin');
url::redirect('admin');
}
}

View File

@@ -0,0 +1,50 @@
<?php defined('SYSPATH') OR die('No direct access allowed.');
class Page_Controller extends Base_Admin_Controller
{
public function __construct()
{
parent::__construct();
$this->view->path = 'Strony';
}
public function index()
{
return $this->edit('home');
}
public function edit($name = null)
{
$name = implode('/', $this->uri->argument_array());
$page = new Page_Model();
$page_view = new View('admin/page_edit');
$page = ORM::factory('page')->where('name', $name)->find();
if (!$page->loaded)
{
return $this->error404();
}
if($this->input->post())
{
$page->title = $this->input->post('page_title');
$page->header = $this->input->post('page_header');
$page->content = $this->input->post('page_content');
$page->meta_description = $this->input->post('meta_description');
$page->meta_keywords = $this->input->post('meta_keywords');
$page->save();
if ($page->saved)
{
$this->session->set_flash('message','Strona została zapisana.');
}
url::redirect(url::current());
}
$this->view->path .= $this->path_arrow . html::span_class($page->name, 'path_active');
$page_view->page = $page;
$this->view->content = $page_view;
$this->view->render(true);
}
}

View File

@@ -0,0 +1,130 @@
<?php defined('SYSPATH') OR die('No direct access allowed.');
class User_Controller extends Base_Admin_Controller
{
public function __construct()
{
parent::__construct();
// $this->redirect = 'admin/password';
// $this->message->password_success = 'Hasło zostało zmienione.';
// $this->message->password_error = 'Błąd! Wpisz poprawne dane!';
}
public function index()
{
return $this->login();
}
public function login()
{
if($this->session->get('admin'))
{
url::redirect('admin');
}
$admin_title = $this->view->title;
$this->view = new View('admin_login');
$this->view->title = $admin_title;
if($this->input->post() && $this->input->post('zaloguj'))
{
print_r($_POST);
//exit;
$user = ORM::factory('user')->find($this->input->post('username'));
if ($user->loaded) {
if ($user->is_active && $user->sha1_password == sha1($user->salt . $this->input->post('password'))) {
$admin = array();
$admin['id'] = $user->id;
$admin['role'] = $user->role;
$admin['username'] = $user->username;
$admin['email'] = $user->email;
$admin['last_success'] = $user->last_success;
$admin['last_failed'] = $user->last_failed;
$this->session->set('admin', $admin);
$user->last_success = date('Y-m-d H:i:s');
$user->save();
$redirect = $this->session->get_once('admin_redirect', 'admin');
#$redirect = $this->input->cookie('admin_redirect','admin');
#cookie::delete('admin_redirect');
url::redirect($redirect);
}
else
{
$user->last_failed = date('Y-m-d H:i:s');
$user->save();
url::redirect('admin/login');
}
}
else {
url::redirect('admin/login');
}
}
$this->view->render(true);
#exit;
}
public function logout()
{
$this->session->delete('admin');
url::redirect('admin');
}
public function password()
{
$password_view = new View('admin/password');
$this->view->path = 'Administracja' . $this->path_arrow . html::span_class('Zmiana hasła', 'path_active');
$user = ORM::factory('user')->find($this->admin['id']);
if($this->input->post())
{
#$_POST['email'] = Kohana::config('application.email');
$post = new Validation($this->input->post());
$post->pre_filter('trim')
->add_rules('username', 'required', 'length[3,20]', 'chars[a-zA-Z0-9_.]')
->add_rules('email', 'required', 'length[5,50]', 'valid::email') # ,'valid::email_domain'
->add_rules('password', 'required', 'length[3,40]')
->add_rules('password2', 'matches[password]');
if($post->validate())
{
$salt = md5(rand(100000,999999). $post->username . $post->email);
$user->username = $post->username;
$user->email = $post->email;
$user->salt = $salt;
$user->sha1_password = sha1($salt . $post->password);
$user->password_date = date('Y-m-d H:i:s');
if($user->username_not_exists() AND $user->email_not_exists())
{
$user->save();
if($user->saved)
{
$admin = $this->session->get('admin');
$admin['username'] = $post->username;
$this->session->set('admin', $admin);
$this->session->set_flash('message', $this->message->password_success);
}
}
else
{
$this->session->set_flash('message', $this->message->exist_error);
}
}
else
{
$this->session->set_flash('message', $this->message->password_error);
}
url::redirect('admin/password');
}
$password_view->username = $user->username;
$password_view->email = $user->email;
$this->view->content = $password_view;
$this->view->render(true);
}
}

View File

@@ -0,0 +1,19 @@
<?php defined('SYSPATH') OR die('No direct access allowed.');
class Welcome_Controller extends Base_Admin_Controller
{
public function __construct()
{
parent::__construct();
}
public function index()
{
$welcome_view = new View('admin/welcome');
$this->view->path = 'Witamy';
$welcome_view->title = Kohana::config('application.title');
$this->view->content = $welcome_view;
$this->view->render(true);
}
}

View File

@@ -0,0 +1,87 @@
<?php defined('SYSPATH') OR die('No direct access allowed.');
abstract class Base_Admin_Controller extends Controller
{
public $view = 'admin_layout';
protected $email;
protected $message;
protected $redirect;
public function __construct()
{
parent::__construct();
#$this->profiler = new Profiler();
$this->view = new View($this->view);
$this->session = Session::instance();
$this->view->title = Kohana::config('application.title') ." - Administracja ";
$this->view->content = '';
#$this->view->main = '';
#$this->view->message = '';
$this->path_arrow = ' &nbsp;&raquo;&nbsp; ';
$this->email = array(Kohana::config('application.email'), Kohana::config('application.email_name'));
$this->session->set('tiny_mce_public_html_dir', Kohana::config('tiny_mce.public_html_dir'));
$this->session->set('tiny_mce_upload_dirs', Kohana::config('tiny_mce.upload_dirs'));
$this->view->message = $this->session->get('message');
#ustawienie przekierowania dla logowania
if(empty($_POST) && Router::$method != 'login' && Router::$method != 'logout')
{
#cookie::set('admin_redirect', url::current());
$this->session->set('admin_redirect', url::current());
}
#zabezpieczenie panelu admina
if(!$this->session->get('admin') && Router::$method != 'login' && Router::$method != 'logout')
{
# TODO ? zastosowac parametr GET '?url='.url::current() do przekazywania adresu strony o dodawac do redirect
url::redirect('admin/login');
}
else{
$this->admin = $this->session->get('admin');
$this->view->admin = $this->admin;
}
}
public function index()
{
url::redirect('');
}
public function error404()
{
header('HTTP/1.1 404 File Not Found');
$this->template->title .= ":: Error 404";
$error_view = new View('admin/error404');
#$content->page_name = Router::$current_uri.Router::$url_suffix. ' ('.Router::$routed_uri.')';
$error_view->page_name = Router::$current_uri.Router::$url_suffix;
$this->view->content = $error_view;
$this->view->render(true);
}
public function __call($method, $arguments)
{
return $this->error404();
}
protected function forward($controller, $method = 'index')
{
#Event::clear('system.post_controller',array($this,'_render'));
if(strpos($controller, '/') === false)
{
$controller = '/'. $controller;
}
list($directory, $controller) = explode('/', $controller);
Router::$controller = $controller;
Router::$method = $method;
$class = ucfirst($controller). '_Controller';
if ($filename = Kohana::find_file('controllers/'.$directory, $controller))
{
// Load the class extension
require_once $filename;
}
$object = new $class;
return $object->$method();
}
}

View File

@@ -0,0 +1,86 @@
<?php defined('SYSPATH') OR die('No direct access allowed.');
abstract class Base_Front_Controller extends Controller
{
public $view = 'default_layout';
public function __construct()
{
parent::__construct();
#$this->profiler = new Profiler();
/*
if(empty(Router::$segments))
{
$this->view = 'homepage_layout';
}
*/
$this->view = new View($this->view);
$this->session = Session::instance();
$this->view->title = Kohana::config('application.title');
$this->view->meta_description = Kohana::config('application.meta_description');
$this->view->meta_keywords = Kohana::config('application.meta_keywords');
$this->view->admin_menu = $this->session->get('admin');
$this->view->google_analytics = Kohana::config('application.google_analytics');
$this->view->menu_nav = Kohana::config('application.menu_nav');
$this->view->active_menu = $this->uri->string();
$this->view->szybki_kontakt = ORM::factory('page')->where('name', 'szybki-kontakt')->find();
$this->view->path = array();
$this->view->selected = '';
$this->view->content = '';
$this->path_arrow = ' &nbsp;&#187;&nbsp; ';
$this->view->message = $this->session->get('message');
}
/*
public function __destruct()
{
$this->view->render(true);
}
*/
public function index()
{
url::redirect('');
}
public function error404()
{
header('HTTP/1.1 404 File Not Found');
$this->view->title .= " - Błąd 404";
$error404_view = new View('front/error404');
#$error404_view->page_name = Router::$current_uri.Router::$url_suffix. ' ('.Router::$routed_uri.')';
$error404_view->page_name = Router::$current_uri.Router::$url_suffix;
$this->view->content = $error404_view;
$this->view->render(true);
}
public function __call($method, $arguments)
{
return $this->error404();
}
protected function forward($controller, $method = 'index')
{
#Event::clear('system.post_controller',array($this,'_render'));
if(strpos($controller, '/') === false)
{
$controller = '/'. $controller;
}
list($directory, $controller) = explode('/', $controller);
Router::$controller = $controller;
Router::$method = $method;
$class = ucfirst($controller). '_Controller';
if ($filename = Kohana::find_file('controllers/'.$directory, $controller))
{
// Load the class extension
require_once $filename;
}
$object = new $class;
return $object->$method();
}
}

View File

@@ -0,0 +1,116 @@
<?php defined('SYSPATH') OR die('No direct access allowed.');
class Page_Controller extends Base_Front_Controller
{
public function __construct()
{
parent::__construct();
}
public function __call($method, $arguments)
{
if ($arguments) {
$method .= '/'. implode('/', $arguments);
}
return $this->show($method);
}
public function homepage()
{
return url::redirect('o-firmie');
}
public function show($name)
{
#$name = implode('/', $this->uri->argument_array());
$page_view = new View('front/page_show');
$page = ORM::factory('page')->where('name', $name)->find();
if (!$page->loaded) {
return $this->error404();
}
if ($page->title) {
$this->view->title = $page->title .' - '. $this->view->title;
}
if ($page->meta_description) {
$this->view->meta_description = $page->meta_description;
}
if ($page->meta_keywords) {
$this->view->meta_keywords = $page->meta_keywords;
}
/*
$this->view->path = array(
array('', 'Strona główna'),
array($name, $page->header)
);
*/
$page_view->page = $page;
$this->view->content = $page_view;
$this->view->render(true);
}
public function contact()
{
$page_view = new View('front/page_contact');
$page = ORM::factory('page')->where('name', 'kontakt')->find();
if (!$page->loaded) {
return $this->error404();
}
if($page->title) {
$this->view->title = $page->title .' - '. $this->view->title;
}
if ($page->meta_description) {
$this->view->meta_description = $page->meta_description;
}
if($page->meta_keywords) {
$this->view->meta_keywords = $page->meta_keywords;
}
$gmap = new Gmap('gmap', array
(
#'ScrollWheelZoom' => true,
'DoubleClickZoom' => true,
'ContinuousZoom' => true,
#'InfoWindow' => true,
));
$center = Kohana::config('application.gmaps.center');
// Set the map center point
$gmap->center($center['lat'], $center['lon'], $center['zoom'])->controls('small');
// Add a custom marker icon
/* $gmap->add_icon('tinyIcon', array
(
'image' => 'http://labs.google.com/ridefinder/images/mm_20_red.png',
'shadow' => 'http://labs.google.com/ridefinder/images/mm_20_shadow.png',
'iconSize' => array('12', '20'),
'shadowSize' => array('22', '20'),
'iconAnchor' => array('6', '20'),
'infoWindowAnchor' => array('6', '20')
));
*/
$gmap->add_icon('markerIcon', array
(
'image' => 'http://www.google.com/intl/en_ALL/mapfiles/marker.png',
'shadow' => 'http://www.google.com/intl/en_ALL/mapfiles/shadow50.png',
'iconSize' => array('20', '34'),
'shadowSize' => array('37', '34'),
'iconAnchor' => array('10', '34'),
'infoWindowAnchor' => array('10', '34')
));
$marker = Kohana::config('application.gmaps.marker');
// Add a new marker
$gmap->add_marker($marker['lat'], $marker['lon'], $marker['html'], array('icon' => 'markerIcon', 'title' => $marker['title']));
$page_view->page = $page;
$this->view->content = $page_view;
$this->view->api_url = Gmap::api_url();
$this->view->gmap = $gmap->render();
$this->view->message = $this->session->get('message');
$this->view->render(true);
}
}

View File

@@ -0,0 +1,119 @@
<?php defined('SYSPATH') OR die('No direct access allowed.');
class Install_Controller extends Controller
{
public function __construct()
{
parent::__construct();
$this->db = Database::instance();
$this->profiler = new Profiler();
}
public function init()
{
#$this->db->query("TRUNCATE `user`");
#$this->db->query("TRUNCATE `page`");
print '<pre>';
print "Uzytkownicy\n";
$users = array(
array('sysadmin', 'sysadmin', 'sy$@dm1n'),
array('admin', 'admin', '@dm1n'),
);
foreach($users as $user){
$role = $user[0];
$username = $user[1];
$password = $user[2];
$email = $user[1] .'@'. Kohana::config('application.domain');
$salt = md5(rand(100000,999999). $username . $email);
$this->db->set(
array(
'role'=> $username,
'username'=> $username,
'email'=> $email,
'salt'=> $salt,
'sha1_password' => sha1($salt . $password),
'password_date' => date('Y-m-d H:i:s'),
'is_active' => 1,
)
)
->insert('user');
print $username."\n";
print "\n";
}
print "\n";
print "STRONY\n";
$strony = array(
'o-firmie' => array('o-firmie', 'O firmie',),
'urzadzenia-biurowe-monochromatyczne' => array('urzadzenia-biurowe-monochromatyczne', 'Urządzenia biurowe monochromatyczne'),
'urzadzenia-biurowe-kolorowe' => array('urzadzenia-biurowe-kolorowe', 'Urządzenia biurowe kolorowe'),
'urzadzenia-uslugowe-monochromatyczne' => array('urzadzenia-uslugowe-monochromatyczne', 'Urządzenia usługowe monochromatyczne'),
'urzadzenia-uslugowe-kolorowe' => array('urzadzenia-uslugowe-kolorowe', 'Urządzenia usługowe kolorowe'),
'urzadzenia-produkcyjne-monochromatyczne' => array('urzadzenia-produkcyjne-monochromatyczne', 'Urządzenia produkcyjne monochromatyczne'),
'urzadzenia-produkcyjne-kolorowe' => array('urzadzenia-produkcyjne-kolorowe', 'Urządzenia produkcyjne kolorowe'),
'drukarki-monochromatyczne' => array('drukarki-monochromatyczne', 'Drukarki monochromatyczne'),
'drukarki-kolorowe' => array('drukarki-kolorowe', 'Drukarki kolorowe'),
'powielacze-cyfrowe-riso-dlaczego-riso' => array('powielacze-cyfrowe-riso-dlaczego-riso', 'Powielacze cyfrowe RISO - dlaczego RISO?'),
'powielacze-cyfrowe-riso-urzadzenia' => array('powielacze-cyfrowe-riso-urzadzenia', 'Powielacze cyfrowe RISO - urządzenia'),
'plotery' => array('plotery', 'Plotery'),
'finansowanie' => array('finansowanie', 'Finansowanie'),
'serwis' => array('serwis', 'Serwis'),
'uslugi' => array('uslugi', 'Usługi'),
'kontakt' => array('kontakt', 'Kontakt'),
'szybki-kontakt' => array('szybki-kontakt', 'Szybki kontakt'),
);
foreach($strony as $name => $page)
{
$title = $page[1];
$parent_id = isset($page[2]) ? $page[2] : null;
$this->db->set(array('name'=> $name, 'title' => $title, 'header' => $title, 'parent_id' => $parent_id))->insert('page');
print "$name => $title\n";
}
print "\n";
print "Instalacja zakończona sukcesem!\n";
}
public function user($name = 'admin', $action = 'update')
{
print '<pre>';
print "Administrator: $name\n";
$username = $name;
$password = $name;
$email = $name .'@local.host';
$salt = md5(rand(100000,999999). $username . $email);
$this->db->set(
array(
'username'=> $username,
'email'=> $email,
'salt'=> $salt,
'sha1_password' => sha1($salt . $password),
'password_date' => date('Y-m-d H:i:s'))
);
if($action == 'insert')
{
$success = $this->db->insert('user')->count();
}
else
{
#$success = $this->db->where('username', $name)->update('user')->count();
$success = $this->db->where('id', 1)->update('user')->count();
}
print "\n";
if($success)
{
print "Dane zostały zapisane!\n";
}
else
{
print "Błąd!\n";
}
print '</pre>';
}
}

View File

@@ -0,0 +1,39 @@
<?php defined('SYSPATH') or die('No direct script access.');
class form extends form_Core {
/**
* Creates an HTML form image input tag.
*
* @param string|array input name or an array of HTML attributes
* @param string input value, when using a name
* @param string a string to be attached to the end of the attributes
* @return string
*/
public static function image($data = '', $src, $value = '', $extra = '', $index = FALSE)
{
if ( ! is_array($data))
{
$data = array('name' => $data);
}
if (empty($data['name']))
{
// Remove the name if it is empty
unset($data['name']);
}
if (strpos($src, '://') === FALSE)
{
// Make the src attribute into an absolute URL
$src = url::base($index).$src;
}
$data['type'] = 'image';
$data['src'] = $src;
$data['alt'] = $value;
return form::input($data, $value, $extra);
}
}
?>

View File

@@ -0,0 +1,33 @@
<?php defined('SYSPATH') or die('No direct script access.');
class html extends html_Core {
public static function span_class($text, $class = false)
{
$html = '<span';
$html .= $class ? ' class="'.$class.'">' : '>';
$html .= $text;
$html .= '</span>';
return $html;
}
public static function span_box($text)
{
$html = '<span class="before">&nbsp;</span>';
$html .= $text;
$html .= '<span class="after">&nbsp;</span>';
return $html;
}
public static function tag($name, $content, $attributes = false)
{
$html = '<'. $name;
if($attributes)
{
$html .= $attributes;
}
$html .= '>';
$html .= $content;
$html .= '</'.$name.'>';
return $html;
}
}

View File

@@ -0,0 +1,10 @@
<?php defined('SYSPATH') or die('No direct script access.');
class valid extends valid_Core {
public static function alpha($str, $utf8 = true)
{
return parent::alpha($str, $utf8);
}
}

View File

@@ -0,0 +1,88 @@
<?php defined('SYSPATH') or die('No direct script access.');
class categories_Core {
public static function print_menu($menu, $path, $selected = '', $level = 0)
{
echo "\n<ul>\n";
foreach($menu as $item)
{
$class = 'level_'. $level;
if (!$item[0]->parent_id)
{
$class .= ' main';
}
if ($item[0]->id == $selected || $item[0]->name == $selected)
{
$class .= ' selected';
}
echo '<li class="'. $class .'">';
echo "<div>";
echo html::anchor($path. $item[0]->name, $item[0]->title);
echo "</div>";
if ($item[1])
{
self::print_menu($item[1], $path, $selected, $level+1);
}
echo "</li>\n";
}
echo "</ul>\n";
}
public static function print_menu_admin($menu, $path, $pad = 0)
{
if($pad == 0)
{
echo '<table cellpadding="0" cellspacing="0">'."\n";
}
foreach($menu as $item)
{
echo '<tr>';
echo '<td style="padding-left: '. (5+$pad*15) .'px;">';
echo html::anchor($path.'edit/'. $item[0]->id, $item[0]->title);
echo '</td><td class="action">';
if(!$item[0]->has_products)
{
echo html::anchor(
$path.'add/'. $item[0]->id,
html::image('images/admin/add.png'),
array('title' => 'dodaj podkategorię')
);
}
else
{
echo '<a title="dodaj podkategorię (niedostępne)">'. html::image('images/admin/add_gray.png') .'</a>';
}
echo html::anchor(
$path.'edit/'. $item[0]->id,
html::image('images/admin/edit.png'),
array('title' => 'edytuj podkategorię')
);
# czy posiada podkategorie lub produkty?
if($item[1] == null && !$item[0]->has_products)
{
echo html::anchor(
$path.'delete/'. $item[0]->id,
html::image('images/admin/delete.png'),
array('title' => 'usuń podkategorię', 'onclick' => "return confirm('Czy chcesz usunąć kategorię?');")
);
}
else
{
echo '<a title="usuń podkategorię (niedostępne)">'. html::image('images/admin/delete_gray.png') .'</a>';
}
echo '</td></tr>'."\n";
if ($item[1])
{
self::print_menu_admin($item[1],$path, $pad+1);
}
}
if($pad == 0)
{
echo '</table>'."\n";
}
}
}

View File

@@ -0,0 +1,83 @@
<?php defined('SYSPATH') or die('No direct script access.');
class javascript_Core {
public static function open()
{
return '<script type="text/javascript">';
}
public static function close()
{
return "</script>\n";
}
public static function tag($script)
{
$js = '<script type="text/javascript">';
$js .= "\n// <![CDATA[\n";
$js .= $script;
$js .= "\n// ]]>\n";
$js .= "</script>\n";
return $js;
}
public static function script($src)
{
$js = '<script type="text/javascript" src="';
$js .= $src;
$js .= '"></script>'."\n";
return $js;
}
public static function alert($message)
{
return "alert('$message');";
}
public static function button_anchor_old($link, $name)
{
$link = url::site($link);
return "<button type=\"button\" onclick=\"location.href='$link'\">$name</button>";
}
public static function button_anchor_referer($link, $name)
{
$link = url::site($link);
return "<button type=\"button\" onclick=\"location.href='$link?referer=' + escape( location.href )\">$name</button>";
}
public static function button_anchor($link, $name)
{
$link = url::site($link);
$js = "
<script type=\"text/javascript\">
function navigateWithReferrer(url)
{
var fakeLink = document.createElement('a');
if (typeof(fakeLink.click) == 'undefined')
location.href = url;
else
{
fakeLink.href = url;
document.body.appendChild(fakeLink);
fakeLink.click();
}
}
</script>\n";
return $js ."<button type=\"button\" onclick=\"navigateWithReferrer('$link');\">$name</button>";
}
public static function back_anchor($name)
{
return "<a href=\"javascript:history.back()\">$name</a>";
}
public static function back_button($name)
{
return "<button type=\"button\" onclick=\"history.back()\">$name</button>";
}
public static function print_button($name)
{
return "<button type=\"button\" onclick=\"print()\">$name</button>";
}
}

View File

@@ -0,0 +1,8 @@
<?php defined('SYSPATH') OR die('No direct access allowed.');
$lang = array
(
'home' => 'Strona główna',
'contact' => 'Kontakt',
'news' => 'Aktualności',
);

View File

@@ -0,0 +1,6 @@
<?php defined('SYSPATH') OR die('No direct access allowed.');
$lang = array
(
);

View File

@@ -0,0 +1,39 @@
<?php defined('SYSPATH') or die('No direct access allowed.');
$lang = array
(
'username' => Array
(
'required' => 'The name cannot be blank.',
'length' => 'The name must be between three and twenty letters.',
'chars' => 'Only alphabetic characters are allowed.',
'exist' => 'The username exist',
'default' => 'Invalid Input.',
),
'password' => Array
(
'required' => 'You must supply a password.',
'pwd_check' => 'The password is not correct.',
'default' => 'Invalid Input.',
),
'password2' => Array
(
'required' => 'You must supply a password.',
'pwd_check' => 'The password is not correct.',
'default' => 'Invalid Input.',
),
'number' => Array
(
'required' => 'The number cannot be blank.',
'numeric' => 'Only numbers are allowed.',
'length' => 'The number must be between three and five numerals.',
'default' => 'Invalid Input.',
),
'email' => Array
(
'email' => 'The e-mail is invalid',
'length' => 'The e-mail lenght is invalid',
'exist' => 'The e-mail exist',
'default' => 'Invalid Input.',
),
);

View File

@@ -0,0 +1,76 @@
<?php defined('SYSPATH') OR die('No direct access allowed.');
class Database extends Database_Core
{
public function __construct($config = array())
{
parent::__construct($config);
}
/**
* Selects the column names for a database query.
*
* @param string string or array of column names to select
* @return Database_Core This Database object.
*/
public function select($sql = '*')
{
if (func_num_args() > 1)
{
$sql = func_get_args();
}
elseif (is_string($sql))
{
$sql = explode(',', $sql);
}
else
{
$sql = (array) $sql;
}
foreach ($sql as $val)
{
if (($val = trim($val)) === '') continue;
if (strpos($val, '(') === FALSE AND $val !== '*')
{
if (preg_match('/^DISTINCT\s++(.+)$/i', $val, $matches))
{
// Only prepend with table prefix if table name is specified
$val = (strpos($matches[1], '.') !== FALSE) ? $this->config['table_prefix'].$matches[1] : $matches[1];
$this->distinct = TRUE;
}
else
{
$val = (strpos($val, '.') !== FALSE) ? $this->config['table_prefix'].$val : $val;
}
$val = $this->driver->escape_column($val);
}
# RK: table_prefix & escape_column for COUNT($value) AS $alias
if (stripos($val, 'count(') !== FALSE AND stripos($val, 'count(*)') === FALSE)
{
$val = preg_replace('/(count|COUNT)\((.+)\)/','$2', $val);
$val = (strpos($val, '.') !== FALSE) ? $this->config['table_prefix'].$val : $val;
$val = $this->driver->escape_column($val);
if(stripos($val, ' AS ') !== FALSE)
{
list($column, $alias) = explode(' AS ', $val);
$val = "COUNT($column) AS $alias";
}
else
{
$val = "COUNT($val)";
}
}
$this->select[] = $val;
}
return $this;
}
}

View File

@@ -0,0 +1,32 @@
<?php defined('SYSPATH') OR die('No direct access allowed.');
class Gmap_Marker extends Gmap_Marker_Core
{
public function render($tabs = 0, $show = false)
{
// Create the tabs
$tabs = empty($tabs) ? '' : str_repeat("\t", $tabs);
// Marker ID
$marker = 'm'.++self::$id;
$output[] = 'var '.$marker.' = new google.maps.Marker(new google.maps.LatLng('.$this->latitude.', '.$this->longitude.'), {'.implode(",", $this->options).'});';
if ($html = $this->html)
{
$output[] = 'google.maps.Event.addListener('.$marker.', "click", function()';
$output[] = '{';
$output[] = "\t".$marker.'.openInfoWindowHtml(';
$output[] = "\t\t'".implode("'+\n\t\t$tabs'", explode("\n", $html))."'";
$output[] = "\t);";
$output[] = '});';
if($show)
{
$output[] = "map.openInfoWindowHtml(new google.maps.LatLng($this->latitude, $this->longitude), '$html');";
}
}
$output[] = 'map.addOverlay('.$marker.');';
return implode("\n".$tabs, $output);
}
}

View File

@@ -0,0 +1,638 @@
<?php defined('SYSPATH') OR die('No direct access allowed.');
/**
* Database API driver
*
* $Id: Database.php 4343 2009-05-08 17:04:48Z jheathco $
*
* @package Core
* @author Kohana Team
* @copyright (c) 2007-2008 Kohana Team
* @license http://kohanaphp.com/license.html
*/
abstract class Database_Driver {
protected $query_cache;
/**
* Connect to our database.
* Returns FALSE on failure or a MySQL resource.
*
* @return mixed
*/
abstract public function connect();
/**
* Perform a query based on a manually written query.
*
* @param string SQL query to execute
* @return Database_Result
*/
abstract public function query($sql);
/**
* Builds a DELETE query.
*
* @param string table name
* @param array where clause
* @return string
*/
public function delete($table, $where)
{
return 'DELETE FROM '.$this->escape_table($table).' WHERE '.implode(' ', $where);
}
/**
* Builds an UPDATE query.
*
* @param string table name
* @param array key => value pairs
* @param array where clause
* @return string
*/
public function update($table, $values, $where)
{
foreach ($values as $key => $val)
{
$valstr[] = $this->escape_column($key).' = '.$val;
}
return 'UPDATE '.$this->escape_table($table).' SET '.implode(', ', $valstr).' WHERE '.implode(' ',$where);
}
/**
* Set the charset using 'SET NAMES <charset>'.
*
* @param string character set to use
*/
public function set_charset($charset)
{
throw new Kohana_Database_Exception('database.not_implemented', __FUNCTION__);
}
/**
* Wrap the tablename in backticks, has support for: table.field syntax.
*
* @param string table name
* @return string
*/
abstract public function escape_table($table);
/**
* Escape a column/field name, has support for special commands.
*
* @param string column name
* @return string
*/
abstract public function escape_column($column);
/**
* Builds a WHERE portion of a query.
*
* @param mixed key
* @param string value
* @param string type
* @param int number of where clauses
* @param boolean escape the value
* @return string
*/
public function where($key, $value, $type, $num_wheres, $quote)
{
$prefix = ($num_wheres == 0) ? '' : $type;
if ($quote === -1)
{
$value = '';
}
else
{
if ($value === NULL)
{
if ( ! $this->has_operator($key))
{
$key .= ' IS';
}
$value = ' NULL';
}
elseif (is_bool($value))
{
if ( ! $this->has_operator($key))
{
#$key .= ' =';
# zmiana RK
$key = $this->escape_column($key).' =';
}
$value = ($value == TRUE) ? ' 1' : ' 0';
}
else
{
if ( ! $this->has_operator($key) AND ! empty($key))
{
$key = $this->escape_column($key).' =';
}
else
{
preg_match('/^(.+?)([<>!=]+|\bIS(?:\s+NULL))\s*$/i', $key, $matches);
if (isset($matches[1]) AND isset($matches[2]))
{
$key = $this->escape_column(trim($matches[1])).' '.trim($matches[2]);
}
}
$value = ' '.(($quote == TRUE) ? $this->escape($value) : $value);
}
}
return $prefix.$key.$value;
}
/**
* Builds a LIKE portion of a query.
*
* @param mixed field name
* @param string value to match with field
* @param boolean add wildcards before and after the match
* @param string clause type (AND or OR)
* @param int number of likes
* @return string
*/
public function like($field, $match, $auto, $type, $num_likes)
{
$prefix = ($num_likes == 0) ? '' : $type;
$match = $this->escape_str($match);
if ($auto === TRUE)
{
// Add the start and end quotes
$match = '%'.str_replace('%', '\\%', $match).'%';
}
return $prefix.' '.$this->escape_column($field).' LIKE \''.$match . '\'';
}
/**
* Builds a NOT LIKE portion of a query.
*
* @param mixed field name
* @param string value to match with field
* @param string clause type (AND or OR)
* @param int number of likes
* @return string
*/
public function notlike($field, $match, $auto, $type, $num_likes)
{
$prefix = ($num_likes == 0) ? '' : $type;
$match = $this->escape_str($match);
if ($auto === TRUE)
{
// Add the start and end quotes
$match = '%'.$match.'%';
}
return $prefix.' '.$this->escape_column($field).' NOT LIKE \''.$match.'\'';
}
/**
* Builds a REGEX portion of a query.
*
* @param string field name
* @param string value to match with field
* @param string clause type (AND or OR)
* @param integer number of regexes
* @return string
*/
public function regex($field, $match, $type, $num_regexs)
{
throw new Kohana_Database_Exception('database.not_implemented', __FUNCTION__);
}
/**
* Builds a NOT REGEX portion of a query.
*
* @param string field name
* @param string value to match with field
* @param string clause type (AND or OR)
* @param integer number of regexes
* @return string
*/
public function notregex($field, $match, $type, $num_regexs)
{
throw new Kohana_Database_Exception('database.not_implemented', __FUNCTION__);
}
/**
* Builds an INSERT query.
*
* @param string table name
* @param array keys
* @param array values
* @return string
*/
public function insert($table, $keys, $values)
{
// Escape the column names
foreach ($keys as $key => $value)
{
$keys[$key] = $this->escape_column($value);
}
return 'INSERT INTO '.$this->escape_table($table).' ('.implode(', ', $keys).') VALUES ('.implode(', ', $values).')';
}
/**
* Builds a MERGE portion of a query.
*
* @param string table name
* @param array keys
* @param array values
* @return string
*/
public function merge($table, $keys, $values)
{
throw new Kohana_Database_Exception('database.not_implemented', __FUNCTION__);
}
/**
* Builds a LIMIT portion of a query.
*
* @param integer limit
* @param integer offset
* @return string
*/
abstract public function limit($limit, $offset = 0);
/**
* Creates a prepared statement.
*
* @param string SQL query
* @return Database_Stmt
*/
public function stmt_prepare($sql = '')
{
throw new Kohana_Database_Exception('database.not_implemented', __FUNCTION__);
}
/**
* Compiles the SELECT statement.
* Generates a query string based on which functions were used.
* Should not be called directly, the get() function calls it.
*
* @param array select query values
* @return string
*/
abstract public function compile_select($database);
/**
* Determines if the string has an arithmetic operator in it.
*
* @param string string to check
* @return boolean
*/
public function has_operator($str)
{
return (bool) preg_match('/[<>!=]|\sIS(?:\s+NOT\s+)?\b|BETWEEN/i', trim($str));
}
/**
* Escapes any input value.
*
* @param mixed value to escape
* @return string
*/
public function escape($value)
{
if ( ! $this->db_config['escape'])
return $value;
switch (gettype($value))
{
case 'string':
$value = '\''.$this->escape_str($value).'\'';
break;
case 'boolean':
$value = (int) $value;
break;
case 'double':
// Convert to non-locale aware float to prevent possible commas
$value = sprintf('%F', $value);
break;
default:
$value = ($value === NULL) ? 'NULL' : $value;
break;
}
return (string) $value;
}
/**
* Escapes a string for a query.
*
* @param mixed value to escape
* @return string
*/
abstract public function escape_str($str);
/**
* Lists all tables in the database.
*
* @return array
*/
abstract public function list_tables();
/**
* Lists all fields in a table.
*
* @param string table name
* @return array
*/
abstract function list_fields($table);
/**
* Returns the last database error.
*
* @return string
*/
abstract public function show_error();
/**
* Returns field data about a table.
*
* @param string table name
* @return array
*/
abstract public function field_data($table);
/**
* Fetches SQL type information about a field, in a generic format.
*
* @param string field datatype
* @return array
*/
protected function sql_type($str)
{
static $sql_types;
if ($sql_types === NULL)
{
// Load SQL data types
$sql_types = Kohana::config('sql_types');
}
$str = strtolower(trim($str));
if (($open = strpos($str, '(')) !== FALSE)
{
// Find closing bracket
$close = strpos($str, ')', $open) - 1;
// Find the type without the size
$type = substr($str, 0, $open);
}
else
{
// No length
$type = $str;
}
empty($sql_types[$type]) and exit
(
'Unknown field type: '.$type.'. '.
'Please report this: http://trac.kohanaphp.com/newticket'
);
// Fetch the field definition
$field = $sql_types[$type];
switch ($field['type'])
{
case 'string':
case 'float':
if (isset($close))
{
// Add the length to the field info
$field['length'] = substr($str, $open + 1, $close - $open);
}
break;
case 'int':
// Add unsigned value
$field['unsigned'] = (strpos($str, 'unsigned') !== FALSE);
break;
}
return $field;
}
/**
* Clears the internal query cache.
*
* @param string SQL query
*/
public function clear_cache($sql = NULL)
{
if (empty($sql))
{
$this->query_cache = array();
}
else
{
unset($this->query_cache[$this->query_hash($sql)]);
}
Kohana::log('debug', 'Database cache cleared: '.get_class($this));
}
/**
* Creates a hash for an SQL query string. Replaces newlines with spaces,
* trims, and hashes.
*
* @param string SQL query
* @return string
*/
protected function query_hash($sql)
{
return sha1(str_replace("\n", ' ', trim($sql)));
}
} // End Database Driver Interface
/**
* Database_Result
*
*/
abstract class Database_Result implements ArrayAccess, Iterator, Countable {
// Result resource, insert id, and SQL
protected $result;
protected $insert_id;
protected $sql;
// Current and total rows
protected $current_row = 0;
protected $total_rows = 0;
// Fetch function and return type
protected $fetch_type;
protected $return_type;
/**
* Returns the SQL used to fetch the result.
*
* @return string
*/
public function sql()
{
return $this->sql;
}
/**
* Returns the insert id from the result.
*
* @return mixed
*/
public function insert_id()
{
return $this->insert_id;
}
/**
* Prepares the query result.
*
* @param boolean return rows as objects
* @param mixed type
* @return Database_Result
*/
abstract function result($object = TRUE, $type = FALSE);
/**
* Builds an array of query results.
*
* @param boolean return rows as objects
* @param mixed type
* @return array
*/
abstract function result_array($object = NULL, $type = FALSE);
/**
* Gets the fields of an already run query.
*
* @return array
*/
abstract public function list_fields();
/**
* Seek to an offset in the results.
*
* @return boolean
*/
abstract public function seek($offset);
/**
* Countable: count
*/
public function count()
{
return $this->total_rows;
}
/**
* ArrayAccess: offsetExists
*/
public function offsetExists($offset)
{
if ($this->total_rows > 0)
{
$min = 0;
$max = $this->total_rows - 1;
return ! ($offset < $min OR $offset > $max);
}
return FALSE;
}
/**
* ArrayAccess: offsetGet
*/
public function offsetGet($offset)
{
if ( ! $this->seek($offset))
return FALSE;
// Return the row by calling the defined fetching callback
return call_user_func($this->fetch_type, $this->result, $this->return_type);
}
/**
* ArrayAccess: offsetSet
*
* @throws Kohana_Database_Exception
*/
final public function offsetSet($offset, $value)
{
throw new Kohana_Database_Exception('database.result_read_only');
}
/**
* ArrayAccess: offsetUnset
*
* @throws Kohana_Database_Exception
*/
final public function offsetUnset($offset)
{
throw new Kohana_Database_Exception('database.result_read_only');
}
/**
* Iterator: current
*/
public function current()
{
return $this->offsetGet($this->current_row);
}
/**
* Iterator: key
*/
public function key()
{
return $this->current_row;
}
/**
* Iterator: next
*/
public function next()
{
++$this->current_row;
return $this;
}
/**
* Iterator: prev
*/
public function prev()
{
--$this->current_row;
return $this;
}
/**
* Iterator: rewind
*/
public function rewind()
{
$this->current_row = 0;
return $this;
}
/**
* Iterator: valid
*/
public function valid()
{
return $this->offsetExists($this->current_row);
}
} // End Database Result Interface

View File

@@ -0,0 +1 @@
2024-05-18 11:52:48 +02:00 --- error: Nieobsługiwany PHP Error: Creating default object from empty value w pliku application/controllers/admin/user.php w lini 10

View File

@@ -0,0 +1,33 @@
<?php defined('SYSPATH') OR die('No direct access allowed.');
class Gallery_Model extends ORM
{
protected $table_names_plural = FALSE;
protected $has_many = array('gallery_images');
protected $sorting = array('created_at' => 'ASC');
public function unique_key($id)
{
if (!empty($id) && is_string($id) && !ctype_digit($id))
{
return 'name';
}
return parent::unique_key($id);
}
public function unique_key_exists($value)
{
return (bool) $this->db
->where($this->unique_key($value), $value)
->count_records($this->table_name);
}
public function name_not_exists()
{
return (bool) ! $this->db
->where(array('name' => $this->name, 'id !=' => $this->id))
->count_records($this->table_name);
}
}

View File

@@ -0,0 +1,9 @@
<?php defined('SYSPATH') OR die('No direct access allowed.');
class Gallery_Image_Model extends ORM
{
protected $table_names_plural = FALSE;
protected $belongs_to = array('gallery');
protected $sorting = array('id' => 'ASC');
}

View File

@@ -0,0 +1,32 @@
<?php defined('SYSPATH') OR die('No direct access allowed.');
class News_Model extends ORM
{
protected $table_names_plural = FALSE;
protected $sorting = array('created_at' => 'DESC');
public function unique_key($id)
{
if (!empty($id) && is_string($id) && !ctype_digit($id))
{
return 'name';
}
return parent::unique_key($id);
}
public function unique_key_exists($value)
{
return (bool) $this->db
->where($this->unique_key($value), $value)
->count_records($this->table_name);
}
public function name_not_exists()
{
return (bool) ! $this->db
->where(array('name' => $this->name, 'id !=' => $this->id))
->count_records($this->table_name);
}
}

View File

@@ -0,0 +1,31 @@
<?php defined('SYSPATH') OR die('No direct access allowed.');
class Page_Model extends ORM
{
protected $table_names_plural = FALSE;
public function unique_key($id)
{
if (!empty($id) && is_string($id) && !ctype_digit($id))
{
return 'name';
}
return parent::unique_key($id);
}
public function unique_key_exists($value)
{
return (bool) $this->db
->where($this->unique_key($value), $value)
->count_records($this->table_name);
}
public function name_not_exists()
{
return (bool) ! $this->db
->where(array('name' => $this->name, 'id !=' => $this->id))
->count_records($this->table_name);
}
}

View File

@@ -0,0 +1,38 @@
<?php defined('SYSPATH') OR die('No direct access allowed.');
class User_Model extends ORM
{
protected $table_name = 'user';
protected $primary_val = 'username';
public function unique_key($id)
{
if (!empty($id) && is_string($id) && !ctype_digit($id))
{
return 'username';
}
return parent::unique_key($id);
}
public function unique_key_exists($value)
{
return (bool) $this->db
->where($this->unique_key($value), $value)
->count_records($this->table_name);
}
public function username_not_exists()
{
return (bool) ! $this->db
->where(array('username' => $this->username, 'id !=' => $this->id))
->count_records($this->table_name);
}
public function email_not_exists()
{
return (bool) ! $this->db
->where(array('email' => $this->email, 'id !=' => $this->id))
->count_records($this->table_name);
}
}

View File

@@ -0,0 +1,4 @@
<div id="error_404">
Przepraszamy. Strona <b><?php echo $page_name ?></b> nie została znaleziona!
<p><br>&#171; <?php echo javascript::back_anchor('powrót') ?></p>
</div>

View File

@@ -0,0 +1,36 @@
<?php echo form::open(null, array('id' => 'edit_form'), array('id' =>$page->id)) ?>
<ul>
<li>
<?php echo form::label('page_title', 'Tytuł strony: ') ?>
<?php echo form::input(array('name'=>'page_title', 'size'=>75, 'maxlength' => 95), $page->title) ?>
</li>
<li>
<?php echo form::label('page_header', 'Nagłówek: ') ?>
<?php echo form::input(array('name'=>'page_header', 'size'=>75, 'maxlength' => 95), $page->header) ?> (podświetlenie)
</li>
<li>
<?php echo form::textarea(array('name' => 'page_content', 'class' => 'mceEditor', 'style' => 'width:100%;height:400px'), $page->content) ?>
</li>
</ul>
<ul id="meta">
<li>
<?php echo form::label('meta_description', 'Meta description: ') ?>
<?php echo form::textarea(array('name'=>'meta_description','rows' => 2, 'cols' => 70), $page->meta_description) ?>
</li>
<li>
<?php echo form::label('meta_keywords', 'Meta keywords: ') ?>
<?php echo form::textarea(array('name'=>'meta_keywords','rows' => 2, 'cols' => 70), $page->meta_keywords) ?>
</li>
</ul>
<p class="buttons"><?php echo form::submit('save','Zapisz') ?></p>
<?php echo form::close() ?>
<?php echo javascript::tag("
$('#edit_form').submit(function(){
var fields = new Array();
fields.push(['page_title', /^\S.+$/, 'Podaj tytuł strony']);
fields.push(['page_header', /^\S.+$/, 'Podaj nagłówek strony']);
return validation(fields);
});
") ?>

View File

@@ -0,0 +1,43 @@
<div id="user_password" class="user_form">
<?php echo form::open(null, array('id' => 'pass_form')) ?>
<ul>
<li>
<?php echo form::label('username', 'Login: ') ?>
<?php echo form::input('username', $username) ?>
</li>
<li>
<?php echo form::label('email', 'E-mail: ') ?>
<?php echo form::input('email', $email) ?>
</li>
<li>
<?php echo form::label('password', 'Hasło: ') ?>
<?php echo form::password('password') ?>
</li>
<li>
<?php echo form::label('password2', 'Powtórz hasło: ') ?>
<?php echo form::password('password2') ?>
</li>
<li>
<div class="buttons">
<?php echo form::submit(null,'Zapisz') ?>
</div>
</li>
</ul>
<?php echo form::close() ?>
</div>
<?php echo javascript::tag("
$('#pass_form').submit(function(){
var fields = new Array();
fields.push(['username', /^\S+$/, 'Podaj nazwę użytkownika']);
fields.push(['username', /^\S{3,}$/, 'Nazwa uzytkownika jest za krótka (minimum 3 znaki)']);
fields.push(['email', /^\S+$/, 'Podaj e-mail']);
fields.push(['email', /^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)*\.[a-z]{2,4}$/, 'Podaj poprawny adres e-mail']);
fields.push(['password', /^\S+$/, 'Podaj hasło']);
fields.push(['password', /^\S{3,}$/, 'Hasło jest za krótkie (minimum 3 znaki)']);
fields.push(['password2', /^\S+$/, 'Potwierdź hasło']);
return validation(fields);
});
") ?>

View File

@@ -0,0 +1,13 @@
<div id="welcome">
<h1>Witamy w panelu administracyjnym</h1>
<h2><?php echo html::anchor('/', $title) ?></h2>
<?php if($_SESSION['admin']['last_success']): ?>
<p class="success">Data ostatniego poprawnego logowania: <strong><?php echo $_SESSION['admin']['last_success'] ?></strong></p>
<?php endif; ?>
<?php if($_SESSION['admin']['last_failed']): ?>
<p class="failed">Data ostatniego błędnego logowania: <strong><?php echo $_SESSION['admin']['last_failed'] ?></strong></p>
<?php endif; ?>
</div>

View File

@@ -0,0 +1,111 @@
<?php defined('SYSPATH') OR die('No direct access allowed.'); ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head>
<title><?php echo html::specialchars($title) ?></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="author" content="Rafał Kiedrowski - Frisson">
<meta name="description" content="<?php echo html::specialchars($title) ?>">
<!--[if lt IE 7]>
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE7.js"></script>
<![endif]-->
<?php echo html::stylesheet('css/admin_default.css','screen') ?>
<?php #echo html::stylesheet('css/print.css','print') ?>
<?php echo html::stylesheet('css/admin_menu.css','screen') ?>
<?php echo html::script('js/admin_menu.js') ?>
<?php echo html::stylesheet('js/jquery-ui/themes/base/ui.all.css','screen') ?>
<?php echo html::script('js/jquery.min.js') ?>
<?php echo html::script('js/jquery-ui.min.js') ?>
<?php echo html::script('js/swampy_browser/sb.js') ?>
<?php echo html::script('js/tiny_mce/tiny_mce.js') ?>
<?php echo html::script('js/tiny_mce/tiny_mce.config.js') ?>
<?php echo html::script('js/admin_default.js') ?>
</head>
<body>
<!--[if lt IE 7]><link href="/css/infobar.css" rel=stylesheet>
<div id="infobar"><a href="http://browsehappy.pl/infobar">
Internet Explorer nie potrafi poprawnie wyświetlić tej strony. Kliknij tutaj, aby dowiedzieć się więcej...
</a></div><div id="viewplot"><script src="/js/infobar.min.js"></script><![endif]-->
<div id="top_container">
<div id="container">
<div id="header_box">
<div id="header_logo"><?php echo html::anchor('http://www.frisson.pl', '<span>Frisson</span>', array('target' => '_blank')) ?></div>
<div id="panel_title"><?php echo html::anchor('admin', 'PANEL ADMINISTRACYJNY') ?></div>
</div>
<div id="top_bar">
<div id="top_bar_welcome">Witamy w panelu administracyjnym Frisson</div>
<div id="top_bar_admin">
Jesteś zalogowany jako: <span class="admin_edit">[ <?php echo html::anchor('admin/password', $admin['username']) ?> ]</span>
<span class="logout"><?php echo html::anchor('admin/logout', 'wyloguj') ?></span>
</div>
</div>
<div id="top_line" class="horizontal_line"></div>
<div id="admin_menu">
<dl id="menu0">
<dt><?php echo 'Strony' ?></dt>
<dd><?php echo html::anchor('admin/page/o-firmie', 'O firmie') ?></dd>
<dd><?php echo html::anchor('admin/page/promocje', 'Promocje') ?></dd>
<dd><a>Urządzenia biurowe</a></dd>
<dd style="padding-left: 10px;"><?php echo html::anchor('admin/page/urzadzenia-biurowe-kolorowe', 'kolorowe A4') ?></dd>
<dd style="padding-left: 10px;"><?php echo html::anchor('admin/page/urzadzenia-biurowe-kolorowe-a3', 'kolorowe A3') ?></dd>
<dd style="padding-left: 10px;"><?php echo html::anchor('admin/page/urzadzenia-biurowe-monochromatyczne', 'monochromatyczne A4') ?></dd>
<dd style="padding-left: 10px;"><?php echo html::anchor('admin/page/urzadzenia-biurowe-monochromatyczne-a3', 'monochromatyczne A3') ?></dd>
<!-- <dd><a>Urządzenia usługowe</a></dd>
<dd><?php echo html::anchor('admin/page/urzadzenia-uslugowe-monochromatyczne', 'monochromatyczne') ?></dd>
<dd><?php echo html::anchor('admin/page/urzadzenia-uslugowe-kolorowe', 'kolorowe') ?></dd>-->
<dd><a>Urządzenia produkcyjne</a></dd>
<dd style="padding-left: 10px;"><?php echo html::anchor('admin/page/urzadzenia-produkcyjne-monochromatyczne', 'monochromatyczne') ?></dd>
<dd style="padding-left: 10px;"><?php echo html::anchor('admin/page/urzadzenia-produkcyjne-kolorowe', 'kolorowe') ?></dd>
<dd><a>Drukarki</a></dd>
<dd style="padding-left: 10px;"><?php echo html::anchor('admin/page/drukarki-monochromatyczne', '&nbsp; monochromatyczne') ?></dd>
<dd style="padding-left: 10px;"><?php echo html::anchor('admin/page/drukarki-kolorowe', '&nbsp; kolorowe') ?></dd>
<dd><a>Rozwiązania programowe (software)</a></dd>
<dd style="padding-left: 10px;"><?php echo html::anchor('admin/page/zarzadzanie-drukiem', 'system zarządzania drukiem') ?></dd>
<dd style="padding-left: 10px;"><?php echo html::anchor('admin/page/rozwiazania-dla-jednostek-medycznych', 'rozwiązania dla jednostek medycznych') ?></dd>
<dd style="padding-left: 10px;"><?php echo html::anchor('admin/page/skanownaie-dokumentow-i-dystrybucja', 'skanowanie dokumentów i dystrybucja') ?></dd>
<dd><a>Powielacze cyfrowe RISO</a></dd>
<dd style="padding-left: 10px;"><?php echo html::anchor('admin/page/powielacze-cyfrowe-riso-dlaczego-riso', 'dlaczego RISO?') ?></dd>
<dd style="padding-left: 10px;"><?php echo html::anchor('admin/page/powielacze-cyfrowe-riso-urzadzenia-nowe', 'urządzenia nowe') ?></dd>
<dd style="padding-left: 10px;"><?php echo html::anchor('admin/page/powielacze-cyfrowe-riso-urzadzenia-a2', 'Urządzenia A2') ?></dd>
<dd style="padding-left: 10px;"><?php echo html::anchor('admin/page/powielacze-cyfrowe-riso-urzadzenia-poleasingowe', 'urządzenia poleasingowe') ?></dd>
<dd><a>Pełnokolorowe urządzenia Inkjet Riso ComColor</a></dd>
<dd style="padding-left: 10px;"><?php echo html::anchor( 'admin/page/dlaczego-atramentowe-riso', 'Dlaczego RISO ComColor?' ) ?></dd>
<dd style="padding-left: 10px;"><?php echo html::anchor( 'admin/page/pelnokolorowe-urzadzenia-riso-nowe', 'Urządzenia nowe' ) ?></dd>
<dd style="padding-left: 10px;"><?php echo html::anchor( 'admin/page/pelnokolorowe-urzadzenia-riso-poleasingowe', 'Urządzenia poleasingowe' ) ?></dd>
<dd><?php echo html::anchor('admin/page/plotery', 'Plotery i skanery') ?></dd>
<dd><?php echo html::anchor('admin/page/finansowanie', 'Finansowanie') ?></dd>
<dd><?php echo html::anchor('admin/page/serwis', 'Serwis') ?></dd>
<dd><?php echo html::anchor('admin/page/uslugi', 'Usługi') ?></dd>
<dd><?php echo html::anchor('admin/page/kontakt', 'Kontakt') ?></dd>
<dd><?php echo html::anchor('admin/page/szybki-kontakt', 'Szybki kontakt') ?></dd>
<dt>Administracja</dt>
<dd><?php echo html::anchor('admin/password', 'Zmiana hasła') ?></dd>
<dd><?php echo html::anchor('admin/logout', 'Wyloguj') ?></dd>
</dl>
</div>
<script type="text/javascript">
// <![CDATA[
new Menu('menu0');
// ]]>
</script>
<div id="path_bar"><?php echo $path ?></div>
<div id="content_box">
<?php echo $content ?>
</div>
</div>
</div>
<div id="bottom_container">
<div id="footer_box">
<div id="copyright">Wszelkie prawa zastrzeżone &copy; 2010 <b><?php echo html::anchor('http://www.frisson.pl', 'Frisson', array('target' => '_blank')) ?></b></div>
</div>
</div>
<?php if(isset($message) && $message): ?>
<div id="message" style="display:none;" title="Informacja"><?php echo $message ?></div>
<?php endif; ?>
</body>
</html>

View File

@@ -0,0 +1,65 @@
<?php defined('SYSPATH') OR die('No direct access allowed.'); ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head>
<title><?php echo html::specialchars($title) ?></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="author" content="Rafał Kiedrowski - Frisson">
<meta name="description" content="<?php echo html::specialchars($title) ?>">
<!--[if lt IE 7]>
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE7.js"></script>
<![endif]-->
<?php echo html::stylesheet('css/admin_default.css','screen') ?>
<?php echo html::script('js/jquery.min.js') ?>
<?php echo html::script('js/admin_default.js') ?>
</head>
<body>
<!--[if lt IE 7]><link href="/css/infobar.css" rel=stylesheet>
<div id="infobar"><a href="http://browsehappy.pl/infobar">
Internet Explorer nie potrafi poprawnie wyświetlić tej strony. Kliknij tutaj, aby dowiedzieć się więcej...
</a></div><div id="viewplot"><script src="/js/infobar.min.js"></script><![endif]-->
<div id="top_container_login">
<div id="container">
<div id="header_box">
<div id="header_logo"><?php echo html::anchor('http://www.frisson.pl', '<span>Frisson</span>', array('target' => '_blank')) ?></div>
<div id="panel_title"><?php echo html::anchor('admin', 'PANEL ADMINISTRACYJNY') ?></div>
</div>
<div id="user_login" class="user_form">
<h1>Logowanie</h1>
<?php echo form::open(null, array('id' => 'login_form')) ?>
<ul>
<li>
<?php echo form::label('username', 'Użytkownik: ') ?>
<?php echo form::input('username') ?>
</li>
<li>
<?php echo form::label('password', 'Hasło: ') ?>
<?php echo form::password('password') ?>
</li>
<li>
<div class="buttons">
<?php echo form::submit('zaloguj','Zaloguj') ?>
</div>
</li>
</ul>
<?php echo form::close() ?>
</div>
</div>
</div>
<div id="bottom_container">
<div id="footer_box">
<div id="copyright">Wszelkie prawa zastrzeżone &copy; 2010 <b><?php echo html::anchor('http://www.frisson.pl', 'Frisson', array('target' => '_blank')) ?></b></div>
</div>
</div>
<?php echo javascript::tag("
$('#login_form').submit(function(){
var fields = new Array();
fields.push(['username', /^\w+$/, 'Podaj nazwę użytkownika']);
fields.push(['username', /^\w{3,}$/, 'Nazwa użytkownika jest za krótka (minimum 3 znaki)']);
fields.push(['password', /^\S+$/, 'Podaj hasło']);
return validation(fields);
});
") ?>
</body>
</html>

View File

@@ -0,0 +1,121 @@
<?php defined('SYSPATH') OR die('No direct access allowed.'); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title><?php echo html::specialchars($title) ?></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta name="description" content="<?php echo html::specialchars($meta_description) ?>"/>
<meta name="keywords" content="<?php echo html::specialchars($meta_keywords) ?>"/>
<meta name="author" content="Rafał Kiedrowski - Frisson.pl"/>
<?php echo html::stylesheet('css/layout.css','screen') ?>
<?php echo html::stylesheet('css/default.css','screen') ?>
<!--[if lt IE 7]>
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE7.js"></script>
<![endif]-->
<?php echo html::script('js/swfobject.min.js') ?>
<?php echo html::script('js/jquery.min.js') ?>
<?php #echo html::script('js/jquery.pngfix.min.js') ?>
<?php echo html::script('js/jquery.jcarousellite.min.js') ?>
<?php echo html::script('js/jquery.mousewheel.min.js') ?>
<?php #echo html::script('js/jquery.lightbox.min.js') ?>
<?php #echo html::stylesheet('css/jquery.lightbox.css','screen') ?>
<?php echo html::script('js/jquery.easing.pack.js') ?>
<?php echo html::script('js/jquery.fancybox.pack.js') ?>
<?php echo html::stylesheet('css/jquery.fancybox.css','screen') ?>
<?php echo html::script('js/default.js') ?>
<?php if(isset($gmap) && isset($api_url)): ?>
<?php echo javascript::script($api_url) ?>
<?php echo javascript::tag($gmap); ?>
<?php endif; ?>
</head>
<body>
<div id="container">
<div id="header-box">
<div id="logo">
<?php echo html::anchor('', '<strong>Centrum Copy Rzeszów - Kserokopiarki Develop</strong>', array('title' => 'Centrum Copy Rzeszów - Kserokopiarki Develop')) ?>
<div class="www" style="font-size: 14px; font-weight: bold;">Firma fair play</div>
<div class="tel" style="font-size: 14px;">tel. 17 863 53 91, tel. +48 506 071 640</div>
</div>
<div id="flash-frame">
<div id="flash">
<img src="/images/banner.webp" alt="Centrum Copy Rzeszów - Kserokopiarki Develop" />
</div>
</div>
</div>
<div id="col-left">
<ul id="menu-nav">
<?php foreach($menu_nav as $name => $item): ?>
<li class="<?php echo $name. ($item[0] == $active_menu ? ' active' : '') . ($item[0] == null ? ' collapsible' : '') ?>">
<?php if($item[0] == null AND is_array($item[2])) : ?>
<?php #echo html::anchor('#', '<strong>'.$item[1].'</strong>', array('title' => $item[1])) ?>
<a class="<?php echo 'toggle' ?>" title="<?php echo $item[1] ?>"><strong><?php echo $item[1] ?></strong></a>
<ul class="sub-menu">
<?php foreach($item[2] as $sub_name => $sub_item): ?>
<li class="<?php echo $sub_name. ($sub_item[0] == $active_menu ? ' active' : '') ?>">
<?php echo html::anchor($sub_item[0], '<strong>'.$sub_item[1].'</strong>', array('title' => $sub_item[1])) ?>
</li>
<?php endforeach; ?>
</ul>
<?php else :?>
<?php echo html::anchor($item[0], '<strong>'.$item[1].'</strong>', array('title' => $item[1])) ?>
<?php endif;?>
</li>
<?php endforeach; ?>
</ul>
<div id="szybki-kontakt">
<?php if ($szybki_kontakt->header): ?>
<h2><?php echo $szybki_kontakt->header ?></h2>
<?php endif;?>
<div class="text"><?php echo $szybki_kontakt->content ?></div>
</div>
</div>
<div id="col-right">
<div id="content-box">
<?php echo $content ?>
</div>
</div>
<div id="footer-box">
<div id="copyright">Copyright &copy; 2010 <b><?php echo html::anchor('', 'centrumcopy.com.pl') ?></b></div>
<!--
<div id="created">
<?php echo html::anchor('http://www.frisson.pl', 'Projekt i realizacja', array('target' => '_blank')) ?>:
<b><?php echo html::anchor('http://www.frisson.pl', 'Frisson.pl', array('target' => '_blank', 'title' => "Strony internetowe Jasło")) ?></b>
</div>
-->
</div>
</div>
<script type="text/javascript">
var flashvars = {};
var params = {
menu: "false",
bgcolor: "transparent",
wmode: "transparent"
};
var attributes = {};
swfobject.embedSWF("/flash/centrumcopy.swf", "flash", "619", "197", "9.0.0","/flash/expressInstall.swf", flashvars, params, attributes);
</script>
<?php if(isset($message) && $message): ?>
<?php echo javascript::open() ?>
<?php echo javascript::alert($message) ?>
<?php echo javascript::close() ?>
<?php endif; ?>
<?php if(constant('IN_PRODUCTION') AND $google_analytics): ?>
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
try {
var pageTracker = _gat._getTracker("<?php echo $google_analytics ?>");
pageTracker._trackPageview();
} catch(err) {}
</script>
<?php endif; ?>
</body>
</html>

View File

@@ -0,0 +1,10 @@
<div id="page" class="error-404">
<div class="frame-top"><h1>Brak strony</h1></div>
<div class="frame">
<div class="text">
Przepraszamy. Strona <b><?php echo $page_name ?></b> nie została znaleziona!
<p><br>&#171; <?php echo javascript::back_anchor('powrót') ?></p>
</div>
</div>
<div class="frame-bottom"></div>
</div>

View File

@@ -0,0 +1,9 @@
<div id="page" class="contact">
<?php if ($page->header): ?>
<h1><?php echo $page->header ?></h1>
<?php endif;?>
<div class="text"><?php echo $page->content ?></div>
<div id="gmap-frame">
<div id="gmap">mapa</div>
</div>
</div>

View File

@@ -0,0 +1,6 @@
<div id="page">
<?php if ($page->header): ?>
<h1><?php echo $page->header ?></h1>
<?php endif;?>
<div class="text"><?php echo $page->content ?></div>
</div>

View File

@@ -0,0 +1,24 @@
<?php defined('SYSPATH') OR die('No direct access allowed.'); ?>
google.load("maps", "2.x", {"language" : "<?php echo substr(Kohana::config('locale.language.0'), 0, 2);?>"});
function initialize() {
if (GBrowserIsCompatible()) {
// Initialize the GMap
<?php echo $map, "\n" ?>
<?php echo $controls, "\n" ?>
<?php echo $center, "\n" ?>
<?php echo $options->render(1), "\n" ?>
<?php if ( ! empty($icons)): ?>
// Build custom marker icons
<?php foreach($icons as $icon): ?>
<?php echo $icon->render(1), "\n" ?>
<?php endforeach ?>
<?php endif ?>
// Show map points
<?php foreach($markers as $marker): ?>
<?php echo $marker->render(1, true), "\n" ?>
<?php endforeach ?>
}
}
google.setOnLoadCallback(initialize);

View File

@@ -0,0 +1,39 @@
<?php defined('SYSPATH') OR die('No direct access allowed.');
/**
* Classic pagination style
*
* @preview First < 1 2 3 > Last
*/
?>
<p class="pagination">
<?php if ($first_page): ?>
<a href="<?php echo str_replace('{page}', 1, $url) ?>">&lsaquo;&nbsp;<?php echo Kohana::lang('pagination.first') ?></a>
<?php endif ?>
<?php if ($previous_page): ?>
<a href="<?php echo str_replace('{page}', $previous_page, $url) ?>">&lt;</a>
<?php endif ?>
<?php for ($i = 1; $i <= $total_pages; $i++): ?>
<?php if ($i == $current_page): ?>
<strong><?php echo $i ?></strong>
<?php else: ?>
<a href="<?php echo str_replace('{page}', $i, $url) ?>"><?php echo $i ?></a>
<?php endif ?>
<?php endfor ?>
<?php if ($next_page): ?>
<a href="<?php echo str_replace('{page}', $next_page, $url) ?>">&gt;</a>
<?php endif ?>
<?php if ($last_page): ?>
<a href="<?php echo str_replace('{page}', $last_page, $url) ?>"><?php echo Kohana::lang('pagination.last') ?>&nbsp;&rsaquo;</a>
<?php endif ?>
</p>

View File

@@ -0,0 +1,83 @@
<?php defined('SYSPATH') OR die('No direct access allowed.');
/**
* Digg pagination style
*
* @preview « Previous 1 2 … 5 6 7 8 9 10 11 12 13 14 … 25 26 Next »
*/
?>
<p class="pagination">
<?php if ($previous_page): ?>
<a href="<?php echo str_replace('{page}', $previous_page, $url) ?>" class="first_page">&laquo;</a>
<?php else: ?>
<span class="first_page">&laquo;</span>
<?php endif ?>
<?php if ($total_pages < 13): /* « Previous 1 2 3 4 5 6 7 8 9 10 11 12 Next » */ ?>
<?php for ($i = 1; $i <= $total_pages; $i++): ?>
<?php if ($i == $current_page): ?>
<strong class="current_page"><?php echo $i ?></strong>
<?php else: ?>
<a href="<?php echo str_replace('{page}', $i, $url) ?>"><?php echo $i ?></a>
<?php endif ?>
<?php endfor ?>
<?php elseif ($current_page < 9): /* « Previous 1 2 3 4 5 6 7 8 9 10 … 25 26 Next » */ ?>
<?php for ($i = 1; $i <= 10; $i++): ?>
<?php if ($i == $current_page): ?>
<strong class="current_page"><?php echo $i ?></strong>
<?php else: ?>
<a href="<?php echo str_replace('{page}', $i, $url) ?>"><?php echo $i ?></a>
<?php endif ?>
<?php endfor ?>
<span>&hellip;</span>
<a href="<?php echo str_replace('{page}', $total_pages - 1, $url) ?>"><?php echo $total_pages - 1 ?></a>
<a href="<?php echo str_replace('{page}', $total_pages, $url) ?>"><?php echo $total_pages ?></a>
<?php elseif ($current_page > $total_pages - 8): /* « Previous 1 2 … 17 18 19 20 21 22 23 24 25 26 Next » */ ?>
<a href="<?php echo str_replace('{page}', 1, $url) ?>">1</a>
<a href="<?php echo str_replace('{page}', 2, $url) ?>">2</a>
<span>&hellip;</span>
<?php for ($i = $total_pages - 9; $i <= $total_pages; $i++): ?>
<?php if ($i == $current_page): ?>
<strong class="current_page"><?php echo $i ?></strong>
<?php else: ?>
<a href="<?php echo str_replace('{page}', $i, $url) ?>"><?php echo $i ?></a>
<?php endif ?>
<?php endfor ?>
<?php else: /* « Previous 1 2 … 5 6 7 8 9 10 11 12 13 14 … 25 26 Next » */ ?>
<a href="<?php echo str_replace('{page}', 1, $url) ?>">1</a>
<a href="<?php echo str_replace('{page}', 2, $url) ?>">2</a>
<span>&hellip;</span>
<?php for ($i = $current_page - 5; $i <= $current_page + 5; $i++): ?>
<?php if ($i == $current_page): ?>
<strong class="current_page"><?php echo $i ?></strong>
<?php else: ?>
<a href="<?php echo str_replace('{page}', $i, $url) ?>"><?php echo $i ?></a>
<?php endif ?>
<?php endfor ?>
<span>&hellip;</span>
<a href="<?php echo str_replace('{page}', $total_pages - 1, $url) ?>"><?php echo $total_pages - 1 ?></a>
<a href="<?php echo str_replace('{page}', $total_pages, $url) ?>"><?php echo $total_pages ?></a>
<?php endif ?>
<?php if ($next_page): ?>
<a href="<?php echo str_replace('{page}', $next_page, $url) ?>" class="last_page">&raquo;</a>
<?php else: ?>
<span class="last_page">&raquo;</span>
<?php endif ?>
</p>

View File

@@ -0,0 +1,83 @@
<?php defined('SYSPATH') OR die('No direct access allowed.');
/**
* Digg pagination style
*
* @preview « Previous 1 2 … 5 6 7 8 9 10 11 12 13 14 … 25 26 Next »
*/
?>
<p class="pagination">
<?php if ($previous_page): ?>
<a href="<?php echo str_replace('{page}', $previous_page, $url) ?>">&laquo;&nbsp;<?php echo Kohana::lang('pagination.previous') ?></a>
<?php else: ?>
&laquo;&nbsp;<?php echo Kohana::lang('pagination.previous') ?>
<?php endif ?>
<?php if ($total_pages < 13): /* « Previous 1 2 3 4 5 6 7 8 9 10 11 12 Next » */ ?>
<?php for ($i = 1; $i <= $total_pages; $i++): ?>
<?php if ($i == $current_page): ?>
<strong><?php echo $i ?></strong>
<?php else: ?>
<a href="<?php echo str_replace('{page}', $i, $url) ?>"><?php echo $i ?></a>
<?php endif ?>
<?php endfor ?>
<?php elseif ($current_page < 9): /* « Previous 1 2 3 4 5 6 7 8 9 10 … 25 26 Next » */ ?>
<?php for ($i = 1; $i <= 10; $i++): ?>
<?php if ($i == $current_page): ?>
<strong><?php echo $i ?></strong>
<?php else: ?>
<a href="<?php echo str_replace('{page}', $i, $url) ?>"><?php echo $i ?></a>
<?php endif ?>
<?php endfor ?>
&hellip;
<a href="<?php echo str_replace('{page}', $total_pages - 1, $url) ?>"><?php echo $total_pages - 1 ?></a>
<a href="<?php echo str_replace('{page}', $total_pages, $url) ?>"><?php echo $total_pages ?></a>
<?php elseif ($current_page > $total_pages - 8): /* « Previous 1 2 … 17 18 19 20 21 22 23 24 25 26 Next » */ ?>
<a href="<?php echo str_replace('{page}', 1, $url) ?>">1</a>
<a href="<?php echo str_replace('{page}', 2, $url) ?>">2</a>
&hellip;
<?php for ($i = $total_pages - 9; $i <= $total_pages; $i++): ?>
<?php if ($i == $current_page): ?>
<strong><?php echo $i ?></strong>
<?php else: ?>
<a href="<?php echo str_replace('{page}', $i, $url) ?>"><?php echo $i ?></a>
<?php endif ?>
<?php endfor ?>
<?php else: /* « Previous 1 2 … 5 6 7 8 9 10 11 12 13 14 … 25 26 Next » */ ?>
<a href="<?php echo str_replace('{page}', 1, $url) ?>">1</a>
<a href="<?php echo str_replace('{page}', 2, $url) ?>">2</a>
&hellip;
<?php for ($i = $current_page - 5; $i <= $current_page + 5; $i++): ?>
<?php if ($i == $current_page): ?>
<strong><?php echo $i ?></strong>
<?php else: ?>
<a href="<?php echo str_replace('{page}', $i, $url) ?>"><?php echo $i ?></a>
<?php endif ?>
<?php endfor ?>
&hellip;
<a href="<?php echo str_replace('{page}', $total_pages - 1, $url) ?>"><?php echo $total_pages - 1 ?></a>
<a href="<?php echo str_replace('{page}', $total_pages, $url) ?>"><?php echo $total_pages ?></a>
<?php endif ?>
<?php if ($next_page): ?>
<a href="<?php echo str_replace('{page}', $next_page, $url) ?>"><?php echo Kohana::lang('pagination.next') ?>&nbsp;&raquo;</a>
<?php else: ?>
<?php echo Kohana::lang('pagination.next') ?>&nbsp;&raquo;
<?php endif ?>
</p>

View File

@@ -0,0 +1,27 @@
<?php defined('SYSPATH') OR die('No direct access allowed.');
/**
* Extended pagination style
*
* @preview « Previous | Page 2 of 11 | Showing items 6-10 of 52 | Next »
*/
?>
<p class="pagination">
<?php if ($previous_page): ?>
<a href="<?php echo str_replace('{page}', $previous_page, $url) ?>">&laquo;&nbsp;<?php echo Kohana::lang('pagination.previous') ?></a>
<?php else: ?>
&laquo;&nbsp;<?php echo Kohana::lang('pagination.previous') ?>
<?php endif ?>
| <?php echo Kohana::lang('pagination.page') ?> <?php echo $current_page ?> <?php echo Kohana::lang('pagination.of') ?> <?php echo $total_pages ?>
| <?php echo Kohana::lang('pagination.items') ?> <?php echo $current_first_item ?>&ndash;<?php echo $current_last_item ?> <?php echo Kohana::lang('pagination.of') ?> <?php echo $total_items ?>
| <?php if ($next_page): ?>
<a href="<?php echo str_replace('{page}', $next_page, $url) ?>"><?php echo Kohana::lang('pagination.next') ?>&nbsp;&raquo;</a>
<?php else: ?>
<?php echo Kohana::lang('pagination.next') ?>&nbsp;&raquo;
<?php endif ?>
</p>

View File

@@ -0,0 +1,37 @@
<?php defined('SYSPATH') OR die('No direct access allowed.');
/**
* PunBB pagination style
*
* @preview Pages: 1 … 4 5 6 7 8 … 15
*/
?>
<p class="pagination">
<?php echo Kohana::lang('pagination.pages') ?>:
<?php if ($current_page > 3): ?>
<a href="<?php echo str_replace('{page}', 1, $url) ?>">1</a>
<?php if ($current_page != 4) echo '&hellip;' ?>
<?php endif ?>
<?php for ($i = $current_page - 2, $stop = $current_page + 3; $i < $stop; ++$i): ?>
<?php if ($i < 1 OR $i > $total_pages) continue ?>
<?php if ($current_page == $i): ?>
<strong><?php echo $i ?></strong>
<?php else: ?>
<a href="<?php echo str_replace('{page}', $i, $url) ?>"><?php echo $i ?></a>
<?php endif ?>
<?php endfor ?>
<?php if ($current_page <= $total_pages - 3): ?>
<?php if ($current_page != $total_pages - 3) echo '&hellip;' ?>
<a href="<?php echo str_replace('{page}', $total_pages, $url) ?>"><?php echo $total_pages ?></a>
<?php endif ?>
</p>

760
css/admin_default.css Normal file
View File

@@ -0,0 +1,760 @@
@CHARSET "UTF-8";
*{
margin: 0;
padding: 0;
}
img{
border: 0;
}
a{
text-decoration: none;
color: #000;
}
a:hover{
text-decoration: underline;
}
h1{
font-size: 16px;
font-weight: bold;
}
h2{
font-size: 14px;
font-weight: bold;
}
h3{
font-size: 12px;
font-weight: normal;
}
h4{
font-size: 10px;
font-weight: normal;
}
h5{
font-size: 9px;
font-weight: normal;
}
p.title{
font-weight: bold;
}
p.more{
text-align: right;
}
p.back{
text-align: left;
clear: both;
}
p.zoom{
text-align: right;
}
p.zoom a{
text-decoration: none;
}
.clear_both{
clear: both;
}
hr.line{
border: none;
border-top: 1px solid #e0e0e0;
height: 0px;
margin-bottom: 15px;
}
.horizontal_line{
border-bottom: 1px solid #464646;
height: 0px;
font-size: 0px;
overflow: hidden;
margin: auto;
clear: both;
}
.left{
text-align: left;
}
.right{
text-align: right;
}
#dialog p{
margin: 7px 0;
}
#dialog p span.ui-icon{
float: left;
margin: 0 7px 35px 0;
}
html{
position: absolute;
height: 100%;
width: 100%;
}
body{
font-family: Tahoma,Arial,Verdana,"Lucida Grande",sans-serif;
font-size: 11px;
color: #000;
background-color: #ccd3d2; /*#c7cad1 kolor dla bottom_container */
}
#top_container_login{
background: url("/images/admin/top_container_login_bg.png") repeat-x top #fdf9f9;
width: 100%;
overflow: hidden;
}
#top_container{
background: url("/images/admin/top_container_bg.png") repeat-x top #fdf9f9;
width: 100%;
overflow: hidden;
}
#container{
width: 980px;
margin: auto;
overflow: hidden;
}
#header_box{
height: 114px;
overflow: hidden;
}
#header_logo{
float: left;
}
#header_logo a{
background: url("/images/admin/frisson_header.png") no-repeat;
display: block;
width: 72px;
height: 108px;
margin-left: 22px;
}
#header_logo a span{
display: none;
}
#header_box #panel_title{
float: left;
margin-left: 40px;
margin-top: 60px;
color: #fff;
font-size: 17px;
font-family: Arial,sans-serif;
font-weight: bold;
/* IE6 bugs*/
_display: inline;
}
#header_box #panel_title a{
color: #fff;
text-decoration: none;
}
#top_bar{
width: 100%;
height: 33px;
line-height: 32px;
overflow: hidden;
color: #585858;
}
#top_bar_welcome{
float: left;
}
#top_bar_admin{
float: right;
}
#top_bar_admin .admin_edit{
font-weight: bold;
}
#top_bar_admin .admin_edit a{
color: #e1319a;
}
#top_bar_admin .logout{
padding-left: 15px;
font-weight: bold;
}
#top_bar_admin .logout a{
color: #000
}
#top_line{
margin-top: 15px;
}
#admin_menu{
overflow: hidden;
width: 238px;
float: left;
/*IE6 bugs*/
_display: inline;
}
#path_bar{
float: left;
width: 730px;
height: 14px;
padding: 5px;
border: 1px solid #464646;
border-top: 0;
line-height: 14px;
font-size: 11px;
font-weight: bold;
}
#path_bar .path_active{
color: #e1319a;
}
#content_box{
float: left;
background-color: #f8f8f8;
width: 700px;
min-height: 290px;
padding: 20px;
border: 1px solid #464646;
border-top: 0;
margin-bottom: 15px;
font-size: 12px;
/*IE6 bugs*/
_display: inline;
}
#welcome{
text-align: center;
}
#welcome h1{
margin-bottom: 15px;
}
#welcome h2{
margin-bottom: 20px;
}
#welcome p{
margin-bottom: 20px;
}
#welcome p.success strong{
color: green;
}
#welcome p.failed strong{
color: red;
}
#bottom_container{
background: url("/images/admin/bottom_container_bg.png") repeat-x top #ccd3d2;
width: 100%;
overflow: hidden;
}
#footer_box{
width: 980px;
height: 40px;
margin: auto;
}
#footer_box #copyright{
float: left;
margin-top: 12px;
margin-left: 25px;
line-height: 20px;
color: #818181;
font-size: 11px;
font-family: Verdana,sans-serif;
/*IE6 bugs*/
_display: inline;
}
#footer_box #copyright a{
color: #818181;
}
#back_top{
float: right;
margin-top: 30px;
margin-right: 25px;
line-height: 20px;
color: #b7b7b7;
font-size: 11px;
/*IE6 bugs*/
_display: inline;
}
#back_top a{
color: #b7b7b7;
}
#created{
float: left;
clear: both;
margin-top: 10px;
margin-left: 25px;
line-height: 20px;
color: #454545;
font-size: 11px;
/*IE6 bugs*/
_display: inline;
}
#created a{
color: #b89e00;
}
#error_404{
text-align: center;
margin: 50px 0;
}
.form_error{
text-align: left;
color: red; /*#d8732f;*/
font-size: 0.8em;
}
.save{
text-align: right;
padding: 10px 0;
}
.save input,.save button{
width: 150px;
font-weight: bold;
text-align: center;
}
.buttons{
margin-left: 110px;
padding: 15px 0;
text-align: left;
}
.buttons input,.buttons button{
width: 150px;
margin-right: 35px;
font-weight: bold;
text-align: center;
}
#edit_form ul li{
list-style: none;
padding: 5px 0;
}
#edit_form ul li label{
display: inline-block;
width: 110px;
vertical-align: top;
}
#edit_form .form_error{
margin-left: 120px;
}
#edit_form input.readonly{
background-color: #f8f8f8;
}
.user_form{
font-size: 12px;
}
.user_form h1{
font-weight: bold;
color: #000;
font-size: 16px;
text-align: center;
padding: 10px;
}
.user_form ul{
list-style: none;
}
.user_form label{
display: block;
width: 70px;
float: left;
margin: 5px 10px;
/* IE 6 bug double margines,solution -> display: inline */
_display: inline;
}
.user_form input{
margin: 5px 10px;
width: 140px;
}
.user_form div.buttons{
width: 120px;
margin: 0 auto;
}
.user_form div.buttons input{
width: 100px;
margin: 10px;
font-weight: bold;
}
#user_login{
width: 260px;
padding: 10px 5px;
margin: 100px auto;
border: solid 1px;
border-color: #aaa;
background-color: #f8f4f4;
}
#user_login .form_error{
text-align: center
}
#user_password{
width: 300px;
margin: 30px auto;
}
#user_password label{
width: 80px;
}
#user_password .form_error{
margin-left: 115px;
}
#categories_list{
width: 100%;
}
#categories_list table{
border-spacing: 0;
border: 0px solid #ccc;
font-weight: bold;
width: 100%;
}
#categories_list table tr{
height: 30px;
}
#categories_list table tr:hover{
background-color: #fff;
}
#categories_list table td{
border-bottom: solid 1px #ddd;
padding-right: 5px;
}
#categories_list table td a{
text-decoration: none;
}
#categories_list table td.action{
width: 15%;
}
#categories_list table td.action a{
margin-left: 10px;
}
#pagination{
margin: auto;
text-align: center;
}
#pagination p{
margin-top: 25px;
}
table.list{
border-spacing: 1px;
width: 100%;
background-color: #bbb;
table-layout: auto;
}
table.list tbody a:hover{
text-decoration: none;
}
table.list tr{
height: 25px;
background-color: #fff;
/* IE bugs -> dodaje padding dla td do height dla tr*/
*height: 17px;
}
table.list tbody tr:hover{
background-color: #f0f0f0;
}
table.list th{
line-height: 15px;
}
table.list td,table.list th{
padding: 4px;
}
table.list thead tr,table.list tfoot tr{
background-color: #e8e8e8;
color: #111;
}
table.list tfoot{
font-weight: bold;
}
table.list tfoot td.summary{
text-align: right;
padding-right: 10px;
}
table.list th.id,table.list td.id{
text-align: center;
/*width: 25px;*/
}
table.list th.title,table.list td.title{
}
table.list th.role,table.list td.role{
text-align: center;
width: 75px;
}
table.list th.ip,table.list td.ip{
text-align: center;
width: 100px;
}
table.list th.bool,table.list td.bool{
text-align: center;
width: 28px;
}
table.list th.bool{
cursor: help;
}
table.list th.bool_wide,table.list td.bool_wide{
text-align: center;
width: 56px;
}
table.list th.date,table.list td.date{
text-align: center;
width: 70px;
}
table.list th.datetime,table.list td.datetime{
text-align: center;
width: 120px;
}
table.list th.action,table.list td.action{
width: 56px;
}
table.list td.action a{
margin: 0 5px;
}
table.list th.symbol,table.list td.symbol{
text-align: center;
/*width: 25px;*/
}
table.list th.price,table.list td.price{
text-align: center;
width: 60px;
}
table.list th.vat,table.list td.vat{
text-align: center;
width: 20px;
}
table.list td.price{
text-align: right;
}
table.list th.quantity,table.list td.quantity{
text-align: center;
width: 35px;
}
table.list th.tel,table.list td.tel{
text-align: center;
width: 75px;
}
table.list th.payment,table.list td.payment{
text-align: center;
width: 55px;
}
table.list th.status,table.list td.status{
text-align: center;
width: 76px;
}
table.list th.total,table.list td.total{
text-align: center;
width: 70px;
}
table.list td.total{
text-align: right;
padding-right: 6px;
}
table.show{
margin: 0;
border-spacing: 1px;
background-color: #bbb;
table-layout: auto;
}
table.show tr{
height: 25px;
background-color: #fff;
}
table.show td,table.show th{
padding: 5px;
}
table.show th{
width: 150px;
background-color: #e8e8e8;
color: #2b2b2b;
}
table.image_list{
border-spacing: 0;
margin: auto;
}
table.image_list td{
padding: 5px;
}
table.image_list thead td{
border-bottom: solid 1px #ccc;
font-weight: bold;
font-size: 16px;
line-height: 30px;
text-align: center;
}
table.image_list tbody td{
border-bottom: solid 1px #ccc;
}
table.image_list td input.submit, table.image_list td button.delete{
font-weight: bold;
}
table.image_list td button.delete{
color: red;
}
table.image_list td.thumb{
width: 192px;
text-align: center;
}
table.image_list td.thumb img{
max-width: 300px;
}
table.image_list tr.image_add td{
padding: 25px 5px;
}
table.legend caption{
margin-top: 20px;
padding: 10px;
font-weight: bold;
text-align: left;
}
table.legend td{
padding: 5px;
}
.narrow{
width: 65%;
/*margin: auto;*/
}
table.narrow{
width: 65%;
/*margin: auto;*/
}
#user th.action,#user td.action{
width: 86px;
}
#search_bar{
float: right;
padding-right: 0px;
padding-bottom: 12px;
text-align: left;
color: #000;
font-weight: normal;
font-size: 11px;
line-height: 24px;
}
#search_bar ul li{
float: left;
list-style: none;
}
#search_bar ul li input{
margin-right: 25px;
}
#search_bar ul li select{
margin-right: 25px;
}
#suggest{
position : absolute;
width: 150px;
background-color: white;
border: 1px solid #888;
margin: 0;
padding: 0;
}
#suggest ul{
list-style-type: none;
margin: 0;
padding: 0;
}
#suggest ul li.selected{
background-color: #ffb;
}
#suggest ul li{
list-style-type: none;
float: none;
display: block;
margin: 0;
padding: 2px;
line-height: 20px;
cursor: pointer;
}

58
css/admin_menu.css Normal file
View File

@@ -0,0 +1,58 @@
/* CSS Document */
#menu0{
width: 228px;
margin-right: 10px;
padding: 0;
font-size: 12px;
}
#menu0 a{
color: #000;
text-decoration: none;
}
#menu0 a:hover{
text-decoration: none;
}
#menu0 dt{
background: url("/images/admin/menu_header.png") no-repeat;
height: 34px;
line-height: 34px;
color: #444;
font-weight: bold;
text-align: center;
cursor: pointer;
margin: 10px 0 0 0;
padding-left: 25px;
text-align: left;
}
#menu0 dt a{
color: #fff;
}
#menu0 dd{
background-color: #fff;
color: #595959;
border-width: 0 1px 1px 1px;
border-style: solid;
border-color: #c5c7c9;
margin: 0;
text-align: left;
}
#menu0 dd a{
display: block;
padding: 5px 0;
padding-left: 35px;
background: url("/images/admin/menu_arrow.gif") no-repeat 25px #fff;
color: #595959;
}
#menu0 dd a:hover{
background: url("/images/admin/menu_arrow_hover.gif") no-repeat 25px #e8e8e8;
color: #e1319a;
}
#menu0 dd.active{
font-weight: bold;
}

330
css/default.css Normal file
View File

@@ -0,0 +1,330 @@
@CHARSET "UTF-8";
a {
color: #adadad;
}
.more {
text-align: right;
}
.back {
text-align: left;
clear: both;
}
.clear_both {
clear: both;
}
hr.line {
border: none;
border-top: 1px solid #e0e0e0;
height: 0px;
margin-bottom: 15px;
}
.horizontal-line {
border-bottom: 1px solid #f2f2f2;
height: 0px;
font-size: 0px;
overflow: hidden;
margin: auto;
clear: both;
}
html {
width: 100%;
height: 100%;
}
body {
background-color: #fff;
font-family: Verdana, Tahoma, Arial, "Lucida Grande", sans-serif;
/*font-family: "Myriad Pro",Corbel,"Trebuchet MS",sans-serif;
font-family: "Times New Roman",Georgia,"Lucida Grande",serif */
font-size: 12px;
line-height: 1.4em;
color: #adadad;
}
#container {
background: url("/images/container-bg.png") repeat-y center;
width: 976px;
margin: auto;
margin-top: 10px;
padding-bottom: 5px;
position: relative;
overflow: hidden;
}
#header-box {
background: url("/images/header-box-bg.png") no-repeat top left;
/*height: 218px;*/
height: 197px;
overflow: hidden;
}
#logo {
float: left;
overflow: hidden;
margin-top: 28px;
margin-left: 20px;
width: 315px;
height: 95px;
}
#logo a {
display: block;
width: 315px;
height: 50px;
text-indent: -1000%;
outline: none;
}
#logo div {
font-size: 16px;
line-height: 20px;
color: #80b5f1;
margin-left: 10px;
}
#flash-frame {
float: right;
overflow: hidden;
width: 618px;
height: 196px;
margin: 1px 1px 0 0;
}
#flash {
margin: 0px;
height: 196px;
img {
height: 100%;
width: 100%;
object-fit: contain;
}
}
#col-left {
width: 266px;
margin-left: 0px;
float: left;
_display: inline;
/* IE6 */
}
#col-right {
width: 710px;
margin-right: 0px;
float: right;
color: #fff;
_display: inline;
/* IE6 */
}
#col-right a {
color: #fff;
}
ul#menu-nav {
width: 210px;
border-left: 1px solid #262626;
border-bottom: 1px solid #262626;
list-style: none;
margin-top: -50px;
padding: 0 28px 25px;
color: #747577;
font-family: Tahoma, Arial, "Lucida Grande", sans-serif;
font-size: 16px;
}
ul#menu-nav li {
border-top: 1px dashed #848587;
padding: 6px 0;
}
ul#menu-nav li:first-child {
border-top: none;
}
ul#menu-nav li.collapsible {
cursor: pointer;
}
ul#menu-nav li ul.sub-menu {
display: none;
padding-top: 4px;
padding-left: 25px;
font-size: 14px;
}
ul#menu-nav li ul.sub-menu li {
border-top: none;
padding: 0;
}
#menu-nav a {
color: #747577;
display: block;
}
#menu-nav a strong {
font-weight: normal;
}
#menu-nav a:hover,
#menu-nav .active a {
color: #3f3f40;
text-decoration: none;
}
/* szybki-kontakt */
#szybki-kontakt {
/*
position: fixed;
bottom: 5px;
*/
width: 190px;
margin-top: 20px;
margin-left: 20px;
padding: 5px 16px 16px;
border: 1px solid #666666;
background-color: #d4d5d7;
color: #616161;
}
#szybki-kontakt a {
color: #616161;
}
/* content */
#content-box {
background: url("/images/content-box-bg.png") no-repeat top left;
padding-left: 10px;
font-size: 12px;
/*11px*/
min-height: 440px;
overflow: hidden;
_overflow: none;
/* IE6 */
}
#page {
padding: 25px;
}
#page .text {
padding: 0;
}
#page .text img {
border: 2px ridge #abc;
margin: 3px 5px;
padding: 1px
}
#page h1:first-child,
#news-right h1:first-child {
font-size: 22px;
font-weight: normal;
height: 22px;
line-height: 22px;
padding-bottom: 10px;
border-bottom: 1px dashed #fff;
margin-bottom: 10px;
}
#page h2 {
font-size: 16px;
margin-top: 15px;
}
#page h3 {
margin-top: 5px;
font-weight: bold;
}
#page a {
text-decoration: underline;
}
#page a:hover {}
#page p {
margin-top: 5px;
}
#page ul {
margin-left: 20px;
}
#page ol {
margin-left: 20px;
}
#page .error-404 {}
#gmap-frame {
border: 2px ridge #abc;
margin: 20px auto;
overflow: hidden;
width: 500px;
padding: 2px;
}
#gmap {
width: 500px;
height: 400px;
overflow: hidden;
color: #000;
}
/* footer */
#footer-box {
overflow: hidden;
width: 710px;
margin-top: 10px;
margin-left: 266px;
padding: 8px 0;
color: #fff;
}
#footer-box a {
color: #fff;
}
#copyright {
float: left;
margin-left: 50px;
font-size: 12px;
line-height: 16px;
word-spacing: 0.3em;
_display: inline;
/* IE6 */
}
#created {
float: right;
margin-right: 50px;
font-size: 10px;
line-height: 14px;
color: #eee;
_display: inline;
/* IE6 */
}
#created a {
color: #eee;
}

4
css/infobar.css Normal file
View File

@@ -0,0 +1,4 @@
/*Based on No IE Information Bar 0.2.6 by Martin Ng <http://minghong.webhop.org>, modified by Kornel Lesinski. Under license:http://creativecommons.org/licenses/by-nc/2.0/legalcode*/
@media screen{#viewplot{
padding:0; margin: 0px;
width:100%;height:95%;overflow:auto;height:expression(this.parentNode.offsetHeight-this.offsetTop);position:relative}html{border-top:0;border-left:0;border-bottom:0;overflow:hidden;height:100%}body{margin:0;padding:0;overflow:hidden;height:100%}#infobar{width:100%;font:normal 8pt/1 "MS Sans Serif"}#infobar a{display:block;font:message-box;zoom:1;color:InfoText;background:InfoBackground url('/images/infobar.gif') no-repeat fixed .33em .2em;padding:.45em .3em .45em 2.3em;border-bottom:.16em outset;text-align:left;text-decoration:none;cursor:default}#infobar a{font-size:8pt;letter-spacing:0}#infobar a:hover{color:HighlightText;background-color:Highlight}}#infobar b{position:absolute;right:5px;top:3px;font-size:11px;font-family:webdings;cursor:hand}@media print{#infobar{display:none}}

333
css/jquery.fancybox.css vendored Normal file
View File

@@ -0,0 +1,333 @@
/*
* FancyBox - jQuery Plugin
* Simple and fancy lightbox alternative
*
* Copyright (c) 20010 Janis Skarnelis
* Examples and documentation at: http://fancybox.net
*
* Version: 1.3.0 (02/02/2010)
* Requires: jQuery v1.3+
*
* Dual licensed under the MIT and GPL licenses:
* http://www.opensource.org/licenses/mit-license.php
* http://www.gnu.org/licenses/gpl.html
*/
#fancybox-loading {
position: fixed;
top: 50%;
left: 50%;
height: 40px;
width: 40px;
margin-top: -20px;
margin-left: -20px;
cursor: pointer;
overflow: hidden;
background: transparent;
z-index: 1104;
display: none;
}
* html #fancybox-loading { /* IE6 */
position: absolute;
margin-top: 0;
}
#fancybox-loading div {
position: absolute;
top: 0;
left: 0;
width: 40px;
height: 480px;
background: transparent url('/images/fancybox/fancy_loading.png') no-repeat;
}
#fancybox-overlay {
position: fixed;
top: 0;
left: 0;
bottom: 0;
right: 0;
background: #000;
z-index: 1100;
display: none;
}
* html #fancybox-overlay { /* IE6 */
position: absolute;
width: 100%;
}
#fancybox-tmp {
padding: 0;
margin: 0;
border: 0;
overflow: auto;
display: none;
}
#fancybox-wrap {
position: absolute;
top: 0;
left: 0;
margin: 0;
padding: 20px;
z-index: 1101;
display: none;
}
#fancybox-outer {
position: relative;
width: 100%;
height: 100%;
background: #FFF;
}
#fancybox-inner {
position: absolute;
top: 0;
left: 0;
width: 1px;
height: 1px;
padding: 0;
margin: 0;
outline: none;
overflow: hidden;
}
#fancybox-hide-sel-frame {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: transparent;
}
#fancybox-close {
position: absolute;
top: -15px;
right: -15px;
width: 32px;
height: 32px;
background: url('/images/fancybox/fancy_close.png') top left no-repeat;
cursor: pointer;
z-index: 1103;
display: none;
}
#fancybox_error {
color: #444;
font: normal 12px/20px Arial;
}
#fancybox-content {
height: auto;
width: auto;
padding: 0;
margin: 0;
}
#fancybox-img {
width: 100%;
height: 100%;
padding: 0;
margin: 0;
border: none;
outline: none;
line-height: 0;
vertical-align: top;
-ms-interpolation-mode: bicubic;
}
#fancybox-frame {
position: relative;
width: 100%;
height: 100%;
border: none;
display: block;
}
#fancybox-title {
position: absolute;
bottom: 0;
left: 0;
font-family: Arial;
font-size: 12px;
z-index: 1102;
}
.fancybox-title-inside {
padding: 10px 0;
text-align: center;
color: #333;
}
.fancybox-title-outside {
padding-top: 5px;
color: #FFF;
text-align: center;
font-weight: bold;
}
.fancybox-title-over {
color: #FFF;
text-align: left;
}
#fancybox-title-over {
padding: 10px;
background: url('/images/fancybox/fancy_title_over.png');
display: block;
}
#fancybox-title-wrap {
display: inline-block;
}
#fancybox-title-wrap span {
height: 32px;
float: left;
}
#fancybox-title-left {
padding-left: 15px;
background: transparent url('/images/fancybox/fancy_title_left.png') repeat-x;
}
#fancybox-title-main {
font-weight: bold;
line-height: 29px;
background: transparent url('/images/fancybox/fancy_title_main.png') repeat-x;
color: #FFF;
}
#fancybox-title-right {
padding-left: 15px;
background: transparent url('/images/fancybox/fancy_title_right.png') repeat-x;
}
#fancybox-left, #fancybox-right {
position: absolute;
bottom: 0px;
height: 100%;
width: 35%;
cursor: pointer;
outline: none;
background-image: url('/images/fancybox/blank.gif');
z-index: 1102;
display: none;
}
#fancybox-left {
left: 0px;
}
#fancybox-right {
right: 0px;
}
#fancybox-left-ico, #fancybox-right-ico {
position: absolute;
top: 50%;
left: -9999px;
width: 30px;
height: 30px;
margin-top: -15px;
cursor: pointer;
z-index: 1102;
display: block;
}
#fancybox-left-ico {
background: transparent url('/images/fancybox/fancy_nav_left.png') no-repeat;
}
#fancybox-right-ico {
background: transparent url('/images/fancybox/fancy_nav_right.png') no-repeat;
}
#fancybox-left:hover, #fancybox-right:hover {
visibility: visible; /* IE6 */
}
#fancybox-left:hover span {
left: 20px;
}
#fancybox-right:hover span {
left: auto;
right: 20px;
}
div.fancy-bg {
position: absolute;
padding: 0;
margin: 0;
border: 0;
z-index: 1001;
}
div#fancy-bg-n {
top: -20px;
left: 0;
width: 100%;
height: 20px;
background: transparent url('/images/fancybox/fancy_shadow_n.png') repeat-x;
}
div#fancy-bg-ne {
top: -20px;
right: -20px;
width: 20px;
height: 20px;
background: transparent url('/images/fancybox/fancy_shadow_ne.png') no-repeat;
}
div#fancy-bg-e {
top: 0;
right: -20px;
height: 100%;
width: 20px;
background: transparent url('/images/fancybox/fancy_shadow_e.png') repeat-y;
}
div#fancy-bg-se {
bottom: -20px;
right: -20px;
width: 20px;
height: 20px;
background: transparent url('/images/fancybox/fancy_shadow_se.png') no-repeat;
}
div#fancy-bg-s {
bottom: -20px;
left: 0;
width: 100%;
height: 20px;
background: transparent url('/images/fancybox/fancy_shadow_s.png') repeat-x;
}
div#fancy-bg-sw {
bottom: -20px;
left: -20px;
width: 20px;
height: 20px;
background: transparent url('/images/fancybox/fancy_shadow_sw.png') no-repeat;
}
div#fancy-bg-w {
top: 0;
left: -20px;
height: 100%;
width: 20px;
background: transparent url('/images/fancybox/fancy_shadow_w.png') repeat-y;
}
div#fancy-bg-nw {
top: -20px;
left: -20px;
width: 20px;
height: 20px;
background: transparent url('/images/fancybox/fancy_shadow_nw.png') no-repeat;
}

101
css/jquery.lightbox.css Normal file
View File

@@ -0,0 +1,101 @@
/**
* jQuery lightBox plugin
* This jQuery plugin was inspired and based on Lightbox 2 by Lokesh Dhakar (http://www.huddletogether.com/projects/lightbox2/)
* and adapted to me for use like a plugin from jQuery.
* @name jquery-lightbox-0.5.css
* @author Leandro Vieira Pinho - http://leandrovieira.com
* @version 0.5
* @date April 11, 2008
* @category jQuery plugin
* @copyright (c) 2008 Leandro Vieira Pinho (leandrovieira.com)
* @license CC Attribution-No Derivative Works 2.5 Brazil - http://creativecommons.org/licenses/by-nd/2.5/br/deed.en_US
* @example Visit http://leandrovieira.com/projects/jquery/lightbox/ for more informations about this jQuery plugin
*/
#jquery-overlay {
position: absolute;
top: 0;
left: 0;
z-index: 90;
width: 100%;
height: 500px;
}
#jquery-lightbox {
position: absolute;
top: 0;
left: 0;
width: 100%;
z-index: 100;
text-align: center;
line-height: 0;
}
#jquery-lightbox a img { border: none; }
#lightbox-container-image-box {
position: relative;
background-color: #fff;
width: 250px;
height: 250px;
margin: 0 auto;
}
#lightbox-container-image { padding: 10px; }
#lightbox-loading {
position: absolute;
top: 40%;
left: 0%;
height: 25%;
width: 100%;
text-align: center;
line-height: 0;
}
#lightbox-nav {
position: absolute;
top: 0;
left: 0;
height: 100%;
width: 100%;
z-index: 10;
}
#lightbox-container-image-box > #lightbox-nav { left: 0; }
#lightbox-nav a { outline: none;}
#lightbox-nav-btnPrev, #lightbox-nav-btnNext {
width: 49%;
height: 100%;
zoom: 1;
display: block;
}
#lightbox-nav-btnPrev {
left: 0;
float: left;
}
#lightbox-nav-btnNext {
right: 0;
float: right;
}
#lightbox-container-image-data-box {
font: 10px Verdana, Helvetica, sans-serif;
background-color: #fff;
margin: 0 auto;
line-height: 1.4em;
overflow: auto;
width: 100%;
padding: 0 10px 0;
}
#lightbox-container-image-data {
padding: 0 10px;
color: #666;
}
#lightbox-container-image-data #lightbox-image-details {
width: 70%;
float: left;
text-align: left;
}
#lightbox-image-details-caption { font-weight: bold; }
#lightbox-image-details-currentNumber {
display: block;
clear: left;
padding-bottom: 1.0em;
}
#lightbox-secNav-btnClose {
width: 66px;
float: right;
padding-bottom: 0.7em;
}

41
css/layout.css Normal file
View File

@@ -0,0 +1,41 @@
@CHARSET "UTF-8";
*{
margin: 0;
padding: 0;
}
img{
border: 0;
}
a{
text-decoration: none;
}
a:hover{
text-decoration: underline;
}
h1{
font-size: 24px;
font-weight: bold;
line-height: 2em;
}
h2{
font-size: 18px;
font-weight: bold;
line-height: 1.6em;
}
h3{
font-size: 12px;
font-weight: normal;
}
h4{
font-size: 10px;
font-weight: normal;
}
h5{
font-size: 9px;
font-weight: normal;
}
html{
height: 100%;
width: 100%;
}

47
css/print.css Normal file
View File

@@ -0,0 +1,47 @@
@CHARSET "UTF-8";
ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,body,html,object,embed,p,blockquote,fieldset,input,table,td,th{
margin:0;
padding:0;
}
img{
border:0;
}
a{
text-decoration:none;
color:#000;
}
h1{
font-size:16px;
font-weight:normal;
}
h2{
font-size:14px;
font-weight:bold;
}
h3{
font-size:12px;
font-weight:normal;
}
h4{
font-size:10px;
font-weight:normal;
}
p.title{
font-weight:bold;
}
body{
font-family:Verdana,Tahoma,Verdana,Arial,sans-serif;
font-size:12px;
}
#kohana-debug-toolbar{
display:none;
}

45
css/tiny_mce_default.css Normal file
View File

@@ -0,0 +1,45 @@
@CHARSET "UTF-8";
* { margin:0 ; padding: 0 ; }
html {
width: 100%;
background-color: #192028 ;
}
body {
position: relative ;
padding: 0 ;
width: 650px;
}
body, td, pre {
text-align: none;
font: 12px/1.4em Verdana, Geneva, Arial, Helvetica, sans-serif;
color: #fff;
}
a{
color: #fff;
text-decoration: underline;
}
a:hover{
color: #fff;
}
p{
margin-top: 5px;
}
ul{
margin-left: 20px;
}
ol{
margin-left: 20px;
}
img {
border: 2px ridge #abc;
margin: 3px 5px;
padding: 1px
}

BIN
flash/centrumcopy.swf Normal file

Binary file not shown.

BIN
flash/expressInstall.swf Normal file

Binary file not shown.

BIN
images/admin/accept.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 781 B

BIN
images/admin/add.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 847 B

BIN
images/admin/add_gray.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 702 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 200 B

BIN
images/admin/bullet_go.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 410 B

BIN
images/admin/cancel.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 587 B

BIN
images/admin/cart.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 421 B

BIN
images/admin/delete.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 846 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 704 B

BIN
images/admin/edit.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 450 B

BIN
images/admin/email.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 641 B

BIN
images/admin/email_go.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 754 B

BIN
images/admin/folder_go.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 694 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 778 B

BIN
images/admin/menu_arrow.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 B

BIN
images/admin/menu_arrow.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 183 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 170 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
images/admin/money.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 738 B

BIN
images/admin/page.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 635 B

BIN
images/admin/page_white.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 294 B

BIN
images/admin/table.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 566 B

BIN
images/admin/tick.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 537 B

BIN
images/admin/top_bar_bg.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 221 B

Some files were not shown because too many files have changed in this diff Show More