Example #1
0
 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");
 }
Example #2
0
 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;
     }
 }
Example #3
0
 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");
     }
 }
Example #4
0
 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");
     }
 }
Example #5
0
 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"]);
 }