Prosty instalator systemu w PHP

Instalator systemu

W dzisiejszych czasach istnieje ogromna ilość systemów zarządzania treścią. Jedne są przeznaczone do tworzenia for internetowych, drugie zaś do tworzenia mniej lub bardziej zaawansowanych portali, inne natomiast umożliwiają pisanie własnego bloga.
W większości przypadków, system trzeba najpierw zainstalować na swoim serwerze – służy do tego instalator systemu, dzięki któremu system ustawia podstawowe dane o witrynie jak: język strony, typ kodowania znaków, itd.

Kod na Github

W tym wpisie przedstawię Ci mój przykładowy instalator systemu. Większość skryptów tego typu, które można znaleźć w głębinach internecie jest oparta na max 2/3 plikach i cały kod jest upakowany w pliku index.php, który zawiera kilka prostych funkcji. W moim skrypcie plik ten pełni jedynie formę inicjalizacyjną.

Oto struktura plików:

  • index.php
  • .htaccess
  • php/: installer.class.php, config.class.php
  • parts/: start.part.php, basic.part.php, database.part.php, finish.part.php
  • config/: config.ini
  • css/: core.css
  • js/ core.js

W pliku index.php znajduje się blok, który dołącza potrzebne pliki oraz przekierowuje na stronę początkową instalatora.

<?php

$installerFile = 'php/installer.class.php';
$configFile = 'php/config.class.php';

