fle game engine - движок для создания игр
fle game engine - движок для создания игр


Balls and holes PC game / Balls and Holes PC игра
Вакансии
Игродельня
Сегодня
24 апреля 2017
16:11
Вход Регистрация Забыли пароль ?

megainformatic - бесплатная флеш игра freeway fury 2 - разработчик Serius Games
бесплатная флеш игра - разработчик Serius Games - название - Freeway Fury 2 Всем привет !!!! Как-то я вспомнил про свою старую игрушку - road2city, которую делал в далеком 2006 году. А еще решил поискать в интернете что-то аналогичное и вот наткнулся - Freeway Fury 2 Игра очень похожа на road2city, но мне она понравилась даже бол
подробнее...

Теги

создание сайтов, создание игр, дизайн, игры, информатика, уроки photshop, php, c++, музыка, delphi, cms, робосайт

Статьи сайта

megainformatic - Разработка программ на c++

megainformatic - Немного о музыке

megainformatic - GET и POST запросы

megainformatic - для чего нужна карта сайта

megainformatic - Web Администрирование

megainformatic - Мысли о разном

megainformatic - Легко ли быть программистом

megainformatic - Глубины программирования на C++

megainformatic - Убираем лимит на размер импортируемого файла в PhpMyAdmin

megainformatic - Как создать torrent файл

megainformatic - Нужна ли валидация вашему сайту ?

megainformatic - Антивирус DrWeb

megainformatic - Калькулятор рассчёта стоимости зубопротезирования для стоматологической клиники

megainformatic - Что такое BitTorrent (БитТоррент)

megainformatic - Миссис Даутфайр 1993 фильм torrent

megainformatic - Как скачивать торрент-раздачу ?

megainformatic - Автотелега фильтр

megainformatic - Фильмы

megainformatic - Fahrengeit Фаренгейт игра 2006 для PC

megainformatic - Fez игра для PC 2013

megainformatic - Дневник памяти - фильм 2004

megainformatic - Scooter - The night - Video and Lyrics - Скутер - Ночь - Видео и лирика

megainformatic - Если всё же неудача

megainformatic - Смерть или искупление или избавление

megainformatic - По ту сторону

cj megainformatic - музыкальный альбом БЕСКОНЕЧНОЕ ДВИЖЕНИЕ ОЖИДАНИЕ И ДЕЙСТВИЕ

megainformatic - Костя Коробкин - Секретный проект - интерактивный комикс

megainformatic - Основы анимации во флеш на примере анимирования простейшей окружности

megainformatic - Парсер сайтов Введение

megainformatic - Я пишу музыку для себя и для продажи

megainformatic - Статьи на околомузыкальные темы - осень 2014 часть 1

megainformatic - рассказ - Чужие воспоминания - автор Синицин Андрей - 24.09.2014

megainformatic - Сайты живущие вне поисковых систем. Есть ли такие и как их найти ?

megainformatic - Game craft - проект разработки игровых и мультимедийных проектов

megainformatic - Game craft - моделируем scv

megainformatic - Game craft - моделируем scv - шаг 1 (часть 2)

megainformatic - Game craft - моделируем scv - шаг 2 (часть 3)

megainformatic - Game craft - Наложение текстуры на модель робота scv (часть 4)

megainformatic - Game craft - Прорисовка текстуры робота SCV шаг 5

megainformatic - Game craft - Экспорт модели из 3ds max в формат X

megainformatic - Game craft - отображение scv модели в формате x в d3d9-приложении

megainformatic - Game craft - управление игрой от Direct Input в d3d9 - приложении

megainformatic - Game craft - игровая камера в d3d9 - приложении

megainformatic - Приключения Кости Коробкина - Как я провел лето - онлайн комикс - страница 1

megainformatic - Приключения Кости Коробкина - Как я провел лето - онлайн комикс - страница 2

megainformatic - Приключения Кости Коробкина - Как я провел лето - онлайн комикс - страница 3

megainformatic - Приключения Кости Коробкина - Как я провел лето - онлайн комикс - страница 4

megainformatic - Приключения Кости Коробкина - Как я провел лето - онлайн комикс - страница 5

megainformatic - Приключения Кости Коробкина - Как я провел лето - онлайн комикс - страница 6

