Разработка системы учета успеваемости студентов на основе рейтинговой системы - подсистема "Кафедра"

Курсовой проект - Компьютеры, программирование

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

e] = Невозможно удалить. Сначала удалите

args[0])) return;

$DB = $registry[DB];

$DB->query(DELETE FROM `facults` WHERE id=? LIMIT 1, $id);::redirect(site_url.facults);

}edit ()

{

$registry = $this->registry;(!$registry[access]->get_privilege(edit_facults_priv)) $registry[access]->restrict();(!isset($this->args[0])) return;

$DB = $registry[DB];

$id = (int)$this->args[0];($id<=0) return;

$table = $DB->select(SELECT * FROM facults WHERE id=? LIMIT 1, $id);

$name = $table[0][name];(empty($_POST[name]))

{

$smarty = $registry[smarty];

//$smarty->assign(name, $name);

$edit_form = Название: ;

//$smarty->assign(fields, array(Название=>name));

//$smarty->assign(values, array(name=>$name));

$smarty->assign(edit_form, $edit_form);

display(popup_edit.tpl);();">$smarty->display(popup_edit.tpl);();

}

{

$name = $_POST[name];

$DB->query(UPDATE `facults` SET name=? WHERE id=? AND NOT name=?,$name, $id, $name);lib::reload_caller_js();();

}

//$registry[message] = Редактируем .$id;

}add ()

{(!isset($_POST[name])) return;

$name = $_POST[name];

$registry = $this->registry;(!$registry[access]->get_privilege(edit_facults_priv)) $registry[access]->restrict();

$DB = $registry[DB];

$res = $DB->query(INSERT INTO `facults` (name) VALUES (?), $name);(!$res)

{

$registry[message] = Ошибка добавления;;

}::redirect(site_url.facults);

}

}

?>

Класс Router:

<?phpRouter {$registry;$path;$args = array();__construct() {

$this->registry = Registry::getInstance();

}setPath($path) {

$path = trim($path, /\\);

$path .= DIRSEP;

if (is_dir($path) == false) {

throw new Exception (Invalid controller path: ` . $path . `);

}

$this->path = $path;

}

/**

* Получает данные о контроллере

*

* @param string $file Имя файла контроллера

* @param string $controller Имя контроллера, по умолчанию index

* @param string $action Имя действия, по умолчанию index

* @param array $args Массив аргументов, переданных через URL

* @return void

*/function getController(&$file, &$controller, &$action, &$args) {

$route = (empty($_GET[route])) ? : $_GET[route];

if (empty($route)) { $route = index; }

// Хак! Если пользователь не вошел кидаем на вход

if (!@$_SESSION[auth]) $route = user/login;

// Получаем раздельные части

$route = trim($route, /\\);

$parts = explode(/, $route);

// Находим правильный контроллер

$cmd_path = $this->path;

foreach ($parts as $part) {

$fullpath = $cmd_path . $part;

// Есть ли папка с таким путём?

if (is_dir($fullpath)) {

$cmd_path .= $part . DIRSEP;

array_shift($parts);

continue;

}

// Находим файл

if (is_file($fullpath . .php)) {

$controller = $part;

array_shift($parts);

break;

}

}

if (empty($controller)) { $controller = index; };

// Получаем действие

$action = array_shift($parts);

if (empty($action)) { $action = index; }

$file = $cmd_path . $controller . .php;

$args = $parts;

}delegate() {

// Анализируем путь

/**

* @var string $file

*/

$file = $controller = $action = $args = ;

$this->getController($file, $controller, $action, $args);

// Файл доступен?

if (is_readable($file) == false) {

die (404 Not Found);

}

// Подключаем файл

include ($file);

// Создаём экземпляр контроллера

$class = Controller_ . $controller;

$controller = new $class($this->registry);

// Действие доступно?

if (is_callable(array($controller, $action)) == false) {

die (404 Not Found);

}

// Выполняем действие

$controller->args = $args;

$controller->$action();

}

}

?>

Класс Registry:

<?phpRegistry implements ArrayAccess, Iterator

{$vars = array();

/**

* @var Registry

*/static $_instance;function __construct(){

}

/**

* Возвращает экземпляр класса

*

* @return Registry

*/

public static function getInstance()

{

if (!self::$_instance) {

self::$_instance = new self;

}

return self::$_instance;

}set($key, $var) {

/*if (isset($this->vars[$key]) == true) {new Exception(Unable to set var ` . $key . `. Already set.);

}*/

$this->vars[$key] = $var;true;

}get($key) {(isset($this->vars[$key]) == false) {null;

}$this->vars[$key];

}remove($key) {($this->vars[$key]);

}offsetExists($offset) {isset($this->vars[$offset]);

}offsetGet($offset) {$this->get($offset);

}offsetSet($offset, $value) {

$this->set($offset, $value);

}offsetUnset($offset) {($this->vars[$offset]);

}function rewind() {($this->vars);

}function current() {

$var = current($this->vars);$var;

}function key() {

$var = key($this->vars);$var;

}function next() {

$var = next($this->vars);$var;

}function valid() {

$var = $this->current() !== false;$var;

}

}

?>

Шаблон Index.tpl:

">

{literal}toggle()

{= document.getElementById("help_content");= document.getElementById("sign");(sp.style.display=="none")

{.style.display="block";.innerHTML = "-";

}

{.style.display="none";.innerHTML = "+";

}

}

{/literal}

{if $username}

Пользователь: {$username}

{/if}

{$menu}

{if $help}

{/if}

{if $message}{/if}

{if $tpl}{include file=$tpl}{/if}&nbsp;

Шаблон list.tpl:

popup(url)

{literal}

{=window.open("", "popup","toolbar=0,width=300,height=250,left=160,top=300,resizable=false,fullscreen=0,toolbar=0,status=0,locatio