Разработка системы управления Интернет-приложениями
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
Д., Джекобсон А. 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