megainformatic - Приключения Кости Коробкина - Как я провел лето - онлайн комикс - страница 7

megainformatic - Приключения Кости Коробкина - С новым годом - интерактивный комикс (kk hny) - онлайн комикс - страница 1

megainformatic - Приключения Кости Коробкина - С новым годом - интерактивный комикс (kk hny) - онлайн комикс - страница 2

megainformatic - Приключения Кости Коробкина - С новым годом - интерактивный комикс (kk hny) - онлайн комикс - страница 3

megainformatic - Приключения Кости Коробкина - С новым годом - интерактивный комикс (kk hny) - онлайн комикс - страница 4

megainformatic - Приключения Кости Коробкина - С новым годом - интерактивный комикс (kk hny) - онлайн комикс - страница 5

megainformatic - Приключения Кости Коробкина - С новым годом - интерактивный комикс (kk hny) - онлайн комикс - страница 6


Как создать инсталлятор для собственной cms ?

Итак, Вы написали свою cms. Если нет - можете взять мою бесплатную - megainformatic cms free

Правда для megainformatic cms free инсталлятор не требуется вообще !!! Сайт созданный на базе неё работает без my sql только на файлах. Поэтому вся установка сводится к копированию файлов системы на ваш хостинг.

Для более продвинутых вариантов cms, использующих базы данных my sql - а такие более распространены (megainformatic cms, megainformatic cms express и производные), в задачу инсталлятора будет входить создание первоначальной структуры базы данных будущего сайта без участия пользователя.

Пользователь должен будет лишь создать новую пустую базу данных и передать данные доступа к ней в инсталлятор.

Ну и конечно же инсталлятор должен решить другие дополнительные задачи - автонастройка файла settings, создание прочих настроек состояния сайта по-умолчанию.

В данном уроке мы создадим такой простейший инсталлятор, который будет:

1.) запрашивать пользователя данные доступа к новой базе данных для сайта
2.) создавать первоначальную структуру базы данных нового сайта
3.) обновлять содержимое файла настроек settings.php


Рассмотрим теперь более подробно как организуется процесс установки сайта с помощью инсталлятора.

Во-первых в дистрибутив вашей cms добавляется папка install, которая будет содержать как минимум файл install.php выполняющий все необходимые шаги процесса установки.

В нашем примере таких шагов будет даже 4:

1) Краткая инструкция для пользователя о том, как создать новую базу данных для сайта (поскольку инсталлятор этот шаг выполнить сам не сможет, тут требуется участие пользователя);

2) Поля для ввода данных доступа к созданной базе данных и адрес сайта (тут думаю всё тоже понятно - пользователь должен ввести некоторую информацию о имени базы данных, имени пользователя, пароле, сервере и адресе сайта) - эту информацию инсталлятор будет использовать для автоматического создания структуры базы данных и заполнения её необходимыми данными

3) Непосредственная работа инсталлятора по созданию структуры базы данных и заполнению её необходимыми данными (это собственно скрипт в файле install.php, который будет делать всю необходимую работу уже без прямого участия пользователя);

4) Завершающий шаг установки - инсталлятор создаст файл settings.php, содержащий все необходимые настройки для правильной работы сайта, а также создаст необходимые данные, которые будут свидетельствовать об успешном выполнении установки. (суть работы скрипта install.php тут сводится к созданию файла settings.php с необходимым содержимым, а также созданию специального файла-флага успешного окончания установки, пользователю также выдается сообщение об успешном окончании установки и необходимости удаления папки install с сайта, т. к. её присутствие после успешного выполнения установки сайта становится крайне нежелательным, а сам инсталлятор естественно эту операцию сделать не может).



Мы рассмотрели то, что нужно сделать в теории, а теперь перейдём к практике.

В папке дистрибутива вашей cms создаем подпапку install и помещаем в неё файл install.php.

В файл install.php заносим следующий код -

<?php $install_system_name = 'megainformatic cms express'; ?>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">

<title>Установка <?php echo $install_system_name; ?></title>

<style>

#main {

width: 100%;

margin: 0;

padding: 0;

font-size: 12px;

color: #000000;

background: #ffffff;

font-family: Verdana, Arial, sans-serif;

font-weight: normal;

text-align: center;

}

#container {

