Разработка системы управления Интернет-приложениями

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование



Д., Джекобсон А. UML. Руководство пользователя. [Текст] М.: ДМК 2000. 432 с.

.Фаулер М., Скотт К. UML в кратком изложении. [Текст] М. Мир. 1999. 191 с.

.Трофимов С.А., CASE-технологии: практическая работа в Rational Rose. [Текст] Изд. 2-е. - М.: Бином-Пресс, 2002 г. - 288 с.

.Вендров А.М. Проектирование программного обеспечения экономических информационных систем [Текст]: учебник - М.: Финансы и статистика, 2004. - 192 с.

.Ткаченко А.Д. Оценка экономической эффективности внедрения программного продукта [Текст]: Методические указания по дипломному проектированию для студентов всех форм обучения / А.Д. Ткаченко Армавир: Изд. АМТИ, 2005. 16 с.

.Гигиенические требования к персональным электронно-вычислительным машинам и организации работы. СанПиН 2.2.2/2.4.1340-03 [Текст] - М.: Информационно-издательский центр Госкомсанэпиднадзора России, 1996 65 с. ISBN 5-7508-0049-0.

.Сибаров Ю.Г. Охрана труда в вычислительных центрах [Текст]: Учебник для студентов СПТУ / Ю.Г. Сибаров и др. М.: Машиностроение, 1990. 192 с.

Приложение

Листинг программы

Файл контроллера sitesController.php

<?php

/**

* Класс, представляющий контроллер для управления сайтами CMS "SiteONas"

*/SitesController extends Controller

{

/**

* @var string шаблон для Вида

*/

public $layout=//layouts/column2;

/**

* @return array фильтры для методов класса

*/function filters()

{ array(

accessControl, // выполняет контроль доступа к методам класса

);

}

/**

* Метод определяет правила для контроля доступа.

* Данный метод используется фильтром accessControl.

* @return array правила для контрля доступа

*/function accessRules()

{ array(

// позволяет всем пользователям выполнять метод view

array(allow,

actions=>array(view),

users=>array(*),

),

// позволяет пользователям с ролью "Администратор" выполнять методы create и update

array(allow,

actions=>array(create,update),

users=>array(@),

),

// позволяет пользователям с ролью "Суперадминистратор" выполнять методы admin и delete

array(allow,

actions=>array(admin,delete),

users=>array(admin),

),

// запрещает всем пользователям выполнять остальные методы

array(deny,

users=>array(*),

),

);

}

/**

* Отображает выбранный сайт

* @param integer $id ID выбранного сайта

*/function actionView($id)

{

$this->render(view,array(

model=>$this->loadModel($id),

));

}

/**

* Создает новый сайт

* Если сайт создан успешно, то пользователь перенаправляется на страницу просмотра сайта

*/function actionCreate()

{

$model=new Sites;(isset($_POST[Sites]))

{

$model->attributes=$_POST[Sites];($model->save())

$this->redirect(array(view,id=>$model->site_id));

}

$this->render(create,array(

model=>$model,

));

}

/**

* Редактирует выбранный сайт

* Если сайт сохранен успешно, то пользователь перенаправляется на страницу просмотра сайта

* @param integer $id ID редактируемого сайта

*/function actionUpdate($id)

{

$model=$this->loadModel($id);(isset($_POST[Sites]))

{

$model->attributes=$_POST[Sites];($model->save())

$this->redirect(array(view,id=>$model->site_id));

}

$this->render(update,array(

model=>$model,

));

}

/**

* Удаляет выбранный сайт

* Если сайт удален успешно, то пользователь перенаправляется на страницу управления сайтами

* @param integer $id ID удаляемого сайта

*/function actionDelete($id)

{(Yii::app()->request->isPostRequest)

{

// удаление доступно только через РОST запрос

$this->loadModel($id)->delete();(!isset($_GET[ajax]))

$this->redirect(array(admin));

}new CHttpException(400,Неккоректный запрос.);

}

/**

* Управление сайтами

*/function actionAdmin()

{

$model=new Sites(search);

$model->unsetAttributes();(isset($_GET[Sites]))

$model->attributes=$_GET[Sites];

$this->render(admin,array(

model=>$model,

));

}

/**

* Возвращает Модель на основе первичного ключа записи в БД

* Если модель не найдена, генерируется HTTP исключение

* @param integer ID загружаемой модели

*/

public function loadModel($id)

{

$model=Sites::model()->findByPk($id);($model===null)new CHttpException(404, Страница не существует.);$model;

}

}

Файл модели sites.php

<?php

/**

* Класс модели для таблицы sites

*

* Свойства, соответствующие полям таблицы sites:

* @property integer $site_id

* @property integer $user_id

* @property string $site_title

* @property string $site_url

* @property string $site_domain

* @property integer $site_tariff_id

*/Sites extends CActiveRecord

{

/**

* Возвращает объект модели для текущего AR класса.

* @param string $className имя класса active record.

* @return Sites объект модели класса Sites

*/static function model($className=__CLASS__)

{parent::model($className);

}

/**

* @return string ассоциированое имя таблицы БД

*/function tableName()

{sites;

}

/**

* @return array правила валидации для атрибутов модели

*/function rules()

{array((site_id, user_id, site_title, site_url, site_domain, _tariff_id, required),(site_id, user_id, site_tariff_id, numerical, integerOnly=>true),(site_title, site_url, site_domain, length, max=>255),(site_id, user_id, site_title, site_url, site_domain, _tariff_id, safe, on=>search),

);

}

/**

* @return array правила, описывающие отношения с другими таблицами

*/function relations()

{

//связь с таблицей usersarray(

User => array(self::BELONGS_TO, Users, user_id)

);

}

/**

* Получает список моделей на основе установленных правил

* @return CActiveDataProvider

*/function search()

{

$criteria=new CDbCriteria;

$criteria->compare(site_id,$this->site_id);

$criteria->compare(user_id,$this->user_id);

$criteria->compare(site_title,$this->site_title,true);

$criteria->compare(site_url,$this->site_url,true);

$criteria->compare(site_domain,$this->site_domain,true);

$criteria->compare(site_tariff_id,$this->site_tariff_id);new