This commit is contained in:
origami11@yandex.ru 2022-11-22 12:46:15 +03:00
parent 7d35a8f3f0
commit a09fc396d8
9 changed files with 30 additions and 32 deletions

View file

@ -1,6 +1,5 @@
<?php <?php
namespace ctiso; namespace ctiso;
/** /**
* Коллекция * Коллекция

View file

@ -1,4 +1,4 @@
<?php <?php
namespace ctiso; namespace ctiso;
@ -32,4 +32,4 @@ class ComponentRequest {
function getAction() { function getAction() {
return $this->r->getAction(); return $this->r->getAction();
} }
} }

View file

@ -1,8 +1,7 @@
<?php <?php
namespace ctiso\Controller; namespace ctiso\Controller;
use ctiso\Shortcut, use Exception,
Exception,
ctiso\Path, ctiso\Path,
ctiso\Url, ctiso\Url,
ctiso\Model\Factory, ctiso\Model\Factory,

View file

@ -128,7 +128,7 @@ class Component
$tpl->set('common', Path::join($this->config->get('system', 'web'), '../', 'common')); $tpl->set('common', Path::join($this->config->get('system', 'web'), '../', 'common'));
$tpl->set('script', Path::join($this->config->get('system', 'web'), 'js')); $tpl->set('script', Path::join($this->config->get('system', 'web'), 'js'));
$tpl->set('media', Path::join($this->config->get('system', 'templates_web'), $template)); $tpl->set('media', Path::join($this->config->get('system', 'web'), 'templates', $template));
if ($default) { if ($default) {
$tpl->set('site_template', $this->config->get('site', 'web') . '/templates/' . $default); $tpl->set('site_template', $this->config->get('site', 'web') . '/templates/' . $default);
@ -244,13 +244,13 @@ class Component
} }
$name = $path; $name = $path;
$path = Path::join ($site->config->get('site', 'path'), 'components', $name, $name . '.php'); $path = Path::join ($site->config->get('site', 'components'), $name, $name . '.php');
$className = 'Component_' . $name; $className = 'Components\\'. ucfirst($name). '\\' . $name;
$component/*: Component*/ = null; $component/*: Component*/ = null;
if (file_exists($path)) { if (file_exists($path)) {
require_once ($path); // require_once ($path);
$component = new $className(); $component = new $className();
$component->viewPath = array($site->config->get('site', 'path') . '/components/' . $name . '/'); $component->viewPath = array($site->config->get('site', 'path') . '/components/' . $name . '/');
@ -258,8 +258,6 @@ class Component
$component->COMPONENTS_WEB = $site->config->get('site', 'web') . '/components/'; $component->COMPONENTS_WEB = $site->config->get('site', 'web') . '/components/';
} else { } else {
$path = Path::join ($site->config->get('system', 'components'), $name, $name . '.php');
require_once ($path);
$component = new $className(); $component = new $className();
$template = $component->getTemplateName($registry); $template = $component->getTemplateName($registry);

View file

@ -11,14 +11,14 @@ class Authorization {
$this->group = $group; $this->group = $group;
} }
function isLogged() { static function isLogged($group = 'access') {
// echo session_status(); // echo session_status();
if (session_status() == PHP_SESSION_NONE) { if (session_status() == PHP_SESSION_NONE) {
session_start(); session_start();
} }
$hash = self::getBrowserSign(); $hash = self::getBrowserSign();
// Если $hash не совпадает $_SESSION['hash'] то удаляем сессию // Если $hash не совпадает $_SESSION['hash'] то удаляем сессию
if (isset($_SESSION[$this->group]) && isset($_SESSION[self::SESSION_BROWSER_SIGN_KEYNAME])) { if (isset($_SESSION[$group]) && isset($_SESSION[self::SESSION_BROWSER_SIGN_KEYNAME])) {
if ($hash == $_SESSION[self::SESSION_BROWSER_SIGN_KEYNAME]) { if ($hash == $_SESSION[self::SESSION_BROWSER_SIGN_KEYNAME]) {
// UserAccess::getUserById($_SESSION ['access']); // Поиск по идентификатору // UserAccess::getUserById($_SESSION ['access']); // Поиск по идентификатору
return true; return true;
@ -29,12 +29,12 @@ class Authorization {
return false; return false;
} }
function enter($id) { static function enter($id, $group = 'access') {
// $db->executeQuery("UPDATE visitor SET sid = '' WHERE id_visitor = " . $result->getInt('id_user')); // $db->executeQuery("UPDATE visitor SET sid = '' WHERE id_visitor = " . $result->getInt('id_user'));
// session_register("access"); // session_register("access");
// session_register("time"); // session_register("time");
$_SESSION [$this->group] = $id; $_SESSION [$group] = $id;
$_SESSION [self::SESSION_BROWSER_SIGN_KEYNAME] = self::getBrowserSign(); $_SESSION [self::SESSION_BROWSER_SIGN_KEYNAME] = self::getBrowserSign();
$_SESSION ["time"] = time(); $_SESSION ["time"] = time();
} }

View file

@ -101,7 +101,7 @@ class Functions {
* @param mixed $a * @param mixed $a
* @param mixed $b * @param mixed $b
* *
* @return array[int]mixed * @return mixed
*/ */
static function compose($_rest) { static function compose($_rest) {
$closure = new compose(func_get_args()); $closure = new compose(func_get_args());
@ -111,7 +111,7 @@ class Functions {
/** /**
* Карирование справа * Карирование справа
* *
* @return array[int]mixed * @return mixed
*/ */
static function rcurry($_rest) { static function rcurry($_rest) {
$closure = new right(func_get_args ()); $closure = new right(func_get_args ());
@ -121,7 +121,7 @@ class Functions {
/** /**
* Карирование слева * Карирование слева
* *
* @return array[int]mixed * @return mixed
*/ */
static function lcurry($_rest) { static function lcurry($_rest) {
$closure = new left(func_get_args ()); $closure = new left(func_get_args ());
@ -133,7 +133,7 @@ class Functions {
* @param mixed $pred Условие по которому разделяется массив * @param mixed $pred Условие по которому разделяется массив
* @param array $lst * @param array $lst
* *
* @return array[int]mixed * @return mixed
*/ */
static function partition($pred, $lst) { static function partition($pred, $lst) {
$left = array (); $left = array ();
@ -329,19 +329,20 @@ class Functions {
/** /**
* Поиск элемента в массиве * Поиск элемента в массиве
* @param function $cb сравнение с элементом массива * @param mixed $cb сравнение с элементом массива
* @param array $hs массив в котором ищется значение * @param Array $hs массив в котором ищется значение
* *
* @return int|string ключ найденого элемента в массиве * @return int|string ключ найденого элемента в массиве
*/ */
static function array_usearch($cb, array $hs, $strict = false) { static function array_usearch($cb, array $hs, $strict = false) {
foreach($hs as $key => $value) if (call_user_func_array($cb, array($value, $key, $strict))) return $key; foreach($hs as $key => $value) if (call_user_func_array($cb, array($value, $key, $strict))) return $key;
return null;
} }
/** /**
* Выбирает все сроки из таблицы с уникальными значениями ключа * Выбирает все сроки из таблицы с уникальными значениями ключа
* @param $name Имя ключа * @param string $name Имя ключа
* @param $table Двухмерный массив * @param Array $table Двухмерный массив
* @example * @example
* key_unique_values ('name', array (array ('name' => 1), array ('name' => 2), array ('name' => 1))) * key_unique_values ('name', array (array ('name' => 1), array ('name' => 2), array ('name' => 1)))
=> array (1, 2) => array (1, 2)
@ -359,9 +360,9 @@ class Functions {
/** /**
* Сортировка двумерного массива по заданному ключу * Сортировка двумерного массива по заданному ключу
* @param $array Массив * @param Array $array Массив
* @param $key Имя ключа по значению которого будет идти сравнение * @param string $key Имя ключа по значению которого будет идти сравнение
* @return Отсортированный массив * @return Array Отсортированный массив
*/ */
static function sortOn($array, $key, $fn = 'Functions::__cmp') { static function sortOn($array, $key, $fn = 'Functions::__cmp') {
usort ($array, Functions::rcurry($fn, $key)); usort ($array, Functions::rcurry($fn, $key));

View file

@ -30,6 +30,11 @@ class User implements UserInterface
return $this->name; return $this->name;
} }
function isLogged() {
return \ctiso\Filter\Authorization::isLogged();
}
public function getUserByQuery(Statement $stmt) public function getUserByQuery(Statement $stmt)
{ {
$result = $stmt->executeQuery(); $result = $stmt->executeQuery();

View file

@ -1,11 +1,12 @@
<?php <?php
namespace ctiso\Role; namespace ctiso\Role;
use ctiso\Database\Statement;
interface UserInterface { interface UserInterface {
function getUserByQuery(Statement $stmt); function getUserByQuery(Statement $stmt);
function getUserByLogin($login); function getUserByLogin($login);
function getUserById($id); function getUserById($id);
function getName(); function getName();
function setSID(); function setSID($random, $result);
} }

View file

@ -47,11 +47,6 @@ class View
$this->_values["suggestions"] = $this->suggestions; $this->_values["suggestions"] = $this->suggestions;
} }
public function jGrowl($message, $args)
{
$this->addScriptRaw('$.jGrowl("' . $message . '", ' . json_encode($args) . ");\n", true);
}
public function setGlobal($name, $args) public function setGlobal($name, $args)
{ {
$this->addScriptRaw("var " . $name . " = " . json_encode($args) . ";\n", false); $this->addScriptRaw("var " . $name . " = " . json_encode($args) . ";\n", false);