width: 800px;

background: #fae3a6;

margin: 0 auto;

}

#desc {

width: 600px;

text-align: left;

margin: 0 auto;

}

#db_connect_form {

width: 480px;

text-align: left;

margin: 0 auto;

background: #cecece;

}

.blue_text {

color: #1c71ad;

}

.orange_bold_text {

color: #ff8e15;

font-weight: bold;

}

.start_install_btn {

color: #ffffff;

border: 2px #ffffff solid;

background: #12be16;

}

</style>

</head>

<body>

<div id="main">

<div id="container">

<?php

/////////////////////////////////// функции

//разворачиваем данные в базе данных сайта

function deploy_database_data()

{

$result = 0;

global $dbhost;

global $dbuser;

global $dbpassw;

global $dbsite;

$papers = array();

if ($rc = mysql_connect($dbhost, $dbuser, $dbpassw))

{

mysql_select_db($dbsite);

//$table = PAPERS_TABLE;

/*$sql = 'SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";';

$s = mysql_query($sql);

if ( !$s )

{

die('Invalid query: ' . mysql_error());

return $result;

}*/

$sql = 'CREATE TABLE IF NOT EXISTS papers (

pageid int(11) NOT NULL AUTO_INCREMENT,

pagetitle varchar(255) NOT NULL,

pagefile varchar(255) NOT NULL,

UNIQUE KEY pageid (pageid)

) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=10 ;';

$s = mysql_query($sql);

if ( !$s )

{

die('Invalid query: ' . mysql_error());

return $result;

}

mysql_close($rc);

}

if ($rc = mysql_connect($dbhost, $dbuser, $dbpassw))

{

mysql_select_db($dbsite);

$sql = "INSERT INTO papers (pageid, pagetitle, pagefile) VALUES

(1, 'CMS Мега Информатик', 'papers/home.txt'),

(2, 'Подготовка макета сайта', 'papers/maket/maket.txt'),

(3, 'Верстка созданного макета', 'papers/verstka/verstka.txt'),

(4, 'Добавление модулей обеспечивающих функционал', 'papers/modules/modules.txt'),

(5, 'Основы добавления контента на сайт, управления и поддержки сайта', 'papers/content/content.txt'),

(6, 'Проверка работы сайта, установка на хостинг', 'papers/hosting/hosting.txt'),

(7, 'Основы продвижения созданного сайт', 'papers/promo/promo.txt'),

(8, 'Мега Информатик - Создание шаблонов', 'papers/templates/templates.txt'),

(9, 'Создание интернет-магазина', 'papers/shop/shop.txt');";

$s = mysql_query($sql);

if ( !$s )

{

die('Invalid query: ' . mysql_error());

return $result;

}

mysql_close($rc);

$result = 1;

}

return $result;

}

//создаем файл settings.php с конфигурацией сайта

function create_config()

{

$result = 0;

global $dbhost;

global $dbuser;

global $dbpassw;

global $dbsite;

global $site_url;

$data = '<?php'.PHP_EOL;

$data .= '/* ====================================================='.PHP_EOL;

$data .= 'megainformatic cms express 14.04.2012'.PHP_EOL;

$data .= 'http://www.megainformatic.ru'.PHP_EOL;

$data .= 'Автор: Синицин Андрей Сергеевич (megainformatic)'.PHP_EOL;

$data .= '***************************'.PHP_EOL;

$data .= 'файл настроек'.PHP_EOL;

$data .= '====================================================

*/'.PHP_EOL;

$data .= '//настройки доступа к бд'.PHP_EOL;

$data .= '$site_url = \''.$site_url.'\'; //пропишите адрес к вашему сайту'.PHP_EOL;

$data .= '$dbhost = "'.$dbhost.'"; //сервер базы данных обычно 127.0.0.1 либо localhost'.PHP_EOL;

$data .= '$dbsite = "'.$dbsite.'"; //сюда нужно вписать имя созданной вами для сайта базы данных'.PHP_EOL;

$data .= '$dbuser = "'.$dbuser.'"; //это имя пользователя базы данных - для локального сайта можно вписать root'.PHP_EOL;

$data .= '$dbpassw = "'.$dbpassw.'"; //пароль доступа к базе данных, для локального сайта можно не использовать'.PHP_EOL;

$data .= '//набор доступных шаблонов'.PHP_EOL;

$data .= '$templates = array(\'magic\', \'orange\', \'green\', \'blue\');'.PHP_EOL;

$data .= '//имя шаблона по-умолчанию'.PHP_EOL;

$data .= '$template_name = "magic";'.PHP_EOL;

$data .= 'if ( isset($_POST[\'template\']) && $_POST[\'template\'] != "" )'.PHP_EOL;

$data .= '{'.PHP_EOL;

$data .= ' if ( in_array($_POST[\'template\'], $templates) )'.PHP_EOL;

$data .= ' $template_name = $_POST[\'template\'];'.PHP_EOL;

$data .= '}'.PHP_EOL;

$data .= '$template_path = "design/".$template_name;'.PHP_EOL;

$data .= '?>'.PHP_EOL;

$config_filename = 'settings.php';

//выводим данные в файл

$cfg_handler = fopen($config_filename, "w");

$result = fwrite($cfg_handler, $data);

fclose($cfg_handler);

return $result;

}

