本文整理汇总了PHP中s类的典型用法代码示例。如果您正苦于以下问题:PHP s类的具体用法?PHP s怎么用?PHP s使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了s类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: edit
function edit()
{
events::observe('save', 'templates', 'apps', '_save');
events::observer();
$tmpl_file = events::get('tmpl_file');
$app = events::get('app');
if (events::detect('restore')) {
self::restoreVersion($app, $tmpl_file, events::get('restore'));
}
admin::components('tabs', 'validator');
f::set('app', $app);
f::set('tmpl_file', $tmpl_file);
s::set('app', $app);
s::set('tmpl_file', $tmpl_file);
$file = SYS_ROOT . 'tmpls/' . ADMIN_SITE . '/' . $app . '/' . $tmpl_file;
$code = files::get($file);
f::set('tmpl_code', $code);
self::getApps();
/*
Load versions
*/
db::table('templates_versions');
db::where('app', $app);
db::where('tmpl_file', $tmpl_file);
db::order('version_date', 'DESC');
$res = db::select();
while ($row = mysql_fetch_assoc($res)) {
$row['version_date'] = dt::date2print('%H:%i %d.%m.%Y', $row['version_date']);
$row['version_code'] = '{non}' . htmlspecialchars($row['version_code']) . '{/non}';
s::roll('versions', $row);
}
}
示例2: __construct
/**
* Make sure the session is started within the constructor
*/
public function __construct()
{
s::start();
if (!isset($_SESSION['_cache'])) {
$_SESSION['_cache'] = array();
}
}
示例3: set
/**
* Set flash data
*
* @param string $key
* @param mixed $value
* @return void
*/
public static function set($key, $value)
{
if (!isset($data[$key])) {
static::$data[$key] = $value;
}
Session::set(self::sessionKey(), static::$data);
}
示例4: show
function show($name)
{
foreach (self::$errors as $k => $v) {
$show .= '<li>' . $v . '</li>';
}
s::set($name, '<ul>' . $show . '</ul>');
}
示例5: login
public function login($welcome = null)
{
if ($user = panel()->site()->user()) {
go(panel()->urls()->index());
}
$message = l('login.error');
$error = false;
$form = panel()->form('login');
$form->cancel = false;
$form->save = l('login.button');
$form->centered = true;
if (r::is('post') and get('_csfr') and csfr(get('_csfr'))) {
$data = $form->serialize();
$user = site()->user(str::lower($data['username']));
if (!$user) {
$error = true;
} else {
if (!$user->hasPanelAccess()) {
$error = true;
} else {
if (!$user->login(get('password'))) {
$error = true;
} else {
go(panel()->urls()->index());
}
}
}
}
if ($username = s::get('username')) {
$form->fields->username->value = html($username, false);
}
return layout('login', array('meta' => new Snippet('meta'), 'welcome' => $welcome ? l('login.welcome') : '', 'form' => $form, 'error' => $error ? $message : false));
}
示例6: flush
/**
* Remove old values from the Session’s flash data.
*/
public static function flush()
{
// Make sure the session is started
s::start();
// Retrieve the flash data
$registry = s::get(self::$namespace);
// Clean up registry
if (!empty($registry)) {
foreach ($registry as $key => $expiry) {
$expiry++;
// Remove all old values from the session
if ($expiry > 1) {
s::remove($key);
unset($registry[$key]);
} else {
$registry[$key] = $expiry;
}
}
// Write registry back to session
if (!empty($registry)) {
s::set(self::$namespace, $registry);
} else {
s::remove(self::$namespace);
}
}
}
示例7: get
function get($app, $tpl, $data, $section = false, $sys = false)
{
if ($tpl) {
$tmpl = false;
if ($sys) {
$file = APPS . $app . '/' . self::$module . '/' . RULE . '/' . $tpl;
} else {
$file = SYS_ROOT . 'tmpls/' . parent::$site . '/' . $app . '/' . $tpl;
}
$file_id = md5($file);
if (isset(self::$file_data[$file_id])) {
return self::$file_data[$file_id];
}
if (file_exists($file)) {
ob_start();
include $file;
$data = ob_get_contents();
ob_end_clean();
//$data = file_get_contents($file);
if ($section) {
s::section($section);
}
self::$file_data[$file_id] = $data;
}
}
return $data;
}
示例8: index
public function index()
{
if (site()->users()->count() > 0) {
go(panel()->urls()->login());
}
if ($problems = installation::check()) {
$content = view('installation/check', array('problems' => $problems));
} else {
$form = panel()->form('installation', array('language' => kirby()->option('panel.language', 'en')));
$form->cancel = false;
$form->save = l('installation.signup.button');
$form->centered = true;
foreach (panel()->languages() as $lang) {
$form->fields()->get('language')->options[$lang->code()] = $lang->title();
}
$form->on('submit', function ($form) {
try {
// fetch all the form data
$data = $form->serialize();
// make sure that the first user is an admin
$data['role'] = 'admin';
// try to create the new user
$user = panel()->site()->users()->create($data);
// store the new username for the login screen
s::set('username', $user->username());
// redirect to the login
go(panel()->urls()->login() . '/welcome');
} catch (Exception $e) {
$form->alert($e->getMessage());
}
});
$content = view('installation/signup', array('form' => $form));
}
return layout('installation', array('meta' => new Snippet('meta'), 'content' => $content));
}
示例9: get
function get($res, $name = 'clouds')
{
$nums_clouds = array();
if (db::rows() > 0) {
while ($row = mysql_fetch_array($res)) {
$nums_clouds[$row['tag_name']] = $row['num'];
}
ksort($nums_clouds);
$max_size = 200;
// max font size in %
$min_size = 100;
// min font size in %
$max_qty = max(array_values($nums_clouds));
$min_qty = min(array_values($nums_clouds));
$spread = $max_qty - $min_qty;
if (0 == $spread) {
$spread = 1;
}
$step = ($max_size - $min_size) / $spread;
foreach ($nums_clouds as $k => $v) {
$size = $min_size + ($v - $min_qty) * $step;
s::roll($name, array('name' => $k, 'size' => $size, 'value' => $v));
}
}
}
示例10: __construct
function __construct()
{
s::start();
c::set('home.keepurl', true);
// auto-detect the url if it is not set
if (!c::get('url')) {
c::set('url', c::get('scheme') . server::get('http_host'));
}
// setup the thumb plugin
c::set('thumb.cache.root', c::get('root') . '/thumbs');
c::set('thumb.cache.url', c::get('url') . '/thumbs');
c::set('url', c::get('url') . '/' . c::get('panel.folder'));
// remove the panel folder name from the uri
c::set('subfolder', ltrim(c::get('subfolder') . '/' . c::get('panel.folder'), '/'));
// attach the uri after caching
$this->uri = new paneluri();
if (c::get('lang.support')) {
$path = $this->uri->path->toArray();
$first = array_shift($path);
if (!in_array($first, c::get('lang.available', array()))) {
$first = c::get('lang.default');
}
// set the current language
c::set('lang.current', $first);
$this->uri->path = new uriPath($path);
}
// get the first set of pages
$this->rootPages();
// get the additional site info from content/site.txt
$this->siteInfo();
}
示例11: paginated
public function paginated($mode = 'sidebar')
{
if ($limit = $this->page->blueprint()->pages()->limit()) {
$hash = sha1($this->page->id());
switch ($mode) {
case 'sidebar':
$id = 'pages.' . $hash;
$var = 'page';
break;
case 'subpages/visible':
$id = 'subpages.visible.' . $hash;
$var = 'visible';
break;
case 'subpages/invisible':
$id = 'subpages.invisible.' . $hash;
$var = 'invisible';
break;
}
$children = $this->paginate($limit, array('page' => get($var, s::get($id)), 'omitFirstPage' => false, 'variable' => $var, 'method' => 'query'));
// store the last page
s::set($id, $children->pagination()->page());
return $children;
} else {
return $this;
}
}
示例12: message
public function message()
{
if ($message = s::get('message') and is_array($message)) {
$text = a::get($message, 'text');
$type = a::get($message, 'type', 'notification');
$element = new Brick('div');
$element->addClass('message');
if ($type == 'error') {
$element->addClass('message-is-alert');
} else {
$element->addClass('message-is-notice');
}
$element->append(function () use($text) {
$content = new Brick('span');
$content->addClass('message-content');
$content->text($text);
return $content;
});
$element->append(function () {
$toggle = new Brick('a');
$toggle->attr('href', url::current());
$toggle->addClass('message-toggle');
$toggle->html('<i>×</i>');
return $toggle;
});
s::remove('message');
return $element;
}
}
示例13: signup
protected function signup()
{
$self = $this;
$form = $this->form('installation/signup', array(), function ($form) use($self) {
$form->validate();
if (!$form->isValid()) {
return false;
}
try {
// fetch all the form data
$data = $form->serialize();
// make sure that the first user is an admin
$data['role'] = 'admin';
// try to create the new user
$user = site()->users()->create($data);
// store the new username for the login screen
s::set('username', $user->username());
// try to login the user automatically
if ($user->hasPanelAccess()) {
$user->login($data['password']);
}
// redirect to the login
$self->redirect('login');
} catch (Exception $e) {
$form->alert($e->getMessage());
}
});
return $this->modal('index', compact('form'));
}
示例14: logout
public function logout()
{
s::restart();
if ($user = panel()->site()->user()) {
$user->logout();
}
go(panel()->urls()->login());
}
示例15: tearDown
protected function tearDown()
{
s::restart();
// clean all triggers
kirby::$triggered = array();
kirby::$hooks = array();
$this->removeContent();
$this->removeAccounts();
}