Dotclear

source: admin/blog.php @ 3725:b47f38c701ee

Revision 3725:b47f38c701ee, 4.0 KB checked in by franck <carnet.franck.paul@…>, 8 years ago (diff)

Use specialized input fields (color, email, url, number, …) where is relevant

Line 
1<?php
2# -- BEGIN LICENSE BLOCK ---------------------------------------
3#
4# This file is part of Dotclear 2.
5#
6# Copyright (c) 2003-2013 Olivier Meunier & Association Dotclear
7# Licensed under the GPL version 2.0 license.
8# See LICENSE file or
9# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
10#
11# -- END LICENSE BLOCK -----------------------------------------
12
13require dirname(__FILE__) . '/../inc/admin/prepend.php';
14
15dcPage::checkSuper();
16
17$blog_id   = '';
18$blog_url  = '';
19$blog_name = '';
20$blog_desc = '';
21
22# Create a blog
23if (!isset($_POST['id']) && (isset($_POST['create']))) {
24    $cur       = $core->con->openCursor($core->prefix . 'blog');
25    $blog_id   = $cur->blog_id   = $_POST['blog_id'];
26    $blog_url  = $cur->blog_url  = $_POST['blog_url'];
27    $blog_name = $cur->blog_name = $_POST['blog_name'];
28    $blog_desc = $cur->blog_desc = $_POST['blog_desc'];
29
30    try
31    {
32        # --BEHAVIOR-- adminBeforeBlogCreate
33        $core->callBehavior('adminBeforeBlogCreate', $cur, $blog_id);
34
35        $core->addBlog($cur);
36
37        # Default settings and override some
38        $core->blogDefaults($cur->blog_id);
39        $blog_settings = new dcSettings($core, $cur->blog_id);
40        $blog_settings->addNamespace('system');
41        $blog_settings->system->put('lang', $core->auth->getInfo('user_lang'));
42        $blog_settings->system->put('blog_timezone', $core->auth->getInfo('user_tz'));
43
44        if (substr($blog_url, -1) == '?') {
45            $blog_settings->system->put('url_scan', 'query_string');
46        } else {
47            $blog_settings->system->put('url_scan', 'path_info');
48        }
49
50        # --BEHAVIOR-- adminAfterBlogCreate
51        $core->callBehavior('adminAfterBlogCreate', $cur, $blog_id, $blog_settings);
52        dcPage::addSuccessNotice(sprintf(__('Blog "%s" successfully created'), html::escapeHTML($cur->blog_name)));
53        $core->adminurl->redirect("admin.blog", array('id' => $cur->blog_id));
54    } catch (Exception $e) {
55        $core->error->add($e->getMessage());
56    }
57}
58
59if (!empty($_REQUEST['id'])) {
60    $edit_blog_mode = true;
61    include dirname(__FILE__) . '/blog_pref.php';
62} else {
63    dcPage::open(__('New blog'), dcPage::jsConfirmClose('blog-form'),
64        dcPage::breadcrumb(
65            array(
66                __('System')   => '',
67                __('Blogs')    => $core->adminurl->get("admin.blogs"),
68                __('New blog') => ''
69            ))
70    );
71
72    echo
73    '<form action="' . $core->adminurl->get("admin.blog") . '" method="post" id="blog-form">' .
74
75    '<div>' . $core->formNonce() . '</div>' .
76    '<p><label class="required" for="blog_id"><abbr title="' . __('Required field') . '">*</abbr> ' . __('Blog ID:') . '</label> ' .
77    form::field('blog_id', 30, 32,
78        array(
79            'default'    => html::escapeHTML($blog_id),
80            'extra_html' => 'required placeholder="' . __('Blog ID') . '"'
81        )
82    ) . '</p>' .
83    '<p class="form-note">' . __('At least 2 characters using letters, numbers or symbols.') . '</p> ';
84
85    echo
86    '<p><label class="required" for="blog_name"><abbr title="' . __('Required field') . '">*</abbr> ' . __('Blog name:') . '</label> ' .
87    form::field('blog_name', 30, 255,
88        array(
89            'default'    => html::escapeHTML($blog_name),
90            'extra_html' => 'required placeholder="' . __('Blog name') . '"'
91        )
92    ) . '</p>' .
93
94    '<p><label class="required" for="blog_url"><abbr title="' . __('Required field') . '">*</abbr> ' . __('Blog URL:') . '</label> ' .
95    form::url('blog_url',
96        array(
97            'size'       => 30,
98            'default'    => html::escapeHTML($blog_url),
99            'extra_html' => 'required placeholder="' . __('Blog URL') . '"'
100        )
101    ) . '</p>' .
102
103    '<p class="area"><label for="blog_desc">' . __('Blog description:') . '</label> ' .
104    form::textarea('blog_desc', 60, 5, html::escapeHTML($blog_desc)) . '</p>' .
105
106    '<p><input type="submit" accesskey="s" name="create" value="' . __('Create') . '" /></p>' .
107        '</form>';
108
109    dcPage::helpBlock('core_blog_new');
110    dcPage::close();
111}
Note: See TracBrowser for help on using the repository browser.

Sites map