//создаем файл-флаг успешного завершения установки

function create_install_end_flag_file()

{

$result = 0;

global $istall_ended_filename;

$data = 'installation ended ok'.PHP_EOL;

//выводим данные в файл

$flg_handler = fopen($istall_ended_filename, "w");

$result = fwrite($flg_handler, $data);

fclose($flg_handler);

return $result;

}

/////////////////////////////////// исполнение

//логика работы установщика сайта

/*

0) НАЧАЛО УСТАНОВКИ

1) проверяем была ли нажата кнопка start_install

2) если да, то пробуем получить доступ к базе данных с указанными параметрами

3) если доступа нет - выводим предупреждение

4) если доступ есть - в базе данных сайта создаем все необходимые таблицы и заносим в них информацию

5) создаем в корне сайта файл settings.php и заносим в него всю необходимую информацию

6) после успешного выполнения шагов 4 и 5 выдаем сообщение об окончании установки и предупреждение о необходимости полностью удалить

с сайта папку install, в папке install создаем файл install_ended.txt - если при запуске index.php в корне сайта он проверит и

обнаружит в папке install данный файл - то нужно выдать в браузер предупреждение о необходимости полного удаления папки install

с сайта. Пока папка не будет удалена - не давать доступ к сайту не продолжая выполнение кода в index.php а выводить

только сообщение с предупреждением !!!

*/

error_reporting(E_ERROR);

//1) проверяем была ли нажата кнопка start_install

$start_install_action = isset($_POST['start_install']);

//запоминаем введенные данные доступа к базе данных и сайту (если они были введены)

$dbhost = $_POST['database_server'];

if ( !isset($dbhost) || $dbhost == "" )

$dbhost = '127.0.0.1';

$dbuser = $_POST['database_user'];

if ( !isset($dbuser) || $dbuser == "" )

$dbuser = 'root';

$dbpassw = $_POST['database_pass'];

if ( !isset($dbpassw) /*|| $dbpassw == ""*/ )

$dbpassw = '';

$dbsite = $_POST['database_name'];

if ( !isset($dbsite) || $dbsite == "" )

$dbsite = 'my_database';

$site_url = $_POST['site_url'];

if ( !isset($site_url) || $site_url == "" )

$site_url = 'http://localhost/megainformatic_cms_express';

if ( $start_install_action )

