Dotclear

source: plugins/private/index.php @ 863

Revision 863, 4.3 KB checked in by Osku, 15 years ago (diff)

Private Mode : almost 0.7 :

  • New way for managing sessions
  • New options for widget

i-Cette ligne, et les suivantes ci-dessous, seront ignorées--

M _define.php
D LICENSE
M _prepend.php
M _public.php
M _widgets.php
M _admin.php
M index.php

Line 
1<?php
2# -- BEGIN LICENSE BLOCK ----------------------------------
3# This file is part of Private mode, a plugin for Dotclear.
4#
5# Copyright (c) 2008, 2009 Osku
6#
7# Licensed under the GPL version 2.0 license.
8# A copy of this license is available in LICENSE file or at
9# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
10# -- END LICENSE BLOCK ------------------------------------
11
12// Setting default parameters if missing configuration
13if (is_null($core->blog->settings->private_flag)) {
14     try {
15               $core->blog->settings->setNameSpace('private');
16
17               // Maintenance  is not active by default
18               $core->blog->settings->put('private_flag',false,'boolean');
19               $core->blog->triggerBlog();
20               http::redirect(http::getSelfURI());
21          }
22     catch (Exception $e) {
23          $core->error->add($e->getMessage());
24     }
25}
26
27// Getting current parameters
28$private_flag       = (boolean)$core->blog->settings->private_flag;
29$blog_private_title = $core->blog->settings->blog_private_title;
30$blog_private_msg   = $core->blog->settings->blog_private_msg;
31
32if ($blog_private_title === null) {
33     $blog_private_title = __('Private blog');
34}
35
36if ($blog_private_msg === null) {
37     $blog_private_msg = __('<p class="message">You need the password to view this blog.</p>');
38}
39
40if (is_null($core->blog->settings->blog_private_pwd))
41{
42     $err = __('No password set.');
43}
44
45if (!empty($_POST['saveconfig']))
46{
47     try
48     {
49          $private_flag = (empty($_POST['private_flag']))?false:true;
50          $blog_private_title = $_POST['blog_private_title'];
51          $blog_private_msg = $_POST['blog_private_msg'];
52          $blog_private_pwd = md5($_POST['blog_private_pwd']);
53
54          if (empty($_POST['blog_private_title'])) {
55               throw new Exception(__('No page title.'));
56          }
57
58          if (empty($_POST['blog_private_msg'])) {
59               throw new Exception(__('No private message.'));
60          }
61
62          $core->blog->settings->setNamespace('private');
63          $core->blog->settings->put('private_flag',$private_flag,'boolean');
64          $core->blog->settings->put('blog_private_title',$blog_private_title,'string','Private page title');
65          $core->blog->settings->put('blog_private_msg',$blog_private_msg,'string','Private message');
66
67          if (!empty($_POST['blog_private_pwd'])) {
68               if ($_POST['blog_private_pwd'] != $_POST['blog_private_pwd_c']) {
69                    throw new Exception(__("Passwords don't match"));
70               }
71               $core->blog->settings->put('blog_private_pwd',$blog_private_pwd,'string','Private blog password');
72          }
73
74          $core->blog->triggerBlog();
75
76          $msg = __('Configuration successfully updated.');
77     }
78
79     catch (Exception $e)
80     {
81          $core->error->add($e->getMessage());
82     }
83}
84?>
85<html>
86<head>
87     <title><?php echo __('Private mode'); ?></title>
88</head>
89<body>
90<h2 style="padding:8px 0 8px 34px;background:url(index.php?pf=private/icon_32.png) no-repeat;">
91<?php echo html::escapeHTML($core->blog->name); ?> &rsaquo; <?php echo __('Private mode'); ?></h2>
92
93<?php if (!empty($msg)) echo '<p class="message">'.$msg.'</p>'; ?>
94
95<?php if (!empty($err)) echo '<p class="error">'.$err.'</p>'; ?>
96
97<div id="offline_options">
98     <form method="post" action="plugin.php">
99          <fieldset>
100               <legend><?php echo __('Plugin activation'); ?></legend>
101                    <p class="field">
102                         <?php echo form::checkbox('private_flag', 1, $private_flag); ?>
103                         <label class=" classic" for="private_flag"> <?php echo __('Enable Private mode');?></label>
104                    </p>
105                    <p><label class="required" title="__('Required field')">
106                         <?php echo __('New password:'); ?>
107                         <?php echo form::password('blog_private_pwd',20,255); ?>
108                    </label></p>
109                    <p><label class="required" title="__('Required field')">
110                         <?php echo __('Confirm password:'); ?>
111                         <?php echo form::password('blog_private_pwd_c',20,255); ?>
112                    </label></p>
113          </fieldset>
114          <fieldset>
115               <legend><?php echo __('Presentation options'); ?></legend>
116                    <p><label class="required" title="__('Required field')">
117                         <?php echo __('Private page title:');?>
118                         <?php echo form::field('blog_private_title',30,256,html::escapeHTML($blog_private_title)); ?>
119                    </label></p>
120                    <p class="area"><label class="required" title="__('Required field')">
121                         <?php echo __('Private message:');?>
122                         <?php echo form::textarea('blog_private_msg',30,2,html::escapeHTML($blog_private_msg)); ?>
123                    </label></p>
124          </fieldset>
125
126          <p><input type="hidden" name="p" value="private" />
127          <?php echo $core->formNonce(); ?>
128          <input type="submit" name="saveconfig" value="<?php echo __('Save configuration'); ?>" /></p>
129     </form>
130</div>
131</body>
132</html>
Note: See TracBrowser for help on using the repository browser.

Sites map