Example #1
0
 public function get(&$layer, $name = '', $def = null)
 {
     if (@is_null($layer['autosavename'])) {
         return $def;
     }
     $val = Session::get($layer['autosavename'] . '.' . $name);
     if (@is_null($val)) {
         return $def;
     }
     return $val;
 }
Example #2
0
namespace infrajs\infra;

use infrajs\access\Access;
use infrajs\event\Event;
use infrajs\ans\Ans;
use infrajs\path\Path;
use infrajs\session\Session;
if (!is_file('vendor/autoload.php')) {
    chdir(explode('vendor/', __DIR__)[0]);
    require_once 'vendor/autoload.php';
}
Access::admin(true);
$ans = array();
if (isset($_GET['get'])) {
    $name = Ans::REQ('name');
    $ans['id'] = Session::getId();
    $ans['data'] = Session::get($name);
} else {
    if (isset($_GET['clear'])) {
        Session::clear();
    } else {
        if (isset($_GET['set'])) {
            $ans = array();
            $name = Path::toutf($_REQUEST['name']);
            $val = Path::toutf($_REQUEST['val']);
            Session::set($name, $val);
        }
    }
}
return Ans::ret($ans);
Example #3
0
                if ($right) {
                    $n['value'] = Sequence::set($n['value'], $right, $item['value']);
                    //Новость осталась но она включает устанавливаемые данные
                }
                return $r;
            });
            if ($r) {
                $del = new Fix('del');
                return $del;
            }
            $r = null;
            return $r;
        });
    }
}
if ($list) {
    if (!$session_id) {
        $pass = md5(print_r($list, true) . time() . rand());
        $pass = substr($pass, 0, 8);
        $sql = 'insert into `ses_sessions`(`password`) VALUES(?)';
        $stmt = $db->prepare($sql);
        $stmt->execute(array($pass));
        $session_id = $db->lastInsertId();
        View::setCookie('infra_session_id', $session_id);
        View::setCookie('infra_session_pass', md5($pass));
    }
    Session::writeNews($list, $session_id);
    //$ans['news']=array_merge($news,$list);
}
return Ans::ret($ans);
/**/
Example #4
0
<?php

use infrajs\ans\Ans;
use infrajs\session\Session;
use infrajs\router\Router;
use infrajs\once\Once;
use infrajs\access\Access;
if (!is_file('vendor/autoload.php')) {
    chdir('../../../');
    require_once 'vendor/autoload.php';
    Router::init();
    //Нужен чтобы работал конфиг .infra.json
}
Access::test(true);
Session::get();
$ans = array();
return Ans::ret($ans);
Example #5
0
<?php

namespace infrajs\infra;

use infrajs\access\Access;
use infrajs\event\Event;
use infrajs\ans\Ans;
use infrajs\session\Session;
if (!is_file('vendor/autoload.php')) {
    chdir('../../../../');
    require_once 'vendor/autoload.php';
}
Access::test(true);
$data = array();
if (!empty($_GET['id'])) {
    $id = (int) $_GET['id'];
} else {
    $id = Session::getId();
}
$db = Db::pdo();
$stmt = Db::stmt('select count(*) from ses_sessions');
$stmt->execute();
$data['count'] = $stmt->fetchColumn();
$data['id'] = $id;
$data['data'] = infra_session_user_get($id);
$data['data'] = print_r($data['data'], true);
$data['user'] = Session::getUser($id);
$data['user'] = print_r($data['user'], true);
echo Template::parse('-session/admin.tpl', $data);
Example #6
0
 public static function writeNews($list, $session_id)
 {
     if (!$list) {
         return;
     }
     $db =& Db::pdo();
     global $infra_session_lasttime;
     $isphp = !!$infra_session_lasttime;
     $sql = 'insert into `ses_records`(`session_id`, `name`, `value`, `time`) VALUES(?,?,?,FROM_UNIXTIME(?))';
     $stmt = $db->prepare($sql);
     $sql = 'delete from `ses_records` where `session_id`=? and `name`=? and `time`<=FROM_UNIXTIME(?)';
     $delstmt = $db->prepare($sql);
     Each::exec($list, function &($rec) use($isphp, &$delstmt, &$stmt, $session_id) {
         $r = null;
         if (!$isphp && $rec['name'][0] == 'safe') {
             return $r;
         }
         $name = Sequence::short($rec['name']);
         $delstmt->execute(array($session_id, $name, $rec['time']));
         $stmt->execute(array($session_id, $name, Load::json_encode($rec['value']), $rec['time']));
         if (!$isphp && !$name) {
             //Сохранится safe
             Session::clear();
         }
         return $r;
     });
 }
Example #7
0
<?php

namespace infrajs\crumb;

use infrajs\controller\Controller;
use infrajs\each\Each;
use infrajs\controller\Run;
use infrajs\controller\Layer;
use infrajs\path\Path;
use infrajs\event\Event;
use infrajs\sequence\Sequence;
use infrajs\template\Template;
use infrajs\session\Session;
use infrajs\controller\External;
Path::reqif('-controller/infra.php');
$cl = function ($name, $def = null) {
    return Session::get($name, $def);
};
Sequence::set(Template::$scope, Sequence::right('infra.session.get'), $cl);
$cl = function () {
    return Session::getLink();
};
Sequence::set(Template::$scope, Sequence::right('infra.session.getLink'), $cl);
$cl = function () {
    return Session::getTime();
};
Sequence::set(Template::$scope, Sequence::right('infra.session.getTime'), $cl);
$cl = function () {
    return Session::getId();
};
Sequence::set(Template::$scope, Sequence::right('infra.session.getId'), $cl);