{

//2) да! , пробуем получить доступ к базе данных с указанными параметрами

$result = TRUE;

$rc = mysql_connect($dbhost, $dbuser, $dbpassw);

if ( !$rc )

{

$result = FALSE;

}

$s = mysql_select_db($dbsite);

if ( !$s )

{

$result = FALSE;

}

if ( !$result )

{

//3) если доступа нет - выводим предупреждение

echo '<br><span style="color: #ff0000;">Ошибка !!! Невозможно получить доступ к базе данных !!! Пожалуйста еще раз проверьте

правильность введенных данных и нажмите кнопку НАЧАТЬ УСТАНОВКУ еще раз</span><br><br><br>';

}

else {

mysql_close($rc);

//include_once "includes/constants.php";

//4) если доступ есть - в базе данных сайта создаем все необходимые таблицы и заносим в них информацию

$result = deploy_database_data();

//5) создаем в корне сайта файл settings.php и заносим в него всю необходимую информацию

$result = $result && create_config();

//6) в папке install создаем файл install_ended.txt - он служит флагом успешного окончания установки

//!!! предупреждает ситуацию повторной установки уже установленного сайта !!!

$result = $result && create_install_end_flag_file();

echo 'установка успешно завершена !!! <br><br>Теперь сайт будет работать в штатном режиме и Вы можете обратиться к нему по адресу - '.'<a href="'.$site_url.'">'.$site_url.'</a><br><br>

<br><span style="color: #ff0000;">ВНИМАНИЕ !!! УСТАНОВКА САЙТА ПОЛНОСТЬЮ ЗАВЕРШЕНА И ВАМ НЕОБХОДИМО УДАЛИТЬ ПАПКУ install с вашего сайта. Пока Вы это не сделаете дальнейшая работа невозможна. После удаления папки install просто обратитесь по адресу сайта и сайт заработает.</span>';

}

}

//else

//0) НАЧАЛО УСТАНОВКИ

//выводим начальную страницу установщика

if ( !$result )

{

echo '<img src="install/images/installer.png" border="0" alt="установка '.$install_system_name.'" title="установка '.$install_system_name.'" width="320" height="240">

<br><br>

Добро пожаловать в установщик системы <strong>'.$install_system_name.'</strong><br><br>

<div id="desc">

1) Создайте <span class="blue_text">новую базу данных</span><br><br>

Если Вы выполняете установку на DENVER то,<br><br> в отдельном окне (вкладке) браузера обратитесь по адресу <span class="blue_text">http://localhost/Tools/phpmyadmin/index.php</span><br><br>

или кликните

эту ссылку - <a href="http://localhost/Tools/phpmyadmin/index.php" target="_blank">http://localhost/Tools/phpmyadmin/index.php</a><br><br><br>

<span class="orange_bold_text">!!! ОБРАТИТЕ ВНИМАНИЕ DENVER ДОЛЖЕН БЫТЬ ЗАПУЩЕН !!!<br><br></span>

Если Вы выполняете установку сайта на хостинг, то используйте панель управления Вашим хостингом, для создания новой базы данных сайта. При этом выполнение шага 1.1 будет отличаться, т. к. это действие Вы будете выполнять через панель управления Вашим хостингом. За более подробной информацией обращайтесь к вашему хостинг-провайдеру.<br><br>

1.1) В открывшейся странице phpMyAdmin введите имя для новой базы данных, например, <span class="blue_text">my_database</span> и укажите кодировку для новой базы данных <span class="blue_text">cp1251_general_ci</span> как показано на рисунке<br><br> <img src="install/images/create_new_database.jpg" border="0" alt="создание новой базы данных" title="создание новой базы данных" width="512" height="353"><br><br>

после этого нажмите кнопку <span class="blue_text">Create</span><br><br>

2) в поля указанные ниже, введите необходимую для доступа к созданной базе данных информацию, а затем нажмите кнопку НАЧАТЬ УСТАНОВКУ<br><br>

<div id="db_connect_form"><br><br><strong>Доступ к новой базе данных сайта</strong><br><br>

<form name="site_installer" id="site_installer" action="index.php" method="post">

<strong>Адрес сервера:</strong><br> <input type="text" name="database_server" value="'.$dbhost.'" >(обычно <span class="blue_text">localhost</span> или <span class="blue_text">127.0.0.1</span>)<br><br>

<strong>Имя базы данных:</strong><br> <input type="text" name="database_name" value="'.$dbsite.'" >(введите обязательно такое же имя, которое использовали при создании новой базы данных)<br><br>

<strong>Имя пользователя:</strong><br><input type="text" name="database_user" value="'.$dbuser.'" > (для локальной базы данных на DENVER можно использовать <span class="blue_text">root</span>)<br><br>

<strong>Пароль:</strong><br><input type="text" name="database_pass" value="'.$dbpassw.'" > (для локальной базы данных на DENVER можно не вводить)<br><br>

<strong>Доступ к сайту</strong><br><br>

