Розробка середовища для управління сайтами на основі HTML5

Автор: Пользователь скрыл имя, 15 Января 2012 в 22:00, дипломная работа

Описание работы

У нашій епосі всесвітня павутина має дуже велике значення. Великі корпорації, маленькі фірми, навіть фізичні особи мають свої власні сайти. Сучасні сайти знатно відрізняються від сайтів, які створювались декілька років тому – нові веб-технології з’являються майже з кожним роком та доповнюють існуючі сайти. Кожен, хто вирішив створити собі власний сайт, хоче зробити його, використовуючи останні новинки веб-індустрії. Однак не всі можуть створювати сайти взагалі.

Содержание

Вступ 5
Постановка завдання 7
1. Огляд існуючих технологій 8
1.1 Веб-розробка 8
1.1.1 Серверні мови 8
1.1.2 Клієнтські мови 17
1.2 Системи керування вмістом 21
1.3 HMTL5 26
2. Вибір технологій розробки 30
2.1 Мова програмування 30
2.2 Система керування базами даних 32
2.3 JavaScript фреймворк 32
2.4 WYSIWYG редактор 33
3. Опис роботи 34
3.1 Абстрактна модель програми 34
3.2 Проектування бази даних 34
3.3 Створення структури програми 36
3.4 Розробка ядра програми 37
Висновки 39
Література 40
Додаток А 41
Додаток Б 44

Работа содержит 1 файл

Диплом.doc

— 262.50 Кб (Скачать)

                              default:

                                    if (!$request['_params'])

                                          $request['_params'] = array();

                                    $request['_params'][] = $param;

                              break;

                              }

                        }

                        if (!$request['_module'])

                              $request['_module'] = 'admin';

                        if (!$request['_controller'])

                              $request['_controller'] = 'index';

                  }

                  return $request;

            }

      }

library\ Controller.php

<?php

      abstract class Controller

      {

            abstract public function init(); 

            public $view   = null;

            public $render   = true;

            public $layout   = 'default';

            public $redirect  = null; 

            protected $class_name = "";

            protected $view_path = "";

            protected $template  = "index"; 

            public function __construct()

            {

                  $this->class_name = get_class($this);

                  $this->view_path = implode('/',explode('_',strtolower($this->class_name)));

                  $this->view = new View($this->view_path.'/'.$this->template.View::DEFAULT_EXT);

            }

      }

library\ Controller\ Admin.php

<?php

      abstract class Controller_Admin extends Controller

      {

            public $user; 

            public function __construct()

            {

                  parent::__construct();

                  //Проверка наличия  авторизации в сессии

                  if (Session::getInstance()->auth)

                  {

                        $this->user = Session::getInstance()->auth;

                  }

                  if ($this->user)

                  {

                        $this->view->user = $this->user;

                  }

                  else

                  {

                        $this->redirect = "/admin/login";

                  }

            }

      }

controllers\Index.php

<?php

      class Index extends Controller

      {

            public function init()

            {

                  $params = Application::getInstance()->getRequest('_params');

                  $url = $params[0];

                  $custom = false;

                  foreach (Pages::getInstance()->getPages() as $page)

                  {

                        if ($page['url'] == $url)

                        {

                              $this->view->page_content = $page['content'];

                              $custom = true;

                        }

                  }

                  if (!$custom)

                  {

                        $this->view->page_content = "";

                  }

            }

      }

controllers\ Admin\ Index.php

<?php

      class Admin_Index extends Controller_Admin

      {

            public $layout = 'admin';

            public function init()

            { 

            }

      }

controllers\ Admin\ Login.php

<?php

      class Admin_Login extends Controller

      {

            public $layout = 'login';

            public function init()

            {

                  if (Application::getInstance()->isPost())

                  {

                        $req = Application::getInstance()->getRequest();

                        if ($req['email'] && $req['pass'])

                        {

                              $email = $req['email'];

                              $pass = $req['pass'];

                              $this->view->form_email = $email;

                              $this->view->form_pass = $pass;

                              $user = Auth::_auth($email,$pass);

                              if ($user)

                              {

                                    Session::getInstance()->auth = $user;

                                    $this->redirect = "/admin";

                              }

                              else

                              {

                                    $this->view->error = "Неверный логин или пароль";

                              }

                        }

                  }

                  $req = Application::getInstance()->getRequest('_params');

                  if ($req && $req[0]=='logout')

                  {

                        Session::getInstance()->delete('auth');

                        $this->redirect = "/admin/login";

                  }

            }

      }

controllers\ Admin\ Menu.php

<?php

      class Admin_Menu extends Controller_Admin

      {

            public $layout = 'admin';

            public function init()

            {

                  $req = Application::getInstance()->getRequest('_params');

                  if ($req && $req[0]='ajax')

                  {

                        $this->render = false;

                        $post = Application::getInstance()->getRequest();

                        switch ($post['oper'])

                        {

                        case 'add':

                              $result = array();

                              $title = $post['title'];

                              $result['id'] = Menu::getInstance()->setItem(array(

                                    'title'  => $title,

                                    'type'  => Menu::MENU_ITEM_TYPE_HOME,

                                    'active' => 0

                              ));

                              echo json_encode($result);

                        break;

                        case 'load':

                              $result = array();

                              $id = $post['id'];

                              $result = Menu::getInstance()->getItem($id);

                              echo json_encode($result);

                        break;

                        case 'save':

                              $id = (int)$post['id'];

                              $data = array();

                              $data[url] = $post['url'];

                              $data[type] = $post['type'];

                              $data[title] = $post['title'];

                              $data[active] = $post['active'];

                              $data[page_id] = $post['page_id'];

                              Menu::getInstance()->setItem($data,$id);

                        break;

                        case 'sort':

                              $sort_list = $post['sort_list'];

                              Menu::getInstance()->reorderItems($sort_list);

                        break;

                        }

                  }

                  $this->view->menu_list = Menu::getInstance()->getItems();

            }

      }

controllers\ Admin\ Pages.php

<?php

      class Admin_Pages extends Controller_Admin

      {

            public $layout = 'admin';

            public function init()

            {

                  $req = Application::getInstance()->getRequest('_params');

                  $_pages_list = Pages::getInstance()->getPages();

                  $this->view->pages_list = array();

                  foreach ($_pages_list as $page) $this->view->pages_list[$page['id']] = $page['url']; 

                  if ($req && $req[0]='ajax')

                  {

                        $this->render = false;

                        $post = Application::getInstance()->getRequest();

                        switch ($post['oper'])

                        {

                        case 'add':

                              $result = array();

                              $url = $post['url'];

                              $id = Pages::getInstance()->setPage(array('url'=>$url));

                              $result['id'] = $id;

                              echo json_encode($result);

                        break;

                        case 'delete':

Информация о работе Розробка середовища для управління сайтами на основі HTML5