コード例 #1
0
<?php

require_once 's/s.php';
$tpl = new STemplate();
$tpl->vars['show_login_box'] = _SESSION('show_login_box', true);
$tpl->vars['login_error'] = '';
$tpl->vars['user_name'] = _SESSION('user_name');
if (inPOST('try_it')) {
    if (_POST('login') != 'test' || _POST('password') != '12345') {
        $tpl->vars['login_error'] = 'Invalid credentials. Try test/12345';
    } else {
        $_SESSION['user_name'] = 'Test test';
        $_SESSION['show_login_box'] = false;
        header('Location: ?' . (inGET('gimmedebug') ? 'gimmedebug=1' : ''));
        return;
    }
}
if (inPOST('try_again')) {
    $_SESSION['show_login_box'] = true;
    header('Location: ?' . (inGET('gimmedebug') ? 'gimmedebug=1' : ''));
    return;
}
echo $tpl->process(BASE . 'index.tpl');
if (DEBUG) {
    echo_debug();
}
コード例 #2
0
 public function def_save_node(&$data, $node, $update_type = 0)
 {
     $prev_title = $node->title;
     $new_node_name = $node->name;
     if ($update_type != self::UPDATE_TYPE_NONE) {
         $node->title = trim(_POST('_title'));
         if ($node->title == '') {
             $data['errors']['_title'] = Loc::get('forms/validators/required');
         }
     }
     if ($update_type == self::UPDATE_TYPE_ALL) {
         $new_node_name = strtolower(trim(_POST('_name')));
         if ($new_node_name == '') {
             $new_node_name = Cms::title_to_name($node->title);
         }
         if ($node->title != '' && $new_node_name == '') {
             $data['errors']['_name'] = Loc::get('forms/validators/required');
         }
         if ($new_node_name != '') {
             if (!Cms::node_name_is_valid($new_node_name)) {
                 $data['errors']['_name'] = Loc::get('cms/admin/node/invalid_name');
             } elseif (!$node->parent_node) {
                 $data['errors']['_name'] = Loc::get('cms/admin/node/not_found_dunno', array($path_prepend));
             } else {
                 foreach ($node->parent_node->childs as $nd) {
                     if ($nd->name == $new_node_name && $nd->id != $node->id) {
                         $data['errors']['_name'] = Loc::get('cms/admin/node/exists');
                         break;
                     }
                 }
             }
         }
     }
     foreach ($node->accessors as $name => $opts) {
         if (isset($node->editable_fields[$name]['type']) && $node->editable_fields[$name]['type'] == 'keyvalue') {
             $do_trim = isset($node->editable_fields[$name]['trim']) && $node->editable_fields[$name]['trim'];
             $list = $node->{$name} == '' ? array() : SJson::deserialize($node->{$name});
             $new_list = array();
             for ($i = 0; $i < count($list); $i++) {
                 if (!inPOST("{$name}_rm_{$i}")) {
                     $key = trim(_POST("{$name}_k_{$i}"));
                     if ($key != '') {
                         $value = _POST("{$name}_v_{$i}");
                         if ($do_trim) {
                             $value = trim($value);
                         }
                         $new_list[$key] = $value;
                     }
                 }
             }
             $key = trim(_POST("{$name}_nk"));
             if ($key != '') {
                 $value = _POST("{$name}_nv");
                 if ($do_trim) {
                     $value = trim($value);
                 }
                 $new_list[$key] = $value;
             }
             $node->{$name} = SJson::serialize($new_list);
         } elseif (inPOST($name)) {
             $node->{$name} = _POST($name);
         }
     }
     if (!isset($data['errors']) || !count($data['errors'])) {
         Node::lock();
         $was_new_node = $node->is_new();
         if (!$node->position) {
             $node->position = Node::get_max_position($node->path) + 1;
         }
         if ($update_type == self::UPDATE_TYPE_ALL && $new_node_name != $node->name) {
             $node->rename($new_node_name);
             $name_updated = true;
         } else {
             $node->save();
             $name_updated = false;
         }
         Node::unlock();
         $data['info'] = Loc::get('cms/admin/saved');
         if ($node->title != $prev_title || $name_updated) {
             if ($was_new_node) {
                 $_SESSION['s.cms.admin.just-saved'] = true;
                 header('Location: ' . ROOT . "admin/module.php?node_id={$node->id}");
                 exit;
             }
             $data['extra']['update_tree'] = true;
         }
         $data['extra']['select_node'] = $node->id;
     }
 }