<strong>Адрес сайта:</strong><br><input type="text" name="site_url" size="60" value="'.$site_url.'" > (укажите адес сайта - для локального сайта на DENVER установленного в папку <strong>megainformatic_cms_express</strong> можно использовать адрес <span class="blue_text">http://localhost/megainformatic_cms_express</span>)<br><br>

<input class="start_install_btn" type="submit" name="start_install" value="Начать установку"><br><br> </form>

</div><!-- end of #db_connect_form -->

В процессе установки созданная база данных будет заполнена необходимыми данными, а также в файл <strong>settings.php</strong> будут занесены

правильные настройки для работы вашего сайта.<br><br>

</div><!-- end of #desc -->';

}

?>

</div><?php /* end of #container */ ?>

</div><?php /* end of #main */ ?>

</body>

</html>

Приведенный код описывает выполнение всех указанных 4 шагов.

В коде страницы инсталлятора используются 2 изображения - 1 в качестве логотипа инсталлятора, а второе - поясняющее шаг создания новой базы данных для пользователя.

Оба эти изображения можно разместить в папке install/images/

Приведенный код, чтобы лучше его понять Вы можете вставить в собственный файл install.php и протестировать как он работает.

Второй важный момент, который надо учитывать - это код, который нужно вставить в файл index.php вашей cms.

Поскольку любой сайт начинает свою работу именно с файла index.php размещенного в корне сайта, то активировать процесс установки сайта достаточно просто.

В самом начале файла index.php мы разместим такой код -

//выполняем установку сайта

//была ли успешно завершена установка ?

$istall_ended_filename = 'install/install_ended.txt';

if ( file_exists($istall_ended_filename ) )

{

//ДА! Поэтому нужно полностью удалить папку install

echo '
<span style="color: #ff0000;">ВНИМАНИЕ !!! УСТАНОВКА САЙТА ПОЛНОСТЬЮ ЗАВЕРШЕНА И ВАМ НЕОБХОДИМО УДАЛИТЬ ПАПКУ install с вашего сайта. Пока<br><br> Вы это не сделаете дальнейшая работа невозможна. После удаления папки install просто обратитесь по адресу сайта и сайт заработает.</span>';

exit();

}

else {

//НЕТ! Тогда выполняем процедуру установки сайта

$installer = 'install/install.php';

if ( file_exists($installer ) )

{

require_once $installer;

}

}

//конец установки

По сути это всё.

Работать это будет следующим образом - Вы (или пользователь, который хочет установить сайт) после копирования всех файлов и папок сайта на хостинг обращается к сайту по его адресу.

При этом код, который мы внедрили в index.php будет проверять наличие файла-флага успешной установки.

Если такого файла в папке install еще нет - будет проверяться наличие папки install и файла install.php в ней.

Если такая папка и файл есть - управление будет передаваться ему и будет открыта страница ИНСТАЛЛЯТОРА в браузере.

Соответственно пользователь выполнит все необходимые действия следуя инстукциям, после чего install.php успешно выполнит свою задачу.

По окончании этого процесса пользователь будет уведомлен о необходимости удаления с сайта папки install. Пока пользователь не сделает этого - он будет получать предупреждение, а сайт работать не будет.

Как только пользователь удалит или хотя бы просто переименует папку install, то никаких помех к дальнейшей работе установленного сайта уже не будет и сайт при обращении к нему будет уже работать в обычном режиме.

Таким образом достаточно гибко и просто будет реализован процесс развертывания нового сайта, требующий от пользователя значительно меньше усилий по его установке и настройке.

Спасибо за внимание !

Тема данной статьи не претендует на простоту и исключительную ясность изложения, но вам был показан пример реального работающего кода, который Вы можете успешно применять в качестве основы для инсталляторов в своих cms.

Вы также можете заказать систему megainformatic cms express или её производные и увидеть воочию каким образом развертывается сайт при помощи инсталлятора, ну и разумеется получить работающий сайт под ключ.

 

Оставленные комментарии



fle game engine - движок для создания игр
fle game engine - движок для создания игр


Something: Unexplained 2 captive of desires / Нечто: Необъяснимое 2 в плену желаний
Костя Коробкин Комикс Коллекционное издание - 6 комиксов, 81 страница, 220 mp3 треков
визиты
сегодня: 1171
всего: 22138
посетители
сегодня: 181
всего: 19484
Время загрузки: 2,0288