public function main() { $methods = get_class_methods($this); unset($methods[array_search("action", $methods)]); unset($methods[array_search("DFModule", $methods)]); $tpl = new DFTemplater(); $tpl->assign("tests", $methods); return $tpl->fetch("test"); }
public function run() { session_start(); // Инициализация $this->init(); $GLOBALS["dfcore"] = $this; // Подключение gears if ($gearsDir = opendir("app/modules/gears")) { while (false != ($gear = readdir($gearsDir))) { if (preg_match("/^[^_].+\\.php\$/", $gear) > 0 && !is_dir("app/modules/gears" . $gear)) { include_once "app/modules/gears/" . $gear; } } closedir($gearsDir); } // Конфигурирование $this->configure(); $this->pageTitle = $this->config->defaultTitle; // Инициализация адаптера БД if (!$this->dbInit()) { $this->doError("database connection failed"); return; } // Подключение системы авторизации $this->auth = new DFAuth($this); $this->parse(); // подключения модуля и генерация контента if ($this->isAdmin) { if (isset($this->request->parameters["alias"])) { $alias = $this->request->parameters["alias"]; } else { $alias = "admin-main"; $this->request->parameters["alias"] = "admin-main"; } $adminMenu = array(); if ($modDir = opendir("app/modules")) { while (false != ($mod = readdir($modDir))) { if (preg_match("/^.+\\.admin\\.php\$/", $mod) > 0 && !is_dir("app/modules/" . $mod)) { require_once "app/modules/" . $mod; $mod = preg_replace("/\\.admin\\.php\$/", "", $mod); $modAlias = array_search($mod, $this->aliases); $instance = new $mod(); $modMenu = $instance->menu; $modTitle = $instance->title; if ($modTitle != null) { $adminMenu[] = array("title" => $modTitle, "alias" => $modAlias, "menu" => $modMenu); } } } } $this->setTemplateVar("adminMenu", $adminMenu); $this->setMainTemplate("admin"); $this->content = $this->adminAction($this->aliases[$alias], $this->request->parameters["action"]); } else { if (isset($this->request->parameters["alias"])) { $alias = $this->request->parameters["alias"]; } else { $alias = $this->config->defaultObject; $this->request->parameters["alias"] = $this->config->defaultObject; } if (empty($this->aliases[$alias])) { $this->doError(" undefined alias: {$alias}"); } $this->content = $this->moduleAction($this->aliases[$alias], $this->request->parameters["action"]); } if (!$this->isAjax) { $tpl = new DFTemplater(); $tpl->assign("pageTitle", $this->pageTitle); $tpl->assign("userName", $_SESSION["userName"]); $tpl->assign("content", $this->content); foreach ($this->tplVars as $var => $value) { $tpl->assign($var, $value); } return $tpl->fetch($this->template); } else { return $this->content; } }
public function updRole() { $id = $this->core->request->parameters["id"]; $role_alias = $this->core->request->parameters["role_alias"]; $role_name = $this->core->request->parameters["role_name"]; if (!empty($id)) { if (!empty($role_alias)) { $id++; $id--; $this->core->database->exec("\n\t \tupdate roles set\n\t \t\talias='{$role_alias}'\n\t \t\t,fullName='{$role_name}'\n\t where id={$id}\n\t \t"); header("Location: /admin/users/listRoles"); } else { $data = $this->core->database->fetchAll("select * from roles where id={$id}"); $tpl = new DFTemplater(); $tpl->assign("data", $data); $tpl->setPrefix("users"); return $tpl->fetch("roleupd"); } } else { header("Location: /admin/users/listRoles"); } }
public function saveExist() { $message = null; $id = $this->core->request->parameters["id"]; $talias = $this->core->request->parameters["talias"]; $title = $this->core->request->parameters["title"]; $text = $this->core->request->parameters["text"]; $author = $_SESSION["userId"]; if (empty($talias)) { $message = "Необходимо указать имя текста в системе"; } if (empty($title)) { $message = "Необходимо указать заголовок текста"; } if (empty($text)) { $message = "Необходимо ввести текст"; } if (!empty($message)) { $tpl = new DFTemplater(); $tpl->setPrefix("text"); $tpl->assign("action", "saveExist"); $tpl->assign("talias", $talias); $tpl->assign("title", $title); $tpl->assign("text", $text); return $tpl->fetch("edit"); } else { $this->core->database->exec("update text set alias='{$talias}', title='{$title}', text='{$text}', author={$author}, dt=NOW() where id={$id}"); header("Location: /admin/text/listAll"); } }
public function profile() { if (!$this->core->auth->check()) { return $this->logon(); } $message = ""; if (empty($this->core->request->parameters["reg"])) { $message = "Заполните поля профиля"; } else { if (empty($this->core->request->parameters["password"])) { $message = "Введите желаемый пароль"; } else { if ($this->core->request->parameters["password2"] != $this->core->request->parameters["password"]) { $message = "Пароль и подтверждение не совпадают!"; } else { if (empty($this->core->request->parameters["fullName"])) { $message = "Введите Ваш ник"; } else { if (empty($this->core->request->parameters["email"])) { $message = "Введите Ваш e-mail"; } else { if (!check_email_address($this->core->request->parameters["email"])) { $message = "Введенный email неверен. Проверьте или введите другой"; } else { if (!preg_match("/^[a-zA-Z0-9]+[a-zA-Z0-9\\.\\-=]\$/", $this->core->request->parameters["fullName"])) { $message = "Введенный ник неверен. Проверьте или введите другой"; } } } } } } } if (empty($message)) { $id = $_SESSION["userId"]; $login = $_SESSION["userName"]; $password = md5($this->core->request->parameters["password"]); $fullName = $this->core->database->escape($this->core->request->parameters["fullName"]); $email = $this->core->database->escape($this->core->request->parameters["email"]); $this->core->database->exec("update users set `password` = '{$password}', fullName = '{$fullName}', email = '{$email}' where id = {$id}"); return "<p class='b-centered'>Ваша учетная запись успешно изменена.</p>"; } else { $pr = $this->core->database->fetchRow("select * from users where id = {$_SESSION["userId"]}"); $tpl = new DFTemplater(); $tpl->assign("message", $message); $tpl->assign("login", $_SESSION["userName"]); $tpl->assign("id", $_SESSION["userId"]); $tpl->assign("fullName", $pr["fullName"]); $tpl->assign("email", $pr["email"]); $tpl->setPrefix("auth"); return $tpl->fetch("profile"); } }
public function main() { $tpl = new DFTemplater(); return $tpl->fetch($this->core->request->parameters["alias"]); }