if (file_exists($installerFile) && filesize($installerFile) !== 0 && file_exists($configFile) && filesize($configFile) !== 0) {
include $configFile;
include $installerFile;

try {
// Od PHP7 można zapisać: $step = $_GET['step'] ?? 'start';
...czytaj więcej

Fiszki – program do nauki angielskiego w C

Fiszki

Zazwyczaj na blogu prezentuje artykuły związane z webmasterstwem. Tym razem chciałbym wam przedstawić program do nauki angielskich słówek, który został napisany w języku C. Jest on uruchamiany w konsoli. Program ma dwa główne tryby nauki: polski-angielski oraz angielski-polski, dodatkowo program daje możliwość powtarzania słówek, które zostały niepoprawnie wpisane.

Kod na Github

Program został podzielony na 2 zasadnicze części:

  • Użytkownik
  • Administrator

Użytkownik

W tej części mamy wybór nauki:

  • Polski – Angielski
  • Angielski – Polski

Dodatkowo jeśli wpiszemy niepoprawne słowo do pliku need_to_repeat.txt dopisane są właśnie te wyrażenia, które możemy potem jeszcze raz przećwiczyć.

Kod odpowiedzialny za sprawdzanie wiedzy znajduje się w pliku losowanie.c.

Administrator

Natomiast w części przeznaczonej dla administratora mamy 3 opcje:

  • Dodaj słowo – dodaje słowo do wybranego pliku
  • Sprawdź plik – wyświetla wszystkie słowa w danym pliku
  • Usuń słowo – usuwa słowo z wybranego pliku

Uwierzytelnianie jest banalne, wystarczy podać dane, które zostały zdefiniowane w pliku main.c, hasło nie jest zabezpieczone w żaden sposób – zwykłe prowizoryczne logowanie. Sprawdzenie następuje przez zwyczajną pętlę do..while, która wykonuje się, aż użytkownik nie poda poprawnych danych.

Wyrażenia znajdują się w folderze langs/. Są to kolejno: czasowniki.txt, przymiotniki.txt oraz rzeczowniki.txt.

Przykładowy screen programu:

Jestem świadomy, że program nie jest najwyższej jakości oraz wymaga wiele poprawek. Planuje wydać jeszcze jedną wersję, o której możesz poczytać tutaj: <a target="_blank" rel="nofollow" …czytaj więcej

Recenzja szablonu od TemplateMonster

Recenzja szablonu

Istnieje wiele stron, z których możemy pobrać najróżniejsze szablony do stron internetowych – jedne są stworzone specjalnie pod platformę blogą WordPress, inne zaś są zaprojektowane, tak aby można było bez większych problemów stworzyć wielotematyczny portal. Jedną z takich stron jest TemplateMonster. W tym wpisie wezmę pod lupę jeden z ich szablonów dla WordPress’a.

Link do szablonu

1. Pierwsze wrażenie

Po zakupie danego szablonu dostajemy wiadomość na podany wcześniej adres E-mail. Znajdują się tam wszystkie dane potrzebne, aby móc korzystać z szablonu oraz link do pobrania szablonu w formacie ZIP – archiwum jest zabezpieczone hasłem, które znajduje się w E-mailu. Po rozpakowaniu archiwum widzimy 3 pliki oraz 3 katalogi:

Katalogi:

  • documentation/
  • screenshots/
  • theme/

Pliki:

  • info.txt
  • license.txt
  • sources_XXX.zip

W pliku info.txt znajdują się podstawowe informacje o licencji oraz pliku sources_XXX.zip, który zawiera pliki źródłowe szablonu, natomiast plik license.txt – jak sama nazwa wskazuje zawiera pełną licencję.

TemplateMonster z pewnością trzeba pochwalić za świetną dokumentację. W folderze documentations/ znajdziemy numer naszego szablonu oraz dwa odnośniki: jeden do krótkiego wstępu, drugi natomiast do pełnej dokumentacji szablonu.

2. Instalacja

Instalacja składa się z 2 główych etapów:

  • Instalacja CherryFramework.zip
  • Instalacja szablonu

Mimo, że instalacja jest banalna, miałem z nią pewne problemy. Dopiero po skontaktowaniu się z supportem, udało mi się uporać z moim problemem. Przy okazji …czytaj więcej

Wygraj szablon do WordPressa – zakończenie konkursu

Zakończenie konkursu.

Oto krótki artykuł, w którym przedstawię trzech zwycięzców drugiego konkursu, który pojawił się na moim blogu 9 czerwca 2015r. W tym konkursie mogliście zgarnąć dowolny szablon do wordpressa ze strony www.templatemonster.com/pl/type/szablony-joomla/.

Oto trzej zwycięzcy:

Szablony zostaną wysłane na wasze adresy E-mailowe w poniedziałek lub we wtorek.

PS: Dajcie znać, gdy uruchomicie swoje szablony.

Gratuluje zwycięzcom

…czytaj więcej

Wygraj szablon do WordPressa – zakończenie konkursu

Zakończenie konkursu.

Oto krótki artykuł, w którym przedstawię trzech zwycięzców drugiego konkursu, który pojawił się na moim blogu 9 czerwca 2015r. W tym konkursie mogliście zgarnąć dowolny szablon do wordpressa ze strony www.templatemonster.com/pl/type/szablony-joomla/.

Oto trzej zwycięzcy:

Szablony zostaną wysłane na wasze adresy E-mailowe w poniedziałek lub we wtorek.

PS: Dajcie znać, gdy uruchomicie swoje szablony.

Gratuluje zwycięzcom

…czytaj więcej

Zgarnij szablon do WordPressa za darmo!

Wordpress- konkurs

Jakiś czas temu na moim blogu ogłosiłem konkurs na, w którym nagrodą był dowolny szablon do Joomla CMS. Po miesiącu zdecydowałem się wraz z firmą TemplateMonster Polska zorganizować kolejny konkurs. Tym razem nagrodą będzie template do systemu WordPress. Zmieniłem lekko zasady udziału w konkursie oraz w sposobie przyznawania nagród zwycięzcom.

1. Jak mogę wziąć udział w konkursie?

Aby wziąć udział w konkursie musisz:

  • Napisać komentarz pod tym artykułem.
    Jak wpis powinien wyglądać?

    Chciałbym otrzymać szablon numer #numer_szablonu, ponieważ chce stworzyć blog o elektronice.

  • Polubić fanpage bloga: https://www.facebook.com/Rynkopl

Uwaga! Aby komentarz został uznany, komentujący musi wpisać swój adres E-mail. Komentarze bez podanego adresu E-mail nie będą uwzględniane.

2. Jak otrzymam nagrodę?

W poprzednim konkursie, aby otrzymać nagrodę, należało zarejestrować się na stronie TemplateMonster.
Tym razem nagrody zostaną wysłane drogą E-mailową bez zbędnej rejestracji.

3. Gdzie mogę wybrać szablon?

Szablon można wybrać ze strony: www.templatemonster.com/pl/type/szablony-wordpress/

4. Ile będzie trwał konkurs?

Konkurs będzie trwał dokładnie 10 dni. Rozpocznie się dnia 09.06.2015, natomiast zakończy się dnia 19.06.2015

Zapraszam do wzięcia udziału w konkursie

…czytaj więcej

10 przydatnych stron dla webmasterów – część II

10 stron dla webmasterów

Artykuł ten jest nijako kontynuacją wpisu, który pojawił się na moim blogu 1 Lutego 2013. Przedstawiłem w nim 12 stron, które przyspieszają tworzenie stron internetowych lub mają wpływ na ich rozwój, np. analityka internetowa lub narzędzia dla webmasterów od Google. W tym artykule zaprezentuje 10 stron, które ułatwią programowanie w PHP oraz Javascript.

1. https://developer.mozilla.org/pl/docs/Web/JavaScript – dokumentacja JavaScript stworzona przez Mozilla Developer Network. Na portalu można również znaleźć wiedze z zakresu HTML 5 oraz CSS 3.

2. http://php.net/ – można powiedzieć, że jest to biblia programistów PHP. Znajdziesz tam wszystkie funkcje oraz możliwości języka PHP. Ponadto przy każdej funkcji znajdują się liczne przykłady jej użycia.

3. https://developers.google.com/speed/libraries/ – każdy z nas z pewnością korzystał, np. z biblioteki jQuery. Na tej stronie znajdziesz aktualne wersje takich bibliotek jak: jQuery, AngularJS, MooTools czy też SWFObject.

4. http://www.jsdelivr.com/ – mimo, że jQuery to bardzo łatwe w użyciu narzędzie, czasami nie warto go dołączać dla kilku linijek kodu w tejże bibliotece. Z pomocą przychodzi nam strona http://microjs.com/, gdzie można znaleźć lekkie biblioteki, które zastąpią nam jQuery.

5. http://www.jsdelivr.com/ – kolejna strona ze skryptami działającymi po stronie użytkownika. Znajdziesz na niej …czytaj więcej

Captcha.class.php – czy jesteś człowiekiem?

Captcha.php

Po tygodniowej przerwie przedstawie skrypt, który z pewnością poprawi poziom bezpieczeństwa naszej witryny. Skrypt składa się z dwóch głównych plików: create.php oraz Captcha.class.php oraz dwóch pobocznych: index.php i style.css, ponadto stworzyłem dodatkowy folder z możliwymi czcionkami: font/. Klasa składa się z trzech publicznych metod oraz dwóch atrybutów.

Kod na Github

Czym jest Captcha?

Wikipedia mówi, że Captcha to:

Rodzaj techniki stosowanej jako zabezpieczenie na stronach www, celem której jest dopuszczenie do przesłania danych tylko wypełnionych przez człowieka.

Podobnie jak klasa security.class.php, klasa captcha.class.php została stworzona z normami PSR-2 oraz PSR-4. Dodatkowo komentarze są, napisanie zgodnie ze wskazaniami PHPdoc.

Klasa Captcha.class.php:

<?php
/**
*
* @author Dominik Ryńko <http://rynko.pl/>
* @author Simon Jarvis
* @version 1.0.0
* @Link: http://www.white-hat-web-design.co.uk/articles/php-captcha.ph
* @Link: http://rynko.pl/captcha-class-php-czy-jestes-czlowiekiem
*/

namespace Captcha;

class Captcha
{
/**
* Property with config data
* @var array
*/
public $config;

/**
* Property with default folder name with fonts
* @var string
*/
public $defaultFont = 'font';

/**
*@param $config
*/
public function __construct($config)
{
if (empty($config['font'])) {
throw new Exception('Font name cannot be empty');
} else {
...czytaj więcej

Licznik znaków w polu tekstowym + progressbar

Licznik znaków

Dzisiejszy wpis będzie poświęcony skryptowy, który z pewnością sprawi, że nasza strona stanie się przyjaźniejsza dla użytkowników. Skrypt został napisany w jQuery i w zależności od ilości wpisanych znaków wywołuje odpowiednie akcje, tj. zmieniający się progressbar oraz kolor obramowania. Kod został umieszczony w trzech plikach: index.html, style.css oraz script.js.

Kod na Githubie

Plik index.html:

<!DOCTYPE html>
<html lang="pl">
<head>
<meta charset="UTF-8">
<link href="style.css" rel="stylesheet">
<meta name="description"
content="Plik demonstracyjny pokazujący progressbar w zalezności od ilości wpisanych znakow">
<meta name="author" content="Dominik Ryńko">
<title>Plik demonstracyjny skryptu</title>
</head>
<body>
<header>
<h1><a href="index.html" title="Plik demonstracyjny">Plik demonstracyjny</a></h1>
</header>
<section>
<div class="left-sidebar">
<h2>Przykładowy nagłÃ³wek</h2>

<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex
...czytaj więcej

TemplateMonster- zakończenie konkursu

Zakończenie konkursu

W pierwszym konkursie, który został zorganizowany na moim blogu mieliście możliwość wygrać dowolnie wybrany szablon do Joomli, który został ufundowany przez TemplateMonster. Konkurs rozpoczął się dokładnie 22 kwietnia 2015 roku i trwał 7 dni. We środę, 29 kwietnia, trzej zwycięzcy zostali wylosowani, a kupony na 100% zniżki zostały przesłane drogą E-mailową.

W tym krótkim wpisie przedstawię listę trzech zwycięzców, który wygrali wybrany przez siebie szablon:
1. Comandeer
2. Volix
3. Mateusz Milewski

Serdecznie gratuluje zwycięzcom

…czytaj więcej