Seditio Source
Root |
./othercms/dotclear-2.22/admin/blog.php
<?php
/**
 * @package Dotclear
 * @subpackage Backend
 *
 * @copyright Olivier Meunier & Association Dotclear
 * @copyright GPL-2.0-only
 *
 * @var dcCore $core
 */
require __DIR__ . '/../inc/admin/prepend.php';

dcPage::checkSuper();

$blog_id   = '';
$blog_url  = '';
$blog_name = '';
$blog_desc = '';

# Create a blog
if (!isset($_POST['id']) && (isset($_POST['create']))) {
   
$cur       = $core->con->openCursor($core->prefix . 'blog');
   
$blog_id   = $cur->blog_id   = $_POST['blog_id'];
   
$blog_url  = $cur->blog_url  = $_POST['blog_url'];
   
$blog_name = $cur->blog_name = $_POST['blog_name'];
   
$blog_desc = $cur->blog_desc = $_POST['blog_desc'];

    try {
       
# --BEHAVIOR-- adminBeforeBlogCreate
       
$core->callBehavior('adminBeforeBlogCreate', $cur, $blog_id);

       
$core->addBlog($cur);

       
# Default settings and override some
       
$blog_settings = new dcSettings($core, $cur->blog_id);
       
$blog_settings->addNamespace('system');
       
$blog_settings->system->put('lang', $core->auth->getInfo('user_lang'));
       
$blog_settings->system->put('blog_timezone', $core->auth->getInfo('user_tz'));

        if (
substr($blog_url, -1) == '?') {
           
$blog_settings->system->put('url_scan', 'query_string');
        } else {
           
$blog_settings->system->put('url_scan', 'path_info');
        }

       
# --BEHAVIOR-- adminAfterBlogCreate
       
$core->callBehavior('adminAfterBlogCreate', $cur, $blog_id, $blog_settings);
       
dcPage::addSuccessNotice(sprintf(__('Blog "%s" successfully created'), html::escapeHTML($cur->blog_name)));
       
$core->adminurl->redirect('admin.blog', ['id' => $cur->blog_id]);
    } catch (
Exception $e) {
       
$core->error->add($e->getMessage());
    }
}

if (!empty(
$_REQUEST['id'])) {
   
$edit_blog_mode = true;
    include
__DIR__ . '/blog_pref.php';
} else {
   
dcPage::open(
       
__('New blog'),
       
dcPage::jsConfirmClose('blog-form'),
       
dcPage::breadcrumb(
            [
               
__('System')   => '',
               
__('Blogs')    => $core->adminurl->get('admin.blogs'),
               
__('New blog') => '',
            ]
        )
    );

    echo
   
'<form action="' . $core->adminurl->get('admin.blog') . '" method="post" id="blog-form">' .

   
'<div>' . $core->formNonce() . '</div>' .
   
'<p><label class="required" for="blog_id"><abbr title="' . __('Required field') . '">*</abbr> ' . __('Blog ID:') . '</label> ' .
   
form::field(
       
'blog_id',
       
30,
       
32,
        [
           
'default'    => html::escapeHTML($blog_id),
           
'extra_html' => 'required placeholder="' . __('Blog ID') . '"',
        ]
    ) .
'</p>' .
   
'<p class="form-note">' . __('At least 2 characters using letters, numbers or symbols.') . '</p> ';

    echo
   
'<p><label class="required" for="blog_name"><abbr title="' . __('Required field') . '">*</abbr> ' . __('Blog name:') . '</label> ' .
   
form::field(
       
'blog_name',
       
30,
       
255,
        [
           
'default'    => html::escapeHTML($blog_name),
           
'extra_html' => 'required placeholder="' . __('Blog name') . '" lang="' . $core->auth->getInfo('user_lang') . '" ' .
               
'spellcheck="true"',
        ]
    ) .
'</p>' .

   
'<p><label class="required" for="blog_url"><abbr title="' . __('Required field') . '">*</abbr> ' . __('Blog URL:') . '</label> ' .
   
form::url(
       
'blog_url',
        [
           
'size'       => 30,
           
'default'    => html::escapeHTML($blog_url),
           
'extra_html' => 'required placeholder="' . __('Blog URL') . '"',
        ]
    ) .
'</p>' .

   
'<p class="area"><label for="blog_desc">' . __('Blog description:') . '</label> ' .
   
form::textarea(
       
'blog_desc',
       
60,
       
5,
        [
           
'default'    => html::escapeHTML($blog_desc),
           
'extra_html' => 'lang="' . $core->auth->getInfo('user_lang') . '" spellcheck="true"',
        ]
    ) .
'</p>' .

   
'<p><input type="submit" accesskey="s" name="create" value="' . __('Create') . '" />' .
   
' <input type="button" value="' . __('Cancel') . '" class="go-back reset hidden-if-no-js" />' .
   
'</p>' .
   
'</form>';

   
dcPage::helpBlock('core_blog_new');
   
dcPage::close();
}